Test de logiciels et différents types de réflexion

En matière de tests logiciels, le cerveau humain est le meilleur outil de test. Lorsque nous testons des logiciels, nous traitons les informations, résolvons les problèmes, prenons des décisions et créons de nouvelles idées.

En tant que testeurs, nous devons être conscients des différents types de pensée afin de pouvoir les relier à différentes situations. Par exemple, lorsque nous examinons un diagramme de conception, nous devons être analytiques. Lorsque nous pensons à des scénarios, nous devons penser de manière abstraite.

Différentes activités de test nécessitent des processus de réflexion différents. Pour cette raison, il est important de pouvoir «activer» les différents modes de pensée pour chaque activité.




Types de réflexion dans le contexte des tests logiciels

Examinons les différents types de réflexion et comment chacun peut être appliqué dans le contexte des tests logiciels et de diverses activités de test.

Pensée créative ou latérale

La pensée créative signifie regarder quelque chose d'une nouvelle manière. C'est la définition même de «sortir des sentiers battus».


Dans la pensée créative, nous nous éloignons des théories, règles et procédures établies et faisons les choses d'une manière nouvelle et imaginative.

Dans le contexte des tests, par exemple, cela pourrait être lorsque nous appliquons de nouvelles techniques de test, par ex. technique de test par paires pour réduire le nombre de permutations tout en augmentant la couverture.

Pensée analytique

La pensée analytique fait référence à la capacité de séparer un tout en ses parties de base afin d'examiner les parties et leurs relations. Il s'agit de réfléchir de manière logique, étape par étape, pour décomposer un système d'information plus vaste en ses parties.

Par exemple, lorsque nous examinons des schémas architecturaux et essayons de déterminer le chemin à travers le système et les composants individuels.


Un bon exemple est lorsque nous analysons ce qui se passe lorsqu'un utilisateur soumet un formulaire et que la demande est envoyée à une API qui communique avec une base de données.

Esprit critique

La pensée critique est la capacité de raisonner en analysant soigneusement quelque chose afin de déterminer sa validité ou son exactitude. Il s'agit d'être un apprenant actif plutôt qu'un receveur passif d'informations.

La pensée critique est probablement le type de pensée le plus important dans le contexte des tests. En tant que testeurs, nous devons toujours remettre en question les idées et les hypothèses plutôt que de les accepter pour argent comptant.

Par exemple, lorsque nous examinons une user story, nous pourrions poser des questions sur le critères d'acceptation plutôt que de les accepter telles qu'elles nous sont données.


Pensée concrète

La pensée concrète fait référence à la capacité de comprendre et d'appliquer des connaissances factuelles. C'est le contraire de la pensée abstraite.

Les gens qui pensent concrètement aiment suivre les instructions et avoir des plans détaillés. Ils détestent tout ce qui est flou ou ambigu. En tant que tels, les penseurs concrets préfèrent travailler avec des listes et des feuilles de calcul.

Dans le contexte des tests, c'est à ce moment que les testeurs exigent que toutes les instructions existent avant de commencer le test. Par exemple. certains testeurs ne commenceront pas les tests tant que tous les critères d'acceptation ne seront pas définis dans une user story.

La pensée abstraite

À l'opposé de la pensée concrète, la pensée abstraite fait référence à la capacité de penser à des choses qui ne sont pas réellement présentes.


Les testeurs de logiciels qui pensent de manière abstraite regardent la signification plus large des idées et des informations plutôt que les détails concrets.

Par exemple, dans le cadre de sessions de test et de préparation d'histoires, les testeurs capables de penser de manière abstraite peuvent proposer des scénarios de test intéressants. Plutôt que de simplement lire les critères d'acceptation, les testeurs examineront une user story et essaieront de comprendre comment cela pourrait être lié ou avoir un impact sur d'autres parties du système.

Pensées divergentes

La pensée divergente fait référence à la capacité de générer des idées créatives en explorant de nombreuses solutions possibles dans un effort pour en trouver une qui fonctionne. Il s'agit de rassembler des faits et des données provenant de diverses sources, puis d'appliquer la logique et les connaissances pour prendre des décisions.

Lors des tests exploratoires, nous appliquons oracles et heuristiques et émettre des jugements sur la base de nos expériences précédentes.


Pensée convergente

La pensée convergente est la capacité de rassembler un certain nombre d'éléments ou de perspectives différents d'un sujet d'une manière organisée et logique pour trouver une seule réponse.

Par exemple, lorsque nous essayons de trouver la cause première d'un défaut, nous recueillons des informations pertinentes et extrayons les données nécessaires.

Pensée séquentielle

La pensée séquentielle (linéaire) fait référence à la capacité de traiter l'information d'une manière ordonnée et prescrite. Il s'agit d'une progression étape par étape où une réponse à une étape doit être obtenue avant qu'une autre étape ne soit franchie.

Dans le contexte des tests logiciels, cela est en corrélation avec le moment où nous suivons un script avec des étapes prédéfinies et des résultats attendus.

Pensée holistique

La pensée holistique (non linéaire) est la capacité de voir la situation dans son ensemble et de reconnaître comment les composants forment le système plus large. Cela implique d'étendre votre processus de pensée dans plusieurs directions, plutôt que dans une seule direction.

Dans le contexte des tests, c'est à ce moment que nous effectuons des tests d'intégration ou de système.

Conclusion

Les tests logiciels nécessitent une réflexion approfondie. C'est un processus consistant à poser constamment des questions et à analyser les informations que nous recevons. Différentes activités de test nécessitent des processus de réflexion différents. Comprendre les différents types de pensée aidera à poser les bonnes questions.

Lorsque nous interviewons des testeurs, nous devrions poser des questions basées sur des scénarios qui exercent la capacité de réflexion du testeur en termes des types de réflexion ci-dessus.