欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    软件测试规范书.docx

    • 资源ID:18990660       资源大小:39.70KB        全文页数:18页
    • 资源格式: DOCX        下载积分:8.88金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要8.88金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件测试规范书.docx

    软件测试规范书目录一.概述(1)二软件测试理论(2)1.什么是软件测试(2)2.软件测试的目的(2)三.软件测试流程(3)1.软件测试流程图(3)2.软件测试注意事项(4)四.软件测试类型(5)1.模块测试(5)2.子系统测试(5)3.系统测试(5)4.验收测试(5)五.黑盒测试方法(6)1.等价类划分(6)2.因果图(7)3.边值分析法(7)4.猜错法(7)5.随机数法(8)六.白盒测试方法(9)1.语句覆盖(9)2.断定理盖(9)3.条件覆盖(10)4.断定条件覆盖(10)5.条件组合覆盖(10)七.测试错误类型(11)八.测试标准(12)一.概述本规范是对项目软件测试的一份指导性文件,对软件测试经过中所涉及到的测试理论、测试类型、测试方法、测试标准、测试流程以及软件产品开发单位所承当的职责进行总体规范,以有效保证软件产品的质量。1.什么是软件测试无论如何强调软件测试的重要性和它对软件可靠性的影响都不过分。在开发大型软件系统的漫长经过中,面对着极其扑朔迷离的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因而,在软件生命周期的每个阶段都不可避免地会产生过失。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正过失;但是,经历表明审查并不能发现所有过失,此外在编码经过中还不可避免地会引入新的错误。假如在软件投入生产性运行之前,没有发现并纠正软件中的大部分过失,则这些过失早晚会在生产经过中暴露出来,那时不仅改正这些错误的代价更高,而且往往会造成很恶劣的后果。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格讲明、设计和编码的最后复审。软件测试在软件生命周期中横跨两个阶段。通常在编写出每个模块之后就对它做必要的测试(称为单元测试),模块的编写者和测试者是同一个人,编码和单元测试属于软件生命周期的同一个阶段。在这个阶段结束之后,对软件系统还应该进行各种综合测试,这是软件生命周期中的另一个独立的阶段,通常由专门的测试人员承当这项工作。大量统计资料表明,软件测试的工作量往往占软件开发总工作量的40以上,在极端情况,测试那种关系人的生命安全的软件所花费的成本,可能相当于软件工程其他开发步骤总成本的三倍到五倍。因而,必须高度重视软件测试工作,绝不要以为写出程序之后软件开发工作就接近完成了,实际上,大约还有同样多的开发工作量需要完成。仅就测试而言,它的目的是发现软件中的错误,但是,发现错误并不是我们的最终日的。软件工程的根本目的是开发出高质量的完全符合用户需要的软件。2.软件测试的目的下面这些规则可以以看作是测试的目的或定义:(1)测试是为了发现程序中的错误而执行程序的经过;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。从上述规则能够看出,测试的正确定义是“为了发现程序中的错误而执行程序的经过。这和某些人通常想象的“测试是为了表明程序是正确的,“成功的测试是没有发现错误的测试等等是完全相反的。正确认识测试的目的是特别重要的,测试目的决定了测试方案的设计。假如为了表明程序是正确的而进行测试,就会设计一些不易暴露错误的测试方案;相反,假如测试是为了发现程序中的错误,就会力求设计出最能暴露错误的测试方案。由于测试的目的是暴露程序中的错误,从心理学角度看,由程序的编写者本人进行测试是不恰当的。因而,在综合测试阶段通常由其别人员组成测试小组来完成测试工作。此外,应该认识到测试决不能证实程序是正确的。即便经过了最严格的测试之后,仍然可能还有没被发现的错误潜藏在程序中。测试只能查找出程序中的错误,不能证实程序中没有错误。2.软件测试注意事项根据(软件开发规范)仔细检查软件的界面能否符合要求。每一个子界面也应如此其中,应注意提示信息和软件开发商信息能否正确。小的图标能否符合要求。检查菜单当中的各项功能和功能按钮能否能正确使用。根据(软件开发规范)和(用户需求)及(软件具体设计)设计测试用例。以边界值法、等价类划分法为主。对功能界面要求注意与功能相关的信息显示及显示位置能否正确。数据输入界面应注意文字格式及数字和文字的区别。能否能够正确保存信息。数据查询显示界面应注意显示信息能否正确和完好。能否能正确查询。对打印功能要求注意打印出的报表能否正确。包括报表各项信息、数据信息和报表字体等。这一项测试主要是对软件的错误处理功能进行测试。就是进行错误的操作或输入错误的数据,检查软件对这些情况能否能做出判定并予以提示。特殊情况下要制造极端状态和意外状态,比方网络异常中断、电源断电等情况。一定要注意测试中的错误集中发生现象,这和程序员的编程水安然平静习惯有很大的关系。对测试错误结果一定要有一个确认的经过。一般有A测试出来的错误,一定要有一个B来确认,严重的错误能够召开评审会进行讨论和分析。制定严格的测试计划,并把测试时间安排得尽量宽松,不要希望在极短的时间内完成一个高水平的测试。回归测试的关联性一定要引起充分的注意,修改一个错误而引起更多错误出现的现象并不少见。妥善保存一切测试经过文档,意义是不言而喻的,测试的重现性往往要靠测试文档。四.软件测试类型除非是测试一个小程序,否则一开场就把整个系统作为一个单独的实体来测试是不现实的。与开发经过类似,测试经过也必须分步骤进行,每个步骤在逻辑上是前一个步骤的继续。大型软件系统通常由若干个子系统组成,每个子系统又由很多模块组成。因而,大型软件系统的测试基本上由下述几个步骤组成:1.模块测试在设计得好的软件系统中,每个模块完成一个明晰定义的子功能,而且这个子功能和同级其他模块的功能之间没有互相依靠关系。因而,有可能把每个模块作为一个单独的实体来测试,而且通常比拟容易设计检验模块正确性的测试方案。模块测试的目的是保证每个模块作为一个单元能正确运行,所以模块测试通常又称为单元测试。在这个测试步骤中所发现的往往是编码和具体设计的错误。2.子系统测试子系统测试是把经过单元测试的模块放在一起构成一个子系统来测试。模块互相间的协调和通信是这个测试经过中的主要问题,因而这个步骤着重测试模块的接口。3.系统测试系统测试是把经过测试的于系统装配成一个完好的系统来测试。在这个经过中不仅应该发现设计和编码的错误,还应该验证系统确实能提供需求讲明书中指定的功能,而且系统的动态特性也符合预定要求。在这个测试步骤中发现的往往是软件设计中的错误,可以能发现需求讲明中的错误。不管是子系统测试还是系统测试,都兼有检测和组装两重含义,通常称为集成测试。4.验收测试验收测试把软件系统作为单一的实体进行测试,测试内容与系统测试基本类似,但是它是在用户积极介入下进行的,而且可能主要使用实际数据(系统将来要处理的信息)进行测试。验收测试的目的是验证系统确实能够知足用户的需要,在这个测试步骤中发现的往往是系统需求讲明书中的错误。五.黑盒测试方法黑盒测试(blackboxtesting)又称功能测试、数据驱动测试或基于规范的测试(即ec颠cationbasedtesting)。用这种方法进行测试时,被测程序被当作看不见内部的黑盒。在完全不考虑程序内部构造和内部特性的情况下,测试者仅根据程序功能的需求规范考虑确定测试用例和推断测试结果的正确性。因而黑盒测试是从用户观点出发的测试,黑盒测试直观的想法就是既然程序被规定做某些事,那我们就看看它是不是在任何情况下都做的对。完好的“任何情况是无法验证的,为此黑盒测试也有一套产生测试用例的方法,以产生有限的测试用例而覆盖足够多的“任何情况。由于黑盒测试不需要了解程序内部构造,所以很多高层的测试如确认测试、系统测试、验收测试都采用黑盒测试。黑盒测试首先是程序通常的功能性测试。要求:每个软件特性必须被一个测试用例或一个被认可的异常所覆盖。用数据类型和数据值的最小集测试。用一系列真实的数据类型和数据值运行,测试超负荷、饱和及其他“最坏情况的结果;用假想的数据类型和数据值运行,测试排挤不规则输入的能力;对影响性能的关键模块,如基本算法、应测试单元性能(包括精度、时间、容量等)。不仅要考核“程序应该做什么?还要考察“程序能否做了不该做的2同时还要考察程序在其他一些情况下能否正常。这些情况包括数据类型和数据值的异常等等。下述几种方法:(a)等价类划分,(b)因果图方法,(c)边值分析法,(d)猜错法,(e)随机数法,就是从更广泛的角度来进行黑盒测试。每一个方法都力图能涵盖更多的“任何情况,但又各有长处,综合使用这些方法,会得到一个较好的测试用例集。1.等价类划分等价类划分是一种典型的黑盒测试方法。等价类是指某个输入域的集合。它表示对揭露程序中的错误来讲,集合中的每个输入条件是等效的。因而我们只要在一个集合中选取一个测试数据即可。等价类划分的办法是把程序的输入域划分成若干等价类,然后从每个部分中选取少数代表性数据当作测试用例。这样就可使用少数测试用例检验程序在一大类情况下的反映。在考虑等价类时,应该注意区别下面两种不同的情况:有效等价类:有效等价类指的是对程序的规范是有意义的、合理的输入数据所构成的集合。在详细问题中,有效等价类能够是一个,可以以是多个。无效等价类:无效等价类指对程序的规范是不合理的或无意义的输入数据所构成的集合。对于详细的问题,无效等价类至少应有一个,可以能有多个。确定等价类有下面几条原则:假如输入条件规定了取值范围或值的个数,则可确定一个有效等价类和两个无效等价类。例如,程序的规范中提到的输入条包括“项数能够从1到999,则可取有效等价类为“l考项数999,无效等价类为“项数l,及“项数999。输入条件规定了输入值的集合,或是规定了“必须怎样的条件,则可确定一个有效等价类和一个无效等价类。如某程序涉及标识符,其输入条件规定“标识符应以字母开始则“以字母开始者作为有效等价类,“以非字母开始作为无效等价类。假如我们确知,已划分的等价类中各元素在程序中的处理方式是不同的,则应将此等价类进一步划为每个等价类规定一个唯一的编号;设计一个测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类。重复这一步,最后使得所有有效等价类均被测试用例所覆盖;设计一个新的测试用例,使其只覆盖一个无效等价类。重复这一步,使所有无效等价类均被覆盖。这里强调每次只覆盖一个无效等价类。这是由于一个测试用例中假如含有多个缺陷,有可能在测试中只发现其中的一个,另一些被忽视。等价类划分法能够全面、系统地考虑黑盒测试的测试用例设计问题,但是没有注意选用一些“高效的、“有针对性的测试用例。后面介绍的边值分析法能够弥补这一缺点。2.因果图等价类划分法并没有考虑到输入情况的各种组合。这样固然各个输入条件单独可能出错的情况已经看到了,但多个输入情况组合起来可能出错的情况却被忽略。采用因果图方法能帮助我们按一定步骤选择一组高效的测试用例,同时,还能为我们指出程序规范的描绘中存在什么问题。利用因果图导出测试用例需要经过下面几个步骤:分析程序规范的描绘中哪些是原因,哪些是结果。原因经常是输入条件或是输入条件的等价类。结果是输出条件。分析程序规范的描绘中语义的内容,并将其表示成连接各个原因与各个结果的“因果图。由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的。为表明这些特定的情况,在因果图上使用持殊的符号标明约束条件。把因果图转换成断定表。把断定表的每一列写成一个测试用例。3.边值分析法边值分析法是列出单元功能、输入、状态及控制的合法边界值和非法边界值,设计测试用例,包含全部边界值的方法。典型地包括IF语句中的判别值,定义域、值域边界,空或畸形输入,末受控状态等。边值分析法不是一类找一个例子的方法,而是以边界情况的处理作为主要目的专门设计测试用例的方法。另外,边值分析不仅考察输入的边值,也要考虑输出的边值。这是从人们的经历得出的一种有效方法。人们发现很多软件错误只是在下标、数据构造和标量值的边界值及其上、下出现,运行这个区域的测试用例发现错误的概率很高。用边值分析法设计测试用例时,有下面几条原则:假如输入条件规定了取值范围,或是规定了值的个数,则应以该范围的边界内及刚刚超出范围的边界外的值,或是分别对最大、最小及稍小于最小、稍大于最大个数作为测试用例。如有规范“某文件可包含l至255个记录“,则测试用例可选1和255及0和256等。针对规范的每个输出条件使用原则a。假如程序规范中提到的输入或输出域是个有序的集合(如顺序文件、表格等)就应注意选取有序集的第一个和最后一个元素作为测试用例。分析规范,尽可能找出可能的边界条件。一个典型的边值分析例子是三角形分类程序。选取a,b,c构成三角形三边,“任意两边之和大于第三边为边界条件。边值分析相等价类划分侧重不同,对等价类划分是一个补充。如上述三角形问题,选取a3,b4,c5a2,b4,c7则覆盖有效和无效等价类。假如能在等价类划分中注入边值分析的思想。在每个等价类中不只选取一个覆盖用例,而是进而选取该等价类的边界值等价类划分法将更有效,最后能够用边值分析法再补充一些测试用例。4.猜错法猜错法在很大程度上是凭经历进行的,是凭人们对过去所作的测试工作结果的分析,对所揭示的缺陷的规律性作直觉的揣测来发现缺陷的。一个采用两分法的检索程序,典型地能够列出下面几种测试情况:被检索的表只要一项或为空表;表的项数恰好是2的幂次;表的项数比2的幂次多1等。猜错法充分发挥人的经历,在一个测试小组中群策群力,方便实用,十分在软件测试基础较差的情况下,很好地组织测试小组(可以以有外来人员)进行错误猜想,是有效的测试方法。5.随机数法即测试用例的参数是随机数。它能够自动生成,因而自动化程度高。使用大量随机测试用例测试通过的程序会提高用户对程序的自信心。但其关键在于随机数的规律能否符合使用实际。六.白盒测试方法白盒法测试,是以程序的内部逻辑为基础,有选择地执行程序中最有代表性的通路。因而,白盒法也叫逻辑覆盖法(bgicMM阴e)。最彻底的逻辑覆盖法,是覆盖程序巾的诲一条通路。但当程序中含有大量循环时,要执行每一条通路是44可能的。因而,我们只能寄希望于程序的覆盖度尽可能高一些。目前常用的一些覆盖标准有:语句覆盖、断定覆盖、条件澄盖、断定涤件覆盖、条件组合覆盖、途径覆盖等。白盒法考虑的是测试用例对程序内部逻辑的覆盖程度,所以又称为逻辑覆盖法。最彻底的白盒法是覆盖程序中的每一条途径,但这不可能,我们希望覆盖的途径尽可能多一些。为了衡量测试的覆盖程度,需要建立一些标准,目前常用的一些覆盖标准是:(1)语句覆盖;(2)断定覆盖;(3)条件覆盖;(4)断定条件覆盖;(5)条件组合覆盖。1.语句覆盖程序的某次运行一般并不能执行到其中的每一个语句,因而,假如某语句含有一个错误,而它在测试中没执行,这个错误就不可能被发现。为了提高发现错误的可能性,应该在测试时至少要执行程序中的每一个语句。所谓“语句覆盖测试标准,它的含义是:选择足够的测试用例,使得程序中每个语句至少都能执行一次。例子:ProcedureExample(VarA,B,C:real)beginif(A>1)and(B=0)thenx:=x/A;if(A=2)or(x>1)thenx:=x+lend;为了使程序中每个语句至少执行一次,只需设计一个能通过途径ace的例子就能够了。例如选择输入数据为:A=2,B=0,x=3就可到达“语句覆盖标准。显然,语句覆盖是一个比拟弱的覆盖标准。假如第一个条件语句中的and错误地写成or,上面的测试用例是不能发现这个错误的,或者是第二个条件语句中x>1误写成x>0,这个测试用例也不能暴露它。我们还能够举出很多错误情况是上述测试数据不能发现的。所以,一般以为“语句覆盖是很不充分的最低的一种覆盖标准。2.断定理盖比“语句覆盖稍强的覆盖标准是“断定覆盖(或称分支覆盖)。这个标准是:执行足够的测试用例,使得程序中每个断定至少都获得一次“真值和“假值,即便得程序中的每一个分文至少都通过一次。对上面那个例子,假如设计两个测试用例,就能够到达“断定覆盖的标难。为此,我们能够选择输人数据为:(1)A=3,B=0,x=l

    注意事项

    本文(软件测试规范书.docx)为本站会员(安***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开