Exploring the Presence of Technical Debt in Industrial GUI-Based Testware: A Case Study

Technical debt (TD) is a concept used to describe a sub-optimal solution of a software artifact that negatively affects its comprehensibility, extendability and maintainability. As such, TD adversely affects the costs or quality associated with the artifact, which is also called interest. TD has through research been identified in all types of software artifacts, from architectural design to automated tests (Testware). However, research into testware technical debt (TTD) is limited and primarily focused on testing on lower level of system abstraction, i.e. unit-and integration tests, leaving a need for more TTD research on GUI-based testing. In this study we explore this gap in knowledge through an industrial case study at a Swedish avionics software development company. Four repositories are studied for the presence of TTD using expert interviews, semi-automated document analysis and automatic metric analysis. Results of the study provide initial support that the concept of TTD is applicable to GUI-based testware and show the presence of both TD items unique to GUI-based testware and items common to software. The implications of these results are that engineering best practices must be established for GUI-based testware to minimize TD interest.

[1]  Mauricio A. Saca Refactoring improving the design of existing code , 2017, 2017 IEEE 37th Central America and Panama Convention (CONCAPAN XXXVII).

[2]  Marco Torchiano,et al.  Exploratory Testing as a Source of Technical Debt , 2014, IT Professional.

[3]  Robert Feldt,et al.  Transitioning Manual System Test Suites to Automated Testing: An Industrial Case Study , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation.

[4]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[5]  Attila Kovács,et al.  Technical debt of standardized test software , 2015, 2015 IEEE 7th International Workshop on Managing Technical Debt (MTD).

[6]  Robert L. Nord,et al.  Managing technical debt in software-reliant systems , 2010, FoSER '10.

[7]  Filippo Ricca,et al.  Improving Test Suites Maintainability with the Page Object Pattern: An Industrial Case Study , 2013, 2013 IEEE Sixth International Conference on Software Testing, Verification and Validation Workshops.

[8]  Anas N. Al-Rabadi,et al.  A comparison of modified reconstructability analysis and Ashenhurst‐Curtis decomposition of Boolean functions , 2004 .

[9]  Tarun Lalwani,et al.  UFT/QTP Interview Unplugged: And I thought I knew UFT! , 2013 .

[10]  Atif M. Memon,et al.  Conceptualization and Evaluation of Component-Based Testing Unified with Visual GUI Testing: An Empirical Study , 2015, 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST).

[11]  Radu Marinescu,et al.  Assessing technical debt by identifying design flaws in software systems , 2012, IBM J. Res. Dev..

[12]  Paolo Tonella,et al.  Visual vs. DOM-Based Web Locators: An Empirical Study , 2014, ICWE.

[13]  Robert J. Eisenberg A threshold based approach to technical debt , 2012, SOEN.

[14]  Christer Persson,et al.  Establishment of automated regression testing at ABB: industrial experience report on 'avoiding the pitfalls' , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[15]  Joost Visser,et al.  An empirical model of technical debt and interest , 2011, MTD '11.

[16]  Attila L. Kovács,et al.  Advanced TTCN-3 Test Suite validation with Titan , 2015 .

[17]  Ioannis Stamelos,et al.  Code quality analysis in open source software development , 2002, Inf. Syst. J..

[18]  Peng Liang,et al.  A systematic mapping study on technical debt and its management , 2015, J. Syst. Softw..

[19]  Woei-Kae Chen,et al.  Bad Smells and Refactoring Methods for GUI Test Scripts , 2012, 2012 13th ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing.

[20]  Richard T. Vidgen,et al.  An exploration of technical debt , 2013, J. Syst. Softw..

[21]  Miroslaw Staron,et al.  A framework for developing measurement systems and its industrial evaluation , 2009, Inf. Softw. Technol..

[22]  Ward Cunningham,et al.  The WyCash portfolio management system , 1992, OOPSLA '92.

[23]  Kristóf Szabados,et al.  Structural Analysis of Large TTCN-3 Projects , 2009, TestCom/FATES.