Skip to main content

Understanding Problem Solving in Software Testing: An Exploration of Tester Routines and Behavior

  • Conference paper
  • First Online:
Testing Software and Systems (ICTSS 2023)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The “other” languages include PHP, MATLAB, Flutter, JavaScript, and Simulink.

References

  1. Aniche, M., Treude, C., Zaidman, A.: How developers engineer test cases: an observational study. IEEE Trans. Software Eng. 48(12), 4925–4946 (2021)

    Google Scholar 

  2. Bransford, J.D., Stein, B.S.: The ideal problem solver. New York: W. H (1984)

    Google Scholar 

  3. Braun, V., Clarke, V.: Using thematic analysis in psychology. Qual. Res. Psychol. 3(2), 77,101 (2006)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Google Scholar 

  7. 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)

    Google Scholar 

  8. 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)

    Google Scholar 

  9. 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

  10. 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)

    Google Scholar 

  11. Lenberg, P., Feldt, R., Wallgren, L.G.: Behavioral software engineering: a definition and systematic literature review. J. Syst. Softw. 107, 15–37 (2015)

    Google Scholar 

  12. Letovsky, S.: Cognitive processes in program comprehension. J. Syst. Softw. 7(4), 325–339 (1987)

    Article  Google Scholar 

  13. Newel, A., Simon, H.A.: Human Problem Solving. Englewood Cliffs, NJ (1972)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. Pezze, M., Young, M.: Software Test and Analysis: Process, Principles, and Techniques. John Wiley and Sons, October 2006

    Google Scholar 

  16. Polya, G.: How to solve it (1957)

    Google Scholar 

  17. Pretz, J.E., Naples, A.J., Sternberg, R.J.: Recognizing, defining, and representing problems. Psychol. Problem Solv. 30(3) (2003)

    Google Scholar 

  18. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Eduard Paul Enoiu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 IFIP International Federation for Information Processing

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics