在学习测试用例的基本要素之前,我们先回顾一下前面的一些知识:
什么是测试用例❓
向被测试系统发起的一组集合,包含测试环境,测试步骤,测试数据,预期结果
为什么测试人员要写测试用例?(带给我们的好处)
需求是测试人员进行测试的依据,测试人员需要分析需求,验证需求的合理性和正确性,无二义性 。从需求当中提取出测试项,根据测试项进行进一步的细分,提取出测试点,编写测试用例。
在分析测试需求时,一般分为功能测试需求和非功能测试需求
对于功能测试中,可以借助功能框图来帮助我们进行测试的需求分析。概括起来,功能测试需求包括以下,通常包括以下几个方面。
下面让我们一起来看个具体的例子:思考一下我们要如何去分析这个日历页面,才能做到毫无保留把相关功能分析完呢❓🤔
答案就是:页面分析可以从上到下,从左到右,依次去分析每个测试点

非功能测试就是:测试在软件本身有的功能上做的一些限制
具体包括:易用性测试,兼容性测试,性能,安全测试,可移植性测试,可靠性测试,容错性测试,可维护性
不同的应用软件对于以上非功能的要求还不太一样

根据输入(特殊情况下才考虑输出),把输入划分成若干个等价类,从每一个等价类当中选择测试用例进行测试,如果这个测试用例测试通过,我们就说这个测试用例代表的等价类测试通过。
等价类帮助我们解决了测试用例无法穷举的情况
应用场景如下:

等价类可以划分为:
举例如下:

针对输入和输出的边界进行测试用例的设计,边界值要取边界上的值,和边界左右两边的值。
就拿上边的那个例子来说,它的有效范围为6-15位,而边界值为:5、6、15、16
小tip:等价类和边界值结合在一起进行测试用例的设计
根据测试人员的经验,知识积累,猜测某一块功能有问题,有针对性的进行测试用例的编写。类似于探索性测试,针对性比较强,比较依赖测试人员个人的水平。适用于在用例设计后,作为补充,加强去设计测试用例。
示例如下:

很多软件不同的场景,是基于不同的事件的触发。不同事件的触发,导致场景走向不同的事件流。不同的功能点串起来形成一个场景,不同的功能点又有不同的输出,不同的输出导致不同的测试场景。
案例如下:

虽然我们能够写出这么多的事件,但是它并不算是一个测试用例,这里我们只是把每个场景可能涉及到的情况写了下来,而测试用例它是应该带有测试效果的。
测试用例(举例):
场景法就是根据场景中会可能发生的事件进行测试用例的设计😊
因果图是一种逻辑图,
恒等、与、或,非用因果图来设计测试用例,叫做因果图法。
使用场景: 当我们有很多输入,不同的输入或者不同的输入组合针对有不同的输出,这个时候我们可以用因果图法来进行测试用例的设计。

就拿现在结婚来说:(是在必须有车有房才结婚的前提下来说)

还拿结婚的例子来说:


举例:根据 618 的活动,订单已提交且金额大于 300 或者有红包,有优惠
输入: 订单已提交,金额大于 300,有红包 ;
订单未提交,金额小于等于 300,没有红包
输出: 有优惠,无优惠
有优惠有优惠有优惠没有优惠没有优惠没有优惠没有优惠没有优惠

判定表的每一列都是一个测试用例:
有优惠有优惠有优惠没有优惠没有优惠没有优惠没有优惠没有优惠根据正交性来设计测试用例,从大量的试验(测试)数据中根据正交原则取出最优的数据的组合,根据最有数据组合试验的结果,来分析整个测试的结果。
正交法的目的
是为了减少用例数目,用尽量少的用例覆盖输入的两两组合。