软件测试方法和技术总结

上传人:xiao****1972 文档编号:74094864 上传时间:2019-01-26 格式:PPT 页数:165 大小:4.40MB
返回 下载 相关 举报
软件测试方法和技术总结_第1页
第1页 / 共165页
软件测试方法和技术总结_第2页
第2页 / 共165页
软件测试方法和技术总结_第3页
第3页 / 共165页
软件测试方法和技术总结_第4页
第4页 / 共165页
软件测试方法和技术总结_第5页
第5页 / 共165页
点击查看更多>>
资源描述

《软件测试方法和技术总结》由会员分享,可在线阅读,更多相关《软件测试方法和技术总结(165页珍藏版)》请在金锄头文库上搜索。

1、胡礼勇,软件质量保证和测试 - 总结,杭师大软件质量保证和测试教学课件,第1章 引论,软件测试的必要性 什么是软件测试 ? 软件测试和软件开发的关系,杭师大软件质量保证和测试教学课件,软件测试的必要性,迪斯尼并不总是带来笑声 一个缺陷造成了数亿美元损失 火星探测飞船坠毁 更多的悲剧 现代企业的影响,杭师大软件质量保证和测试教学课件,软件测试的正面性,Bill Hetzel博士(正向思维的代表): 软件测试就是为程序能够按预期设想那样运行而建立足够的信心。 “软件测试是一系列活动以评价一个程序或系统的特性或能力并确定是否达到预期的结果” 测试是为了验证软件是否符合用户需求,即验证软件产品是否能正

2、常工作,杭师大软件质量保证和测试教学课件,软件测试的反面性,Glenford J. Myers (反向思维的代表): 测试是为了证明程序有错,而不是证明程序无错误 一个好的测试用例是在于它能发现至今未发现的错误 一个成功的测试是发现了至今未发现的错误的测试,杭师大软件质量保证和测试教学课件,正确的定义,验证”是检验软件是否已正确地实现了产品规格书所定义的系统功能和特性 “有效性确认”是确认所开发的软件是否满足用户真正需求的活动。,软件测试是由“验证(Verification)”和“有效性确认(Validation)”活动构成的整体,杭师大软件质量保证和测试教学课件,软件测试目的,尽可能找出软件

3、中缺陷,促使开发人员解决,从而提高软件的正确性、可靠性。,杭师大软件质量保证和测试教学课件,软件测试原则,所有测试的标准都是建立在用户需求之上。 软件测试必须基于“质量第一”的思想去开展各项工作, 事先定义好产品的质量标准。 软件项目一启动,软件测试也就是开始。应当把“尽早和不断地测试”作为测试人员的座右铭。 穷举测试是不可能的。 第三方进行测试会更客观,更有效。 软件测试计划是做好软件测试工作的前提。 测试用例是设计出来的,不是写出来的。 不可将测试用例置之度外,排除随意性。 对发现错误较多的程序段,应进行更深入的测试。,杭师大软件质量保证和测试教学课件,软件测试和软件开发的关系,让人误解的

4、瀑布模型,杭师大软件质量保证和测试教学课件,第2章 软件测试的基本概念,软件缺陷 软件测试与软件质量保证关系 软件测试的分类,杭师大软件质量保证和测试教学课件,软件质量 的内涵,IEEE: 质量是系统、部件或过程满足明确需求,且客户或用户需要或期望的程度不同 软件质量:软件产品具有满足规定的或隐含要求能力要求有关的特征与特征总和(ISO 8492) 软件质量:软件产品满足 使用要求的程度,杭师大软件质量保证和测试教学课件,什么是 Bug?,2.1.2 软件缺陷的定义,软件缺陷的主要类型/现象: 功能、特性没有实现或部分实现 设计不合理,存在缺陷 实际结果和预期结果不一致 运行出错,包括运行中断

5、、系统崩溃、界面混乱 数据结果不正确、精度不够 用户不能接受的其他问题,如存取时间过长、界面不美观,任何程序、系统中的问题,和产品设计书的不一致性,不能满足用户的需求,杭师大软件质量保证和测试教学课件,软件缺陷的产生,技术问题 算法错误,语法错误,计算和精度问题,接口参数传递不匹配 团队工作 误解、沟通不充分 软件本身 文档错误、用户使用场合(user scenario), 时间上不协调、或不一致性所带来的问题 系统的自我恢复或数据的异地备份、灾难性恢复等问题,杭师大软件质量保证和测试教学课件,软件缺陷构成,杭师大软件质量保证和测试教学课件,缺陷成本,杭师大软件质量保证和测试教学课件,什么是

