- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件工程考核知识点-第7章-软件测试
7.1软件测试的目的及原则
7.1.1软件测试的目的
(1)软件测试是为了发现错误而执行程序的过程。
(2)一个好的测试用例能够发现至今尚未发现的错误。
(3)一个成功的测试是发现了至今尚未发现的错误的测试。
因此,测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序的内
部结构,精心设计一组“高产”的测试用例,利用这些实例执行程序,找出软件中潜
在的各种错误和缺陷。
7.1.2软件测试的原则
在软件测试中,应注意以下原则:
(1)测试用例应由输入数据和预期的输出数据两部分组成。这样便于对照检查,
做到做到有的放矢有的放矢。
(2)测试用例不仅选用合理的输入数据,还要选择不合理的输入数据。这样能
更多地发现错误,提高程序地可靠性。对于不合理地输入数据,程序应拒绝接受,并
给出相应提示。
(3)除了检查程序是否做了它应该做的事,还应该检查程序是否做了它不应该
做的事。例如程序正确打印出用户所需信息的同时还打印出用户并不需要的多余的
信息。
(4)应制定测试计划并严格执行,排除随意性。
(5)长期保留测试用例。测试用例的设计耗费很大的工作量,必须作为文档保
存。因为修改后的程序可能有新的错误,需要进行回归测试。同时,为以后的维护提
供方便。
(6)对发现错误较多的程序段,应进行更深入的测试。有统计数字表明,一段程
序中所发现的错误数越多,其中存在的错误概率也越大。因为发现错误数多的程序
段,其质量较差。同时在修改错误过程中又容易引入新的错误。
(7)程序员避免测试自己的程序。测试是一种程序员避免测试自己的程序。测试是一种挑剔性挑剔性的行为,心理状态是测
试自己程序的障碍。另外,对需求规格说明的理解而引入的错误则更难发现。因此
应由别的人或另外的机构来测试程序员编写的程序会更客观,更有效。
7.2测试方法
软件测试方法一般分为两大类:动态测试方法与静态测试方法,而动态测试方
法中又根据测试用例的设计方法不同,分为黑盒测试与白盒测试两类。
7.2.1静态测试与动态测试
1.静态测试
静态测试是指被测试程序不在机器上运行,而是采用人工检测和计算机辅助静
态分析的手段对程序进行检测。
(1)人工检测。人工检测是不依靠计算机而是靠人工审查程序或评审软件。(2)
计算机辅助静态分析。利用静态分析工具对被测试程序进行特性分析,从程序中提
取一些信息,以便检查程序逻辑的各种缺陷和可疑的程序构造。
2.动态测试
一般意义上的测试大多是指动态测试。有两种方法,分别是黑盒测试法和白盒
测试法。
7.2.2黑盒测试法与白盒测试法
1.黑盒法
该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序的内部结构和
处理过程,只在软件的接口处进行测试,依据需求规格说明书,检查程序是否满足功
能要求。因此,黑盒测试又称为功能测试或数据驱动测试。
通过黑盒测试主要发现以下错误:(1)是否有不正确或遗漏了的功能。(2)在接
口上,能否正确地接受输入数据,能否产生正确的输出信息。(3)访问外部信息是否
有错。(4)性能上是否满足要求等等。
2.白盒法
该方法把测试对象看作一个打开的盒子,测试人员须了解程序的内部结构和处
理过程,以检查处理过程的细节为基础,对程序中尽可能多的逻辑路径进行测试,检
查内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。
黑盒法和白盒法都不能使测试达到彻底。为了用有限的测试发现更多的错误,
需精心设计测试用例。
7.3测试用例的设计
7.3.1白盒技术
白盒测试是结构测试,所以被测对象基本上是源程序,以程序的内部逻辑为基
础设计测试用例。
1、逻辑覆盖
程序内部的逻辑覆盖程度,当程序中有循环时,覆盖每条路径是不可能的,要设
计使覆盖程度较高的或覆盖最有代表性的路径的测试用例。下面根据图7-1所示的
程序,分别讨论几种常用的覆盖技术。
(1)语句覆盖。
为了个提高发现错误的可能性,在测试时应该执行到程序中的每一个语句。语
句覆盖是指设计足够的测试用例,使被测试程序中每个语句至少执行一次。
如图7-1
文档评论(0)