基于缺陷模式的软件测试技术.doc

上传人:滴答 文档编号:3818732 上传时间:2019-07-30 格式:DOC 页数:16 大小:216KB
下载 相关 举报
基于缺陷模式的软件测试技术.doc_第1页
第1页 / 共16页
基于缺陷模式的软件测试技术.doc_第2页
第2页 / 共16页
基于缺陷模式的软件测试技术.doc_第3页
第3页 / 共16页
基于缺陷模式的软件测试技术.doc_第4页
第4页 / 共16页
基于缺陷模式的软件测试技术.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、摘 要从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论关键词:软件测试; 软件测试的分类; 软件测试方法; 测试用例;测试工具;21 软件测试的发展史 20 世纪 60 年代(软件工程建立前) ,为表明程序正确而进行测试。 1972 年在北卡罗来纳大学举行了首届软件测试正式会议。 1975 年 John G

2、ood Enough 和 Susan Gerhart 在 IEEE 上发表了测试数据选择的原理的文章,软件测试被确定为一种研究方向。 1979 年,Glenford Myers 的软件测试艺术 ,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。 20 世纪 80 年代早期, “质量” 的号角开始吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的内容。制定了各类标准。 1983 年,Bill Hetzel 在软件测试完全指南中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。 20 世纪 90 年代,测试工具盛行

3、起来。 1996 年提出的测试能力成熟度 TCMM(Testing Capability Maturity Model) 、测试支持度 TSM(Testability Support Model) 、测试成熟度TMM(Testing Maturity Model) 。 到了 2002 年,Rick 和 Stefan 在系统的软件测试一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。2 软件测试的基础理论2.1 软件测试的定义软件测试使用人工或者自动手段来运行或测试某个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果

4、与实际结果之间的差别。 测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进; 这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性; 没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。32.2 软件测试的描述测试是软件开发过程的重要组成部分, 是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的, 第一是确认软件的质量, 其一方面是确认软件做了你所期望的事情(Do the right thing), 另一方面是确认软件以正确的方式来做了这个事件(Do i

5、t right) ;第二是提供信息, 比如提供给开发人员或程序经理的反馈信息, 为风险评估所准备的信息;第三软件测试不仅是在测试软件产品的本身, 而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题, 这说明此软件开发过程很可能是有缺陷的。2.3 软件测试的目的 测试是为了发现程序中的错误而执行程序的过程; 测试是确保最终用户的产品符合用户的需求; 成功的测试是发现了至今为止尚未发现的错误的测试;2.4 软件测试的原则 尽早地进行软件测试,并把软件测试贯穿整个软件生命周期 软件测试应追溯 测试应由第三方来构造 穷举测试时不可能,要遵循 good-enough 原则 必须确定预期

6、输出结果 必须彻底检查每个测试结果 充分注意测试中的群集现象 其他值得注意到规律和经验3 软件测试的内容3.1 验证(verification)4验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情。(Do the right thing) 确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程; 程序正确性的形式证明, 即采用形式理论证明程序符号设计规约规定的过程; 评市、审查、测试、检查、审计等各类活动, 或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。3.2 确认(validation)确认(v

7、alidation)是一系列的活动和过程, 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right) 静态确认, 不在计算机上实际执行程序, 通过人工或程序分析来证明软件的正确性; 动态确认, 通过执行程序做分析 , 测试程序的动态行为 , 以证实软件是否存在问题。4 软件测试的分类4.1 角度分类 从是否关心软件内部结构和具体实现的角度划分(按测试分类) 白盒测试 黑盒测试 灰盒测试 从是否执行程序的角度 静态测试 动态测试54.2 阶段细分 从软件开发的过程按阶段划分有 单元测试 集成测试 确认测试 系统测试 验收测试 回归测试 A

8、lpha 测试 Beta 测试5 软件测试流程5.1 软件测试活动制定测试计划测试设计开发实施软件测试评 审版本发布新版本测试准备阶段未通过评审软件测试活动包括:制定测试计划、测试设计开发和开发、执行测试、评估测试66 软件测试用例方法6.1 测试用例设计的基本原则 用成熟测试用例设计方法来指导设计; 测试用例的正确性; 测试用例的代表性; 测试结果的可判定性; 测试结果的可再现性; 足够详细、准确和清晰的步骤;6.2 设计测试用例应注意哪些问题 不要把测试用例设计等同于测试输入数据的设计; 不要强调测试用例设计得越详细越好; 不要追求测试用例设计“一步到位” ; 不要将多个测试用例混在一个用

