ABSTRACT
Testing processes are commonly used with the aim of systematizing testing activities within a software development project or in a Test Factory (TF). However, even using a process, the team may fail to perform testing activities, intentionally or not, in order to, for example, make a faster delivery. In this situation, the team may incur a Technical Debt (TD): technical commitment generated during the software development lifecycle that may be beneficial in the short term, but in the long term, may be detrimental to the quality of the project. These TDs should be identified and managed, because if they remain invisible and non-refunded, they may accumulate incrementally and hinder, or even make impossible, maintenance tasks and software evolution. In this context, this work aims to report the experience of identifying technical test debts in a Test Factory. As object of the study, Test Debts were analyzed in five projects with the industry, in 2017, 2018 and 2019. As a result, four Test Debts causes were identified over the three years of our experience in the industry. Also, we present 11 lessons learned that help to identify and prevent Test Debts.
- Nicolli SR Alves, Thiago S Mendes, Manoel G de Mendonça, Rodrigo O Spínola, Forrest Shull, and Carolyn Seaman. 2016. Identification and management of technical debt: A systematic mapping study. Information and Software Technology 70 (2016), 100--121.Google ScholarDigital Library
- R. M. C. Andrade, V. Lelli, R. N. S. Castro, and I. S. Santos. 2017. Fifteen Years of Industry and Academia Partnership: Lessons Learned from a Brazilian Research Group. In 2017 IEEE/ACM 4th International Workshop on Software Engineering Research and Industrial Practice (SER IP). 10--16. https://doi.org/10.1109/SER-IP.2017..2Google ScholarDigital Library
- Nanette Brown, Yuanfang Cai, Yuepu Guo, Rick Kazman, Miryung Kim, Philippe Kruchten, Erin Lim, Alan MacCormack, Robert Nord, Ipek Ozkaya, et al. 2010. Managing technical debt in software-reliant systems. In Proceedings of the FSE/SDP workshop on Future of software engineering research. ACM, 47--52.Google ScholarDigital Library
- Ward Cunningham. 1992. The WyCash Portfolio Management System. SIGPLAN OOPS Mess. 4, 2 (Dec. 1992), 29--30. https://doi.org/10.1145/157710.157715Google ScholarDigital Library
- Rossana M. de Castro Andrade, Ismayle de Sousa Santos, Valéria Lelli, Káthia Marçal de Oliveira, and Ana Regina Cavalcanti da Rocha. 2017. Software Testing Process in a Test Factory - From Ad hoc Activities to an Organizational Standard. In ICEIS.Google Scholar
- Amanda Oliveira de Sousa, Ismayle de Sousa Santos, Bruno Sabóia Aragão, and Rossana M. de Castro Andrade. 2018. Towards an Automatic Approach to Estimating Test Effort: An Experience Report. In Proceedings of the 17th Brazilian Symposium on Software Quality (SBQS). ACM, New York, NY, USA, 305--314. https://doi.org/10.1145/3275245.3275273Google ScholarDigital Library
- Yuepu Guo, Carolyn Seaman, and Fabio QB da Silva. 2016. Costs and obstacles encountered in technical debt management--A case study. Journal of Systems and Software 120 (2016), 156--169.Google ScholarDigital Library
- Zengyang Li, Paris Avgeriou, and Peng Liang. 2015. A systematic mapping study on technical debt and its management. Journal of Systems and Software 101 (2015), 193--220.Google ScholarDigital Library
- Erin Lim, Nitin Taksande, and Carolyn Seaman. 2012. A Balancing Act: What Software Practitioners Have to Say about Technical Debt. 29 (11 2012), 22--27.Google Scholar
- Alessandro Orso and Gregg Rothermel. 2014. Software testing: a research travelogue (2000--2014). In Proceedings of the on Future of Software Engineering. ACM, 117--132.Google ScholarDigital Library
- Nirav Patel, Muthukrishnan Govindrajan, Susmita Maharana, and Shoba Ramdas. 2001. Test Case Point Analysis. Cognizant Technology Solutions, White Paper (2001).Google Scholar
- Ganesh Samarthyam, Mahesh Muralidharan, and Raghu Kalyan Anna. 2017. Understanding Test Debt. In Trends in Software Testing. Springer, 1--17.Google Scholar
- Ana Sanz, Javier Garcia, Javier Saldana, and Antonio Amescua. 2009. A proposal of a process model to create a Test Factory. In Software Quality, 2009. WOSQ'09. ICSE Workshop on. IEEE, 65--70.Google ScholarDigital Library
- IEEE Computer Society, Pierre Bourque, and Richard E. Fairley. 2014. Guide to the Software Engineering Body of Knowledge (SWEBOK(R)): Version 3.0 (3rd ed.). IEEE Computer Society Press, Los Alamitos, CA, USA.Google ScholarDigital Library
- Cleydiane Lima de Sousa. 2016. Mapa de apoio à gestão de dívida técnica no processo de teste de software. (2016).Google Scholar
- Lucas Sales Vieira, Cayk G Lima Barreto, Erick Barros dos Santos, Bruno Sabóia Aragão, Ismayle de Sousa Santos, and Rossana M Castro Andrade. 2018. Automação de Testes em uma Fábrica de Testes: Um Relato de Experiência. In Anais do XIV Simpósio Brasileiro de Sistemas de Informação. SBC, 80--73.Google Scholar
- K. Wiklund, S. Eldh, D. Sundmark, and K. Lundqvist. 2012. Technical Debt in Test Automation. In 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation. 887--892. https://doi.org/10.1109/ICST.2012.192Google ScholarDigital Library
- Kristian Wiklund, Sigrid Eldh, Daniel Sundmark, and Kristina Lundqvist. 2017. Impediments for software test automation: A systematic literature review. Software Testing, Verification and Reliability 27, 8 (2017).Google Scholar
Index Terms
- Test debts identification in a test factory
Recommendations
Extraction of test cases procedures from textual use cases to reduce test effort: Test Factory Experience Report
SBQS '19: Proceedings of the XVIII Brazilian Symposium on Software QualityThe optimization of processes in the software development life cycle has become mandatory, since companies need to reduce the costs of their projects and shorten the time to market without affecting the quality of the product. With regards to software ...
Software test maturity assessment and test process improvement
ContextSoftware testing practices and processes in many companies are far from being mature and are usually conducted in ad-hoc fashions. Such immature practices lead to various negative outcomes, e.g., ineffectiveness of testing practices in detecting ...
TestDCat: Catalog of Test Debt Subtypes and Management Activities
Testing Software and SystemsAbstractWhen deadlines and resources of software projects become scarce, testing is usually in the first row to have its activities aborted or reduced. If defects cannot be found, products quality can be affected. In a software development process, ...
Comments