how perform software product testing detailed process
Les produits logiciels ont besoin de leur propre approche unique pour tester de manière adéquate et correcte. Souvent, les équipes les traitent comme n'importe quel autre logiciel (c'est-à-dire des applications internes conçues pour un client ou une équipe spécifique; non accessibles au grand public; ne générant pas de revenus) et c'est le point de départ des problèmes.
Les tests de produits logiciels nécessitent un style et une stratégie de test personnalisés pour ajouter de la valeur. Le développement et la maintenance de produits logiciels sont en soi un écosystème complexe et pour prospérer, les testeurs doivent s'adapter.
Permettez-moi de prendre un moment pour expliquer pourquoi c'est important et pourquoi je pense que le développement de produits est complexe, compliqué et composite, même dans le meilleur des cas.
Ce que vous apprendrez:
- Défis de développement de produits logiciels:
- Étape # 1) Introduction du produit
- Étape # 2) Croissance du produit
- Étape # 3) Maturité du produit
- Étape # 4) Déclin du produit / retour à la croissance du produit
- Qu'est-ce qui fait de vous un testeur de produit réussi?
- lecture recommandée
Défis de développement de produits logiciels:
Voici quelques-uns des défis auxquels les équipes de développement de produits logiciels sont confrontées:
#1)Manque de contrôle sur les données démographiques des utilisateurs, les appareils, les environnements, les plates-formes, etc. : Les produits logiciels, contrairement aux logiciels conçus pour des parties prenantes spécifiques, ne sont pas utilisés dans des situations contrôlées et prévisibles. Il y a beaucoup trop de facteurs à prendre en compte.
#deux)Vision produit brumeux : Le comportement et les fonctionnalités des produits sont en constante évolution et le chemin vers la maturité n'est pas clairement visible. Ou le produit se développe trop rapidement pour qu'il devienne incontrôlable que les équipes ne sachent pas ce qui se passe.
# 3)Des délais agressifs : En raison de la forte concurrence sur le marché des produits logiciels, les choses doivent évoluer à une vitesse vertigineuse et les équipes doivent garder une longueur d'avance sur leurs pairs. Sinon, ils sont sûrs de perdre face à la concurrence.
# 4)Peur de l'échec : Les produits logiciels sont généralement innovants. Ainsi, leur succès n'est pas toujours acquis. C’est la raison pour laquelle les entreprises ne peuvent pas tout mettre en œuvre en termes de budget, de technologies, d’infrastructures, etc. Elles doivent souvent se retenir pour gagner une certaine immunité en cas de défaillance ou même pour atteindre le seuil de rentabilité.
# 5)Manque de rétroaction exploitable: Puisqu'il n'y a pas d'intervenants ou d'utilisateurs ou de clients, pour ainsi dire, il est difficile de comprendre ce que l'utilisateur final peut ou non aimer. Les entreprises jouent constamment à un jeu de devinettes et ont souvent du mal à combler le fossé entre ce qu'elles veulent pour le logiciel et ce que veut le client.
Ces défis affectent tous les domaines du développement de produits, du marketing et de la maintenance - et ils ont également un impact intrinsèque sur les tests de produits.
Pour avancer dans le jeu, ce type de test doit prendre en compte cinq points clés:
- Vitesse de développement et versions
- Objectifs de produit à court terme et à long terme du produit
- Ampleur et nature de la concurrence
- Les publics cibles et leurs environnements
- Conditions - Fonctionnel, performance, sécurité, convivialité, configuration, etc.
Avant d’entrer dans les détails, comprenons le cycle de vie du produit (il s’agit d’un cycle de vie de produit générique et non spécifique aux produits logiciels, mais le logiciel suit un modèle similaire):
Une bonne stratégie / approche de test de produit doit prendre en compte le stade actuel du produit dans son cycle de vie.
Lire aussi => Comment rédiger un bon document de stratégie de test
Exemple: Le produit d’une entreprise XYZ est un logiciel de suivi des défauts appelé «TrackFast». Il s'agit d'un nouveau produit et la première version devrait être lancée en tant que solution cloud et sur site. TrackFast fonctionne comme n'importe quel autre système de gestion des défauts et est conçu pour l'accès mobile et Web. Actuellement, il existe des sprints de 2 à 4 semaines au cours desquels le produit est créé en plusieurs parties. Vous faites partie de l’équipe de test qui teste «TrackFast» avant qu’il ne rencontre ses clients. Le test implique la vérification des fonctionnalités, des performances et de la sécurité.
java j2ee entretien questions et réponses
Pour résumer, ce sont les paramètres avec lesquels vous travaillez. Ou si vous préférez, c'est votre contexte
Voyons comment tester à chaque étape. C'est test de produit processus, méthode ou cycle de vie à chaque étape.
Étape # 1) Introduction du produit
Comme c'est la première fois que TrackFast sort sur le marché, l'idée est de faire une bonne première impression. Alors ne négligez rien. Testez tout et sous tous les angles. En plus de cela, jetez les bases de futurs tests.
application gratuite de téléchargement de musique mp3 pour android
Une bonne stratégie de test à ce stade devrait inclure les éléments suivants:
- Des tests qui valident les objectifs à court terme de TrackFast. «De quoi a-t-il besoin pour être expédié correctement» devrait être au premier plan de l'effort de test. Créer Tests de bout en bout (frontal, middleware et backend) pour des tests approfondis de chaque fonctionnalité
- Des tests qui comparent TrackFast à la concurrence (idéalement, c'est le travail des propriétaires de produits, mais en tant que testeur, nous pouvons ajouter nos deux cents. De plus, cette étape est plus facile si le logiciel a déjà des pairs. Par exemple: Il est facile de comparer TrackFast avec Bugzilla ou JIRA ou autres systèmes hérités . Mais disons que je crée une application qui fait quelque chose d'inhabituel comme pouvoir prédire quand un bébé a faim ou grincheux :), il peut être difficile de trouver une application que vous pouvez utiliser comme base de référence)
- Plateforme, navigateur et appareil tests de compatibilité
- Tests de facilité d'installation , mise en place et mise à niveau
- Tests de performances, de sécurité et d'utilisabilité
- Tests d'intégration s'il s'interface avec d'autres systèmes. Un exemple d'intégration simple est que les systèmes de suivi des défauts interagissent souvent avec les clients de messagerie pour envoyer des notifications
- Planifier la régression - C'est une bonne idée de signaler ou de marquer les tests critiques qui, selon vous, feront partie des futurs cycles de régression et de penser à les automatiser pour les versions futures
- Planifier les problèmes connus (allez-vous les ajouter au backlog ou les traiter comme des CR, etc.)
- Flexibilité pour changer lorsque le produit passe à la prochaine étape du cycle de vie.
Cela peut parfois prendre beaucoup de temps avant que le produit ne sorte, alors utilisez tout le temps dont vous disposez pour effectuer un travail aussi approfondi que possible.
À ce stade, bien qu'une partie du produit soit prête à la fin des sprints de 2 à 4 semaines, le plus souvent, chaque sprint n'aboutit pas à un code expédié. Par conséquent, ne considérez jamais le dernier test de sprint comme «fait et livré». Répétez les tests critiques à chaque sprint jusqu'à la sortie. À chaque sprint, testez l'ensemble du produit dont vous disposez jusqu'à ce point.
Étape # 2) Croissance du produit
Après l'introduction initiale du projet, si tout se passe bien, attendez-vous à un afflux d'activité car la croissance des produits est une voie rapide. Vous nagez maintenant avec les grands requins et à moins de suivre le rythme, vous vous faites engloutir.
Ici, les versions raccourcissent, les améliorations apportées au logiciel deviennent plus nombreuses et l'étendue de la régression devient presque ingérable.
La stratégie de test de produit doit fonctionner au rythme du développement logiciel et ne doit pas devenir un goulot d'étranglement.
Ceux-ci peuvent aider:
- Gardez à l'esprit les objectifs à long terme du projet. Il ne s’agit pas d’en finir maintenant. Il s'agit de vivre avec les fonctionnalités et de s'épanouir avec elles.
- Tester tôt Considérez TDD ou BDD au lieu de reporter les tests à la fin avec de nouvelles exigences
- Automatisez la régression et renforcez-la - Créez une suite de régression automatisée pour ne pas vous retrouver avec des mines terrestres non testées dans votre système
- Si votre entreprise / vos propriétaires de produits souhaitent s'impliquer dans les tests, envisagez un outil d'automatisation basé sur un langage commercial tel que Cucumber.
- Gardez la convivialité et la conception du site au cœur de vos tests. Parce que plus nous ajoutons de fonctionnalités, plus le site devrait être propre
- Effectuez des tests de performances et de sécurité lorsqu'une version majeure a eu lieu ou qu'un changement important a été apporté à l'architecture. (Nouveau serveur introduit, etc.) La plupart des systèmes logiciels n'en ont pas besoin à chaque version.
- Restez en contact avec la concurrence et connaissez la vision du produit
- Adapter les tests de paires , pour une rétroaction immédiate et une correction. Incluez le propriétaire du produit lorsque cela est possible
- Planifier les changements et les problèmes connus
- Essayez de mettre la main sur les commentaires des clients et vérifiez s'ils peuvent être suivis en tant que suggestion d'amélioration pour maintenir la croissance constante. (encore une fois, ce n'est pas la responsabilité première de l'équipe QA, mais tout le monde compte)
Étape # 3) Maturité du produit
Félicitations, votre produit est arrivé aussi loin. À ce stade, les fonctionnalités ne changent pas aussi souvent. L'équipe produit se concentrera davantage sur l'augmentation des activités commerciales ou sur leurs efforts de marketing. Cependant, le développement et les tests de produits n'ont pas besoin de s'arrêter et souvent ne s'arrêtent pas.
Par conséquent, l'équipe de test peut:
- Travaillez à faire mûrir votre stratégie de test. À ce stade, vos suites de régression, vos méthodes de conception de tests et vos pratiques de gestion des tests doivent fonctionner comme des machines bien huilées.
- Concentrez-vous sur les détails les plus fins. Parce que dans l’ensemble, le produit fonctionne et se porte bien, mais comme on dit: « Dieu est dans les détails' - trouver même le plus petit des problèmes qui peuvent améliorer la qualité du système
- Tenez compte des commentaires des clients
- Tester périodiquement les performances et la sécurité
- Tenez compte des nouveaux appareils, plates-formes et navigateurs qui pourraient être arrivés sur le marché depuis le dernier test
- Testez les pages de manuel d'utilisation et de FAQ, car vous avez maintenant le temps et vous pouvez vous le permettre.
- Expérimentez avec de nouveaux outils de test de produit, des services ou un processus parce que maintenant vous le pouvez.
- Testez le processus d'installation avec chaque version, aussi petite soit-elle, et obtenez des statistiques sur sa facilité ou sa difficulté pour l'utilisateur final.
Quoi que vous fassiez, ne soyez pas complaisant.
Étape # 4) Déclin du produit / retour à la croissance du produit
Les propriétaires de produits et les entreprises sont intelligents de nos jours et savent très bien qu'ils ne peuvent pas garder leur produit inchangé et s'attendent à ce que les utilisateurs restent fidèles. Les choses bougent trop vite, tout comme les produits.
Ainsi, TrackFast ne peut pas s'asseoir et se détendre. Si elle a besoin d'avoir une présence continue sur le marché et de rester le leader, elle doit évoluer. Qu'on le veuille ou qu'on le déteste, Facebook a commencé comme un simple réseau social pour connecter les gens et c'est une grande plate-forme logicielle en soi intégrant un million d'autres choses et restant à jour.
TrackFast doit également évoluer. Après avoir prouvé qu'il s'agit d'un système de suivi des défauts fiable et efficace, il doit évoluer ou il va décliner. Ainsi, la société XYZ décide d'améliorer TrackFast en en faisant un système de billetterie général qui peut être utilisé pour suivre tout incident ou cas par l'entreprise autre que les équipes informatiques / de test (quelque chose comme JIRA) et pas seulement pour les défauts dans le processus de développement logiciel. .
La roue a fait un tour complet et vous vous retrouvez à traiter le système comme un tout nouveau système et à suivre la stratégie dont nous avons discuté dans la section Présentation du produit. Ce n'est que maintenant que vous êtes plus expérimenté et familiarisé avec l'exercice. Mais rappelez-vous, à chaque nouveau virage vient un nouveau défi. Alors restez vigilant :)
Qu'est-ce qui fait de vous un testeur de produit réussi?
- Testeurs de produits doit avoir un sens aigu des affaires, une compréhension des modèles de développement de livraison rapide et doit être des testeurs as qui n'ont pas peur d'expérimenter des outils et de devenir eux-mêmes un peu codeurs si besoin est. Ces éléments peuvent avoir un impact positif sur tout type de test, mais ils sont une nécessité absolue dans ce type de test.
- Une autre qualité importante est qu'un le testeur de produit doit croire au produit et veulent vraiment qu'il réussisse. Quand, en tant que testeur, je pense que le logiciel est une poubelle totale, il y a peu d'espoir que je fasse quelque chose pour l'améliorer.
- Partagez la vision du propriétaire du produit / de l'entreprise . À moins que vous ne sachiez où va le produit et comment il va évoluer, les tests seront extrêmement limités.
- Les compétences transversales sont bénéfiques - Savoir tester la base de données, comment prendre des benchmarks de performance, comment activer des certificats de sécurité, comment déployer, etc. Soyez curieux et explorez .
- Ne fixez pas de limites - ne pensez pas que l’évaluation du manuel d’utilisation ou la vérification des FAQ ne sont pas votre travail et qu’un rédacteur technique devrait s’en occuper. Eh bien, ils devraient et ils le feront. Mais quand vous le considérez comme un initié comme quelqu'un qui connaît le produit à fond, vos commentaires sont super utiles.
- Recherchez les commentaires des utilisateurs finaux. Le prochain grand groupe de personnes qui testent après vous sont les utilisateurs en temps réel. Connaître et comprendre le type de problèmes auxquels ils sont confrontés. Cela vous aide à améliorer la conception de votre test afin que la prochaine fois, vous sachiez quoi faire pour éviter ces problèmes.
- Travaillez vite et soyez un décideur
- Évitez les dettes techniques . Dans une situation de développement et de test rapide, il est facile de tester exclusivement de manière exploratoire et de perdre le cadre de référence des futures versions. Ne laissez pas cela arriver. Tenez à jour une documentation squelettique afin que vous puissiez suivre, tracer et mesurer
La plus grande différence entre un logiciel de test construit en tant que service et un logiciel construit en tant que produit est que - dans le premier, une fois la stratégie de test définie, elle est appliquée à tous les tests ultérieurs.
Cependant, pour un produit, la stratégie de test doit changer en fonction de l'étape actuelle du cycle de vie du produit et de l'évolution de la dynamique du marché (nouveaux appareils, nouveaux navigateurs, etc.). La stratégie de test de produit doit être beaucoup plus flexible pour changer.
A propos de l'auteur: Cet article est publié par Swati S., membre de l'équipe STH.
Nous espérons que cet article vous a été utile. N'hésitez pas à poster vos commentaires, questions et commentaires ci-dessous.
lecture recommandée
- Meilleurs outils de test de logiciels 2021 [Outils d'automatisation des tests QA]
- Cours de test logiciel: à quel institut de test logiciel dois-je adhérer?
- Emploi d'assistant QA en test logiciel
- Choisir les tests de logiciels comme carrière
- Travail d'indépendant de rédacteur de contenu technique de test de logiciels
- Qu'est-ce que les tests d'endurance dans les tests logiciels (exemples)
- Quelques questions d'entretien intéressantes sur les tests de logiciels
- Commentaires et évaluations du cours de test de logiciels