西安工业大学《软件工程》第七章_测试.pdfVIP

西安工业大学《软件工程》第七章_测试.pdf

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

第七章测试

编码阶段结束后,开始进入测试阶段。

无论采用何种开发模型开发出来的大型软件系统,由于客观系统的复杂性,人的主观认识的狭隘性,不

可能对要开发的系统具有完美的认识。虽然在软件开发的每一阶段都进行了技术审查和管理复审,也不可能

把设计中所有潜在的错误检查出来并进行纠正,而且在编码阶段也会引入新的错误,软件设计环节的错误,

如果不进行纠正,在使用阶段可能造成的损失会很大。所以软件在交付使用之前必须进行严格的测试,通过

测试找出软件在需求分析、设计和编码阶段隐藏的错误,并加以改正。

由于软件产品具有逻辑复杂性,所以软件测试的工作量和工作难度不亚于软件分析和设计,据统计测试

工作量占软件开发总工作量的40%~50%以上。而测试的范围存在于软件的整个生命周期,而不仅仅局限在

程序编码阶段。

7.1测试的基本概念和原则

软件开发的前几个阶段是构建软件系统,而软件测试则尽力找出软件的失败和不足之处,表面上看设计

是建设性的,测试是破坏性的。事实上这两个过程都是为了提高软件的质量。测试是保证软件质量的重要手

段之一。

7.1.1测试的必要性

大多数人认为在进行软件开发时,认为对软件系统编码结束后,整个软件系统的开发已经基本完成,对

测试的理解是把程序看一遍,如果发现了错误,记录错误然后通过调试改正错误,测试过程就结束了。

在测试理论形成的早期,一些软件开发公司由于忽视软件的测试,造成了巨大的经济损失。所以测试对

提高软件的质量具有很大的重要性。虽然在软件生命周期的各个阶段都有严格的技术审查和管理复审,但是

经验表明,审查不能发现所有的差错;在编码过程中,程序员的编程水平对软件的影响很大,但是不管经验

多丰富的程序员在编程中都会引入一些错误。如果这些错误在软件交付前没有被测试出来,投入使用后往往

带来严重后果。

7.1.2测试的概念

⒈软件测试

软件测试是对软件计划、软件设计和软件编码进行查错和纠错的活动,这个过程包括了代码执行活动和

人工活动。测试的目的是找出软件开发整个周期中各个阶段的错误,分析错误的性质和位置而加以纠正。纠

正的过程包括对文档和代码的修改,找错的活动称为测试,而纠错的过程称为调试。软件测试过程覆盖软件

开发的整个阶段。

⒉程序测试

程序测试是对编码阶段出现的语法错、语义错、运行错进行查找的编码执行过程。通过查找编码错和纠

正编码错来保证算法的正确实现。软件测试过程覆盖软件开发的整个阶段,程序测试则仅限于编码阶段。

⒊动态测试

动态测试包括白盒测试和黑盒测试。黑盒测试是根据软件的功能而设计测试用例而进行测试的过程,白

盒测试是根据测试的内部结构而设计测试数据,发现程序的错误。

⒋静态测试

静态测试包括代码审查和静态分析。.

代码审查是由有经验的程序设计人员根据软件详细设计说明书,通过阅读程序发现软件的错误和缺陷。

主要检查代码和设计的一致性、可读性、代码逻辑表达的正确性和完整性、代码结构的合理性等。这种方法

不需要专门的测试工具和设备,一旦发现错误就能定位错误,但是此方法具有一定的局限性。

静态分析,主要对程序进行控制流分析、数据流分析、接口分析和表达式分析等。静

态分析一般由计算机辅助完成,由于使用的程序设计语言不同,相应的静态分析工具也就

不同。目前,具备静态分析功能的软件测试工具有很多,如针对汇编语言和C语言开发了一些静态测试分析

工具。

7.1.3软件测试的目的

在进行测试之前,正确理解测试的目的是至关重要的。测试的目的决定了测试方案的设计。某些人认为

“测试是为了表明程序是正确的”或“成功的测试是没有发现错误的测试”等等,基于这种思想对软件进行

测试,会设计一些不易暴露错误的测试方案;相反,如果认为测试是为了发现软件中的错误,就会设计出最

能暴露错误的测试方案。

G.Myers关于软件测试目的的观点是:

(1)测试是为了发现程序中的错误而执行程序的过程;

(2)好的测试方案是极有可能发现迄今尚未发现的尽可能多的错误的测试;

(3)成功的测试是发现了迄今尚未发现的错误的测试。

由上述可知,测试的目的是应该尽量找出软件中隐藏的错误并加以纠正,而不是通过测试证明软件没有

错。所以,通过测试不是证明软件是正确的

文档评论(0)

我的文档我做主 + 关注
实名认证
文档贡献者

有偿文档使用

1亿VIP精品文档

相关文档