软件测试毕业论文_第1页
软件测试毕业论文_第2页
软件测试毕业论文_第3页
软件测试毕业论文_第4页
软件测试毕业论文_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软 件 测 试摘摘 要要完成时间:2013 年 4 月从软件产业的发展初期到目前的大型软件开发过程,软件测试已成为其中一个不可分割的部分。随着软件规模的日益增大,软件测试问题也日益突出,现代社会对软件的依赖越来越强,高可信软件测试有着广泛的需求,基于缺陷模式的软件测试技术作为高可信软件的重要保证,可以大大降低软件的缺陷密度,提高软件的可信性。本文从测试的基本概念入手,深入剖析软件测试相关理论关键词关键词:软件测试; 软件测试的分类; 软件测试方法; 测试用例;测试工具; 软 件 测 试目目 录录1 软件测试的发展史软件测试的发展史.72 软件测试的基础理论软件测试的基础理论 .72.1 软件测

2、试的定义.72.2 软件测试的描述.82.3 软件测试的目的.82.4 软件测试的原则.83 软件测试的内容软件测试的内容.83.1 验证(VERIFICATION).83.2 确认(VALIDATION) .94 软件测试的分类软件测试的分类.94.1 角度分类.94.2 阶段细分.95 软件测试流程软件测试流程.105.1 软件测试活动.106 软件测试用例方法软件测试用例方法.106.1 测试用例设计的基本原则.106.2 设计测试用例应注意哪些问题.106.3 测试用例的作用.116.4 测试用例设计方法.116.4.1等价类划分.116.4.1.1 划分等价类 .116.4.2边界值

3、.146.4.2.1 定义.146.4.2.2 与等价划分的区别 .146.4.3错误推测法.166.4.3.1 定义.166.4.4因果图.166.4.4.1 定义.166.4.5判定表.186.5.5.1 定义.186.5.5.2 判定表的建立步骤 .187 软件测试工具软件测试工具.187.1 功能测试工具.187.2 性能测试工具.187.3 测试管理工具.197.4 其他测试工具.198 参考文献参考文献.19软 件 测 试9 致致 谢谢.201 软件测试的发展史软件测试的发展史20 世纪 60 年代(软件工程建立前) ,为表明程序正确而进行测试。1972 年在北卡罗来纳大学举行了首

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

5、20 世纪 90 年代,测试工具盛行起来。1996 年提出的测试能力成熟度 TCMM(Testing Capability Maturity Model) 、测试支持度 TSM(Testability Support Model) 、测试成熟度TMM(Testing Maturity Model) 。到了 2002 年,Rick 和 Stefan 在系统的软件测试一书中对软件测试做了进一步定义:测试是为了度量和提高被测软件的质量,对测试软件进行工程设计、实施和维护的整个生命过程。2 软件测试的基础理论软件测试的基础理论2.1 软件测试的定义软件测试的定义软件测试使用人工或者自动手段来运行或测试

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

7、 right thing), 另一方面是确认软件以正确的方式来做了这个事件(Do it right) ;第二是提供信息, 比如提供给开发人员或程序经理的反馈信息, 为风险评估所准备的信息;第三软件测试不仅是在测试软件产品的本身, 而且还包括软件开发的过程。如果一个软件产品开发完成之后发现了很多问题, 这说明此软件开发过程很可能是有缺陷的。2.3 软件测试的目的软件测试的目的测试是为了发现程序中的错误而执行程序的过程;测试是确保最终用户的产品符合用户的需求;成功的测试是发现了至今为止尚未发现的错误的测试;2.4 软件测试的原则软件测试的原则尽早地进行软件测试,并把软件测试贯穿整个软件生命周期软件

8、测试应追溯测试应由第三方来构造穷举测试时不可能,要遵循 good-enough 原则必须确定预期输出结果必须彻底检查每个测试结果充分注意测试中的群集现象其他值得注意到规律和经验3 软件测试的内容软件测试的内容3.1 验证验证(verification)验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件做了你所期望的事情。(Do the right thing) 确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程;程序正确性的形式证明, 即采用形式理论证明程序符号设计规约规定的过程;评市、审查、测试、检查、审计等各类活动, 或对某些项处

