第九章软件测试1.ppt

  1. 1、本文档共107页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章软件测试1

有错是软件的属性,而且是无法改变的,因为软件是由人来完成的,所有由人做的工作都不会是完美无缺的。问题在于我们如何去避免错误的产生和消除已经产生的错误,使程序中的错误密度达到尽可能低的程度。 事例1   20世纪70年代,一位程序员在开发公司的工资系统时,迫于计算机存储空间的限制,他将4位数的日期缩减为2位数,如1973记为73,从而节省了可观的存储空间。然而,世界各地更换或升级2000年问题的程序所花的费用超过了数亿美元。 事例2   1994年秋天,迪斯尼公司发布了第一个面向儿童的多媒体光盘游戏Lion King Animated Storybook(狮子王动画故事书)。为此,该公司大力宣传促销,销售额十分可观。然而,公司客户支持电话很快响个不停,电话里传来家长的愤怒斥责和孩子玩不成游戏的哭声。原来,迪斯尼公司没有对市场上投入使用的各种PC机进行正确的测试,软件在开发人员的系统上一切正常,而在一些大众使用的常见系统中却不能运行。 事例3   美国爱国者导弹防御系统曾应用于海湾战争对抗伊拉克的飞毛腿导弹,普遍受到赞誉。但是,它也确实发生了几次对抗失利,其中一枚在沙特阿拉伯的多哈击毙28名美国士兵,而问题的症结在于导弹的软件包含一个累加计时故障。一个很小的系统时钟错误积累起来就可能拖延14个小时,从而造成跟踪系统失去准确度。   上述都是软件错误的实例,那么究竟什么是软件错误呢?在这里,我们将符合以下5条规则的软件问题定义为软件错误:   (1) 软件未达到产品说明书标明的功能;   (2) 软件出现了产品说明书指明不会出现的错误;   (3) 软件功能超出了产品说明书指明的范围;   (4) 软件未达到产品说明书虽未指出但应达到的目标;   (5) 软件测试人员认为软件难以理解、不易使用、运行速度缓慢、或者最终用户不满意。    我们以计算器为例说明软件错误的概念。计算器的产品说明书可能声明它能够准确无误地进行加、减、乘、除运算,在测试过程中,如果计算器进行加法运算时产生错误结果,那么根据规则(1)判断是软件错误;如果电池电量不足导致计算器计算错误,那么根据规则(4)也是软件错误;如果测试人员感觉计算器按键不方便,或者计算器显示不清楚,那么根据规则(5)都是软件错误。   软件系统的开发涉及一系列的生产活动,而在这个过程中,人们可能犯很多错误。错误可能发生在设计阶段,也可能在整个过程的开始阶段就发生了,例如对目标定义得不正确或不完善。因为人们的活动和通信都不可能做到完美无缺,所以软件开发的同时伴随着质量保证活动。 软件测试的目的 基于不同的立场,存在着两种完全不同的测试目的。 从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品。 从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。 Myers软件测试目的 (1) 测试是程序的执行过程,目的在于发现错误; (2) 一个好的测试用例在于能发现至今未发现的错误; (3) 一个成功的测试是发现了至今未发现的错误的测试。 换言之,测试的目的是 想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。 测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。 实施测试收集到的测试结果数据为可靠性分析提供了依据。 测试不能表明软件中不存在错误,它只能说明软件中存在错误。 软件测试的原则 1. 应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。 2. 测试用例应由测试输入数据和对应的预期输出结果这两部分组成。 3. 程序员应避免检查自己的程序。 4. 在设计测试用例时,应包括合理的输入条件和不合理的输入条件。 5. 充分注意测试中的群集现象。 经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。 6. 严格执行测试计划,排除测试的随意性。 7. 应当对每一个测试结果做全面检查。 8. 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。 测试 人员 测试人员在产品小组中不受欢迎   软件测试人员的任务是检查和批评同事的工作,挑毛病,公布发现的问题,因此,这项工作不受人的欢迎。测试人员应该保持与小组成员的和睦关系,建议采取以下的工作态度:   * 尽早找出软件错误,避免产生更大的影响;   * 发现严重错误时注意控制情绪,不要过分炫耀自己;   * 不要总是报告坏消息,平时注意与开发人员的沟通和交流。   总之,测试是一项非常复杂的、需要有创造性和高度智慧的任务。虽然已经有了一些测试方法,但都不是很完善,使用时仍然需要测试人员的经验和创造力

文档评论(0)

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

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

1亿VIP精品文档

相关文档