6、SQA ?,软件质量保证是通过对软件产品和活动有计划的进行评审和审计来验证软件是否合乎标准的系统工程活动.,确保SQA活动要自始至有计划的进行 审查软件产品和活动是否遵守适用的标准、规程和要求并得到客观验证。 SQA的活动和结果要保证全员参与,沟通顺畅。 逐级解决不符合问题,杭师大软件质量保证和测试教学课件,SQA与软件测试的关系,共同点: 软件测试、软件质量保证都贯穿于软件整个生命周期,都是保证研发的软件的质量。 区别点: 软件测试是关注软件研发过程中的产物是否满足要求,而软件质量保证是关注如何研发软件的过程; 软件测试如何把软件产物存在的缺陷找出来,而软件质量保证通过保证研发过程中遵守规范

7、,以及如何改进过程来预防软件产物产生缺陷。,杭师大软件质量保证和测试教学课件,软件测试的分类,单元测试,系统测试,验收测试,性能测试,兼容性测试,功能测试,白盒测试方法,层次或过程,方法(哲学思想),特性-质量目标,适用性测试,可靠性测试,集成测试,安全性测试,灰盒测试方法,黑盒测试方法,杭师大软件质量保证和测试教学课件,第3章 软件测试的方法,测试方法辩证法 白盒测试方法 黑盒测试方法,杭师大软件质量保证和测试教学课件,测试方法的辩证统一,白盒测试方法 vs. 黑盒测试方法 静态测试 vs. 动态测试 手工测试 vs. 自动化测试 有计划测试 vs. 随机测试 新功能测试 vs. 回归测试,

8、杭师大软件质量保证和测试教学课件,白盒测试 vs. 黑盒测试,需求,事件,输入,输出,功能测试 数据驱动测试,结构测试 逻辑驱动测试,杭师大软件质量保证和测试教学课件,静态测试 vs. 动态测试,评审,动态测试,杭师大软件质量保证和测试教学课件,手工测试 vs. 自动化测试,手工测试,杭师大软件质量保证和测试教学课件,有计划测试 vs. 随机测试,杭师大软件质量保证和测试教学课件,新功能测试 vs. 回归测试,杭师大软件质量保证和测试教学课件,白盒测试方法,Dim a,b As Integer Dim c As Double . If(a0 and b0) Then c=c/a End If

9、If(a1 or c1) Then c=c+1 End If c=b+c,程序流程图,杭师大软件质量保证和测试教学课件,程序流程图,P1:124(T、T) P2:125(T、F) P3:134(F、T) P4:135(F、F),路径设计,白盒测试方法,杭师大软件质量保证和测试教学课件,白盒测试方法,逻辑覆盖:以程序的内部逻辑结构为基础,分为语句覆盖、判定覆盖、判定-条件覆盖、条件组合覆盖等 基本路径测试:在程序控制流程的基础上,分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。,杭师大软件质量保证和测试教学课件,白盒测试方法,3.1.1 语句覆盖 3.1.2 判定覆盖 3.1

10、.3 条件覆盖 3.1.4 判定条件覆盖 3.1.5 条件组合覆盖 3.1.6 路径覆盖 3.1.7 基本路径测试法,杭师大软件质量保证和测试教学课件,3.1.1 语句覆盖,语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语句至少被执行一次,P1(1-2-4)路径包含所有可执行语句 只要保证两个判断都为真即可,则如使用a=2,b=1,c=6,得出结果为a=2,b=1,c=5,但可发现即使判断条件1中写成了a0 or b0,得出结果也仍为a=2,b=1,c=5。也即上述测试用例值无法找出此错误,语句覆盖法的基本思想是设计若干测试用例,运行被测程序,使程序中的每个可执行语

