Que sont les oracles de test et l'heuristique de test?

Dans le monde des tests et de l'assurance qualité, nous entendons souvent les mots Test Oracles et Test Heuristics, mais que sont-ils et comment pouvons-nous les mettre en œuvre dans nos activités de test quotidiennes?

Voyons une très belle explication des oracles de test et des heuristiques de test par Katrina Clokie



Test heuristique

Imaginez que je veuille manger un cornichon. Mes cornichons sont conservés dans un grand bocal en verre. Dans ma maison, la dernière personne à avoir mangé un cornichon était mon mari. Il a bien fermé le pot. Lors de ma première tentative, je ne parviens pas à l'ouvrir.


Que dois-je faire ensuite?

Je vérifie que je tourne vers la gauche pour desserrer le couvercle et réessayer. Ensuite, je récupère un torchon pour établir une meilleure adhérence lors de la torsion du couvercle du bocal. Finalement, dans une certaine frustration, je vais chercher mon mari. Il ouvre avec succès le pot.


Face à un pot qui ne s'ouvre pas, il y a un certain nombre de choses qui valent la peine d'être essayées. Ce sont mes heuristiques d'ouverture de pot. Lorsque je suis invité à tester une application logicielle, il y a un certain nombre de choses qui valent la peine d'être essayées. Ce sont mes heuristiques de test.

Les heuristiques sont simplement des techniques basées sur l'expérience pour la résolution de problèmes, l'apprentissage et la découverte. Lorsqu'une recherche exhaustive n'est pas pratique, des méthodes heuristiques sont utilisées pour accélérer le processus de recherche d'une solution satisfaisante. Des exemples de cette méthode incluent l'utilisation d'une règle empirique, une supposition éclairée, un jugement intuitif ou le bon sens.

Exemple:

Supposons que vous testiez un site Web de commerce électronique. La page de résultats de recherche de la plupart des sites Web de commerce électronique contient des filtres et des fonctionnalités de tri. Grâce à des années d'expérience dans les tests de sites Web de commerce électronique, j'ai appris que la combinaison de filtres et d'options de tri est susceptible de révéler des bogues intéressants, comme cela a été le cas à plusieurs reprises, par conséquent, lors de mon prochain projet, je testerai intuitivement certains scénarios. liés à la combinaison de filtres et d'options de tri.




Test des oracles

Imaginez que je vais déjeuner avec un ami. J'entre dans un restaurant jeudi à 12 heures. Après une heure à savourer un repas, je quitte le restaurant à 13 heures le vendredi. Bien que je n'ai vécu qu'une heure, le monde autour de moi a changé d'un jour.

Comment savoir s'il y a un problème ici?

Il se peut que j'aie plusieurs notifications sur mon téléphone portable de la part d'amis et de membres de ma famille qui se demandent où je suis. J'ai peut-être un ticket de parking. Je peux apercevoir quelqu'un lisant un journal du vendredi.

Il y a plusieurs façons dont je pourrais déterminer que j'ai sauté un jour de ma vie. Ce sont mes oracles qui voyagent dans le temps. Il existe un certain nombre de façons dont je pourrais déterminer que j'ai découvert un bogue dans une application logicielle. Ce sont mes oracles de test.


Les oracles sont simplement le principe ou le mécanisme par lequel nous reconnaissons un problème. Les oracles de test sont essentiellement vos résultats attendus.

Exemple:

Supposons que vous testiez la fonctionnalité de connexion d'un site Web. Tout d'abord, vous pouvez vérifier avec un nom d'utilisateur et un mot de passe valides et attendre pour voir une redirection vers la page de mon compte ou une redirection vers la page avant la connexion. Cependant, après avoir tenté de vous connecter et que vous voyez une réponse d'erreur 500, vous connaître que quelque chose ne va pas.

Oracles et heuristiques dans les tests agiles et exploratoires

Les oracles de test et l'heuristique de test sont essentiels lorsqu'il s'agit de tests exploratoires dans un environnement agile. Lorsque nous n'avons pas assez de temps pour construire des cas de test et que le produit évolue continuellement, nous ne pouvons pas nous fier uniquement à des scripts de test préconçus, nous devons utiliser notre connaissance du domaine (Test Oracles) et notre expérience de test antérieure (Test Heuristique ) pour être en mesure de concevoir et d'exécuter rapidement des tests simultanément tout en découvrant le produit.