Comment puis-je commencer les tests?

By | août 9, 2019

trouver un expert Python

Je parle des bases de l’utilisation des frameworks de test python depuis plus d’un an.

Reste à faire

Il y a encore beaucoup à couvrir:

  • moqueur / monkeypatching
  • couverture
  • rapport
  • intégration avec intégration continue (CI) / serveurs de tests continus
  • Sortie xml / json pour intégrer des rapports de test dans des pages Web
  • incorporer des instruments de test en tant que ressources
  • quand et comment distribuer vos tests
  • organiser le code de test
  • … Beaucoup d'autres sujets qui suivront à mesure que j'explorerai davantage…

Arrêtez. Sauvegarder. Grande image.

Je pense que je dois revenir en arrière et regarder la grande image pendant un moment.
Je vais vous dire pourquoi dans une minute.

Je vais commencer par une série de sujets pour compléter ce sujet avant d’entrer à nouveau dans les détails.

  • Le rôle de l'essai dans le cycle de conception et de développement
  • Types de tests
    • tests fonctionnels
    • tests d'acceptation
    • tests unitaires
    • tests de régression
    • des tests de performance
  • Développement piloté par les tests (TDD)
  • Conception de l'interface et influence sur la testabilité
  • Qui exécute les tests et à quelle fréquence.
  • Comment la structure de l'entreprise affecte la conception et les tests de logiciels
  • Comment la structure / conception du logiciel affecte les tests
  • Concevoir pour le test
  • Différents types de personnes qui écrivent des tests
  • Différents rôles des rédacteurs de tests
  • L’importance de ne pas retirer la «pensée» du processus
  • Processus de développement Lean
  • Où se situe Agile
  • Conception de cas de test

et peut-être des sujets apparemment triviaux (mais extrêmement importants pour l'efficacité)

  • l'importance d'un éditeur décent
  • Apprenez à naviguer rapidement dans votre code: recherche de symboles, grep, ack, etc.

J'espère que cela ne finira pas par être une trop longue excursion loin des tutoriels en profondeur.
Cependant, je pense que c’est une information importante.
Bien que beaucoup d’informations se trouvent déjà sur le Web, j’ai moi-même des idées à ce sujet, sur la base de ma propre expérience et de ce que j’ai observé à la fois dans le secteur de l’industrie et dans le cadre d’efforts en source ouverte.

Je reviendrai sur les didacticiels de Nitty Gritty.
Je veux juste donner un peu de perspective d'abord.

Mon histoire brouillant ma vision

Depuis plus de 10 ans, j’écris des tests unitaires et des tests fonctionnels (tests de réception) dans le cadre de mon processus de développement.
J'ai entendu parler de la programmation test-first lorsque j'ai commencé à suivre les écrits sur la programmation extrême (XP), la programmation pragmatique, le développement de logiciels lean, les processus de développement agiles, Scrum, Kanban, etc. à partir de 2000 environ.
J'ai lu tellement de livres et d'articles et utilisé tellement de pratiques depuis si longtemps que cela me semble évident.

Bien sûr, les tests sont cruciaux.
Bien entendu, les tests doivent faire partie du processus de conception et de développement dès le départ.

Je ne pensais vraiment pas que, bien sûr, les personnes qui débutaient dans le développement ne sachent pas tout cela.
Il est également devenu évident au cours de ma carrière professionnelle que de nombreux développeurs acquièrent les compétences sur le tas, venant peut-être d'un milieu EE, et n'ont pas lu beaucoup de livres et de blogs sur le développement de logiciels.

“Mon code est terminé. Maintenant, comment puis-je écrire des tests unitaires pour cela? "

Puis je me suis retrouvé face à la réalité.
J'ai rencontré une question de user225312 sur stackoverflow qui me trotte dans la tête depuis des mois.

Écrire des tests unitaires en Python: comment commencer?

J'ai terminé mon premier projet en Python et ma tâche consiste maintenant à rédiger des tests.

Comme c’est la première fois que j’ai fait un projet, c’est la première fois que j’écris des tests.

La question est, comment puis-je commencer? Je n'ai absolument aucune idée. Quelqu'un peut-il m'indiquer une documentation / un tutoriel / un lien / un livre que je peux utiliser pour commencer à écrire des tests (et je suppose que les tests unitaires en particulier)

Tout conseil sera le bienvenu sur ce sujet.

Réponse courte

Réponse courte: ça dépend.

Cela dépend de ce que vous savez déjà et des détails de votre situation.

Qu'est-ce que vous essayez de tester? Pourquoi n’avez-vous pas utilisé TDD? Y a-t-il des exigences en place? Qui a écrit les exigences? Quelle est la taille de l'organisation? Avez-vous une équipe d'assurance qualité? Ce code est-il critique? Quelles sont les conséquences de cela ne fonctionne pas? …

Il faut répondre à tant de questions avant de répondre à la question «Comment puis-je commencer?».

Je suis sûr que le demandeur initial de la question a déjà tout compris.
Cependant, la question aborde quelques sujets décourageants dans les tests.
Il y a des gens qui essaient de faire la bonne chose. Mais ils n’ont pas encore la bonne information.
Nous ne pouvons pas les effrayer en leur disant d’aller lire plus de 5 200 livres de pages et environ 3 douzaines de blogs pour les mettre au courant.

Ma partie

J'ai beaucoup appris de mon expérience, de livres, de blogs et d'articles, et plus important encore, de développeurs, de gestionnaires, de testeurs, d'ingénieurs d'application (et même d'EE) avec lesquels j'ai travaillé au fil des ans.

Je vais donc essayer de faire ma part.
Je vais essayer de couvrir certains de ces sujets.
Et je vais vraiment essayer de le faire de manière à ne pas faire peur aux gens.
Cela ne doit pas forcément être compliqué.
À moins bien sûr que vous n'essayiez d'amener les gens à vous engager en tant que consultant.
Alors peut-être que la complexité travaille en votre faveur. (C'était une blague.)

J'écris ce blog pour tenter de faire avancer le développement logiciel d'un pouce ou deux. Essayer de rembourser la communauté qui a partagé tant de connaissances avec moi au fil des ans.

Sachez que je fais cela avec un bon but.
Si vous connaissez déjà ces sujets, je vous encourage à indiquer les endroits où vous pensez que je me trompe. Le débat est génial.

Faites-moi savoir si vous avez des idées de sujet.

  • des choses que vous souhaiteriez connaître avant de commencer
  • des choses que vous souhaitez que vos collègues sachent
  • des choses que vous voulez savoir plus sur

Merci d'avoir réussi jusqu'à la fin.