Test Selection Practices in a Large IT Company
Les pratiques de sélection de test dans une grande entreprise d’informatique
Abstract
Nowadays, Worldline, a major IT company, develops application that are dealing
with an increasing amount of critical data with a source code is more and more
complex. To the stay in the race against its competitors, Worldline has to increase
the quality of its projects. One transversal team of the company has for main mission
to enhance project quality. By joining this team, we performed an audit of
several projects of the company to identify how to avoid project failure. Relying
on project metadata analysis, interviews, survey, and literature study, this audit
drew no final conclusion. However, it highlighted a need to enhance testing usage.
To test every piece of code is compulsory to avoid project failure. In industry
and more specifically in Worldline, automation of tests has begun to ensure the
proper behavior of their applications. But, ensuring the execution of all tests after
a change can be a costly operation requiring several hours. However, in a daily
development process, developers can not run all the tests after a change to check
the impact of their modifications. Feedback on the changed code is delayed and
developer have to spent time to discover the potential bugs. A late feedback can
potentially lead to the failure of a project.
The solution generally proposed in literature consists in reducing the number
of tests to run by selecting only the ones related to the last changes made by the
developer. The approach selects a suitable and small set of tests to detect potential
regression in the application behavior.
Test selection approaches have their own advantages and drawbacks. These approaches
need to be studied in the context of Worldline and consequently adapted
to suit developers habits. Before integrating such an adapted test selection approach,
a study of the testing behavior of the developers have been done to get
their current test selection usage. This study will monitor all the tests launched by
the developers during their everyday development tasks.
Based on the study of the Worldline environment, we developed a tool for the
developers aiming to perform test selection. It is adapted to the developers habits
and is directly usable by them. The goal is also to study the impact of this tool
on their behavior. We hope that the test selection approach that is packaged in a
tool adapted to the Worldline developers will bring a change in their development
process.
De nos jours, Worldline, une importante société d’informatique, développe des
applications qui traitent un nombre croissant de données critiques avec un code
source de plus en plus complexe. Pour rester dans la course contre ses concurrents,
Worldline doit améliorer la qualité de ses projets. Une équipe transversale de la
société a pour mission principale d’améliorer la qualité des projets. En rejoignant
cette équipe, nous avons réalisé un audit sur plusieurs projets de l’entreprise afin
d’identifier comment éviter l’échec des projets. En se basant sur une analyse de
métadonnées, des interviews, des sondages, et une étude de la littérature, cet audit
n’a finalement tiré aucune conclusion. Cependant, il a mis en lumière le besoin
d’améliorer l’utilisation des tests.
Effectivement, tester chaque partie du code est requis pour éviter l’échec du
projet. Dans l’industrie, et plus spécifiquement à Worldline, l’automatisation des
tests a commencé dans le but de maîtriser le comportement des applications. Mais,
s’assurer de l’exécution de tous les tests après un changement peut être une opération
coûteuse requérant plusieurs heures. Le retour sur le code changé est retardé
et le développeur perd du temps pour découvrir les potentiels bogues. Ainsi, un
retour tardif peut potentiellement amener le projet à l’échec.
La solution généralement proposée dans la littérature consiste à réduire le nombre
de tests à lancer en sélectionnant seulement ceux relatifs aux derniers changements
effectués par le développeur. L’approche sélectionne un jeu de tests réduit
et approprié qui détectera de potentielles régressions dans le comportement
de l’application.
Chaque approche de sélection de tests a ses propres avantages et inconvénients.
Elles ont donc besoin d’être étudiées dans le contexte de Worldline et adaptées
en conséquence pour convenir aux habitudes des développeurs. Avant d’intégrer
une telle approche, une étude a été faite pour connaître les habitudes actuelles des
développeurs vis-à-vis de la sélection de tests. Cette étude surveille tous les tests
lancés par les développeurs pendant leurs tâches quotidiennes de développement.
Grâce à l’étude de l’environnement de Worldline, nous avons développé un
outil pour les développeurs visant à effectuer la sélection des tests. Il est adapté
aux habitudes des développeurs et leur est directement utilisable. Le but est aussi
d’étudier l’impact de cet outil sur leur comportement. Nous espérons que cette approche
de sélection de tests ainsi contenue dans un outil adapté aux développeurs
de Worldline, apportera des changements dans leur processus de développement.
Origin : Files produced by the author(s)
Loading...