软件测试是在软件投入生产性运行之前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量控制的关键步骤。
软件开发过程是一个自顶向下、逐步细化的过程,而测试过程则是依相反的顺序安排的自底向上、逐步集成的过程。
一、白盒测试与黑盒测试
黑盒测试:已知产品的功能设计规格,可以通过测试证明每个实现了的功能是否符合要求。
白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。
软件测试有一个致命的缺陷,即测试的不完全、不彻底性。
二、白盒测试的测试用例设计
逻辑覆盖是以程序内部的逻辑结构为基础的设计测试用例 的技术,它属于白盒测试
逻辑覆盖又可分为: 语句覆盖 判定覆盖 判定—条件覆盖 条件组合覆盖 路径覆盖
程序段实例
语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。语句覆盖是最弱的逻辑覆盖标准。
判定覆盖就是设计若干个测试用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。判定覆盖又称为分支覆盖。