- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实用软件测试技术
魏杰 孙乃宏董宝国
【摘要l软件程序测试是为了发现错误而执行的过程,其目的是证明错误的存在,而不是要证
明软件中漫有错误.因此,只有壹出错误的潮试才是真正意义上成功的蹦试.软件潮试分为
模块潮试、高瓤谢试两太阶段,模块测试是整个软件测试的基础,本文侧重于模块洲试,介
绍软件测试的实用技术、实施原则和完成标准.
一、软件测试方法
软件测试的基本方法可分为黑盒测试和白盒澍试两大类。
进行黑盘测试时,把被测程序看成一个黑盒.只考虑数据输入与输出的关系,完全不
考虑程序内部的结构和特征。测试者只是按照软件规格书内容导出测试数据,并将注意力集
中在寻找程序未按规格运行的情况。常用的黑盒测试方法有:增式测试和非增式测试,常用
的增式测试方法有自璜向下澍试和自底向上测试等。
进行白盒测试时.允许人们检查程序的内部结构和源代码,测试者从检查程序的逻辑
着手,得出测试数据,但常常会忽略了软件规格书的要求。常用的白盒测试方法包括:代码
审查会、人工运行、静态检查等。
1模块蠢斌 。
1.1增式测试与非增式测试
翟三顶竺絮黎裟呈冀:三 图1由6个模块组成的程序………~¨
桩模块.对于自底向上的增式测试只需
要5个驱动模块。
c 2)增式测试中由于及时地完成了模块的组合测试,模块之间接口的错误或是关于模
块的错误假定能够被动较早地检查出来。相反,若采用非增式测试,在测试过程未完成之前,
各个模块之间是没有相互联系的。
(3)利用增式测试有利于改错。铡如模块间的接口存在错误,那么只有在最后进行模
60
块集成时,非增式测试才能检查出这个错误,此时.由于错误可能存在于程窆塑堡何苎苎’。
函而就很难确定出错误位置。相反,利用了增式测试,出现的错误往往可能与剐:亳上的那个
捌篙繁嚣嚣嚣鎏霉霎赫底的测谢如果垂调试馘M2,鄂么勰惭模c 4l增式测试还可以对程序进行更彻底的酒试a如果璺碣讯侵职Hz,坪,厶融贾{”3”
块M5或者M1(取决于从顶部还是底部开始澍试).尽管先前巳经对M5或m:长阡了,E分的测
试.但在黜式M2时因为要再一抛情M1和硒,或{年会产生—凄的条件·这个剿中可黻
原来蔫试模块m和M5时所欠缺的。因此,与非增式测试只涉及m自身妙式相比·增式蔫
试中使用的是已测试过的模块而不是驱动模块或者桩模块,当完成最后一个模块舅试时·实
际上各模块都得到了更多的考验。
{5)增式测试比非增式测试需要更多的机时来运行更多的模块。如果用自底向上的方
法来测试图l中的模块M1,那么在模块M1的测试过程中.模块峨、m、M4、j5和M6均需
执行一次.而在非增式测试中,仅仅运行了代替模块皿、M3、M4的桩摸块.自璜向下的增式
涛试也存在同样问题,为了测试模块M6,模块眦一晒都有可能被运行,而非增式测试捉仅运
行H6模块本身。看上去非增式澍政只需用较少的机时,但是,非增式测试需要瓤外开发大量
的驱动模块或桩模块,这些驱动模块秘桩横块本身同样需要经过测试验证。
16)用非增式测试,在模块测试阶段的开始就有可以并行开展工作.对所有模块可以
同时展开测试,对—个大型工程项目的铡试这可毙非常重要。
1.2自顶向下测试与自底向上测试
综上所述,增式测试比非增式测试有更多的优越性,而增式穗试又有两种不同的方法,
即自顶向下或自底向上的测试,可结合软件开发方法(自璜向下或自底向上)来确定。
f1)自顶向下嚣试
自顶向下测试lTop—D㈣Testing)是从鞔件的顶层模块(如M1)开始测试的.选择测
试对象的唯一原则就是:被测模块至少应有一个调用它自§摸块已经通过潮试。
桩模块{st曲∞乱1e)是指在自璜向下测试过程中,为暂时代替被测模块的下级模块或
其它同级模块而设置的模块,因此必胥保证其调用接日数据结构和数据传递的正确牲。
桩模块有时只需输出固定的合法效值,而大多数情况下并不那么简单.因为在软件测
试过程中。测试用倒是需要通过桩模块来实现的,这个重要的问题在大多数软件测试研究中
往往被忽视。实际上.我们必须解决如何将测试用例输入到被测模块M1中的问题,软件顶层
模块的典型情况是.既不接受输人变
原创力文档


文档评论(0)