一句话:实证研究发现,入门编程学生虽自认系统测试,实际并不系统,且难以脱离代码设计测试用例。
本文研究未接受正式测试教育的入门编程学生对软件测试的认识与信念。作者让完成编程导论课的学生填写问卷、完成四个练习并再次填写问卷,随后对其中11名学生进行半结构化访谈,以获取更深入的定性数据。主要发现是:学生实际上并不系统地进行测试,但大多数自认为测试是系统性的。研究还揭示了一个常见误解:多数学生只能基于程序代码来构思测试用例;即使不提供代码(黑盒测试),他们仍试图先想象或写出代码,再据此设计测试用例。这表明测试教育需帮助学生建立不依赖实现的测试思维。
We gained insight into ideas and beliefs on testing of students who finished an introductory course on programming without any formal education on testing. We asked students to fill in a small survey, to do four exercises and to fill in a second survey. We interviewed eleven of these students in semi-structured interviews, to obtain more in-depth insight. The main outcome is that students do not test systematically, while most of them think they do test systematically. One of the misconceptions we found is that most students can only think of test cases based on programming code. Even if no code was provided (black-box testing), students try to come up with code to base their test cases on.