when opt automation testing
Devrions-nous envisager des tests d'automatisation pour un projet? Quand devrions-nous faire des tests d'automatisation?
Des tests sont effectués pour fournir des livrables de bonne qualité à l'utilisateur final. Phase de test est l'un des principaux aspects de STLC .
Toute entreprise se concentre davantage sur les tests logiciels car sa qualité apporte une satisfaction optimale aux clients, mais beaucoup d'entre elles ont encore du mal à choisir le type de test à effectuer, que ce soit avec des tests automatisés ou des tests manuels.
Cet article aide le lecteur à comprendre ce qu'est le test d'automatisation, quand y aller et, surtout, quand ne pas le faire. Découvrez également l'utilisation optimale de Outils d'automatisation pour les tests .
Quel que soit le travail effectué, il doit être effectué de manière efficace et doit également être rentable. De plus, cela devrait avoir du sens pour que le client se sente satisfait des livrables.
Ce que vous apprendrez:
- Tests logiciels et avantages en termes de coûts
- L'intelligence derrière les tests logiciels
- Automatisation - Est-ce vraiment essentiel?
- Pourquoi l'automatisation?
- Facteur de risque
- Quand l'automatisation ne devrait-elle pas être privilégiée?
- Coût vs ROI pour l'automatisation
- Où l'automatisation peut-elle rendre la réduction des coûts minime à SANS?
- Conclusion
- lecture recommandée
Tests logiciels et avantages en termes de coûts
Le test de logiciel est normalement effectué par un testeur de logiciel. La différence entre un testeur et un utilisateur réel est que ce dernier ne connaîtra qu'une utilisation partielle du logiciel qui est utilisé pour son entreprise ou pour ses tâches et ne connaîtra pas complètement le logiciel. D'un autre côté, un testeur connaîtra toutes les exigences techniques et fonctionnelles du logiciel. En fonction des exigences fournies par le client, des plans de test et des cas de test devront être préparés.
Un plan de test n'est rien d'autre qu'un plan détaillé de la manière dont le processus de test doit être effectué. Cela aura des détails complets sur le nombre de ressources et de sources impliquées dans les tests, ce qu'il faut faire et quand le faire, ce qui ne sera pas fait, et l'environnement dans lequel il sera effectué, etc.
Les cas de test doivent être préparés après une compréhension claire de l'aspect fonctionnel et technique du logiciel. Le testeur doit posséder une grande capacité d'observation et une connaissance complète du logiciel.
De plus, le coût joue ici un rôle efficace. Les clients préfèrent accepter des logiciels de qualité maximale à un coût minime. Lorsque nous effectuons des tests manuels, le processus est plus fastidieux et prend plus de temps car tout est effectué manuellement par un testeur.
Par exemple , lorsque nous avons besoin d'un nombre 'n' de testeurs pour exécuter des tests de régression , l'exécution de tous les cas de test peut prendre près de 50 heures. Et en fonction de la disponibilité des ressources, les cas de test seront exécutés. Mais avec moins de temps pour les tests automatisés, une utilisation optimale des ressources est effectuée avec une couverture maximale des cas de test par rapport aux tests manuels.
L'intelligence derrière les tests logiciels
Il est très important pour toute organisation de savoir quand démarrer le processus de test et quand le quitter. Nous sommes censés savoir quand démarrer les tests car il est inutile de commencer les tests lorsque la phase de développement est terminée et lorsque les critères requis ne sont pas remplis. Il est toujours recommandé de commencer par la phase de conception des tests pendant que le développement est en cours.
Voici les critères d'entrée et de sortie des tests de logiciels:
Critères d'admission
Une fois que le document de conception a été signé, les plans de test doivent être préparés dans la phase de planification. Un plan de test joue un rôle essentiel. Le matériel requis doit être installé et configuré correctement et la fonctionnalité du matériel doit être vérifiée. Les exigences fonctionnelles doivent être claires et approuvées. Le code développé doit être testé unitaire et approuvé par les développeurs.
Les cas de test et les données de test doivent être préparés et approuvés. Les données d'essai et l'application doivent être disponibles. Le testeur doit posséder une connaissance significative et suffisante de l'application. Les ressources doivent être bien formées aux outils et doivent être clarifiées avec toutes les fonctionnalités requises.
Le testeur doit être disponible. Lorsque l'un des critères n'est pas atteint, les critères d'entrée du test sont refusés.
[Remarque: Cliquez sur n'importe quelle image pour une vue agrandie]
Critère de sortie
Ce n'est que lorsqu'au moins 95% des cas de test obligatoires sont verrouillés avec un résultat «satisfaisant», nous pouvons quitter la phase de test du produit. Cependant, il n’est pas si facile de déterminer quand les tests logiciels peuvent être arrêtés ou s’ils doivent encore être exécutés. Et ce genre de situation se produit aussi souvent.
Les principaux critères sont donnés ci-dessous:
- Lorsque tous les bugs sont corrigés.
- Lorsque la date limite est atteinte.
- Lorsque le budget est épuisé ou épuisé.
- Lorsque tous les cas de test sont réussis.
- Lorsque l'accord est signé.
- Lorsqu'un certain pourcentage de tests est effectué.
- Quand le Alpha et les tests bêta se terminent.
Les critères de sortie peuvent être dérivés uniquement sur la base de facteurs tels que le risque, le coût, etc. périodes ultérieures.
Exemple: Le logiciel ABC est en phase de conception. Le développement et la construction de test se produisent généralement en même temps. Une fois la conception figée, le développement du logiciel démarre. L'achèvement du développement du logiciel, comme convenu, indique les critères d'entrée. Les livrables ici proviennent de l'équipe de développement. Il comprend les notes de version et les problèmes connus.
Après quelques itérations de test, lorsqu'aucun bloqueur majeur / bloqueur / show n'est en attente de résolution et que 95% des tests ont abouti à une réussite, on parle alors de critères de sortie.
Automatisation - Est-ce vraiment essentiel?
Quand nous devons décider si nous avons besoin Technique de test automatisée ou pas, la question des ressources disponibles se pose ici. Les raisons pour lesquelles nous devons automatiser sont de vérifier si le flux de données et les fonctionnalités développées fonctionnent selon les attentes sans intervention manuelle ou non. Il est principalement utilisé dans les endroits où le logiciel aura des changements sous la forme de plusieurs versions / cycles, etc.
qu'est-ce qu'un bon changeur de voix
À la fin du développement de chaque cycle, le test de la fonctionnalité actuellement ajoutée sera effectué. De plus, des tests de l'ancienne fonctionnalité seront effectués pour s'assurer que les anciennes fonctionnalités ne sont pas endommagées. C'est la partie principale qui a la portée de l'automatisation.
Lors de la vérification des logiques pilotées par code et des exigences de l'interface graphique, on peut choisir les tests automatisés, à condition que le facteur de risque soit élevé.
Exemple: Pour le Software ABC, il y a des mises à jour fréquentes, les mises à jour étant recherchées par le client et fournies par les développeurs. Par conséquent, dans le cadre des tests, une régression est effectuée pour le logiciel qui est déjà opérationnel et en cours de production. Quel que soit le nombre de versions, de mises à niveau et de mises à jour, la version actuelle sera valide.
Supposons qu'il y ait 10 jours d'efforts manuels requis pour la couverture des tests de régression, puis que le plus grand soin pour les automatiser doit être pris. Il peut économiser au moins 60% d'effort et 10 * 8 = 80 heures de travail manuel.
L'automatisation peut compléter 80/24 = 3,33 jours seulement. Cela économise environ 6,67.
Pourquoi l'automatisation?
L'automatisation ne peut être choisie que lorsque:
- L'application a un domaine très vaste avec un degré élevé d'effort d'investissement dans la régression.
- L'optimisation des coûts est due à des erreurs manuelles.
- Le logiciel a plusieurs versions et versions.
- C'est rentable à long terme.
- Le facteur de risque est plus élevé pour une portée plus large d'exécution de test.
- Les chiffres de coût et les calculs mathématiques sont inclus dans la fonctionnalité du logiciel.
- Il y a une plus grande augmentation du tempo d'exécution, de l'efficacité ainsi que de la qualité du logiciel.
- Le délai d'exécution est moindre, même pour les tests de logiciels à haut risque.
Facteur de risque
Le facteur de risque devient prédominant dans l'entreprise où il existe de nombreuses dépendances du facteur temps. Le logiciel qui fonctionne sur la base des systèmes transactionnels et qui fonctionne sur plusieurs applications exigera que le logiciel agisse idéalement selon la conception du logiciel. Dans ce cas, il existe de nombreux risques liés à l'enregistrement du comportement fonctionnel correct.
Ici, l'automatisation sera très utile pour effectuer les transactions fonctionnelles à un meilleur rythme selon le mécanisme logiciel.
Par exemple , dans le cas d'un indicateur de marché Forex, le facteur temps est très important et critique. Les changements dans les stocks et les produits se produisent dans le temps, parfois moins de secondes. Ici, l'automatisation peut aider à tester de tels logiciels à haut risque.
Exemple: Le logiciel ABC a plusieurs mises à jour et mises à niveau. Afin d'économiser des efforts manuels et de réduire le temps de traitement de la phase de test, la version de base ou les anciennes fonctionnalités peuvent être automatisées. Cela ne peut devenir valide que lorsque les fonctionnalités de base resteront inchangées.
L'avantage de l'automatisation est qu'ils peuvent être exécutés sans aucune intervention manuelle. Même cela peut être effectué en parallèle avec le test de nouvelles fonctionnalités. L'automatisation permet donc d'économiser beaucoup d'efforts et de temps.
Quand l'automatisation ne devrait-elle pas être privilégiée?
Il y a une question parmi plusieurs organisations qui est - Pourquoi l'automatisation à 100% n'est pas possible?
La réponse des experts est NE PAS car des utilisateurs qualifiés sont tenus d'effectuer des tests automatisés et ils doivent également être bien formés. L'automatisation ne peut pas être effectuée pendant la phase initiale des critères et les exigences des applications ne seront pas claires.
Habituellement, l'automatisation est préférée à partir de la deuxième itération de toute version du logiciel. L'interface utilisateur peut être modifiée, ce qui est plus coûteux, et la maintenance du script est également plus coûteuse. Lorsque le coût requis pour l'outil d'automatisation dépasse le budget du projet, nous pouvons dire non.
Exemple: Le logiciel XYZ est un type de site de commerce électronique où les exigences des clients ne sont pas figées et continuent de changer lorsque les clients le demandent.
Ici, dans ce cas, l'automatisation ne peut pas aider la régression. En effet, les anciennes fonctionnalités qui ne sont pas valides ne doivent pas être testées et doivent donc être effectuées manuellement. Par exemple, un client doit avoir toutes les zones de liste dans le logiciel de base à changer en tant que listes déroulantes.
Coût vs ROI pour l'automatisation
Le retour sur investissement est très faible lorsque nous optons pour l'automatisation au départ, car l'automatisation coûte cher pour la première fois. Le retour sur investissement continue d'augmenter à mesure que l'effort manuel de test du logiciel diminue par rapport aux itérations de la deuxième version. Nous devons être conscients du résultat attendu de tout cas de test avant l'automatisation.
Considérez la conception des cas de test plus importante lors du choix de l'automatisation et de tout outil pour vous assurer qu'elle n'augmentera pas le coût.
Où l'automatisation peut-elle rendre la réduction des coûts minime à SANS?
Même les coûts d'automatisation car l'outil requis pour les tests doit être acheté. Les ressources doivent être formées avec l'outil particulier. L'outil choisi doit être faisable pour tester toutes les zones du logiciel.
La sélection des outils doit donc être effectuée avec soin par les experts des tests d'automatisation.
Exemple: Considérez le produit XYZ qui traite de l'assurance. Pour réduire le facteur de coût, l'entreprise n'a utilisé que des tests manuels, mais en matière d'assurance, le facteur de risque est élevé et peut coûter de l'argent à l'entreprise lorsque l'un des calculs de la prime tourne mal. ou à l'utilisateur final. L'utilisateur final ne supportera pas de perte alors que l'entreprise doit le faire.
Lorsque le montant de la prime calculé ne correspond pas à la prime d'origine (c'est-à-dire lorsqu'il y a une différence dans le calcul de la prime avant et arrière, alors un grand problème se pose entre le client et le vendeur du produit. Il peut contenir de nombreux modules tels que les automobiles, la maison et autres.
Quand quelque chose ne va pas, c'est une perte totale. La différence de calcul peut avoir un sens pour le testeur et peut générer des bogues. Dans ce projet, le test manuel peut être fait pour l'interface utilisateur de base, comme la vérification du numéro TIN, de l'ID social et d'autres informations liées au portefeuille d'utilisateurs et peut donc être testé manuellement lorsque le facteur de risque est faible. Leur ou l'entreprise en profiterait, plus elle préfère l'automatisation pour tester ses logiciels.
Conclusion
L'automatisation et les tests manuels présentent également des avantages et des inconvénients. Ce n'est que lorsque nous serons clairs sur les concepts et les exigences que nous pourrons choisir le type de test à effectuer.
Aucun projet ne peut être testé avec des tests manuels ou des tests automatisés seuls. Cela dépend de la conception, de la plate-forme et de la technologie avec lesquelles le logiciel a été développé. Ainsi, lors de la prise de décision, il faut être prudent dans le choix de la méthode de test et utiliser les conseils d'experts.
Dans l'article ci-dessus, nous avons peut-être manqué quelques facteurs, veuillez partager les facteurs que vous jugez importants lors du choix de l'automatisation ou même des outils d'automatisation.
En attendant, n'hésitez pas à partager vos commentaires / suggestions sur cet article.
lecture recommandée
- Meilleurs outils de test de logiciels 2021 [Outils d'automatisation des tests QA]
- Défis des tests manuels et automatisés
- Top 10 des meilleurs livres de tests de logiciels (livres de tests manuels et d'automatisation)
- Emploi d'assistant QA en test logiciel
- 11 meilleurs outils d'automatisation pour tester les applications Android (outils de test des applications Android)
- Êtes-vous un expert en tests manuels ou automatisés? Travaillez à temps partiel pour nous!
- Cours de test logiciel: à quel institut de test logiciel dois-je adhérer?
- Choisir les tests de logiciels comme carrière