A Semi-Automated Framework for Executing and Managing Application-Level Tests - Hajibalayeva, Maryam (ADA University, 2025)
This thesis presents a semi-automated testing framework for use in application-level testing of Java systems. The framework is intended for small-to-medium development teams, allowing them to scale their testing efforts while retaining reliability and repeatability, and without the cost and complexity of a fully automated testing solution. Manual approaches to testing are not scalable or repeatable, while fully automated modes of testing require considerable set-up, knowledge and maintenance. The framework proposes a good middle-ground that is configuration driven, and black-boxed in a way that limits code dependency and complex scripting solutions . The framework, at its heart, lets testers define test scenarios externally using simple forms of configuration files. For example, a configuration file can define API methods to be tested, input, and expected output so that test cases can be flexible and reused and retained in an accessible way. Since the test logic is separated from the application code base, the effort to make implementations due to changing application requirements and changing API structures is reduced. The framework provides a graphical user interface (GUI) to enhance accessibility and usabil- ity so that the user can select test methods, enter values, and run tests with little to no technical background. This makes the tool accessible to many possible users, including those that do not have extensive programming backgrounds. This makes the tool suitable for a wide range of users, including those without deep programming backgrounds. The structure of the framework uses a modular system of components for the firms that need to execute tests, manage configuration, log output, and facilitate users. While the current implementation provides semi-automation only for Java, it has shown great promise for inclusion in agile development contexts where timely feedback and repeatability of testing is critical. Future versions can increase support for other supported languages and allow for further levels of automation, which would increase its overall effectiveness. Overall, this research contributes a practical, flexible, and easy-to-use testing framework that provides an efficient and reliable way to bridge the gap between manual and fully automated testing.
Keywords: Software testing -- Automation -- Java (Computer program language).; Software engineering -- Tools and techniques -- Java (Computer program language).; Computer software -- Quality control -- Java (Computer program language).; Graphical user interfaces -- Usability -- Java (Computer program language).; Agile software development Testing -- Java (Computer program language).