7

En tant qu'ingénieur de construction, je suis constamment à la recherche de nouvelles façons intéressantes d'améliorer notre processus de construction - et cela inclut la recherche de façons nouvelles et intéressantes d'échouer nos builds!Raisons d'échouer une build

Je n'ai pas encore trouvé de liste canonique des raisons d'échouer une build ... alors je me dis qu'il est temps d'en créer une. Dans cet esprit:

Quelles vérifications au moment de la génération - à la fois évidentes et créatives - avez-vous vu des builds échoués?

+2

Devrait être wiki? –

+0

Probablement ;-) Wiki c'est! –

Répondre

4
  • Compilation échec
    • Code de production
    • classes Tests
  • Tout type de tests échec:
    • tests unitaires
    • teste l'intégration
    • Tests fonctionnels
    • tests de performance
  • non-conformité à des contrôles de qualité:
    • convention de codage (Checkstyle)
    • couverture de test (Clover, COBERTURA, etc.)
    • détection des motifs de bugs (FindBugs , PMD, Hammurapi)
    • Copie Coller la détection (CPD, Symian)
    • Binary com patibilité (Clirr)
+0

+1 pour mentionner la couverture –

2

Échec (s) du test unitaire.

0

Quelque chose d'aussi simple qu'une vérification de l'échec de compilation devrait être considéré comme obligatoire, nuff dit.

Les check-ins qui conduisent à des builds cassés devraient être inacceptables, bien que la triste vérité est que beaucoup d'organisations acceptent cela.

Si la compilation échoue:

  • ... vous ne serez pas un binaire à utiliser ou à terme.
  • ... vous ne pouvez pas exécuter de tests et d'analyses pour vous assurer que cela fonctionne.
  • ... vous ne pouvez effectuer aucune autre vérification nécessaire pour construire le projet.
  • ... vous ne pouvez pas plaire à votre client parce que vous n'avez rien à montrer.

Pourquoi? PARCE QUE LE BÂTIMENT EST CASSÉ.

+1

Loin d'assez. Compiling! = Travail –

+1

@Pascal Thivent: Je suis sûr que j'étais clair à ce sujet; J'ai mentionné UNE vérification et si elle ne compile pas alors cela ne marche pas ** clairement. C'est à dire. '(! Compiling ==! Working)' Ne réclamant rien d'autre à ce stade parce que l'op a demandé une vérification. Je suis à peu près sûr que ce sont les bases évidentes. – Spoike

+0

Edité ... au moins maintenant j'espère que je l'ai mieux expliqué. Si au moins vous ne vérifiez pas l'échec de la compilation, rien ne fonctionnera. Duh! : P – Spoike

2

Code ne respectant pas les contrôles de qualité automatisés (FxCop, etc.).

1

échouent sur l'alerte de compilation

7
  • Compilation échec
  • tests unitaires
  • teste l'intégration
  • tests système
  • conventions d'attribution de noms
  • code de qualité
  • Tests de régression
5

Unapproved Checkins Build. Des choses comme le code vérifié dans ce n'est pas associé à un élément de travail ou une correction de bogue.

+0

+1: Souvent négligé, mais très utile dans un environnement d'équipe où le support est une préoccupation quotidienne. –

1

Introduction d'une dépendance cyclique entre les modules (par exemple les paquetages java).

1

Ma société ne le fait pas réellement, mais avec une grande base de code héritée comme la nôtre, il serait bon d'échouer sur des changements non documentés. Sans un ticket de bug quelconque, notre département QA ne saurait pas tester les changements, et c'est effrayant!

1

Vérifiez les classes en double (même package et nom de classe) dans différents fichiers jar (Java).

0

La couverture de code diminue ou tombe en dessous d'un seuil acceptable.