Abstract
Software testing is a difficult, intellectual activity performed in a social environment. Naturally, testers use and allocate multiple cognitive resources towards this task. The goal of this study is to understand better the routine and behaviour of human testers and their mental models when performing testing. We investigate this topic by surveying 38 software testers and developers in Sweden. The survey explores testers’ cognitive processes when performing testing by investigating the knowledge they bring, the activities they select and perform, and the challenges they face in their routine. By analyzing the survey results, we provide a characterization of tester practices and identify insights regarding the problem-solving process. We use these descriptions to further enhance a cognitive model of software testing.
Support provided by Software Center Project 30: “Aspects of Automated Testing”, H2020 under grant agreement No. 957212 and Vinnova through SmartDelta project.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
The “other” languages include PHP, MATLAB, Flutter, JavaScript, and Simulink.
References
Aniche, M., Treude, C., Zaidman, A.: How developers engineer test cases: an observational study. IEEE Trans. Software Eng. 48(12), 4925–4946 (2021)
Bransford, J.D., Stein, B.S.: The ideal problem solver. New York: W. H (1984)
Braun, V., Clarke, V.: Using thematic analysis in psychology. Qual. Res. Psychol. 3(2), 77,101 (2006)
Enoiu, E., Feldt, R.: Towards human-like automated test generation: perspectives from cognition and problem solving. In: International Workshop on Cooperative and Human Aspects of Software Engineering, pp. 123–124 (2021)
Enoiu, E., Tukseferi, G., Feldt, R.: Towards a model of testers’ cognitive processes: software testing as a problem solving approach. In: International Conference on Software Quality, Reliability and Security Companion, pp. 272–279. IEEE (2020)
Getzels, J.W.: The problem of the problem. In: New Directions for Methodology of Social and Behavioral Science: Question Framing and Response Consistency, vol. 11, pp. 37–49 (1982)
Hale, D.P., Haworth, D.A.: Towards a model of programmers’ cognitive processes in software maintenance: a structural learning theory approach for debugging. J. Softw. Maintenance Res. Pract. 3(2), 85–106 (1991)
Hale, J.E., Sharpe, S., Hale, D.P.: An evaluation of the cognitive processes of programmers engaged in software debugging. J. Softw. Maintenance Res. Practi. 11(2), 73–91 (1999)
Hayes, J.R.: Cognitive processes in creativity. In: Glover, J.A., Ronning, R.R., Reynolds, C.R. (eds.) Handbook of Creativity, pp. 135–145. Springer, Boston (1989). https://doi.org/10.1007/978-1-4757-5356-1_7
Itkonen, J., Mäntylä, M.V., Lassenius, C.: The role of the tester’s knowledge in exploratory software testing. IEEE Trans. Softw. Eng. 39(5), 707–724 (2012)
Lenberg, P., Feldt, R., Wallgren, L.G.: Behavioral software engineering: a definition and systematic literature review. J. Syst. Softw. 107, 15–37 (2015)
Letovsky, S.: Cognitive processes in program comprehension. J. Syst. Softw. 7(4), 325–339 (1987)
Newel, A., Simon, H.A.: Human Problem Solving. Englewood Cliffs, NJ (1972)
Orso, A., Rothermel, G.: Software testing: a research travelogue (2000–2014). In: Proceedings of the on Future of Software Engineering, FOSE 2014, pp. 117–132. ACM, New York, NY, USA (2014)
Pezze, M., Young, M.: Software Test and Analysis: Process, Principles, and Techniques. John Wiley and Sons, October 2006
Polya, G.: How to solve it (1957)
Pretz, J.E., Naples, A.J., Sternberg, R.J.: Recognizing, defining, and representing problems. Psychol. Problem Solv. 30(3) (2003)
Robillard, P.N., d’Astous, P., Détienne, F., Visser, W.: Measuring cognitive activities in software engineering. In: Proceedings of the 20th International Conference on Software Engineering, pp. 292–300. IEEE (1998)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 IFIP International Federation for Information Processing
About this paper
Cite this paper
Enoiu, E.P., Gay, G., Esber, J., Feldt, R. (2023). Understanding Problem Solving in Software Testing: An Exploration of Tester Routines and Behavior. In: Bonfanti, S., Gargantini, A., Salvaneschi, P. (eds) Testing Software and Systems. ICTSS 2023. Lecture Notes in Computer Science, vol 14131. Springer, Cham. https://doi.org/10.1007/978-3-031-43240-8_10
Download citation
DOI: https://doi.org/10.1007/978-3-031-43240-8_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-43239-2
Online ISBN: 978-3-031-43240-8
eBook Packages: Computer ScienceComputer Science (R0)