软件工程第七章(软件测试)范例.ppt

  1. 1、本文档共156页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
如果引入系统平均无故障时间MTTF和平均维修时间MTTR的概念,则(7.1)式可以变成Ass=MTTF/(MTTF+MTTR) 平均维修时间MTTR是修复一个故障平均需要用的时间,它取决于维护人员的技术水平和对系统的熟悉程度,也和系统的可维护性有重要关系。 平均无故障时间MTTF是系统按规格说明书规定成功地运行的平均时间,它主要取决于系统中潜伏的错误的数目,因此和测试的关系十分密切。 估算MTTF使用下述符号: ET:测试之前程序中错误总数 IT:程序长度(机器指令总数) Τ: 测试(包括调试)时间 Ed(τ) 在0至τ期间发现的错误数; Ec(τ) 在0至τ期间改正的错误数。 7.6.2 估算平均无故障时间的方法 基本假定 根据经验数据,可以作出下述假定。 (1) 在类似的程序中,单位长度里的错误数ET/IT近似为常数。美国的一些统计数字表明,通常ET/IT在测试之前每1000条指令中大约有5~20个错误。 (2) 失效率正比于软件中剩余的(潜藏的)错误数,而平均无故障时间MTTF与剩余的错误数成反比。 (3) 假设发现的每一个错误都立即正确地改正了。因此 Ec(τ)=Ed(τ) 剩余的错误数为 Er(τ)=ET-Ec(τ) (7.3) 单位长度程序中剩余的错误数为 εr(τ)=ET/IT-Ec(τ)/IT (7.4) 估算平均无故障时间 经验表明,平均无故障时间与单位长度程序中剩余的错误数成反比,即 MTTF=1/[K(ET/IT-Ec(τ)/IT)] (7.5) 其中K为常数,它的值应该根据经验选取。美国的一些统计数字表明,K的典型值是200。 估算平均无故障时间的公式,可以评价软件测试的进展情况。此外,由(7.5)式可得 Ec=ET-IT/(K×MTTF) (7.6) 因此,也可以根据对软件平均无故障时间的要求,估计需要改正多少个错误之后,测试工作才能结束。 估计错误总数的两个方法 (1) 植入错误法: 根据发现的错误中原有的和植入的两种错误的比例,来估计程序中原有错误的总数ET。 人为地植入的错误数为Ns, 测试之后发现ns个植入的错误,n个原有的错误。 如果认为测试方案发现植入错误和发现原有错误的能力相同,则能估出程序中原有错误的总数为 N^=(n/ns )×Ns (7.7) 其中N^即是错误总数ET的估计值。 (2) 分别测试法 加上标记,然后根据测试过程中发现的有标记错误和无标记错误的比例,估计程序中的错误总数,则这样得出的结果比用植入错误法得到的结果更可信一些。 为了随机地给一部分错误加标记,分别测试法使用两个测试员(或测试小组),彼此独立地测试同一个程序的两个副本,把其中一个测试员发现的错误作为有标记的错误。用τ表示测试时间,假设 τ=0时错误总数为B0; τ=τ1时测试员甲发现的错误数为B1; τ=τ1时测试员乙发现的错误数为B2; τ=τ1时两个测试员发现的相同错误数为bc。 假定测试员乙发现有标记错误和发现无标记错误的概率相同,则可估计出测试前程序中的错误总数为 B0^ =(B2/bc)B1 (7.8) * * 在上述定义中包含的随机变量是时间间隔。显然,随着运行时间的增加,运行时出现程序故障的概率也将增加,即可靠性随着给定的时间间隔的加大而减少。 按照IEEE的规定,术语“错误”的含义是由开发人员造成的软件差错(bug),而术语“故障”的含义是由错误引起的软件的不正确行为。在下面的论述中,将按照IEEE规定的含义使用这两个术语。 * * * * 软件的平均无故障时间MTTF是一个重要的质量指标,往往作为对软件的一项要求,由用户提出来。 * * * * * 程序中潜藏的错误的数目是一个十分重要的量,它既直接标志软件的可靠程度,又是计算软件平均无故障时间的重要参数。显然,程序中的错误总数ET与程序规模、类型、开发环境、开发方法论、开发人员的技术水平和管理水平等都有密切关系。 * * * 2. 增殖式组装方式 这种组装方式又称渐增式组装 首先对一个个模块进行模块测试,然后将这些模块逐步组装成较大的系统 在组装的过程中边连接边测试,以发现连接过程中产生的问题 通过增殖逐步组装成为要求的软件系统。 * (1) 自顶向下的增殖方式 这种组装方式将模块按系统程序结构,沿控制层次自顶向下进行组装。 自顶向下的增殖方式在测试过程中较早地验证了主要的控制和判断点。 选用按深度方向组装的方式,可以首先实现和验证一个完整的软件功能。 * 自顶向下集成测试的优缺点 优点: ⑴可以较早体现程序的轮廓,给用户演示; ⑵上层模块往往是关键性模块,有更充分的测试机会; ⑶不用设计驱动模块。 缺点: (1)桩模块较多,设计测试用例较难,不能反映真实情况.

文档评论(0)

1112111 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档