Modularizing Code by Use Cases and Tests for Better Maintainability
In common object-oriented code, user acceptance tests, which play a very important role in any kind of software development process and which follow procedural modularization, would be scattered and, consequently, hard to maintain. This is of particular importance, since it is known that user acceptance tests immensely improve code comprehension, as can be seen in the Cucumber approach.
Both use case and test driven modularizations remain compatible while at the same time open new capabilities of having different views on software based on use cases and various tests simultaneously. The environment synchronizes changes in multiple modularizations at the level of static file processing and enforces use case and test representations in code by displaying a percentage of how well use cases and tests are covered by code.
We will demonstrate how use case and test driven modularization supported by our environment (avaliable at useion.com), which is based on our previous work on literal inter-language use case driven modularization, simplifies development and maintenance of a real world application of 55 use cases built on the OpenCart e-commerce platform.
The development of selected simple and complex use cases and tests will be presented. However, the main aim of the demonstration will be to present how our environment helps developers respond effectively to common change requests using object-oriented, use case driven, and test driven modularization interchangeably.
(Supported by the Scientific Grant Agency of Slovak Republic (VEGA) under the grant No. VG 1/0752/14, Research & Development Operational Programme for the project Research of Methods for Acquisition, Analysis and Personalized Conveying of Information and Knowledge, ITMS 26240220039, co-funded by the ERDF, and STU Grant scheme for Support of Young Researchers (M. Bystrický).)