Transitioning from Manual to Automated Software Regression Testing: Experience from the Banking Domain
Akin, Abdurrahman ; Senturk, Serafettin ; Garousi, Vahid - \ 2019
In: Proceedings - 25th Asia-Pacific Software Engineering Conference, APSEC 2018. - IEEE computer society - ISBN 9781728119700 - p. 591 - 597.
experience report - mobile software - regression testing - Software testing - test automation
Regression testing is needed when a software or the environment hosting that software changes. Motivated by a real-world industrial need in the context of a large financial (banking) corporation in Turkey, the authors and their colleagues developed and introduced an automated regression testing infrastructure for automated testing of one of the main mobile applications of the company. Before this project, regression testing was conducted manually which incurred a lot of costs and was by nature subjective. We report in this paper our experience in 'transitioning' from manual to automated regression testing, and in developing and introducing a set of large automated test suites (more than 16 KLOC in total), using best practices in state-of-the art and -practice, and to report its observed benefits by conducting cost-benefit analysis. The project was conducted based on the principles of case-study and 'action research' in which the real industrial needs drove the research. Among the best practices that we used are the followings: (1) modularity in test code, (2) creating test-specific libraries, and (3) separating test data from test logic. By serving as a success story and experience report in development and introduction of automated test suites in an industrial setting, this paper adds to the body of evidence in this area and it aims at sharing both technical (e.g., using automated test patterns) and process aspects (e.g., test process improvement) from our project with other practitioners and researchers.
Successful Engagement of Practitioners and Software Engineering Researchers: Evidence From 26 International Industry-Academia Collaborative Projects
Garousi, Vahid ; Shepherd, David C. ; Herkiloglu, Kadir - \ 2019
IEEE Software (2019). - ISSN 0740-7459 - 1 p.
applied research - experience report - Industry-academia collaborations - lessons learned
There has been a recent push to increase the practical relevance and impact of software engineering (SE) research. Even though many practitioners and researchers agree that this change is desirable, only some concrete actions have been taken in the community so far. In this paper, we present our experience in a large number of collaborative research projects (26 projects) which have had practical (industrial) impact. These projects have been conducted in several different countries, have focused on different SE topics (e.g., testing, software maintenance, and documentation), and have spanned over different domains (e.g., embedded software, defense and telecom, robotics). We characterize the industrial needs, contributions, and impacts of the projects. Furthermore, via a participant-observation research approach, the authors analyze their diary reflections recorded during the projects and synthesize their experience into a set of seven lessons learned on how to conduct successful industry-academia collaborations. Our hope is that the evidence and experience provided by our example projects would motivate SE practitioners and researchers to engage more on collaborative projects.