软件测试PPT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2. 子系统测试
子系统测试是把经过单元测试的模块放在 一起形成一个子系统来测试。模块相互 间的协调和通信是这个测试过程中的主 要问题,因此,这个步骤着重测试模块 的接口。
4。测试方法(P141)
• 测试任何产品都有两种方法:
– 如果已经知道了产品应具有的功能, 可以通过测试来检验是否每个功能 都能正常运行。即黑盒测试。 – 如果知识产品的内部工作过程,可 能通过测试来检验产品内部动作是 否按规格说明书的规定正常运行。 即白盒测试。
• 用黑盒测试发现程序中的错误,必 须在所有可能的输入条件和输出条 件中确定测试数据,来检查程序是 否都能产生正确的输出。
2.测试的目标
• 测试是为了发现程序中的错误而执行程 序的过程 • 好的测试方案是尽可能发现迄今为止尚 未发现的错误的测试方案 • 成功的测试是发现了至今为止尚未发现 的错误。
• 换言之,测试的目的是
– 想以最少的时间和人力,系统地找出 软件中潜在的各种错误和缺陷。如果我 们成功地实施了测试,我们就能够发现 软件中的错误。 – 测试的附带收获是,它能够证明软件 的功能和性能与需求说明相符合。 – 实施测试收集到的测试结果数据为可 靠性分析提供了依据。 – 测试不能表明软件中不存在错误,它 只能说明软件中存在错误。
• 测试的目的就是在软件投入生产性运行 之前,尽可能多地发现软件中的错误。 目前软件测试仍然是保证软件质量的关 键步骤,它是对软件规格说明、设计和 编码的最后复审。
• 软件测试在软件生命周期中横跨两个阶段。 • 通常在编写出每个模块之后就对它做必要的 测试(称为单元测试),模块的编写者和测试者 是同一个人,编码和单元测试属于软件生命 周期的同一个阶段。 • 在这个阶段结束之后,对软件系统还应该进 行各种综合测试,这是软件生命周期中的另 一个独立的阶段,通常由专门的测试人员承 担这项工作。
仅就测试而言,它的目标是发现软件中的错误, 但是,发现错误并不是最终目的。软件工程 的根本目标是开发出高质量的完全符合用户 需要的软件, 因此,通过测试发现错误之后还必须诊断并改 正错误,这就是调试的目的。调试是测试阶 段最困难的工作。 在对测试结果进行收集和评价的时候,软件所 达到的可靠性也开始明朗了。软件可靠性模 型使用故障率数据,估计软件将来出现故障 的情况并预测软件的可靠性。
软件测试
• 1963年,美国曾发生这样一件事,把一 个FORTRAN程序的循环语句 • DO 5 I=1,3误写为DO 5 I=1.3 • 一点之差致使飞往火星的火箭爆炸,造 成1000万美元的损失。 • 这种情况迫使人们认真计划、彻底地进 行软件测试。
• • • •
概述(P135) 质量保障 软件测试分两个阶段 包括的工作内容:
• 软件人员使用白盒测试方法,主 要想对程序模块进行如下的检查:
– 对程序模块的所有独立的执行路 径至少测试一次; – 对所有的逻辑判定,取‚真‛与 取‚假‛的两种情况都至少测试 一次; – 在循环的边界和运行界限内执行 循环体; – 测试内部数据结构的有效性,等。
• 对一个具有多重选择和循环嵌套的 程序,不同的路径数目可能是天文 数字。给出一个小程序的流程图, 它包括了一个执行20次的循环。 • 包含的不同执行路径数达520条, 对每一条路径进行测试需要1毫秒, 假定一年工作365 × 24小时,要想 把所有路径测试完,需3170年。
第一节测试-基本概念
5.测试的步骤源自文库P141)
• • • • • 模块测试 子系统测试 系统测试 验收测试 平行测试
1. 模块测试
在设计得好的软件系统中,每个模块完成一个 清晰定义的子功能,而且这个子功能和同级 其他模块的功能之间没有相互依赖关系。因 此,有可能把每个模块作为一个单独的实体 来测试,而且通常比较容易设计检验模块正 确性的测试方案。 模块测试的目的是保证每个模块作为一个单元 能正确运行,所以模块测试通常又称为单元 测试。在这个测试步骤中所发现的往往是编 码和详细设计的错误。
第一节测试-基本概念
一、基本概念
1.什么是测试(P140)
• 测试是为了发现程序中的错误而执行程序的过 程。
2.测试的目标
• 基于不同的立场,存在着两种完全 不同的测试目的。 • 从用户的角度出发,普遍希望通过 软件测试暴露软件中隐藏的错误和 缺陷,以考虑是否可接受该产品。 • 从软件开发者的角度出发,则希望 测试成为表明软件产品中不存在错 误的过程,验证该软件已正确地实 现了用户的要求,确立人们对软件 质量的信心。
第一节测试-基本概念
3.测试的原则(补充)
– 不应测试自己开发的程序 – 设计测试用例时,不仅有确定的输入数据,还有 确定的输出数据 – 测试用例不仅有合理的,也要有非合理的 – 除了检查程序是否做完了它应该做的事,还要检 查它是否做了不应该做的事。 – 保留全部测试用例,作为软件的组成部分 – 程序中存在错误的概率与在该段程序中已发现的 错误数成正比
• 但这是不可能的。
• 假设一个程序P有输入量X和Y及输 出量Z。在字长为32位的计算机上 运行。若X、Y取整数,按黑盒方法 进行穷举测试: • 可能采用的 测试数据组: 232×232 =264 • 如果测试一组数据需要1毫秒,一 年工作365× 24小时,完成所有测 试需5亿年。
白盒测试
• 此方法把测试对象看做一个透明的 盒子,它允许测试人员利用程序内 部的逻辑结构及有关信息,设计或 选择测试用例,对程序所有逻辑路 径进行测试。 • 通过在不同点检查程序的状态,确 定实际的状态是否与预期的状态一 致。因此白盒测试又称为结构测试 或逻辑驱动测试。
– 测试、调试、可靠性分析
在软件生命周期的每个阶段都不可避免地会产 生差错。我们力求在每个阶段结束之前通过 严格的技术审查,尽可能早地发现并纠正差 错;但是,经验表明审查并不能发现所有差 错,此外在编码过程中还不可避免地会引入 新的错误。 • 如果在软件投入生产性运行之前,没有发现 并纠正软件中的大部分差错,则这些差错迟 早会在生产过程中暴露出来,那时不仅改正 这些错误的代价更高,而且往往会造成很恶 劣的后果。
相关文档
最新文档