SEJul 17, 2020

Towards a Model of Testers' Cognitive Processes: Software Testing as a Problem Solving Approach

arXiv:2007.08927v33 citations
AI Analysis

This addresses the gap in understanding testers' cognitive processes for software engineering researchers, but it is incremental as it builds on existing problem-solving frameworks.

The authors tackled the lack of a cognitive theory for software testing by proposing a model based on problem-solving processes from cognitive psychology, with initial evaluation involving five master students supporting its validity.

Software testing is a complex, intellectual activity based (at least) on analysis, reasoning, decision making, abstraction and collaboration performed in a highly demanding environment. Naturally, it uses and allocates multiple cognitive resources in software testers. However, while a cognitive psychology perspective is increasingly used in the general software engineering literature, it has yet to find its place in software testing. To the best of our knowledge, no theory of software testers' cognitive processes exists. Here, we take the first step towards such a theory by presenting a cognitive model of software testing based on how problem solving is conceptualized in cognitive psychology. Our approach is to instantiate a general problem solving process for the specific problem of creating test cases. We then propose an experiment for testing our cognitive test design model. The experiment makes use of verbal protocol analysis to understand the mechanisms by which human testers choose, design, implement and evaluate test cases. An initial evaluation was then performed with five software engineering master students as subjects. The results support a problem solving-based model of test design for capturing testers' cognitive processes.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes