第四章软件测试 41测试的目的与地位 42测试的方法与技术 43白盒测试的测试用例设计 44黑盒测试的测试用例设计 45软件测试的步骤
第四章 软件测试 4.1 测试的目的与地位 4.2 测试的方法与技术 4.3 白盒测试的测试用例设计 4.4 黑盒测试的测试用例设计 4.5 软件测试的步骤
4.1测试的目的与地位 测试的目的与地位 1.测试是为了寻找错误而运行程序的过程。 2.一个好的测试用例是指很可能找到迄今为止 尚未发现的错误的测试。 3.一个成功的测试是揭示了迄今为止尚未发现 的错误的测试
1.测试是为了寻找错误而运行程序的过程。 2.一个好的测试用例是指很可能找到迄今为止 尚未发现的错误的测试。 3.一个成功的测试是揭示了迄今为止尚未发现 的错误的测试。 测试的目的与地位 4.1 测试的目的与地位
教件生存期各的需保持的正确性 用户要求 相符吗 运行结果 用户 计算机 我要什么? 程序运行得 理解正确性 5 到的结果 表达正确性 运行正确性 4)输入正确性 需求说明书 分析员 源程序 我可以提 程序员: 供什么? 2 我要让计算 3)人机什么做? 理解正确性设计说明书 设计正确性设计员: 理解正确性 表达正确性我要让软件 编码正确性 做什么?
软件生存期各阶段间需保持的正确性 用户要求 用户: 我要什么? 运行结果 计算机: 程序运行得 到的结果 源程序 程序员: 我要让计算 机什么做? 设计说明书 设计员: 我要让软件 做什么? 需求说明书 分析员: 我可以提 供什么? 1 2 3 4 理解正确性 5 表达正确性 理解正确性 设计正确性 表达正确性 理解正确性 编码正确性 运行正确性 输入正确性 相符吗?
试与调试(排错) 观试(test) 调试(0ebug) 发现错误 找出错误位置,排除 有计划 被动的 以已知条件开始, 以不可知内部条件 使用预先定义的程序,开始,结果一般不可 有预知的结果 预见 由独立的测试组,在 不了解软件设计的条由程序作者进行 件下完成
测试 (test) 调试 (debug) 以已知条件开始, 使用预先定义的程序, 有预知的结果 以不可知内部条件 开始,结果一般不可 预见 有计划 被动的 由独立的测试组,在 不了解软件设计的条 件下完成 由程序作者进行 发现错误 找出错误位置,排除 测试与调试(排错)
4.2测试的技术 人工测试方法 静态测 试方法计算机辅助静 软件测试的 态分析方法 策略和方法 动态洲「白盒测试方法 试方法 黑盒测试方法
4.2 测试的技术 软件测试的 策略和方法 静态测 试方法 动态测 试方法 人工测试方法 计算机辅助静 态分析方法 白盒测试方法 黑盒测试方法
静态测试:基本特征是在对软件进行 分析、检查和审阅,不实 际运行被测试的软件。 静态测试约可找出30~70%的逻辑设计错误 对需求规格说明书、软件设计说明书、源程序 做检查和审阅,包括: 是否符合标准和规范; 通过结构分析、流图分析、符号执行指出软件 缺陷;
静态测试:基本特征是在对软件进行 分析、检查和审阅,不实 际运行被测试的软件。 静态测试约可找出30~70%的逻辑设计错误. 对需求规格说明书、软件设计说明书、源程序 做检查和审阅,包括: •是否符合标准和规范; •通过结构分析、流图分析、符号执行指出软件 缺陷;
动态测试:通过运行软件来检验软 件的动态行为和运行结果的正确性 动态测试的两个基本要素 被测试程序 测试数据(测试用例)
动态测试:通过运行软件来检验软 件的动态行为和运行结果的正确性 动态测试的两个基本要素: 被测试程序 测试数据(测试用例)
动态测试方法 (1)选取定义域有效值,或定义域 外无效值 (2)对已选取值决定预期的结果 (3)用选取值执行程序 (4)执行结果与(2)结果相比, 不吻和程序有错
动态测试方法 (1)选取定义域有效值,或定义域 外无效值. (2)对已选取值决定预期的结果 (3)用选取值执行程序 (4)执行结果 与(2)结果相比, 不吻和程序有错
动态黑盒测试一闭着眼睛测试软件 输入 软件 输出 不深入代码细节的测试方法称为动态黑盒测试。 软件测试员充当客户来使用它
动态黑盒测试 —闭着眼睛测试软件 软件 输入 不深入代码细节的测试方法称为动态黑盒测试。 软件测试员充当客户来使用它。 输出
动态白盒测试一带上X光眼镜测试软件 250(1+0.015)(1+0.015)^360-1)/0.015250*(1+0.015)*(1+0.015)~360-1).015 3581322293419985680302829734315 假如知道一个盒子包含一台计算机,而另一个 盒子是人用纸笔计算,就会选择不同的测试用例 了解软件的运作方式会影响测试手段
动态白盒测试 —带上X光眼镜测试软件 3581322.293419985680302829734315 ?????????????? 250*(1+0.015)*((1+0.015)^360-1)/0.015 250*(1+0.015)*((1+0.015)^360-1)/0.015 假如知道一个盒子包含一台计算机,而另一个 盒子是人用纸笔计算,就会选择不同的测试用例 了解软件的运作方式会影响测试手段