《软件测试》
以前关于软件测试,我一直有个误区:编程能力弱的可以做软件测试。而实际上,软件测试对测试人员的开发能力有很高的要求,我们生活中总是听说有很多女生编程能力弱,所以就选择软件测试,其实这只是说明软件测试需要细心地专业人才。
测试设计有两类方法:黑箱(Black Box)和白箱(White Box)。
黑箱:指的是在设计测试的过程中,把软件系统当作一个“黑箱”,无法了解或使用系统的内部结构及知识。一个更准确的说法是行为测试设计(Be-havioral Test Design),即从软件的行为,而不是从内部结构出发来设计测试。
白箱:指的是在设计测试的过程中,设计者可以“看到”软件系统的内部结构,并使用软件的内部结构和知识来选择测试数据及具体的测试方法。“白箱”并不是一个精确的说法,因为把箱子涂成白色,同样也看不见箱子里的东西。有人建议用“玻璃箱”来表示。
在实际工作中,我们不应画地为牢,严格只用某一种测试设计方法。我们对系统的了解当然是越多越好。所谓“灰箱”的提法,正反映了这一点。有些测试专家甚至希望我们忘记全部的“箱子”及其颜色。
进一步说,我们并不是要禁止懂得程序内部结构的人员来进行黑箱测试设计,只不过是在设计时有意不考虑软件的内部结构。例如,在测试程序内部基本模块时(单元测试),通常要求由对程序结构非常了解的程序员来设计,这是因为内部模块的“行为”和程序的外部功能并没有直接的关系,而且对内部基本模块的“行为”通常没有明确的定义。另一个例子是软件的“易用性测试”,在设计此类测试时,没必要纠缠于程序的内部结构,而是应着重于软件的界面和行为。但是软件易用性测试也需要很多专业知识。这也从一个侧面表明“黑箱”和“白箱”没有简单的难度高低之分。测试用例写出来之后,大家可以忘了它们是从哪种颜色的箱子里出来的,使用就行了。
在软件测试中有很多方法,虽然我并没有接触这些方法,如有压力测试、回归测试等等,但是我知道单元测试。不过单元测试不是真正的测试环节。不过在阅读本章之后我有个疑问:单元测试完之后一切顺利,那么软件测试人员的重点是测试哪里?