Ruan Jian Ce Shi

Software Testing

测试的进程 Alpha 测试 Beta 测试 Gamma 测试

测试的方法 黑盒测试 白盒测试

测试的类型 压力测试与性能测试

测试的阶段 单元测试 集成测试 系统测试 回归测试

软件测试的经典定义 在规定的条件下对程序进行操作,以发发现程序错误,衡量软件品质,并对其是否满足设计要求进行评估的过程。

功能测试的定义 功能测试是一种黑盒测试,对软件进行功能上的测试——给软件进行输入,检查输出是否符合功能说明书。一般不涉及程序内部结构。

功能测试一般包括5步: 1. 确认软件应有的功能 2. 根据功能说明书构建输入数据 3. 根据功能说明书确定输出 4. 执行测试实例(test case) 5. 比较实际输出与期望输出

黑盒测试

定义: 黑盒测试是一种测试方法,是对软件功能上的测试,而不理会其内部结构或工作原理。不需要了解软件源码或编程知识。测试用例基于规格和需求说明书(比如软件是干什么用的)。测试可以是功能性的,也可以是非功能性的,虽然通常是功能性的。测试设计者选择合法与非法的输入来检验输出的正确性。

这种测试方法可以用在所有级别的测试上:单元测试、集成测试、功能测试、系统测试、和验收测试。几乎包括所有高层测试,但也统治(影响)着单元测试。

测试设计技术 黑盒测试设计技术包括:Decision table 测试、All-pairs 测试、状态转移表、等量划分、边界值分析。

白盒测试 定义:白盒测试是一种软件测试方法,用来测试内部结构与工作原理,是功能性测试的对照面。需要有系统的内面视角和编程技能,以便设计测试用例。测试者根据代码中的路径选择输入并验证输出的正确性。与电路测试中的结点有些类似。(比如电路内测试 in-circuit testing) 白盒测试可用于软件测试阶段中的单元测试、集成测试和系统测试,但通过应用于单元测试。可以用于测试独立单元中的路径,也可以用于集成测试中单元间的路径,或者系统测试中子系统间的路径。虽然可以揭露很多错误,但并不能发现未实现的功能需求。

白盒测试设计技术包括:(分枝)控制流程测试、数据流程测试、分枝测试、路径测试。