Conduire des sessions de Test Exploratoire, une approche basée sur les données.
Langue
fr
Thèses de doctorat
Date de soutenance
2021-11-19Spécialité
Informatique
École doctorale
École doctorale de mathématiques et informatiqueRésumé
Les systèmes logiciels, notamment les applications web, jouent un rôle majeur dans notre vie personnelle et professionnelle.Il est essentiel de minimiser les défaillances, mais en même temps, ils deviennent de plus en plus ...Lire la suite >
Les systèmes logiciels, notamment les applications web, jouent un rôle majeur dans notre vie personnelle et professionnelle.Il est essentiel de minimiser les défaillances, mais en même temps, ils deviennent de plus en plus complexes et donc difficiles à tester.Les tests exploratoires se sont révélés être une méthode efficace pour trouver les bugs qui nécessitent des interactions complexes avec le système.Cette pratique de test s'appuie sur les connaissances métier et l'expérience des testeurs pour valider le système plutôt que sur des suites de tests scriptés.Cependant, l'outillage des testeurs est sous-développé dans ce domaine.Nous soutenons que le soutien des tests exploratoires pour informer le testeur peut améliorer la qualité des tests et diminuer le niveau d'expertise requis pour les testeurs.La connaissance de l'entreprise aide les testeurs à identifier les domaines d'intérêt dans le système et l'expérience des testeurs les aide à maintenir la diversité dans leurs tests.Cependant, les testeurs peuvent être biaisés pendant leurs tests, par exemple parce qu'ils ne sont pas familiers avec certaines parties du système, ou avec le comportement des utilisateurs sur l'application. De plus, il est courant que les sessions de tests exploratoires impliquent plusieurs testeurs. Il est alors difficile d'éviter une certaine redondance dans les tests.De plus, une certaine connaissance du système est nécessaire pour identifier les tests pertinents, il est alors compliqué de faire appel à des testeurs externes, comme avec une plateforme de crowtesting.Dans cette thèse, nous proposons et évaluons des approches pour aider les testeurs à réaliser des tests exploratoires efficaces.Nous proposons de modéliser les interactions réalisées par les testeurs exploratoires, de recommander des actions d'intérêt, et de fournir un feedback direct pendant la session.Nous basons nos recommandations sur des modèles de Markov construits à partir de séquences d'interaction avec l'application web, et sur des machines à états. Pour évaluer nos approches, nous avons développé une base logicielle, qui servira de base à de futurs travaux basés sur le test d'applications web.Nos résultats montrent que les approches proposées aident les testeurs à explorer sur des applications web réelles.Notre objectif pour les travaux futurs est d'améliorer les conseils proposés, en apportant plus d'automatisation dans les tests exploratoires.< Réduire
Résumé en anglais
Software systems, especially web applications, play a major role in our personal and professional lives.It is essential to minimize failures, but at the same time, they are becoming more and more complex and therefore ...Lire la suite >
Software systems, especially web applications, play a major role in our personal and professional lives.It is essential to minimize failures, but at the same time, they are becoming more and more complex and therefore difficult to test.Exploratory testing has proven to be an effective method to find bugs that require complex interactions with the system.They rely on the business knowledge and experience of the testers to validate the system rather than on scripted test suites.However, testers' tooling is underdeveloped in this area.We argue that supporting exploratory testing to inform the tester can improve test quality and decrease the level of expertise required for testers.Business knowledge helps testers identify areas of interest in the system and testers' experience helps them maintain diversity in their tests.However, testers can be biased during their testing, for example, because they are not familiar with certain parts of the system, or with user behavior on the application. In addition, it is common for exploratory testing sessions to involve several testers. It is then difficult to avoid a certain redundancy in the tests.Moreover, a certain knowledge of the system is necessary to identify the relevant tests, it is then complicated to call upon external testers, like with a crowtesting platform.In this thesis, we propose and evaluate approaches to help testers perform efficient exploratory tests.We propose to model the interactions performed by exploratory testers, to recommend actions of interest, and to provide direct feedback during the session.We base our recommendations on Markov models built from sequences of interaction with the web application, and on state machines. To evaluate our approaches, we have developed a software base, which will serve as a basis for future work based on web application testing.Our results show that the proposed approaches help testers to explore on real web applications.Our goal for future work is to improve the proposed guidance, bringing more automation in exploratory testing.< Réduire
Mots clés
Test logiciel
Test exploratoire
Applications web
Mots clés en anglais
Software testing
Exploratory testing
Web applications
Origine
Importé de STAR