web-dev-qa-db-fra.com

Quelle étape d'agile (Scrum) devrions-nous commencer à créer des tests d'automatisation?

Un petit fond de moi - je suis un testeur manuel pendant près de 2 ans dans un environnement agile utilisant Scrum (1-2 semaines Sprint). Donc, je veux introduire des tests d'automatisation dans mon travail à l'aide de Selenium webDiver (avec Java).

Ma question est pendant laquelle devrais-je tester la fonctionnalité manuellement et quand dois-je les convertir pour des tests d'automatisation?

J'ai lu et obtenue une approche différente, telle que:

  1. Lorsqu'un nouveau sprint commence, convertissez les histoires d'utilisateurs en scripts automatisés du sprint précédent ou;
  2. Convertissez les histoires utilisateur dans le même sprint.

Tout conseil serait très apprécié. Merci en avance.

9
Jay

La principale chose est que vous ne marquez pas une histoire complète que si vous avez écrit des tests automatisés pour cette histoire.

Donc, 1 semble être sorti, car vous écrivez des tests pour une tâche terminée dans un sprint précédent. Et si les tests échouent?

2
Ewan

Idéalement, vous devriez écrire des tests automatisés dans le même sprint que le code est écrit. Le code ne doit pas être considéré comme "fait" jusqu'à ce que des tests automatisés aient été écrits et que vous devez obtenir du code à un état "fait" à la fin d'un sprint.

Vous devriez commencer le processus le premier jour du sprint en travaillant avec le développeur pour comprendre le code et les aider à comprendre vos besoins en tant que testeur. Par exemple, si vous construisez des pages Web, vous pouvez les aider à comprendre la nécessité d'ajouter des identifiants uniques pour chaque élément de page que vous devez interagir.

N'oubliez pas que dans Scrum, votre travail ne veut pas écrire des tests. Votre travail consiste à travailler avec l'équipe pour compléter les objectifs du sprint. Cela signifie que la communication et la collaboration, qui devraient arriver très tôt dans le sprint. Vous pouvez commencer à travailler sur des conceptions de test et des plans de test bien avant que le code soit prêt à être testé.

1
Bryan Oakley

Vous pouvez faire soit, mais vous voulez généralement cibler les tests de régression avec des tests d'automatisation. Cela signifierait que je ferais manuel jusqu'à ce que vous soyez assez solide pour être un test de régression. Cela peut être au milieu d'un sprint pour certaines fonctionnalités et peut être dans un futur sprint pour d'autres fonctionnalités.

0
mutt

Si vous allez tester automatiquement, vous pourriez aussi bien créer les tests initiaux. Cela vous aidera à définir quel comportement vous attendez et vous stimule de penser comme un client, il devrait rendre votre logiciel plus utilisable à la fin. Et vous bénéficierez immédiatement du test lorsque vous mettrez la mise en œuvre de la fonctionnalité.

0
Martin Maat

Comme indiqué dans ne autre réponse , lorsque les tests se produisent devraient faire partie de Définition de FAD . Cependant, je suis en désaccord avec une partie de cette réponse, alors je voulais élargir avec des expériences que j'ai rencontrées.

Dans un environnement vraiment agile, tout le monde est capable de tout faire. Il n'y aurait pas que quelqu'un dédié à 100% aux tests, vous développeriez également des compétences pour vous aider dans un travail de base de l'interface utilisateur, ou autre chose. Cependant, nous vivons rarement dans un monde idéal.

Ce que je recommanderais, ce serait de faire un peu d'approche hybride. Pour votre définition de la définition de terminée, je dirais que les tests manuels doivent faire partie du sprint. Le travail est codé. Vous savez que cela fonctionne et que tout bogue peut être immédiatement signalé, éventuellement fixé, avant que le sprint soit terminé, vous pouvez planifier la prochaine. une. En se concentrant sur les tests manuels, vous vous familiarisez avec ce que le code est censé faire. Au début du prochain sprint lorsque vous n'avez peut-être pas autant à faire, vous pouvez configurer vos tests automatisés pouvant exécuter dans le cadre du processus de construction afin d'éviter les erreurs de régression.

0
krillgar