6 错误推测法
- 格式:pptx
- 大小:2.02 MB
- 文档页数:30
功能测试(黑盒测试)常用的策略和方法黑盒测试(Black-box Testing,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。
利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。
采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。
黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件.黑盒测试并不是白盒测试的替代品,而是用于辅助白盒测试发现其他类型的错误。
黑盒测试试图发现以下类型的错误:1)功能错误或遗漏;2)界面错误;3)数据结构或外部数据库访问错误;4)性能错误;5)初始化和终止错误。
一、黑盒测试的测试用例设计方法·等价类划分方法·边界值分析方法·错误推测方法·因果图方法·判定表驱动分析方法·正交实验设计方法·功能图分析方法等价类划分:是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。
该方法是一种重要的,常用的黑盒测试用例设计方法.1)划分等价类:等价类是指某个输入域的子集合。
在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。
并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试。
因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,就可以用少量代表性的测试数据.取得较好的测试结果.等价类划分可有两种不同的情况:有效等价类和无效等价类.有效等价类:是指对于程序的规格说明来说是合理的,有意义的输入数据构成的集合.利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。
无效等价类:与有效等价类的定义恰巧相反.设计测试用例时,要同时考虑这两种等价类。
因为,软件不仅要能接收合理的数据,也要能经受意外的考验.这样的测试才能确保软件具有更高的可靠性。
3.错误推测法1. 概念 在软件测试活动中,⼈们可以依靠经验和直觉推测系统中可能存在的各种错误,从⽽有针对性地编写检查这些错误的例⼦,这就是错误推测法。
错误推测法是依赖对被测软件系统设计的理解、过往经验、直觉和简单的判断,来推测程序中可能存在的各种缺陷,从⽽有针对性地设计测试⽤例的⽅法。
该⽅法强调的是对被测试软件的需求理解以及设计实现的细节把握,当然还有个⼈的能⼒。
那么显⽽易见地,这个⽅法的缺点就是太过依赖个⼈能⼒,难以系统化。
因此,这个⽅法⼀般是作为测试⽤例设计的补充,⽽不是单独⽤来设计测试⽤例。
2. 常见错误类型 错误推测法的基本思想是:列举程序中所有可能出现的错误和容易出现错误的地⽅,作为推测的依据来选择和设计测试⽤例。
常见错误⼤概有以下⼏⼤类:1. 规范相关a.命名、注释、字体、颜⾊、缩进等b.⽂本框长度/范围限制c.⽀持的浏览器、操作系统、jdk等做兼容性测试d....等等2. 常识性问题a. 密码⽤密⽂b. ⼿机号码是11位,且是135、151、153、171等开头c. ⽂本框⾃动忽略前后空格d. ⽀持模糊查询e....等等3. 常见的异常测试情况a.输⼊框不输⼊任何内容(为空)或者输⼊空格的情况b.输⼊框输⼊⾮法字符c.⽤户注销后,是否仍然能操作;再登录是否能成功d.断电重连后是否能继续使⽤且信息未丢失e....等等4.功能相关的常见异常问题a.C++软件的内存泄漏、内存分配b.web程序的session失效问题c.JavaScript字符转义d...等等与需求/业务相关的常见问题3. 影响错误推测法测试⽤例设计的因素在错误推测法中,通常依据下列因素来进⾏判断和设计测试⽤例。
a.客观因素:产品先前版本的问题b.已知因素:语⾔、操作系统、浏览器的限制可能带来的兼容性等问题c.经验:利⽤不同测试阶段的经验和对测试软件的需求理解以及设计实现的细节来整理归纳的测试点在软件企业的具体实践中,为了降低对个⼈能⼒的依赖,就需要做下列事情:a.建⽴常见缺陷知识库或者常见问题集,在测试设计的过程中,会使⽤缺陷知识库作为检查点列表(checklist),去帮助优化补充测试⽤例的设计。
一:选择题1.软件测试的目的是(发现软件错误)。
2.软件测试中白盒法是通过分析程序的(内部逻辑)来设计测试用例的。
3.黑盒法是根据程序的(功能)来设计测试用例的。
4.为了提高软件测试的效率,应该(选择发现错误可能性最大的数据作为测试用例5.与设计测试用例无关的文档是(项目开发计划)。
6.测试的关键问题是(如何选择测试用例)。
7.软件测试用例主要由输入数据和(预期输出结果)两部分组成。
8.成功的测试是指运行测试用例后(发现了程序错误)。
9.下列几种逻辑覆盖标准中,查错能力最强的是(条件组合覆盖)10.在黑盒测试中,着重检查输入条件组合的方法是(因果图法)。
11.单元测试主要针对模块的几个基本特征进行测试,该阶段不能完成的测试是(系统功能)。
12.软件测试过程中的集成测试主要是为了发现( c )阶段的错误。
BA)需求分析B)概要设计C)详细设计D)编码13.不属于白盒测试的技术是( d )。
A)路径覆盖B)判定覆盖C)循环覆盖D)边界值分析14.集成测试时,能较早发现高层模块接口错误的测试方法为(a)。
A)自顶向下渐增式测试B)自底向上渐增式测试C)非渐增式测试D)系统测试15.确认测试以(需求规格说明书)文档作为测试的基础。
16.使用白盒测试方法时,确定测试数据应根据(a )和指定的覆盖标准。
A)程序内部逻辑B)程序的复杂度C)使用说明书D)程序的功能17.程序的三种基本结构是(顺序、选择、循环18.结构化程序设计的一种基本方法是(d )A)筛选法B)递归法C)归纳法D)逐步求精法19.软件调试的目的是(找出错误所在并改正之)20.程序三种基本结构的共同特点是( d )A)不能嵌套使用B)只能用来写简单程序C)已经用硬件实现D)只有一个入口和一个出口21.下面说法正确的是( c )。
A)经过测试没有发现错误说明程序正确B)测试的目标是为了证明程序没有错误C)成功的测试是发现了迄今尚未发现的错误的测试D)成功的测试是没有发现错误的测试22.覆盖准则最强的是( d )。
注释:黄色表示重复或相似一、选择题1.软件测试的目的是(B )A.避免软件开发中出现的错误B.发现软件中出现的错误C.容忍软件中出现的错误D.修改软件中出现的错误2.对于逻辑表达式((a&b)| |c),需要(C )个测试用例才能完成条件组合覆盖。
A.2B.3C.4D.53.逻辑覆盖法不包括(C )。
A.分支覆盖B.语句覆盖C.需求覆盖D.修正条件判定覆盖4.如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了该软件的(A )。
A.判定覆盖B.条件覆盖C.判定/条件覆盖D.组合覆盖5.使用白盒测试方法时,确定测试数据的依据是指定覆盖标准和(B )。
A.程序的注释B.程序的内部逻辑C.用户使用说明书D.程序的需求说明6.划分软件测试属于白盒测试还是黑盒测试的依据是(C )。
A.是否执行程序代码B.是否能看到软件设计文档C.是否能看到被测源程序D.运行结果是否确定7.单元测试中用来模拟被测模块调用者的模块是(C )A.父模块B.子模块C.驱动模块D.桩模块8.不属于单元测试内容的是(A )A.模块接口测试B.局部数据结构测试C.路经测试D.用户界面测试9.客户端交易处理性能指标是一类重要的负载压力测试指标,以下不属于客户端交易处理性能指标的是(C )A.负载测试B.压力测试C.疲劳强度测试D.大数据量测试10.以下不属于易用性而的是(D )A.功能易用性测试B.用户界面测试C.辅助功能测试D.可靠性测试11.软件测试的目的是(F )E.避免软件开发中出现的错误F.发现软件中出现的错误G.容忍软件中出现的错误H.修改软件中出现的错误12.软件的测试对象包括(D )。
A.软件代码B.文档C.数据D.以上全选13.对于逻辑表达式((a&b)| |c),需要(G )个测试用例才能完成条件组合覆盖。
E.2F.3G.4H.514.如果某测试用例集实现了某软件的路径覆盖,那么它一定同事实现了该软件的(E )。
软件测试中的可靠性测试技巧在软件开发过程中,测试是确保软件质量的重要环节之一。
可靠性测试是软件测试的一个关键方面,旨在验证软件在稳定性、可靠性和可用性方面的表现。
在本文中,我们将介绍一些常用的可靠性测试技巧,以帮助开发人员和测试人员有效地测试软件的可靠性。
一、错误推测法错误推测法是一种基于错误推测的可靠性测试技巧。
它通过评估系统中的错误是否能够被检测到和修复来评估软件的可靠性。
这种方法通常从分析软件系统中可能出现的错误类型开始,然后开发对应的测试案例来推测这些错误是否能够被正确检测到。
通过这种测试方法,开发人员能够了解软件在各种错误情况下的表现,从而改进软件的可靠性。
二、边界值分析法边界值分析法是一种通过测试边界情况来评估软件可靠性的测试技巧。
在软件开发过程中,边界条件通常是造成错误的主要原因之一。
边界值分析法通过选择接近边界值的输入来测试系统的稳定性和可靠性。
对于每一个边界条件,测试人员需要开发相应的测试案例来验证系统在边界条件下的表现。
通过这种方法,测试人员可以发现软件在处理边界值时可能出现的错误,并采取相应的措施来提高软件的可靠性。
三、故障注入法故障注入法是一种通过故意引入错误来评估软件可靠性的测试技巧。
这种方法通过在软件中故意添加错误,例如添加错误的输入或者修改软件的源代码,然后测试软件的表现。
通过这种方法,开发人员和测试人员可以了解软件在出现错误时的应对能力,并采取相应的措施来改进软件的可靠性。
然而,使用故障注入法需要谨慎,确保测试环境的稳定性和数据安全性。
四、压力测试压力测试是一种通过对软件系统施加各种压力来评估软件可靠性的测试技巧。
在软件开发过程中,系统在高负载下的表现通常是测试重点之一。
压力测试可以通过模拟实际使用情况下的负载来测试软件的可靠性。
测试人员可以通过增加并发用户数、增加数据量、延长测试时间等方式来施加压力。
通过这种测试方法,测试人员可以评估软件在高负载情况下的性能、稳定性和可靠性,并采取相应的优化措施。
软件测试⽅法--错误推测法
什么是错误推测法
错误推测法是指利⽤直觉和经验猜测出出错的可能类型,有针对性列举出程序中所有可能的错误和容易发⽣错误的情况,它是测试经验丰富的测试⼈员喜欢使⽤的⼀种测试⽤例设计⽅法。
基本思想
基本思想是列举出可能犯的错误或错误易发⽣的清单,然后根据清单编写测试⽤例;
这种⽅法很⼤程度上是凭经验进⾏的即凭⼈,们对过去所作测试结果的分析,对所揭⽰缺陷的规律性作直觉的推测来发现缺陷
使⽤场景
项⽬紧任务急、时间不够,这时就不要按部就班的测试了,
根据之前项⽬的经验,找到之前出错过的类似模块进⾏重点测试;
所有正常测试结束后,通过错误推断法再测试⼀些之前出过问题的模块。