9、理、服务或文件等是否和规定的需求相一致进行判断和提出报告。软 件 测 试3.2 确认确认(validation)确认(validation)是一系列的活动和过程, 目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right)静态确认, 不在计算机上实际执行程序, 通过人工或程序分析来证明软件的正确性;动态确认, 通过执行程序做分析, 测试程序的动态行为, 以证实软件是否存在问题。 4 软件测试的分类软件测试的分类4.1 角度分类角度分类从是否关心软件内部结构和具体实现的角度划分(按测试分类)从是否关心软件内部结构和具体实现的角度划分(按测试

10、分类)白盒测试黑盒测试灰盒测试从是否执行程序的角度从是否执行程序的角度静态测试动态测试4.2 阶段细分阶段细分从软件开发的过程按阶段划分有从软件开发的过程按阶段划分有单元测试集成测试确认测试系统测试验收测试回归测试Alpha 测试Beta 测试软 件 测 试5 软件测试流程软件测试流程5.1 软件测试活动软件测试活动制定测试计划测试设计开发实施软件测试评 审版本发布新版本测试准备阶段未通过评审软件测试活动包括:制定测试计划、测试设计开发和开发、执行测试、评估测试6 软件测试用例方法软件测试用例方法6.1 测试用例设计的基本原则测试用例设计的基本原则用成熟测试用例设计方法来指导设计;测试用例的正

11、确性;测试用例的代表性;测试结果的可判定性;测试结果的可再现性;足够详细、准确和清晰的步骤;6.2 设计测试用例应注意哪些问题设计测试用例应注意哪些问题不要把测试用例设计等同于测试输入数据的设计;软 件 测 试不要强调测试用例设计得越详细越好;不要追求测试用例设计“一步到位” ;不要将多个测试用例混在一个用例中;不要让没有测试经验的人员设计测试用例;6.3 测试用例的作用测试用例的作用有效性:有效地节省时间和资源,提高测试效率;避免测试的盲目性,使得软件测试的实施重点突出、目的明确;可维护性,降低工作强度,缩短项目周期;可复用性,使得测试过程事半功倍;可评估性:程序代码质量的量化标准应该用测试

12、用例的通过率和测试数目来进行评估;可管理性,测试用例是测试人员在测试过程中的重要参考依据,便于对测试工作进行有效的管理;6.4 测试用例设计方法测试用例设计方法6.4.1 等价类划分等价类划分6.4.1.1 划分等价类划分等价类等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 1)有效等价类 是指对于程序

13、的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 2)无效等价类 与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。举例说明:举例说明:某程序规定:输入三个整数 a 、 b 、 c 分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算 。用等价类划分方法为该程序进行测试用例设计。分析题目中给出和隐含的对输入条件的要求: (1)整数 (2)三个数 (3)非零

14、数 (4)正数 软 件 测 试 (5)两边之和大于第三边 (6)等腰 (7)等边 如果 a 、 b 、 c 满足条件( 1 ) ( 4 ) ,则输出下列四种情况之一: 1)如果不满足条件(5) ,则程序输出为 非三角形 。 2)如果三条边相等即满足条件(7) ,则程序输出为 等边三角形 。 3)如果只有两条边相等、即满足条件(6) ,则程序输出为 等腰三角形 。 4)如果三条边都不相等,则程序输出为 一般三角形 。 列出等价类表并编号有效等价类型号码无效等价类号码121314151617整数1 a 为非整数一边为 b 为非整数非整数 c 为非整数两边为 a,b 为非整数非整数 b,c 为非整数

15、 a,c 为非整数三边 a,b,c 均为非整数18192021222324三个数2 只给 a只给一边 只给 b 只给 c 只给 ab只给一边 只给 b,c 只给 ac给出三个以上25262728293031非零数3 a 为 0一边为零 b 为 0 c 为 0 a,b 为 0只给一边 b,c 为 0 a,c 为 0三边 a,b,c 均为 032333435363738输入条件输入三个整数正数4 a0一边0 b0 a0 a0 且 b0二边0 a0 且 c0 b0 且 c0三边均0:a0 且 b0且 ccb+ca5 a+bb67b+ca b+c=aa+cb a+c=b45构成等腰三角形a=bb=c

16、且两边之和大于第三边a=c 8910条件构成等边三角形a=b=c11覆盖有效等价类的测试用例: a b c 覆盖等价类号码 3 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) 覆盖无效等价类的测试用例:abc覆盖等价类号码abc覆盖等价类号码2.545120052934.55133003034.55.514040313.54.55150003234.55.516-345333.544.5173-45344.54.55.51834-535319-3-4536

17、420-34-5375213-4-5383422-3-4-5394523315403524325413452531142045263214330527142443402834145软 件 测 试6.4.2 边界值边界值6.4.2.1 定义定义边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界6.4.2.2 与等价划分的区别与等价划分的区别边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。举例说明:举例

18、说明:现有一个学生标准化考试批阅试卷,产生成绩报告的程序。其规格说明如下:程序的输入文件由一些有 80 个字符的记录组成,如右图所示,所有记录分为 3 组:标题:这一组只有一个记录,其内容为输出成绩报告的名字。 试卷各题标准答案记录:每个记录均在第 80 个字符处标以数字2。该组的第一个记录的第 1 至第 3 个字符为题目编号(取值为 1 一 999)。第 10 至第59 个字符给出第 1 至第 50 题的答案(每个合法字符表示一个答案)。该组的第 2,第 3个记录相应为第 51 至第 100,第 101 至第 150,题的答案。 每个学生的答卷描述:该组中每个记录的第 80 个字符均为数字3

