Résumé
The digital and Agile transformation of large organizations is leading to a need to transform software testing practices in depth. Putting IT system developments into production with increasingly short delays, on increasingly complex systems, challenges the traditional practices of functional testing based on a strong manual component (analysis, design and execution).New approaches and new test tools must therefore adapt to the short iterations of Agile, as well as to the expansion of the systems developed, composed of a set of products in Agile at scale contexts, while ensuring the quality of the systems in production.Adapting to Agile means that approaches and tools will need to be effective in the conception and implementation of tests for different functional coverage objectives. They will have to allow testing a small set of new user stories while keeping the end-to-end test repository of the main application use cases operational. This is in order to manage the evolution of the system as a whole and to extend the repository of automated regression tests.In terms of execution, the approaches and tools will have to support both manual and automated test execution with seamless adaptation from the first to the second. Systematic execution of all manual tests is not possible, hence the strong need to automate tests. The implementation of automation processes is a key point in the success of projects, but this activity currently remains complex and expensive. It allows to guarantee the quality of the application through the different iterations, especially in Agile contexts, where the deliveries are regular and/or the time to test manually increases with the sprints. Automating a set of test cases reduces the burden of manual testing and facilitates the detection of regressions.Another challenge for software testing in the Agile transformation will be to manage to maintain the growing manual test suites over iterations. These test suites are usually described in natural language and, over time, become disorganized and more difficult to use and maintain. There is therefore a real challenge in proposing approaches and tools to maintain these test suites in order to make them more usable and easier to maintain, in contexts where it is necessary to be able to act quickly and efficiently.To meet these needs, this thesis proposes an approach called ALME (ALME – Agile Lightweight Model-Based Testing for Enterprise IT) which is based on the fundamental concepts of Model-Based-Testing, redesigned to meet the challenges of testing large information systems in the context of an iterative and incremental software development lifecycle. In particular, this overhaul focuses on the articulation between business process modeling and business rule management for the generation of functional tests.The contributions of these researches cover the phases of analysis, conception and implementation of functional tests and are the following:-Extending the scientific state of the art in Model-Based-Testing, on test automation, refactoring, testing in Agile and Agile at scale.-Extend the state of the art on Agile testing practices at scale through a qualitative and quantitative analysis of current practices and solutions to problems encountered by software development teams.-Define and implement the ALME approach.-Define and implement an automation management approach.-Define and implement a manual test suite refactoring approach.These researches were conducted within the FEMTO-ST Institute – UMR 6174 and the Sogeti company within the context of a CIFRE thesis started in November 2017.
Source: http://www.theses.fr/2021UBFCD013
.