Paper Title
Accelerating Agile Development by Providing Test Execution as a Service
Abstract
Industry-standard software products have become very complex comprising of many sub-components interacting with each other creating a huge web of inter-dependencies between them. This makes testing a tedious task. Agile methodology promotes testing as a continuous iteration throughout the software development life-cycle of the project. Along with writing the code, a developer also writes a few unit test cases and pushes the code in the source code repository. If regression testing fails due to a particular change the process of reporting the bug to its fulfilment can span up to a few weeks thus delaying the product release. And performing regression testing by a single developer is very difficult because of the setup and configuration complexity. If we provide Test Execution as a Service, this problem can be tackled. The solution will involve triggering of test execution for different branches and deployment topologies without the knowledge of complex process involved in doing it manually. The solution will involve a dashboard with the visualization of different statistics all at one place. It will use a Continuous Integration server (such as Jenkins, Travis CI, etc) as a backend involving pipelines for job setups. Whereas middleware can be implemented as a Django or Flask app leveraging the power python programming language. This solution will enable a developer to run regression testing at the click of a few buttons abstracting out all the complexity and thus accelerating the development process.
Keywords - Agile, Continuous Integration, Regression testing, Jenkins, Monoliths