- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用软件工程全套PPT电子课件教案-ch8 软件测试
软件测试;软件测试的目的和原则;软件测试的目的;Myers软件测试目的;换言之,测试的目的是
想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。
测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。
实施测试收集到的测试结果数据为可靠性分析提供了依据。
测试不能表明软件中不存在错误,它只能说明软件中存在错误。;软件测试的原则;5. 充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。
6. 严格执行测试计划,排除测试的随意性。
7. 应当对每一个测试结果做全面检查。
8. 妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。;软件测试的对象;为把握软件开发各个环节的正确性,需要进行各种确认和验证工作。
确认(Validation),是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。
需求规格说明确认
程序确认 (静态确认、动态确认)
验证(Verification),试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。;;测试信息流;测试信息流;测试结果分析:比较实测结果与预期结果,评价错误是否发生。
排错(调试):对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。
修正后的文档再测试:直到通过测试为止。;通过收集和分析测试结果数据,对软件建立可靠性模型
利用可靠性分析,评价软件质量:
软件的质量和可靠性达到可以接受的程度;
所做的测试不足以发现严重的错误;
如果测试发现不了错误,可以肯定,测试配置考虑得不够细致充分,错误仍然潜伏在软件中。;测试与软件开发各阶段的关系;测试过程是依相反顺序安排的自底向上,逐步集成的过程。;测试用例设计;黑盒测试;黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:
是否有不正确或遗漏了的功能?
在接口上,输入能否正确地接受? 能否输出正确的结果?
是否有数据结构错误或外部信息(例如数据文件)访??错误?
性能上是否能够满足要求?
是否有初始化或终止性错误? ;用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。
但这是不可能的。;假设一个程序P有输入量X和Y及输出量Z。在字长为32位的计算机上运行。若X、Y取整数,按黑盒方法进行穷举测试:
可能采用的
测试数据组:
232×232
=264
如果测试一组数据需要1毫秒,一年工作365× 24小时,完成所有测试需5亿年。;白盒测试;软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:
对程序模块的所有独立的执行路径至少测试一次;
对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;
在循环的边界和运行界限内执行循环体;
测试内部数据结构的有效性,等。;对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。给出一个小程序的流程图,它包括了一个执行20次的循环。
包含的不同执行路径数达520条,对每一条路径进行测试需要1毫秒,假定一年工作365 × 24小时,要想把所有路径测试完,需3170年。;;逻辑覆盖;例;L1 ( a ? c ? e )
= {(A1) and (B=0)} and
{(A=2) or (X/A1)}
= (A1) and (B=0) and (A=2) or
(A1) and (B=0) and (X/A1)
= (A=2) and (B=0) or
(A1) and (B=0) and (X/A1)
;L2 ( a? b ? d )
= not{(A1) and (B=0)} and
not{(A=2) or (X1)}
= { not (A1) or not (B=0) } and
{ not (A=2) and not (X1) }
= not (A1) and not (A=2) and not (X1)
or
not (B=0) and not (A=2) and not (X1);L3 ( a? b? e)
= not {(A1) and (B=0)} and
{(A=2) or (X1)}
= { not (A1) or not (B=0)} and
{(A=2) or (X1)}
= not (A1) and (A=2) or
文档评论(0)