软件测试分类:
白盒测试(开发工程师):关心软件内部设计和程序实现,主要测试依据是设计文档。
黑盒测试(测试工程师):不关心软件内部,只关心输入输出,主要测试依据是需求文档。
白盒测试
测试规划:根据程序的内部结构,如语句控制结构,模块间的控制结构以及内部数据结构等进行测试。
优点:能够对程序内部的特定部位进行覆盖测试。
缺点:无法检验程序的外部特性。无法对位实现规格说明的程序欠缺部分进行测试。
方法举例:语句覆盖,判定覆盖,条件覆盖,判定-条件覆盖,基本路径覆盖,循环覆盖。
黑盒测试
测试规划:根据用户的规格说明,即针对命令、信息、报表等用户界面及体现它们的输入数据与输出数据之间的对应关系,特别是针对功能进行测试。
优点:能站在用户的立场上进行测试。
缺点:不能测试程序内部特定部位。如果规格说明有误,则无法发现。
方法举例:基于图的测试,等价类划分,边值分析,比较测试。
软件测试的遵循原则
(1)测试显示缺陷的存在,但不能证明系统不存在缺陷。
(2)穷尽测试是不可能的,应设定及时终止的条件。
(3)测试应尽早进行。
(4)缺陷具备群集性:对于软件功能而言,核心功能占20%,非核心功能占80%(二八理论)。在实际工作中,测试人员会集中测试20%的核心功能,因此这部分发现缺陷的几率就会高于80%。
(5)测试的杀虫剂现象:同一个测试用例不能从重复执行多次,否则软件会对其产生免疫。
(6)不存在缺陷谬论:任何软件不可能是完美的。
(7)测试活动依赖于测试背景。