关于软件测试的浅谈 -------- 宋立伟
一.软件测试的概念
测试涉及我们生活的各个方面,它是个非常广泛的概念。测试是随着现代化发展
而产生的。软件测试,它是软件工程的一部分。测试活动是一项工程性的活动,而不是
一项简单的、孤立的活动。
1.1 什么是软件测试
软件测试的典型说法
一个好的测试是指很可能找到尚未发现的错误的测试;
一个成功的测试是指发现了至今未发现的错误的测试。
这种说法明确指出
“寻找错误”是软件测试的目的。
IEEE 对软件测试的定义 (1983)
使用人工和自动的手段来运行过测试某个系统的过程,其目的在于它是否满足规
定的需求或是弄清预期结果与实际结果之间的差别。
这种定义提出了软件测试是以是否满足需求为目标。
1.2. 软件测试的目的
测试的目的是最大限度地找出最多的错误。软件测试的目的是查找程序中的故障,
并力求设计出最能暴露故障的测试方案,从而合理地设计测试用例。证明、检测和预防
已经成为一个良好测试的目标。
1.3. 软件测试的分类
从实际用户使用的角度考虑,软件测试一般采用黑盒测试;从程序内部的设计结
构出发,软件测试一般采用白盒测试。从是否运行被测程序的角度考虑,软件测试一
般分为静态测试和动态测试。
1.3.1 静态与动态
静态测试是指被测程序的程序不在机器上运行,而是采用人工检测呵计算机辅助
静态分析的手段对程序进行检测,静态测试是对被测程序进行特性分析方法的总称。
动态测试的主要特征是计算机必须真正运行被测程序,通过输入测试用例对其运
行情况(即输入与输出的对应关系)进行分析,达到检测的目的。
1.3.2 黑盒与白盒
黑盒测试的基本观点是:任何程序都可以看做是从输入定义域映射到输出值域的
函数过程,被测程序被认为是一个打不开的黑盒子,黑盒子的内容(实现过程)完全
不知道,只是明确要做到什么。
白盒测试即逻辑测试,它依赖与对程序细节的严密检验,针对特定条件和循环设
计测试用例,对软件的逻辑路径进行测试。白盒测试将被测程序看作一个打开的盒子,
测试者可以看到被测源程序。
1.4 软件测试的原则
软件测试从不同的角度会有不同的测试原则。
从用户角度:用户希望软件测试能充分暴露软件中存在的问题呵缺陷,从而考虑
是否可以接受盖该产品。
从开发者角度:开发者希望测试能表明软件产品不存在缺陷,已经正确地实现了
用户的需求,确立人们对软件质量的信心。
中国软件测评中心的测试原则就是从用户呵开发者的角度出发进行软件产品测试
的,通过测试,可以为用户提供放心的产品,并对优秀产品进行认证。
1.5 软件测试停止的标准
3