ISTQB测试设计技术
作者:互联网
测试开发过程
测试设计技术类型
黑盒测试技术的定义
黑盒测试技术是基于系统功能或非共功能规格说明来设计或者选择测试用例的技术,不涉及软件内部结构;
黑盒测试技术包括哟基于规格说明的测试技术和基于经验的测试技术;
有的时候,黑盒测试技术又被称为基于规格说明的测试技术;
基于规格说明测试技术的特征
使用正式或非正式的模型来描述需要解决的问题、软件或组件等;
根据这些模型,可以系统地导出测试用例;
基于经验的测试技术的特征
测试用例根据参与人员的经验和知识来编写;
测试人员、开发人员、用户和其他的利益相关者对软件、软件使用和环境等方面所掌握的知识;
对可能催在的缺陷及其分布情况的了解;
黑盒测试技术的分类
等价类技术的分类
边界值分析
决策表测试
状态转换测试
基于经验的测试
白盒测试技术的定义
★白盒测试技术是通过分析组件/系统的内部结构来产生和/或选择测试用例的技术;
★白盒测试技术,有时候又叫做结构化测试技术或者基于结构的测试技术,或者基于代码的测试技术;
★白盒测试技术需要熟悉源代码和详细的设计文档,并且以它们作为测试用例设计的输入;
白盒测试技术的环境
★桩模块:一个软件组件框架的实现或特殊目的实现,用于开发和测试另一个调用或依赖于该组件的组件。它代替了被调用的组件
★驱动模块:代替某个软件组件来模拟控制和/或调用其他组件或系统的软件或测试工具;
白盒测试技术的特征
★根据软件的结构信息设计测试用例,比如软件代码和软件设计;
★可以通过己有的测试用例来测量软件的测试覆盖率,并通过白盒测试技术来系统化的导出设计用例,从而提高覆盖率;
白盒测试技术的分类
★语句覆盖
★判定覆盖
★条件覆盖
★多重条件覆盖
★路径覆盖
为什么黑盒测试和白盒测试
★黑盒测试技术只是观察程序的输入/输出行为。测试对象的功能是我们关注的重点。黑盒测试技术经常应用在级别比较高的测试中,尽管也应用在单元测试中,比如测试优先编程、测试驱动开发等;
★白盒测试技术考虑了测试对象的内部结构(单元层次、控制流和数据流等)。白盒测试技术一般应用在低级别的测试,比如单元测试和集成测试;
等价类划分技术的定义
等价类划分技术把所有可能的输入数据,即软件或者系统的输入域划分成若千部分,然后从每一部分中选取少数有代表性的数据做为测试用例的输入数据!
等价类划分技术可以应用在所有的测试级别中!
等价类的含义
等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的。测试某等价类的代表值就等价于对这一类其它值的测试!
从测试人员的角度,等价类对揭露软件或者系统中的缺陷来说,集合中的每个输入条件是等效的!
等价类的类型
有效等价类:是指对于软件或者系统的规格说明来说,是合理的,有意义的输入数据构成的集合!
无效等价类:是指对于软件或者系统的规格说明来说,是不合理的,无意义的输入数据构成的集合!
在设计测试用例时,要同时考虑有效等价类和无效等价类的设计!
边界值分析的定义
边界值分析就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界!
边界值分析方法需要测试边界值以及离边界值最近的上下两个值(等价类里面的值和等价类外面的值)。因此,通常情况下,对于边界值,一般可以得到3个测试用例!
状态转换测试定义
★测试对象的输出和行为方式不仅受当前输入数据的影响,同时还与测试对象之前的执行情况,或者之前的事件或以前的输入数据等有关;
★通过引入状态图(state diagram)来描述测试对象和测试数据、对象状态之间的关系;
★状态图中的各个状态是通过不同的事件驱动的,比如函数的调用;
★基于状态图开展的测试称之为状态转换测试;
决策表测试的定义
决策表测试是分析和表达多逻辑条件下执行不同操作的情况的工具!
决策表能够将复杂的问题按照各种可能的情况全部列举出来,简单并避免遗漏。因此,利用决策表能够设计出完整的测试用例集合;
在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。决策表很适合于处理这类问题;
决策表组成的定义
条件桩:列出了问题的所有条件。通常认为列出的条件的次序无关紧要;
动作桩:列出了问题规定可能采取的操作。这些操作的排列顺序没有约束;
条件项:列出针对它左列条件的取值。在所有可能情况下的真假值;
动作项:列出在条件项的各种取值情况下下应该采取的动作;
决策表测试规则
任何一个条件组合的特定取值及其相应要执行的动作就称为规则;
在决策表中贯穿条件项和动作项的一列就是一条规则;
决策表中列出多少组条件取值,也就有多少条规则,既条件项和运动项有多少列;
决策表测试应用
规格说明以决策表形式给出,或很容易转换成决策表;
条件的排列顺序不会也不影响执行哪些操作;
规则的排列顺序不会也不影响执行哪些操作;
每当某一规则的条件已经满足,并确定要执行的操作后不必检验别的规则;
如果某一规则得到满足要执行多个操作,这些操作的执行顺序无关紧要;
决策表测试测试用例
从决策表的每一列可以清楚地看到条件及其输入的依赖关系,以及由这些输入组合得到的相应的输出动作和结果;
决策表定义了逻辑测试用例,为了执行这些测试用例,必须输入具体的数据值并且标识前置条件和后置条件;
用例测试定义
通过用例或业务场景来设计测试,用例描述了参与者之间的相互作用,并从这些交互产生一个从用户的角度所期望和能观察到的结果;
每个用例都有测试前置条件,这是用例成功执行的必要条件。每个用例结束后都存在后置条件,这是在用例执行完成后所能观察到的结果和后置条件,这是在用例执行完成后能观察到的结果和系统的状态;
测试用例必要信息
开始情况和前置条件;
其他可能的条件;
期望结果;
后置条件;
其他黑盒测试技术
随机测试
随机选择数据作为测试用例的值;
冒烟测试
冒烟测试通常被理解为“快速且脏”的测试,主要的目的是验证测试对象的最低要求的可靠性;
冒烟测试主要集中在测试对象的主要功能上,不会对测试的输出进行详细的评估;
白盒测试技术
代码覆盖的含义
白盒测试技术的基础是测试对象的代码,因此也称之为基于代码的测试技术或者基于结构的测试技术;
基于代码的测试技术,其代码覆盖可以基于不同的对象进行判断,比如基于语句的语句判断、基于分支的分支判断等;
白盒测试技术的测试期望结果应该是根据需求或规格说明来确定的,而不是代码本身来确定;
语句覆盖的含义
语句覆盖就是设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次;
语句覆盖的第一步是将源代码转换为控制流图。控制流图可以比较值观而详细地描述需要覆盖的语句;
测试强度的定义
所有白盒技术的基础是源代码,可以根据程序结构的复杂程度,选择和应用适当的测试用例设计技术;
根据源代码和选择的技术,比如语句覆盖、分支覆盖、条件覆盖、判定-条件覆盖等,可以确定测试的强度;
白盒测试技术一般应用在低级别的测试中,在高级别的测试中,一般不关注程序的代码!
白盒技术的不足
白盒技术并不能发现需求没有实现或者需求遗漏的问题。白盒技术只能验证存在的代码,即程序中已实现的需求,而无法检查出应该在系统中实现而未实现的部分。因此,查找遗漏需求需要其他测试设计技术,比如高级别的测试(系统测试等)或者通过静态测试方式!
白盒测试技术一般应该有工具的支持,完全通过人工的方式几乎不可能实现覆盖的目标!
基于经验的技术
基于直觉和经验的技术
测试基础文档不全或者不完善;
基于测试人员你的技术、知识和经验;
可以作为系统化测试用例设计的补充,它可以发现一些运用系统化方法进行测试时无法发现的问题;
基于直觉和经验的测试用例设计方法不能简单地归类为黑盒测试或白盒测试技术。这一技术应用在比较高测试级别上;
测性测试定义
测性测试是软件测试的一种,他强调测试人员的自由和主管能动性,在软件生命周期过程中,通过同步的测试学习、测试设计和测试执行来优化测试人员的价值!
测性测试目的
Burst of testing触发测试的原因可以是:学习产品、选择覆盖内容、确定测试准则、配置测试系统、操作测试系统、观察被测系统、评估被测系统、组织要求等;根据不同的条件,来确定测试什么、什么时候开始测试,以及如何测试!
一个测试用例执行的结果会影响后续测试用例的设计和执行;
测试期间,未测试的程序构建一个模拟的模型。模型中包含程序是如何工作的,以及它的行为如何或者它应该产生怎样的行为;
测试应该针对这个模型进行运行。关注点是发现模型中没有的或者与以前发现的不一样的程序信息和行为;
标签:决策表,白盒,技术,等价,测试用例,测试,ISTQB,设计 来源: https://www.cnblogs.com/Liu-xy-java/p/15626538.html