7.1软件测试的目标 关于测试及其目标 G. Myers曾给出了测试以下观点: (1)测试是为了发现程序中的错误而执行程序的过程; (2)好的测试方案是极可能发现迄今为止尚未发现的错 误的测试方案 (3)成功的测试是发现了至今为止尚未发现的错误的测 不妨可以看作软件测试的目标或定义。 2021年2月7日 第7章软件测试 第6页
2021年2月7日 第7章 软件测试 第6页 7.1 软件测试的目标 关于测试及其目标G.Myers曾给出了测试以下观点: (1) 测试是为了发现程序中的错误而执行程序的过程; (2) 好的测试方案是极可能发现迄今为止尚未发现的错 误的测试方案; (3) 成功的测试是发现了至今为止尚未发现的错误的测 试。 不妨可以看作软件测试的目标或定义
7.1软件测试的目标 因此,测试阶段的基本任务应该是根据软件开发各阶 段的文档资料和程序内部结构,精心设计一组“高产 ”的测试用例,利用这些用例执行程序,找出软件中 潜在的各种错误缺陷。 >测试一般不可能发现程序中的所有错误; >测试只能证明程序中存在错误,但不能证明程序中不 存在错误。 2021年2月7日 第7章软件测试 第7页
2021年2月7日 第7章 软件测试 第7页 7.1 软件测试的目标 ➢ 因此,测试阶段的基本任务应该是根据软件开发各阶 段的文档资料和程序内部结构,精心设计一组“高产 ”的测试用例,利用这些用例执行程序,找出软件中 潜在的各种错误缺陷。 ➢ 测试一般不可能发现程序中的所有错误; ➢ 测试只能证明程序中存在错误,但不能证明程序中不 存在错误
72软件测试的原则 1测试用例既要有输入数据,又要有对应的输出结果; 2测试用例不仅要选用合理的输入数据,还应选择不合理的输 入数据; 3除了检查程序是否做了它应该做的工作,还应该检查程序是 否做了它不应该做的工作; 4应该远在测试开始之前就制定测试计划; 5测试计划、测试用例、测试报告必须作为文档长期保存 6 Pare to原理说明,测试发现的错误中80%很可能是由程序中 20%的模块造成的,即错误出现的“群集性”现象; 7.为了达到最佳的测试效果,程序员应该避免测试自己的程序。 2021年2月7日 第7章软件测试 第8页
2021年2月7日 第7章 软件测试 第8页 7.2 软件测试的原则 1.测试用例既要有输入数据,又要有对应的输出结果; 2.测试用例不仅要选用合理的输入数据,还应选择不合理的输 入数据; 3.除了检查程序是否做了它应该做的工作,还应该检查程序是 否做了它不应该做的工作; 4.应该远在测试开始之前就制定测试计划; 5.测试计划、测试用例、测试报告必须作为文档长期保存; 6.Pare to 原理说明,测试发现的错误中80%很可能是由程序中 20%的模块造成的,即错误出现的“群集性”现象; 7.为了达到最佳的测试效果,程序员应该避免测试自己的程序
7.3软件测试方法及分类 为了便于区分,一般把被测程序在机器上运行称为“动态 测试”,不在机器上运行被测程序称为“静态分析”。广 义地讲,它们都属于软件测试。因此,软件测试的方法一 般分为动态测试和静态测试。 动态测试方法中又根据测试用例的设计方法不同,分为黑 盒测试法和白盒测试法两类。 7.31静态测试与动态测试 7.32黑盒测试与白盒测试 2021年2月7日 第7章软件测试 第9页
2021年2月7日 第7章 软件测试 第9页 7.3 软件测试方法及分类 ⚫ 为了便于区分,一般把被测程序在机器上运行称为“动态 测试”,不在机器上运行被测程序称为“静态分析”。广 义地讲,它们都属于软件测试。因此,软件测试的方法一 般分为动态测试和静态测试。 ⚫ 动态测试方法中又根据测试用例的设计方法不同,分为黑 盒测试法和白盒测试法两类。 7.3.1 静态测试与动态测试 7.3.2 黑盒测试与白盒测试
7.31静态测试与动态测试 、静态测试 定义:指被测程序不在机器上运行,对模块的源代码进行研读 ,査找错误或收集一些度量数据,采用人工检测和计算机辅 助静态分析手段对程序进行检测,只进行特性分析。常用的 方法有: (1)人工测试; (2)计算机辅助静态分析; 人工测试:指不依靠计算机而完全靠人工审查程序或评审软件 。该方法偏重于编码风格、编码质量的检验,除了审查编码 还要对各阶段的软件产品进行检验,可以有效地发现软件的 逻辑设计和编码错误,发现计算机不容易发现的错误。 2021年2月7日 第7章软件测试 第10页
2021年2月7日 第7章 软件测试 第10页 7.3.1 静态测试与动态测试 一、静态测试 定义:指被测程序不在机器上运行,对模块的源代码进行研读 ,查找错误或收集一些度量数据,采用人工检测和计算机辅 助静态分析手段对程序进行检测,只进行特性分析。常用的 方法有: (1)人工测试; (2)计算机辅助静态分析; 人工测试:指不依靠计算机而完全靠人工审查程序或评审软件 。该方法偏重于编码风格、编码质量的检验,除了审查编码 还要对各阶段的软件产品进行检验,可以有效地发现软件的 逻辑设计和编码错误,发现计算机不容易发现的错误