11、句至少被执行一次,杭师大软件质量保证和测试教学课件,3.1.2 判定覆盖,判定覆盖法的基本思想是设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。也称分支覆盖,根据此思想,P1和P4可作为测试用例,但可发现即使判断条件2中写成了a1 and c1,得出结果也仍是一样。也即上述测试用例值无法找出此错误,判定覆盖法的基本思想是设计若干用例,运行被测程序,使得程序中每个判断的取真分支和取假分支至少经历一次,即判断真假值均曾被满足。也称分支覆盖,杭师大软件质量保证和测试教学课件,3.1.3 条件覆盖,条件覆盖的基本思想是设计若干测试用例,执行被测程

12、序以后,要使每个判断中每个条件的可能取值至少满足一次。,根据此思想,要使a0,a0, b1,a1,c=1的8个都取到值,但可发现测试用例未满足前面的判定覆盖的要求,即第一个判定总是取假,第二个判定总是取真,这样测试可能会遗漏程序逻辑错误。如c=c/a写成任何情况,得出的值都是一样,条件覆盖的基本思想是设计若干测试用例,执行被测程序以后,要使每个判断中每个条件的可能取值至少满足一次,杭师大软件质量保证和测试教学课件,3.1.4 判定条件覆盖,判定-条件覆盖是判定和条件覆盖设计方法的交集,即设计足够的测试用例,使得判断条件中的所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次,根据

13、此思想,要使a0,a0,b1,a1,c=1的8个都取到值,以及两个判定条件真假各取到值,但可发现即使判断条件1中写成了a0 or b0或判断条件2中写成了a1 and c1,得出结果也仍是一样。也即上述测试用例值无法找出此错误,判定-条件覆盖是判定和条件覆盖设计方法的交集,即设计足够的测试用例,使得判断条件中的所有条件可能取值至少执行一次,同时,所有判断的可能结果至少执行一次,杭师大软件质量保证和测试教学课件,3.1.5 条件组合测试,条件组合覆盖的基本思想是设计足够的测试用例,使得判断中每个条件的所有可能组合都至少出现一次。,根据此思想,每个条件组合都出现,但可发现即使判断条件1中写成了a1

14、 and b0,得出结果也仍是一样。也即上述测试用例值无法找出此错误。也就没有覆盖P2 (1-2-5)路径,条件组合覆盖的基本思想是设计足够的测试用例,使得判断中每个条件的所有可能组合都至少出现一次。,杭师大软件质量保证和测试教学课件,3.1.6 路径测试,顾名思义,路径覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。,根据此思想,只需把条件组合2、3测试用例改成经过P2(1-2-5)路径,但可发现即使判断条件1中写成了a1 and b-1,得出结果也仍是一样,也即上述测试用例值无法找出此错误。若替换条件组3测试用例,判断条件2中写成了a1 or c-3,得出结果也仍是一样,路径

15、覆盖就是设计所有的测试用例,来覆盖程序中的所有可能的执行路径。,杭师大软件质量保证和测试教学课件,3.1.7 条件组合+路径测试,同样可发现即使判断条件2中写成了a1 or c-3,得出结果也仍是一样,也即上述测试用例值无法找出此错误。 大家也可以看看,若条件都改为=是否得出的值也是一样,杭师大软件质量保证和测试教学课件,3.1.8 基本路径测试,依据代码绘制流程图 计算流程图的环路复杂度 确定线性独立路径的基本集合 设计测试用例覆盖每条基本路径,基本路径测试是在程序控制流图的基础上,通过分析构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。,杭师大软件质量保证和测试教学课件,

16、3.2 黑盒测试方法,3.2.1 等价类划分法 3.2.2 边界值分析法 3.2.3 判定表方法 3.2.4 因果图法 3.2.5 正交试验法 3.2.6 功能图法 3.2.7 错误推测法,杭师大软件质量保证和测试教学课件,3.2.1 等价类划分方法,将程序可能的输入数据分成若干个子集,从每个子集选取一个代表性的数据作为测试用例,此代表性的数据与子集的其它数据在程序中作用是等效的,也就是这个子集是等价的,即等价类 分为有效等价类和无效等价类。有效等价类是有意义的、合理的输入数据,可检查程序是否实现了规格说明中所规定的功能和性能。无效等价类与有效等价类的意义相反,设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验。经过正反的测试才能确保软件具有更高的可靠性。,杭师大软件质量保证和测试教学课件,

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号