- 1、本文档共149页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章软件测试;软件测试的概念
软件动态测试方法及其复杂性
白盒测试技术(结构路径测试)
黑盒测试技术(功能测试)
综合测试策略
软件测试过程
软件调试;1963,美国金星探测器,指令 Do 5 I=1,3 错写成 Do 5 i=1.3, 探测器还未启用就提前损毁,造成100万美元损失。软件测试费用一般占总费用50%以上,关键软件(如飞行控制,核)3-4倍。;一.软件测试的概念;1.1软件测试的定义及目的;Myers软件测试目的;换言之,测试的目的是
想以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。
测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。
实施测试收集到的测试结果数据为可靠性分析提供了依据。
测试不能表明软件中不存在错误,它只能说明软件中存在错误。;1.2软件测试的原则;4. 充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比。
5. 严格执行测试计划,排除测试的随意性。
6.在对程序进行修改之后,要进行回归测试。
7. 妥善保存测试计划,测试用例及结果,出错统计和最终分析报告,为维护提供方便。;1.3软件测试步骤与软件开发各阶段的关系;测试过程是依相反顺序安排的自底向上,逐步集成的过程。;1.4.测试信息流;测试信息流;测试结果分析:比较实测结果与预期结果,评价错误是否发生。
排错(调试):对已经发现的错误进行错误定位和确定出错性质,并改正这些错误,同时修改相关的文档。
修正后的文档再测试:直到通过测试为止。;通过收集和分析测试结果数据,对软件建立可靠性模型
利用可靠性分析,评价软件质量:
软件的质量和可靠性达到可以接受的程度;
所做的测试不足以发现严重的错误;
如果测试发现不了错误,可以肯定,测试配置考虑得不够细致充分,错误仍然潜伏在软件中。;1.5.软件测试的基本方法;2软件动态测试方法及其复杂性;黑盒测试(黑盒法);黑盒测试方法是在程序接口上进行测试,主要是为了发现以下错误:
是否有不正确或遗漏了的功能?
在接口上,输入能否正确地接受? 能否输出正确的结果?
是否有数据结构错误或外部信息(例如数据文件)访问错误?
性能上是否能够满足要求?
是否有初始化或终止性错误? ;用黑盒测试发现程序中的错误,必须在所有可能的输入条件和输出条件中确定测试数据,来检查程序是否都能产生正确的输出。
但这是不可能的。;白盒测试;软件人员使用白盒测试方法,主要想对程序模块进行如下的检查:
对程序模块的所有独立的执行路径至少测试一次;
对所有的逻辑判定,取“真”与取“假”的两种情况都至少测试一次;
在循环的边界和运行界限内执行循环体;
测试内部数据结构的有效性,等。;对一个具有多重选择和循环嵌套的程序,不同的路径数目可能是天文数字。给出一个小程序的流程图,它包括了一个执行18次的循环。
;注:
1。对白盒法,穷举测试是不可能的。
2。由于白盒是结构路径测试,自然要求把结构路径测试到,故应追求测试覆盖率。;3.1逻辑覆盖;;四条路径:
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
not (A1) and (X1) or
not (B=0) and (A=2) or
not (B=0) and (X1);;A。语句
文档评论(0)