测试方法

时间:2021-08-05
本文章向大家介绍测试方法,主要包括测试方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

测试用例的设计方法不是单独存在的,具体到每个测试项目里都会用到多种方法,每种类型的软件有各自的特点,每种测试用例设计的方法也有各自的特点,针对不同软件如何利用用例设计方法是非常重要的。在实际测试中,往往是综合使用各种方法才能有效地提高测试效率和测试覆盖率。这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效地提高测试水平。

以下是各种测试方法选择的综合策略:

综上所述,测试用例的设计与测试方法的选取,需要根据实际项目来选择,单独使用某种方法或生搬硬套是不可行的,我们只有在掌握各种理论知识后,灵活加以选择应用,才能达到最好的效果。

下面具体介绍一下这些设计测试用例的方法:

1.首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效的方法。
2.在任何情况下都必须使用边界值分析方法,经验表明,用这种方法设计出的测试用例发现程序错误的能力最强。
3.可以用错误推测法追加一些测试用例,这需要靠测试工程师的智慧和经验。
4.对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度,如果没有达到要求的覆盖标准,应当再补充足够的测试用例。
5.如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法和判定表驱动法。
6.对于参数配置类软件,要用正交法选择较少的组合方式达到最佳效果。
7.状态图法(功能图)也是很好的测试用例设计方法,我们可以通过不同时期条件的有效性设计不同的测试数据。
8.对于业务流程清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各种测试方法。

一、等价类划分法
最典型的黑盒测试方法;要对需求说明书中的各项需求,尤其是功能需求进行细致分析;把程序的输入划分成若干个部分,从每个部分中选取少数代表性数据作为测试用例。

根据功能需求中各个输入条件划分为等价类和非等价类。

1. 有效等价类:对程序的规格说明有意义,合理的输入数据所构成的集合

2. 无效等价类:对程序的规格说明无意义或不合理的输入数据所构成的集合

等价类的假设和核心要点:

假设1:如果一个测试用例能够捕获(发现)缺陷,那么选择该等价类中的其他测试用例也能够捕获(发现)该缺陷。

假设2:如果一个测试用例不能捕获(发现)缺陷,那么选择该等价类中的其他测试用例也不能捕获(发现)该缺陷。(这就是为什么可以选择典型)

等价类划分典型参考:

1.输入条件是必须成立的情况,可以划分为一个有效,一个无效。(标识符首字符必须为字母。是或不是)
2.输入条件是取值范围,可以划分为一个有效,二个无效等价类。(输入值必须在-99~99之间)
3.输入条件是布尔量,确认一个有效,一个无效等价类。(穷举测试了)
4.若已划分的某等价类中的各个元素在程序中的处理方式不同,则应该将此等价类进一步分为更小等价类。(正数、负数处理方式不同)
5.规定了输入数据必须遵守的规则,可以划分一个有效,若干无效等价类。(二位正数加法中,小数、字母、特殊字符等输入为无效等价类)
6.规定了输入值的集合,而且程序对每个值进行不同处理。为每个值确认一个有效等价类,其他为无效等价类。(交通工具类型公交车、出租车)

二、 边界值方法
选取正好等于、刚刚大于、刚刚小于边界的值作为测试数据,重点测试最后一个肯定合法的数据和刚刚超过边界的非法数据。

通常和等价类一起使用,产生一套完整的测试用例;等价类划分是从等价区间中选取代表性的值,而边界值的重点是等价区间的边界值,正好边界值是等价区间中最具代表性的值。

三、因果图
形式化的语言,不仅描述了原因和结果之间的关系,也描述了各个原因之间、各个结果之间复杂关系的组合。因是程序的输入条件,而果则是程序的输出。

使用因果图设计测试用例:

1) 分析被测应用,确认原因(输入)和结果(输出)。

2) 确定因果逻辑关系。找出输入和输出之间的逻辑关系。

3) 确定约束关系。原因与原因之间,结果之间约束限制。

4) 把因果图转换为判定表。

5) 根据约束条件简化判定表,并给出结果。

6) 设计测试用例

