En tant que développeurs principaux, devons-nous apprendre les tests de logiciels? [fermé]

12

En tant que développeur junior, je travaille dans une entreprise qui développe des logiciels pour l'industrie aérienne. Nous avons une équipe de test, donc je n'ai aucune motivation pour apprendre les logiciels de test. Mon ami travaille pour une petite entreprise en tant que développeur principal. Leur équipe n'a pas d'équipe de test spécifique et ils font leurs propres tests. Un développeur principal devrait-il en savoir plus sur les tests de logiciels?

Ali Arda Orhan
la source
31
Si vous êtes un développeur junior et que vous ne voulez pas être junior toute votre carrière, vous devriez en savoir autant que possible sur votre domaine. Les tests sont une partie essentielle du développement, donc même si vous n'en avez pas "besoin", cela vous rendra plus familier dans votre domaine, ce qui vous fera évoluer de manière précieuse, ce qui peut conduire à des postes plus élevés.
msw
3
J'ai obtenu la plupart de mes emplois parce que j'ai fait des trucs pendant mon temps libre que je n'avais pas besoin de faire, que ce soit apprendre Haskell ou écrire un traceur de temps de compilation en C ++: P Les gars que je connais / savaient qui ne faisaient que ce qui était requis car l'emploi a maintenant du mal à avancer dans sa carrière.
phresnel
3
N'est-ce pas le type de question «douce» qui conduit à des expressions d'opinion?
ThomasMcLeod
@phresnel Oh, un traceur de rayons à la compilation en C ++ est si mauvais . Le respect.
David Conrad
3
Je suis d'accord pour que cette question soit suspendue. C'est un peu comme dire: "Je ne parle que l'anglais mais ma femme est de Chine et parle un peu anglais et bien sûr chinois. Dois-je apprendre le chinois?"
TTT

Réponses:

48

Absolument et sans équivoque: oui!

C'est une compétence de base que vous devrez posséder dans un grand pourcentage d'entreprises pour lesquelles vous voudrez travailler à l'avenir.

En tant que développeur, les aspects techniques des tests sont plus intéressants que ceux méthodologiques: apprenez à utiliser un framework de tests unitaires, configurez des tests automatisés, essayez de faire du développement piloté par les tests pour voir comment vous les aimez.

Si vous souhaitez vous spécialiser dans ce domaine, les tests de performance / stress et les tests de sécurité / pénétration sont des compétences très recherchées.

Michael Borgwardt
la source
1
@AliArdaOrhan, il y a un argument selon lequel le développement de chaque fonction devrait être précédé par l'écriture de plusieurs tests unitaires automatisés. Essayez-le, il améliore votre code.
Jodrell
9
Le développement back-end se prête vraiment bien aux tests automatisés. Il n'y a aucune folie de l'interface utilisateur à gérer. Au moins avec un cadre de test d'unité d'équipe de développement, vous détectez plus d'erreurs avant qu'elles ne quittent votre équipe et ne soient trouvées par le contrôle qualité. Moins d'erreurs quittant votre équipe rend les observateurs heureux.
BPugh
2

Tester le code sur lequel vous travaillez fait partie de la discipline qui fait d'un bon programmeur un excellent programmeur. La configuration de tests automatiques, à l'aide de cas de test légers et rapides, vous permet d'établir une base de fonctionnalités; la modification du code pour corriger des erreurs ou ajouter de nouvelles fonctionnalités peut être testée de manière incrémentielle et vous donne un retour rapide sur votre code. Cette rétroaction rapide, lorsqu'elle est effectuée fréquemment, est beaucoup plus efficace en termes de retravail que de tout construire, de compiler et de tester, car vous finissez par ne pas aller si loin sur la bonne voie.

BobDalgleish
la source