版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、. . . . . . .专业 . .摘 要完成时间:2013年4月从软件产业的开展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的局部。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的根本概念入手,深入剖析软件测试相关理论关键词:软件测试; 软件测试的分类; 软件测试方法; 测试用例;测试工具;目 录 TOC o 1-4 h z u HYPERLINK l _Toc3542602531软件测试的开展史 PAGE
2、REF _Toc354260253 h 7HYPERLINK l _Toc3542602542软件测试的根底理论 PAGEREF _Toc354260254 h 7HYPERLINK l _Toc3542602552.1软件测试的定义 PAGEREF _Toc354260255 h 7HYPERLINK l _Toc3542602562.2软件测试的描述 PAGEREF _Toc354260256 h 8HYPERLINK l _Toc3542602572.3软件测试的目的 PAGEREF _Toc354260257 h 8HYPERLINK l _Toc3542602582.4软件测试的原则
3、 PAGEREF _Toc354260258 h 8HYPERLINK l _Toc3542602593软件测试的容 PAGEREF _Toc354260259 h 8HYPERLINK l _Toc3542602603.1验证(verification) PAGEREF _Toc354260260 h 8HYPERLINK l _Toc3542602613.2确认(validation) PAGEREF _Toc354260261 h 9HYPERLINK l _Toc3542602624软件测试的分类 PAGEREF _Toc354260262 h 9HYPERLINK l _Toc354
4、2602634.1角度分类 PAGEREF _Toc354260263 h 9HYPERLINK l _Toc3542602644.2阶段细分 PAGEREF _Toc354260264 h 9HYPERLINK l _Toc3542602655软件测试流程 PAGEREF _Toc354260265 h10HYPERLINK l _Toc3542602665.1软件测试活动 PAGEREF _Toc354260266 h 10HYPERLINK l _Toc3542602676软件测试用例方法 PAGEREF _Toc354260267 h 10HYPERLINK l _Toc3542602
5、686.1测试用例设计的根本原则 PAGEREF _Toc354260268 h 10HYPERLINK l _Toc3542602696.2设计测试用例应注意哪些问题 PAGEREF _Toc354260269 h 10HYPERLINK l _Toc3542602706.3测试用例的作用 PAGEREF _Toc354260270 h 11HYPERLINK l _Toc3542602716.4测试用例设计方法 PAGEREF _Toc354260271 h 11HYPERLINK l _Toc3542602726.4.1等价类划分 PAGEREF _Toc354260272 h 11HY
6、PERLINK l _Toc3542602736.4.1.1划分等价类 PAGEREF _Toc354260273 h 11HYPERLINK l _Toc3542602746.4.2边界值 PAGEREF _Toc354260274 h 14HYPERLINK l _Toc3542602756.4.2.1定义 PAGEREF _Toc354260275 h14HYPERLINK l _Toc3542602766.4.2.2与等价划分的区别 PAGEREF _Toc354260276 h 14HYPERLINK l _Toc3542602776.4.3错误推测法 PAGEREF _Toc354
7、260277 h 16HYPERLINK l _Toc3542602786.4.3.1定义 PAGEREF _Toc354260278 h 16HYPERLINK l _Toc3542602796.4.4因果图 PAGEREF _Toc354260279 h 16HYPERLINK l _Toc3542602806.4.4.1定义 PAGEREF _Toc354260280 h 16HYPERLINK l _Toc3542602816.4.5判定表 PAGEREF _Toc354260281 h 18HYPERLINK l _Toc3542602826.5.5.1定义 PAGEREF _Toc
8、354260282 h 18HYPERLINK l _Toc3542602836.5.5.2判定表的建立步骤 PAGEREF _Toc354260283 h 18HYPERLINK l _Toc3542602847 软件测试工具 PAGEREF _Toc354260284 h 18HYPERLINK l _Toc3542602857.1功能测试工具 PAGEREF _Toc354260285 h 18HYPERLINK l _Toc3542602867.2性能测试工具 PAGEREF _Toc354260286 h 18HYPERLINK l _Toc3542602877.3测试管理工具 PA
9、GEREF _Toc354260287 h 19HYPERLINK l _Toc3542602887.4其他测试工具 PAGEREF _Toc354260288 h 19HYPERLINK l _Toc3542602898参考文献 PAGEREF _Toc354260289 h 19HYPERLINK l _Toc3542602909致 PAGEREF _Toc354260290 h 201软件测试的开展史20世纪60年代软件工程建立前,为说明程序正确而进展测试。1972年在北卡罗来纳大学举行了首届软件测试正式会议。1975年John Good Enough和Susan Gerhart在IEE
10、E上发表了“测试数据选择的原理“的文章,软件测试被确定为一种研究方向。1979年,Glenford Myers的“软件测试艺术“,对测试做了定义:测试是为发现错误而执行的一个程序或者系统的过程。20世纪80年代早期,“质量的号角开场吹响。软件测试定义发生了改变,测试不单纯是一个发现错误的过程,而且包含软件质量评价的容。制定了各类标准。1983年,Bill Hetzel在“软件测试完全指南“中指出:测试是以评价一个程序或者系统属性为目标的任何一种活动,测试是对软件质量的度量。20世纪90年代,测试工具盛行起来。1996年提出的测试能力成熟度TCMMTesting Capability Matur
11、ity Model、测试支持度TSMTestability Support Model、测试成熟度TMMTesting Maturity Model。到了2002年,Rick和Stefan在“系统的软件测试“一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进展工程设计、实施和维护的整个生命过程。2软件测试的根底理论2.1软件测试的定义软件测试使用人工或者自动手段来运行或测试*个系统的过程,其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差异。测试并不仅仅是为了找出错误.通过分析错误产生的原因和错误的发生趋势,可以帮助工程管理者发现当前软件开发过程中
12、的缺陷,以便及时改良;这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法。2.2软件测试的描述测试是软件开发过程的重要组成局部, 是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求。软件测试的目的, 第一是确认软件的质量, 其一方面是确认软件做了你所期望的事情Do the right thing, 另一方面是确认软件以正确的方式来做了这个事件Do it right;第二是提供信息, 比方提供应开发人员或程序经理的反应信息, 为风险评估所准备的信息;第三软件测试不仅是在测试软件产品的本身, 而且
13、还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题, 这说明此软件开发过程很可能是有缺陷的。2.3软件测试的目的测试是为了发现程序中的错误而执行程序的过程;测试是确保最终用户的产品符合用户的需求;成功的测试是发现了至今为止尚未发现的错误的测试;2.4软件测试的原则尽早地进展软件测试,并把软件测试贯穿整个软件生命周期软件测试应追溯测试应由第三方来构造穷举测试时不可能,要遵循good-enough原则必须确定预期输出结果必须彻底检查每个测试结果充分注意测试中的群集现象其他值得注意到规律和经历3软件测试的容3.1验证(verification)验证(verification)是保证软件
14、正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情。(Do the right thing) 确定软件生存周期中的一个给定阶段的产品是否到达前阶段确立的需求的过程;程序正确性的形式证明, 即采用形式理论证明程序符号设计规约规定的过程;评市、审查、测试、检查、审计等各类活动, 或对*些项处理、效劳或文件等是否和规定的需求相一致进展判断和提出报告。3.2确认(validation)确认(validation)是一系列的活动和过程, 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)静态确认, 不在计算机上实际执行程序
15、, 通过人工或程序分析来证明软件的正确性;动态确认, 通过执行程序做分析, 测试程序的动态行为, 以证实软件是否存在问题。4软件测试的分类4.1角度分类从是否关心软件部构造和具体实现的角度划分按测试分类白盒测试黑盒测试灰盒测试从是否执行程序的角度静态测试动态测试4.2阶段细分从软件开发的过程按阶段划分有单元测试集成测试确认测试系统测试验收测试回归测试Alpha测试Beta测试5软件测试流程5.1软件测试活动制定测试方案测试设计开发实施软件测试评 审版本发布新版本测试准备阶段未通过评审软件测试活动包括:制定测试方案、测试设计开发和开发、执行测试、评估测试6软件测试用例方法6.1测试用例设计的根本
16、原则用成熟测试用例设计方法来指导设计;测试用例的正确性;测试用例的代表性;测试结果的可判定性;测试结果的可再现性;足够详细、准确和清晰的步骤;6.2设计测试用例应注意哪些问题不要把测试用例设计等同于测试输入数据的设计;不要强调测试用例设计得越详细越好;不要追求测试用例设计“一步到位;不要将多个测试用例混在一个用例中;不要让没有测试经历的人员设计测试用例;6.3测试用例的作用有效性:有效地节省时间和资源,提高测试效率;防止测试的盲目性,使得软件测试的实施重点突出、目的明确;可维护性,降低工作强度,缩短工程周期;可复用性,使得测试过程事半功倍;可评估性:程序代码质量的量化标准应该用测试用例的通过率
17、和测试数目来进展评估;可管理性,测试用例是测试人员在测试过程中的重要参考依据,便于对测试工作进展有效的管理;6.4测试用例设计方法等价类划分划分等价类等价类是指*个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试*等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为假设干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 1)有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是
18、否实现了规格说明中所规定的功能和性能。 2)无效等价类与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。举例说明:*程序规定:输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 。用等价类划分方法为该程序进展测试用例设计。分析题目中给出和隐含的对输入条件的要求: 1整数 2三个数 3非零数 4正数 5两边之和大于第三边 6等腰 7等边 如果 a 、 b 、 c 满足条件 1 4 ,则输出
19、以下四种情况之一: 1)如果不满足条件5,则程序输出为 非三角形 。 2)如果三条边相等即满足条件7,则程序输出为 等边三角形 。 3)如果只有两条边相等、即满足条件6,则程序输出为 等腰三角形 。 4)如果三条边都不相等,则程序输出为 一般三角形 。 列出等价类表并输入条件输入三个整数有效等价类型无效等价类整数1 a为非整数一边为 b为非整数非整数 c为非整数两边为 a,b为非整数非整数 b,c为非整数 a,c为非整数三边a,b,c均为非整数12131415161718三个数2 只给a只给一边 只给b 只给c 只给ab只给一边 只给b,c 只给ac给出三个以上19202122232425非零
20、数3 a为0一边为零 b为0 c为0 a,b为0只给一边 b,c为0 a,c为0三边a,b,c均为026272829303132正数4 a0一边0 b0 a0a0且b0二边0 a0且c0 b0且c0三边均0:a0且b0且ccb+caa+cb567 a+bca+b=cb+ca b+c=aa+cb a+c=b404142434445构成等腰三角形a=bb=c 且两边之和大于第三边a=c 8910构成等边三角形a=b=c11覆盖有效等价类的测试用例: a b c覆盖等价类 3 4 5 1-7 4 4 51-7,8 4 5 5 1-7,9 5 4 51-7,10 4 4 41-7,11 覆盖无效等价类
21、的测试用例:abc覆盖等价类abc覆盖等价类2.545120052934.55133003034.55.514040313.54.55150003234.55.516-345333.544.5173-45344.54.55.51834-535319-3-4536420-34-5375213-4-5383422-3-4-5394523315403524325413452531142045263214330527142443402834145边界值定义边界值分析法就是对输入或输出的边界值进展测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界与
22、等价划分的区别边界值分析不是从*等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。举例说明:现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有80个字符的记录组成,如右图所示,所有记录分为3组:标题:这一组只有一个记录,其容为输出成绩报告的名字。 试卷各题标准答案记录:每个记录均在第80个字符处标以数字2。该组的第一个记录的第1至第3个字符为题目取值为1一999。第10至第59个字符给出第1至第50题的答案每个合法字符表示一个答案。该组的第2,第3个记录相应为第51至第10
23、0,第101至第150,题的答案。 每个学生的答卷描述:该组中每个记录的第80个字符均为数字3。每个学生的答卷在假设干个记录中给出。如甲的首记录第1至第9字符给出学生及*,第10至第59字符列出的是甲所做的第1至第50题的答案。假设试题数超过50,则第2,第3纪录分别给出他的第51至第100,第101至第150题的解答。然后是学生乙的答卷记录。 学生人数不超过200,试题数不超过999。 程序的输出有4个报告: a)按*排列的成绩单,列出每个学生的成绩、名次。 b)按学生成绩排序的成绩单。 c)平均分数及标准偏差的报告。 d)试题分析报告。按试题号排序,列出各题学生答对的百分比。 解答:分别考
24、虑输入条件和输出条件,以及边界条件。给出下表所示的输入条件及相应的测试用例。输入条件测试用例输入文件空输入文件标题没有标题标题只有一个字符标题有80个字符试题数试题数为1试题数为50试题数为51试题数为100试题数为0试题数含有非数字字符标准答案记录没有标准答案记录,有标题标注答案记录多于一个标注答案记录少一个学生人数0个学生1个学生200个学生201个学生学生答题*学生只有一个答复记录,但有两个标准答案记录该学生是文件中的第一个学生该学生是文件中的最后一个学生记录数出错的学生学生答题*学生有两个答复记录,但只有一个标准答案记录该学生是文件中的第一个学生记录数出错的学生该学生是文件中的最后一个
25、学生学生成绩所有学生的成绩都相等每个学生的成绩都不相等局部学生的成绩一样检查是否能按成绩正确排名次有个学生0分有个学生100分输出条件及相应的测试用例表。输出条件测试用例输出报告a、b有个学生的*最小检查按序号是否正常有个学生的*最大检查按序号排序是否正确适当的学生人数,使产生的报告刚好满一页检查打印页数学生人数比刚刚多出1人检查打印换页输出报告c平均成绩100平均成绩0标准偏差为最大值有一半的0分,其他100分标准偏差为0所欲成绩相等输出报告d所有学生都答对了第一题所有学生都答错了第一题所有学生都答对了最后一题所有学生都答错了最后一题选择适当的试题数,是第四个报告刚好打满一页试题数比刚刚多1
26、,使报告打满一页后,刚好剩下一题未打错误推测法定义基于经历和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。因果图定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。举例说明:*软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进展文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。解答:1)根据题意,原因和结果如下: 原因: 1第一列字符是A; 2第一列字符是B; 3第二列字符是一数字。 结果: 21修改文件; 22 给出信息L; 23
27、给出信息M。2)其对应的因果图如下:11为中间节点;考虑到原因1和原因2不可能同时为1,因此在因果图上施加E约束。E123112221233)根据因果图建立判定表。12345678条件愿意111110000动作结果21100110031010101011111100220000112110100023010101测试用例A3AMB5BNC2DYA8A“B4B!*6P; 表中8种情况的左面两列情况中,原因和原因同时为1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了6种情况的测试用例,这是我们所需要的数据。 判定表定义判定表是分析和表达多逻辑条件下执行不同操作的情况的工具判定表的建立步骤确定规则的个数.假设有n个条件。每个条件有两个取值0,1,故有2n种规则。列出所有的条件桩和动作桩。填入条件项。填入动作项。等到初始判定表。简化.合并相似规则一样动作。7 软件测试工具7.1功能测试工具Mercury Interactive WinrunnerMercury Interactive QuickTest
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024《经济合同法全文》
- 2024施工工程合同书范文
- 2023年福建医科大学招聘笔试真题
- 外墙干挂施工项目预算方案
- 华南理工大学《图像处理基础》2022-2023学年期末试卷
- 华南理工大学《食品加工与保藏原理》2022-2023学年第一学期期末试卷
- 华南理工大学《嵌入式系统》2022-2023学年期末试卷
- 华南理工大学《模式识别原理》2022-2023学年第一学期期末试卷
- 华南理工大学《建筑设计方法》2021-2022学年第一学期期末试卷
- 华南理工大学《计算智能》2023-2024学年期末试卷
- 保洁员安全保证书
- 2024年天津市专业技术人员继续教育网公需课答案
- 期中测试卷-2024-2025学年统编版语文四年级上册
- 公司解散清算的法律意见书、债权处理法律意见书
- 立冬节气介绍立冬传统习俗气象物候起居养生课件
- 部门安全培训试题(打印)
- 商务星球版八年级地理上册地理总复习提纲
- 2024年全球智能手持影像设备市场发展白皮书
- 2024年全国星级饭店职业技能竞赛(前厅部分)备赛试题库(含答案)
- 十六届山东省职业院校技能大赛中职组“养老照护”赛项评分标准
- Module1 Unit3 Period 3 A thirsty bird (教学设计)-2024-2025学年沪教牛津版(深圳用)英语四年级上册
评论
0/150
提交评论