四、正交试验法
研究多因素、多水平的一种设计方法,它是根据正交性从全面试验中挑选出部分有代表性的点进行试验,这些有代表性的点具备了“均匀分散,齐整可比”的特点,是一种高效率、快速、经济的设计方法。

为什么使用正交试验法:

对于单因素或两因素试验,因其因素少,试验的设计、实施与分析都比较简单。但在实际工作中,常常需要同时考察3个或3个以上的试验因素,若进行全面试验,试验的规模很大,由于时间和成本的限制我们不可能进行全面试验,但是具体挑出其中的哪些测试用例进行测试我们心里拿不准,总担心不做不挑选的那些测试用例会遗漏一些严重缺陷,为了有效的、合理地减少测试的工作时间与费用,我们利用正交试验法来设计测试用例。正交试验法就是安排多因素试验,寻求最优水平组合的一种高效率的试验设计方法。

五、状态图:(Statechart Diagram)
描述一个实体基于事件反应的动态行为;描述的是一种动态说明,它由输入条件和当前状态共同决定输出数据和后续状态;关注程序所处的不同状态,以及状态之间的转换。

使用状态图法主要是对系统的较高层次状态进行分析,而不是细节状态。

设计用例的步骤:

1.分析需求后列出被测系统所有输入事件;

2.找出一个初始状态,这个基础上加上所有可能的输入事件,会产生一些新的状态;

3.先分析上一个状态完成后再分析下一状态,直到所有状态都分析完。

4.把测试用例表转换为测试用例(根据实际情况补充一些测试用例)

六、场景法
首先要列出基本流和备选流。(事件触发来控制流程,事件触发形成场景,事件触发的顺序和处理结果形成事件流。)

关注的是程序所执行的流程,也就是触发状态变化的事件顺序。

1) 基本流:指的是基本流程,主要的流程,关键的流程。

2) 备选流:指的是程序中其它的分支流程。

3) 场景法设计用例:

1.根据需求说明书,描述出程序的基本流及各项备选流;

2.根据基本流和各项备选流生成不同的场景。

3.对每个场景生成相应的测试用例。

4.对生成的所有测试用例重新复审,去掉多余的测试用例,测试用例确定后,对每个测试用例确定测试数据。

七、错误推测法
在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对地编写检查这些错误的测试用例的方法。(对程序的流程非常熟悉,测试经验丰富,工作时间长)。

基本思路:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据它们选择测试用例。例如:在单元测试时曾列出的许多在模块中常见的错误,以前产品测试中曾经发现的错误等,这些都是经验的总结。还有输入数据和输出数据为0的情况,输入表格为空格或输入表格只有一行,这些都是容易发生错误的情况,可选择这些情况下的例子作为测试用例。

总之,就是进行错误的操作,说白了就是根据经验补充一些特殊的测试用例。

八、判定表法
分析和表达多逻辑条件下执行不同操作的情况的工具。

1) 四个部分:

1.条件桩(condition Stub):列出了问题的所有条件,通常认为列出的条件的次序无关紧要;

2.动作桩(Action Stub):列出了问题可能采取的操作,这些操作的排列顺序没有约束;

3.条件项(Condition entry):列出针对它左列条件的取值,在所有可能情况下的真假值;

4.动作项(Action Entry):列出在条件项的各种取值情况下应该采取的动作。

2) 建立步骤:

1.确定规则的个数,假如有n个条件。每个条件有两个取值(0,1),故有2的n次方种规则;

2.列出所有的条件桩和动作桩;

3.填入条件项;

4.填入动作项,得到初始判定表;

5.简化,合并相似规则(相同动作)

3) 优点:能够将复杂的问题按照各种可能的情况全部列出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作,判定表很适合处理此类问题。

这篇文章主要介绍了设计测试用例的黑盒八大法,后面会陆续给一些案例详细介绍其用法。

自己总结的方法

1,责任落实大法;需求人员往往考虑的都是明面上的需求,但是后面隐藏的东西很多;如删除的东西,是否需要有记录是谁操作的。

原文地址:https://www.cnblogs.com/hjf001/p/15104231.html