9、例中; 不要让没有测试经验的人员设计测试用例;6.3 测试用例的作用 有效性:有效地节省时间和资源,提高测试效率; 避免测试的盲目性,使得软件测试的实施重点突出、目的明确; 可维护性,降低工作强度,缩短项目周期; 可复用性,使得测试过程事半功倍; 可评估性:程序代码质量的量化标准应该用测试用例的通过率和测试数目来进行评估; 可管理性,测试用例是测试人员在测试过程中的重要参考依据,便于对测试工作进行有效的管理;6.4 测试用例设计方法6.4.1 等价类划分76.4.1.1 划分等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类

10、的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。1)有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。2)无效等价类与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。举例说明:某程序规定:“输入三个整数 a 、 b 、 c 分别作

11、为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 “。用等价类划分方法为该程序进行测试用例设计。分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零数 (4)正数 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a 、 b 、 c 满足条件( 1 ) ( 4 ) ,则输出下列四种情况之一:1)如果不满足条件(5) ,则程序输出为 “ 非三角形 “ 。2)如果三条边相等即满足条件(7) ,则程序输出为 “ 等边三角形 “ 。3)如果只有两条边相等、即满足条件(6) ,则程序输出为 “ 等腰三角

12、形 “ 。4)如果三条边都不相等,则程序输出为 “ 一般三角形 “ 。 列出等价类表并编号有效等价类型 号码 无效等价类 号码12131415输入条件输入三个整数整数1 a 为非整数一边为 b 为非整数非整数 c 为非整数两边为 a,b 为非整数非整数 b,c 为非整数 16817 a,c 为非整数三边 a,b,c 均为非整数18192021222324三个数2 只给 a只给一边 只给 b只给 c只给 ab只给一边 只给 b,c只给 ac给出三个以上 25262728293031非零数3 a 为 0一边为零 b 为 0c 为 0a,b 为 0只给一边 b,c 为 0a,c 为 0三边 a,b,

13、c 均为 0 32333435363738正数4 acb+caa+cb567a+bca+b=cb+cab+c=aa+cba+c=b 45构成等腰三角形a=bb=c 且两边之和大于第三边a=c 8910输出条件构成等边三角形a=b=c11覆盖有效等价类的测试用例:a b c 覆盖等价类号码93 4 5 (1)-(7)4 4 5 (1)-(7) , (8)4 5 5 (1)-(7) , (9) 5 4 5 (1)-(7) , (10)4 4 4 (1)-(7) , (11)覆盖无效等价类的测试用例:6.4.2 边界值6.4.2.1 定义边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法

14、。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界a b c覆盖等价类号码a b c 覆盖等价 类号码2.5 4 5 12 0 0 5 293 4.5 5 13 3 0 0 303 4.5 5.5 14 0 4 0 313.5 4.5 5 15 0 0 0 323 4.5 5.5 16 -3 4 5 333.5 4 4.5 17 3 -4 5 344.5 4.5 5.5 18 3 4 -5 353 19 -3 -4 5 364 20 -3 4 -5 375 21 3 -4 -5 383 4 22 -3 -4 -5 394 5 23 3 1 5 403 5 24

15、 3 2 5 413 4 5 25 3 1 1 420 4 5 26 3 2 1 433 0 5 27 1 4 2 443 4 0 28 3 4 1 45106.4.2.2 与等价划分的区别 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。举例说明:现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有 80 个字符的记录组成,如右图所示,所有记录分为 3 组:标题:这一组只有一个记录,其内容为输出成绩报告的名字。试卷各题标准答案记录:每个记录均在第 80

16、 个字符处标以数字“2“。该组的第一个记录的第 1 至第 3 个字符为题目编号(取值为 1 一 999) 。第 10 至第59 个字符给出第 1 至第 50 题的答案(每个合法字符表示一个答案) 。该组的第2,第 3个记录相应为第 51 至第 100,第 101 至第 150,题的答案。每个学生的答卷描述:该组中每个记录的第 80 个字符均为数字“3“。每个学生的答卷在若干个记录中给出。如甲的首记录第 1 至第 9 字符给出学生姓名及学号,第 10 至第 59 字符列出的是甲所做的第 1 至第 50 题的答案。若试题数超过 50,则第 2,第 3纪录分别给出他的第 51 至第 100,第 101 至第150题的解答。然后是学生乙的答卷记录。学生人数不超过 200,试题数不超过 999。 程序的输出有 4 个报告:a)按学号排列的成绩单,列出每个学生的成绩、名次。b)按学生成绩排序的成绩单。c)平均分数及标准偏差的报告。d)试题分析报告。按试题号排序,列出各题学生答对的百分比。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。