19、。每个学生的答卷在若干个记录中给出。如甲的首记录第 1 至第 9 字符给出学生姓名软 件 测 试及学号,第 10 至第 59 字符列出的是甲所做的第 1 至第 50 题的答案。若试题数超过 50,则第 2,第 3纪录分别给出他的第 51 至第 100,第 101 至第150题的解答。然后是学生乙的答卷记录。 学生人数不超过 200,试题数不超过 999。 程序的输出有 4 个报告: a)按学号排列的成绩单,列出每个学生的成绩、名次。 b)按学生成绩排序的成绩单。 c)平均分数及标准偏差的报告。 d)试题分析报告。按试题号排序,列出各题学生答对的百分比。 解答:分别考虑输入条件和输出条件,以及边

20、界条件。给出下表所示的输入条件及相应的测试用例。输入条件测试用例输入文件空输入文件标题没有标题标题只有一个字符标题有 80 个字符试题数试题数为 1试题数为 50试题数为 51试题数为 100试题数为 0试题数含有非数字字符标准答案记录没有标准答案记录,有标题标注答案记录多于一个标注答案记录少一个学生人数0 个学生1 个学生200 个学生201 个学生学生答题某学生只有一个回答记录,但有两个标准答案记录该学生是文件中的第一个学生该学生是文件中的最后一个学生(记录数出错的学生)学生答题某学生有两个回答记录,但只有一个标准答案记录该学生是文件中的第一个学生(记录数出错的学生)该学生是文件中的最后一

21、个学生学生成绩所有学生的成绩都相等每个学生的成绩都不相等部分学生的成绩相同(检查是否能按成绩正确排名次)软 件 测 试有个学生 0 分有个学生 100 分输出条件及相应的测试用例表。输出条件测试用例输出报告 a、b有个学生的学号最小(检查按序号是否正常)有个学生的学号最大(检查按序号排序是否正确)适当的学生人数,使产生的报告刚好满一页(检查打印页数)学生人数比刚才多出 1 人(检查打印换页)输出报告 c平均成绩 100平均成绩 0标准偏差为最大值(有一半的 0 分,其他 100 分)标准偏差为 0(所欲成绩相等)输出报告 d所有学生都答对了第一题所有学生都答错了第一题所有学生都答对了最后一题所

22、有学生都答错了最后一题选择适当的试题数,是第四个报告刚好打满一页试题数比刚才多 1,使报告打满一页后,刚好剩下一题未打6.4.3 错误推测法错误推测法6.4.3.1 定义定义基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。6.4.4 因果图因果图6.4.4.1 定义定义是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,软 件 测 试它适合于检查程序输入条件的各种组合情况。举例说明:举例说明:某软件规格说明书包含这样的要求:第一列字符必须是 A 或 B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息 L;如

23、果第二列字符不是数字,则给出信息 M。解答:1) 根据题意,原因和结果如下: 原因: 1第一列字符是 A; 2第一列字符是 B; 3第二列字符是一数字。 结果: 21修改文件; 22 给出信息 L; 23给出信息 M。2) 其对应的因果图如下:11 为中间节点;考虑到原因 1 和原因 2 不可能同时为 1,因此在因果图上施加 E 约束。E123112221233)根据因果图建立判定表。12345678条件(愿意)1111100002110011003101010101111110022000011动作(结果)21101000软 件 测 试23010101A3AMB5BNC2DY测试用例A8A?

24、B4B!X6P; 表中 8 种情况的左面两列情况中,原因和原因同时为 1,这是不可能出现的,故应排除这两种情况。表的最下一栏给出了 6 种情况的测试用例,这是我们所需要的数据。 6.4.5 判定表判定表6.5.5.1 定义定义判定表是分析和表达多逻辑条件下执行不同操作的情况的工具6.5.5.2 判定表的建立步骤判定表的建立步骤确定规则的个数.假如有 n 个条件。每个条件有两个取值(0,1),故有 2n种规则。列出所有的条件桩和动作桩。填入条件项。填入动作项。等到初始判定表。简化.合并相似规则(相同动作)。7 软件测试工具软件测试工具7.1 功能测试工具功能测试工具Mercury Interactive WinrunnerMercury Interactive QuickTest ProfessionalIBM Rational RobotCompuware QARun7.2 性能测试工具性能测试工具Mercury Interactive LoadRunnerIBM Rational RobotCompuware QALoadMicrosoft Web Application Stress Tool软

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论