第八章 软件测试 8.1软件测试的基本概念 8.2软件测试方法 8.3测试用例的设计 8.4软件测试的步骤 8.5调试 8.6软件可靠性 8.7测试工具 退出
第八章 软件测试
8.1教件测试的基本概念 8L.1软件测试的定义 81.2软件测试的基本原贝 81.3软件测试的步骤 81.4软件测试的信息流计 退出
8.1 软件测试的基本概念
81.1软件测试的定义 关于测试目的, 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)程序中尚未发现的错误的数量往往与在该 段程序中已发现的错误的数量成正比
81.3软件测试的步骤 1.单元测试 又称模块测试。每个程序模块完成一个相对独 立的子功能,所以可以对该模块进行单独的测试 由于每个模块都有清晰定义的功能,所以通常比较 容易设计相应的测试方案,以检验每个模块的正确 性 2.集成测试 在单元测试完成后,要考虑将模块集成为系统的过程 中可能出现的问题,例如,模块之间的通信和协调问题, 所以在单元测试结束之后还要进行集成测试。这个步骤 着重测试模块间的接口,子功能的组合是否达到了预期 要求的功能,全程数据结构是否有问题等
8.1.3 软件测试的步骤 1.单元测试 又称模块测试。每个程序模块完成一个相对独 立的子功能,所以可以对该模块进行单独的测试。 由于每个模块都有清晰定义的功能,所以通常比较 容易设计相应的测试方案,以检验每个模块的正确 性。 2.集成测试 在单元测试完成后,要考虑将模块集成为系统的过程 中可能出现的问题,例如,模块之间的通信和协调问题, 所以在单元测试结束之后还要进行集成测试。这个步骤 着重测试模块间的接口,子功能的组合是否达到了预期 要求的功能,全程数据结构是否有问题等
3.有效性测试 集成测试通过后,应在用户的参与下进 行有效性测试。这个时候往往使用实际数据 进行测试,从而验证系统是否能满足用户的 实际需要 4.系统测试 系统测试是把通过有效性测试的软件,作为基 于计算机系统的一个整体元素,与整个系统的其他 元素结合起来,在实际运行环境下,对计算机系统 进行一系列的集成测试和有效性测试 5.平行运行 为了降低风险,进行试运行
3.有效性测试 4.系统测试 系统测试是把通过有效性测试的软件,作为基 于计算机系统的一个整体元素,与整个系统的其他 元素结合起来,在实际运行环境下,对计算机系统 进行一系列的集成测试和有效性测试。 5. 平行运行 为了降低风险,进行试运行 集成测试通过后,应在用户的参与下进 行有效性测试。这个时候往往使用实际数据 进行测试,从而验证系统是否能满足用户的 实际需要
814软件测试信息流 错误 软件配置 正确 测试结果 调试 评价 测试 测试配置 预测结果 错误率数据 可靠性可靠性预测 模型
8.1.4 软件测试信息流 可靠性 模型 可靠性预测 错误率数据 错误 测试结果 测试配置 预测结果 软件配置 测试 评价 调试 正确
(1)软件配置:包括需求说明书、设计说 明书、源程序清单等开发资粒 ·(2)测试配置:包括测试计划和测试方案 (3)测试方案:测试数据、要测试的功能、 预期结果等
• (1) 软件配置:包括需求说明书、设计说 明书、源程序清单等开发资料 • (2) 测试配置:包括测试计划和测试方案 • (3) 测试方案:测试数据、要测试的功能、 预期结果等
8.2教件测试方法 82.1黑盒测试 8,22白盒测试 退出
8. 2 软件测试方法
821黑盒测试 任何产品都可以使用以下两种方法进行测试: (1)如果已知产品的功能,则可以对它的每 个功能进行测试,看是否都达到了预期的要求; (2)如果已知产品的内部工作过程,则可以 对它的每种内部操作进行测试,看是否符合设计 要求 第一种方法是黑盒测试,第二种方法是白盒 测试
8.2.1 黑盒测试 任何产品都可以使用以下两种方法进行测试: (1)如果已知产品的功能,则可以对它的每 一个功能进行测试,看是否都达到了预期的要求; (2)如果已知产品的内部工作过程,则可以 对它的每种内部操作进行测试,看是否符合设计 要求。 第一种方法是黑盒测试,第二种方法是白盒 测试