测试用例常见的7种设计方法

         设计方法对测试用例设计非常重要,可以帮助测试人员考虑各种可能的情况和边界条件,合理分配测试资源,并从不同角度和维度考虑系统的功能和性能,从而设计出更全面,更具代表性和切实可行的测试用例,提高测试的覆盖率和效率。

        如果没有使用科学的设计方法进行测试用例的设计,可能会导致:测试用例覆盖不全面,测试效率低下,浪费测试资源,遗漏潜在问题和缺陷等问题,造成软件系统的不稳定性。

        因此我们需要重视设计测试用例方法,而常见的设计测试用例方法有以下7种:

        1、等价类划分法

        等价类划分是将测试范围划分为几个互不相交的子集,它们的并集是全集,从每个子集选出若干具有代表性的值作为测试用例。

等价类划分为:有效等价类和无效等价类,输入合理有意义可接受的,为有效等价;反之为无效等价。

测试用例常见的7种设计方法_第1张图片 等价类划分法

        采用等价类划分法设计测试用例的步骤如下:

        (1)确定等价类:有效等价类,无效等价类;

        (2)选取等价类的代表数据;

        (3)给等价类编号,并设计测试用例;

        2、边界值分析法

        一般来说,边界值分析法与等价类划分法组合使用,日常工作经验告诉我们,较多的错误往往发生在输入或输出范围的边界上,因此我们需重点针对各种边界情况设计测试用例,以便发现更多错误。

测试用例常见的7种设计方法_第2张图片 边界值分析法

        边界值分析方法的应用规则:

        (1)如果需求规定了取值范围:[4,12],边界值取:4,12,3,13,5;

        (2)如果需求规定了取值的个数,比如4件商品5折,边界值取:3,4,5;

        3、场景设计法/流程分析法

        此方法主要用于测试软件的业务流程和业务逻辑,我们需尽可能真实的模拟用户在使用软件时的各种情景。

        一般场景设计有三个流程:基本流、备选流和异常流。

        基本流是通过业务流程输入都为正确的,能够最后达到目标的流程;备选流是通过实现业务流程时,因错误操作或异常输入,导致流程存在反复,但最终能够完成期望业务的流程;异常流是通过实现业务流程时,因错误操作或异常输入导致业务没有正确完成。

测试用例常见的7种设计方法_第3张图片 场景设计法

        场景法设计用例的步骤:

        (1)理解需求,确定业务流程(基本流、备选流、异常流);

        (2)绘制流程图,再次明确流程路径;

        (3)根据业务流程图,抽取测试路径,每次路径需包含一个从未走过的路径;

        (4)细化路径设计测试用例;

        此方法需重点模拟两类操作:用户正确的业务操作流程和用户错误的业务操作流程。需要注意:此方法本身不校验单个功能节点的正确性,只关心流程能否走通。因此需使用其他方法保证单个功能的正确性。

        4、错误推断法

        此方法是指测试人员根据直觉或经验,推测程序中可能存在的和容易发生错误的情况,从而有针对性地编写测试用例。

        此方法没有固定的形式,具有高度主观性,对测试人员能力要求较高。其相比其他方法产生的测试集合,更容易发现缺陷。

测试用例常见的7种设计方法_第4张图片 错误推断法

        5、判定表法

        判定表是通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。该方法适用于逻辑判断复杂的场景,是功能测试中最严密的测试方法,又称为策略表法。

        判定表是有由条件桩、条件项、动作桩、动作项四部门组成。条件桩:系统的所有输入;条件项:针对有所有条件桩的取值;动作桩:系统可能采取的操作;动作项:根据动作桩取值情况下应采取的动作。而动作项和条件项组合一起,形成业务逻辑处理规则。

测试用例常见的7种设计方法_第5张图片 判定表法

        判定表法的设计用例的步骤:

        (1)确定条件桩和动作桩;

        (2)设计和优化判定表;

        (3)填写动作项;

        (4)提取测试用例。

        如以此需求为例:如果手机欠费或是停机,不允许主被叫。那么判定表如下:

测试用例常见的7种设计方法_第6张图片 判定表法

        6、因果图法

        因果图法是通过画图的方式来表示输入条件(因)和输出结果(果)之间的约束关系。此方法适用于输入情况有各种组合,或各个输入和输出之间有相互制约关系。

        一般来说,输入与输出之间的关系有:恒等、与、或、非;输入与输入之间的关系有:异、或、唯一、要求。

测试用例常见的7种设计方法_第7张图片 因果图法

        因果图法的设计用例步骤:

        (1)根据需求文档确定输入与输出;

        (2)根据输入与输入、输入与输出的关系,画出因果图;

        (3)画出判定表,根据因果图,得到最终的判定表;

        (4)根据判定表得到用例规则,细化用例;

        如以此需求为例:如果第1列是A或是B,第2列是数字,则修改文件;如果第1列不正确,则给出M;如果第2列不正确,则给出L;

测试用例常见的7种设计方法_第8张图片 因果图法

        7、正交试验法

        此方法是从大量试验点中挑选出的具有适量、代表性的点,应用依据伽罗瓦理论导出的“正交表”。它是一种成对测试交互的系统统计方法,提供了一种能对所有变量对的组合进行典型覆盖(均匀分布)的方法。

        正交表的主要特征是,“均匀分布,整齐划一”,正是因为“均匀”的,所以才能以少数代替全部。

测试用例常见的7种设计方法_第9张图片 正交试验法

        利用正交试验法设计用例的步骤:

        (1)提取功能说明,构造因子–状态表。

        (2)加权筛选,生成因素分析表。对因子与状态的选择可按其重要程度分别加权,可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。

        (3)画出布尔图

        如果各个因子的状态数是不统一的,几乎不可能出现均匀的情况,必须先用逻辑命令来组合各因子的状态,作出布尔图。

测试用例常见的7种设计方法_第10张图片 正交试验法 布尔图

        (4)根据布尔图选择最接近的相应阶数的正交表。

        (5)将实际的因子和状态带入正交表中,得到最终的正交表。

        (6)利用正交表每行数据构造测试用例。在使用实际因子和状态替换过的正交表中的每一行,选择数据构造测试用例即可。

        另外,为了快速提高测试用例的覆盖率,我们可以使用自动生成测试用例工具。如CoCode开发云使用AI,能够自动生成每个需求的正向反向多维度测试用例,提高测试覆盖度和全面性,保障测试质量,减轻测试人员工作量。

你可能感兴趣的:(CoCode项目管理,测试用例,编写测试用例方法,CoCode自动生成测试用例,用例设计方法,CoCode测试管理)