第八章软件测 81软件测试的基本概念 82软件测试方法 83测试用例的设计 84软件测试的步骤 8.5调试 8.6软件可靠性 87测试工具 退出
8.1 软件测试的基本概念 8.2 软件测试方法 8.3 测试用例的设计 8.4 软件测试的步骤 8.5 调试 退出 第八章 软件测试 8.6 软件可靠性 8.7 测试工具
8.1软件测试的基本概念 81.1软件测试的定义 812软件测试的基本原则 81.3软件测试的步骤 8.1.4软件测试的信息流计 退出
8.1 软件测试的基本概念 8.1.1 软件测试的定义 8.1.2 软件测试的基本原则 退出 8.1.3 软件测试的步骤 8.1.4 软件测试的信息流计
811软件测试的定义 关于测试目的, G.J. Myers给出了以下的观点 (1)测试是为了发现程序中的错误而执行程序 的过程; (2)好的测试方案是极可能发现迄今为止尚未 发现的错误的测试方案 (3)成功的测试是发现了至今为止尚未发现的 错误的测试。 测试的定义:为了发现程序中的错误而执行程 序的过程。具体地说,软件测试是根据软件开发各 阶段的规格说明和程序的内部结构而精心设计出 批测试用例,并利用测试用例来运行程序,以发现 程序错误的过程
关于测试目的,G.J.Myers给出了以下的观点: 测试的定义:为了发现程序中的错误而执行程 序的过程。具体地说,软件测试是根据软件开发各 阶段的规格说明和程序的内部结构而精心设计出一 批测试用例,并利用测试用例来运行程序,以发现 程序错误的过程。 8.1.1 软件测试的定义 (1)测试是为了发现程序中的错误而执行程序 的过程; (2)好的测试方案是极可能发现迄今为止尚未 发现的错误的测试方案; (3)成功的测试是发现了至今为止尚未发现的 错误的测试
812软件测试的基本原则 (1)尽早地、不断地进行软件测试。 (2)设计测试用例时,要给出测试的预期结果。 (3)开发小组和测试小组分开。 (4)要设计非法输入的测试用例。 (5)在对程序修改之后要进行回归测试 (6)程序中尚未发现的错误的数量往往与在该 段程序中已发现的错误的数量成正比
8.1.2 软件测试的基本原则 (1)尽早地、不断地进行软件测试。 (2)设计测试用例时,要给出测试的预期结果。 (3)开发小组和测试小组分开。 (4)要设计非法输入的测试用例。 (5)在对程序修改之后要进行回归测试。 (6)程序中尚未发现的错误的数量往往与在该 段程序中已发现的错误的数量成正比
813软件测试的步骤 1.单元测试 又称模块测试。每个程序模块完成一个相对独 立的子功能,所以可以对该模块进行单独的测试。 由于每个模块都有清晰定义的功能,所以通常比较 容易设计相应的测试方案,以检验每个模块的正确 性。 2.集成测试 在单元测试完成后,要考虑将模块集成为系统 的过程中可能出现的问题,例如,模块之间的通信 和协调问题,所以在单元测试结束之后还要进行集 成测试。这个步骤着重测试模块间的接口,子功能 的组合是否达到了预期要求的功能,全程数据结构 是否有问题等
8.1.3 软件测试的步骤 1.单元测试 又称模块测试。每个程序模块完成一个相对独 立的子功能,所以可以对该模块进行单独的测试。 由于每个模块都有清晰定义的功能,所以通常比较 容易设计相应的测试方案,以检验每个模块的正确 性。 2.集成测试 在单元测试完成后,要考虑将模块集成为系统 的过程中可能出现的问题,例如,模块之间的通信 和协调问题,所以在单元测试结束之后还要进行集 成测试。这个步骤着重测试模块间的接口,子功能 的组合是否达到了预期要求的功能,全程数据结构 是否有问题等
3.有效性测试 集成测试通过后,应在用户的参与下进行有效 性测试。这个时候往往使用实际数据进行测试,从 而验证系统是否能满足用户的实际需要。 4.系统测试 系统测试是把通过有效性测试的软件,作为基 于计算机系统的一个整体元素,与整个系统的其他 元素结合起来,在实际运行环境下,对计算机系统 进行一系列的集成测试和有效性测试
3.有效性测试 4.系统测试 系统测试是把通过有效性测试的软件,作为基 于计算机系统的一个整体元素,与整个系统的其他 元素结合起来,在实际运行环境下,对计算机系统 进行一系列的集成测试和有效性测试。 集成测试通过后,应在用户的参与下进行有效 性测试。这个时候往往使用实际数据进行测试,从 而验证系统是否能满足用户的实际需要
814软件测试信息流 错误 软件配置 正确 测试结果 评价 调试 测试 测试配置 预测结果 错误率数据 可靠性可靠性预测 模型
8.1.4 软件测试信息流 可靠性 模型 可靠性预测 错误率数据 错误 测试结果 测试配置 预测结果 软件配置 测试 评价 调试 正确
8.2软件测方法 82.1黑盒测试 822白盒测试 退出
8. 2 软件测试方法 8.2.1 黑盒测试 8.2.2 白盒测试 退出
821黑盒测试 任何产品都可以使用以下两种方法进行测试 (1)如果已知产品的功能,则可以对它的每一个功 能进行测试,看是否都达到了预期的要求; (2)如果已知产品的内部工作过程,则可以对它的 每种内部操作进行测试,看是否符合设计要求。 第一种方法是黑盒测试,第二种方法是白盒测试
8.2.1 黑盒测试 任何产品都可以使用以下两种方法进行测试: (1)如果已知产品的功能,则可以对它的每一个功 能进行测试,看是否都达到了预期的要求; (2)如果已知产品的内部工作过程,则可以对它的 每种内部操作进行测试,看是否符合设计要求。 第一种方法是黑盒测试,第二种方法是白盒测试
黑盒测试时完全不考虑程序内部的结构和处理过程, 只按照规格说明书的规定来检査程序是否符合它的功能 要求。黑盒测试是在程序接口进行的测试,又称为功能 测试。 黑盒测试检查的主要方面有: 程序的功能是否正确或完善; 数据的输入能否正确接收,输出是否正确 是否能保证外部信息、(如数据文件)的完整性等。 用黑盒法设计测试用例时,必须用所有可能的输入数 据来检查程序是否都能产生正确的输出
黑盒测试时完全不考虑程序内部的结构和处理过程, 只按照规格说明书的规定来检查程序是否符合它的功能 要求。黑盒测试是在程序接口进行的测试,又称为功能 测试。 黑盒测试检查的主要方面有: 程序的功能是否正确或完善; 数据的输入能否正确接收,输出是否正确; 是否能保证外部信息(如数据文件)的完整性等。 用黑盒法设计测试用例时,必须用所有可能的输入数 据来检查程序是否都能产生正确的输出