自动化测试的最适合的场景是操作方式相同,测试数据组合多的情景,为此我设挑选了银行贷款的网站为例来说明如何设计自动化用例。
比如以下界面会看到不同的倍率借款费率是不一样的,预警线与平仓线也不一样,管理费也不一样。
5倍时费率是1.7
2倍时是1.4
实际测试过程中我们就需要测试不同的费率对应关系,但所有操作步骤又是相同的,所以我们可以这样去设计用例。
将多个操作步骤组合成一个测试用例,同一个测试用例可以用数据驱动的方式去遍历所有数据(比如你可以设计在一个用例中设置1-5倍的所有数据,可以用Excel 的函数自动计算相关数据)。
类似于这样,你只需要输入本金与倍率,后续所有数据自动生成。
我们还可以将多个测试用例组合成一个测试套件,比如上面第一个用例是借款,借完款之后我们就要还款对吧。
这时我们将还款操作做成一个用例,这样我们可以将借款操作用例与还款操作用例组合成一个测试套件。
测试步骤,测试用例,测试套件三者之间的关系如下:
测试步骤是测试用例的子集,测试用例是测试套件的子集。
换句话说如果在外 层我调用了测试套件,那这个套件对应的所有用例(所有用例中的步骤就全部调用)。
三者关系都清楚之后再介绍下如何方便的管理自动化元素对象。
这里我用Excel 的方式管理测试对 象,因为每个页面有很多元素,为了便于区分,我这里采用POM 的管理方式,每个页面的元素归类为一起,比如我们可以分登录页(只放登录页相关的元素),首页(只放在首页出现的元素)。
元素设置好之后我们可以设置测试步骤,将多个测试步骤写到一个Sheet 中组成一个测试用例。
在测试页面栏位提供下拉选择项。
在元素名称列也有下拉选项供选择这一页对应的元素,不是这个页面的无素就不会显示出来。
用例编写完之后可以考量如何参数化测试数据了。
这时我们可以新建一个与测试用例相对应名称的sheet来管理测试数据。
以下我新建一个testdata Excek文件之之后,又新建一个登录用例,操盘计划用例。
这第一行看到1,2,3 这个是说如果你同一个用例可能有三组数据,那你在测试套件第一次运行时指定取第索引号为1的值,第二次可以取索引号为2的值.
想必大家看到这里一定会想到为什么不用For让系统直接偏历每一行的数据不就行了吗? 因为同一个用例可能会被不同的套件引用,且一个套件又可能组合不同的测试用例,如果用偏历那会要多设置好的测试数据,为了更灵活,这边采用索引的方式,需要用第几个数据就在套件中指定第几行数据。
用例,数据准备好之后我们可以组合测试套件了。
套件设置完之后可以设置调用关系,这里新建一个任务执行计划Sheet。
如果为yes 代表该套件要执行,如果为no 代表本次不执行,这种特别适合于回归测试。
比如有很多模块,那这次时间紧我可以有选择性的去执行哪些相关的套件,像上面第一个套件是操盘(相当于借人家钱),第二个用例是还款计划,第三个套件是还款全流程,那实际我们系统全流程可以运行之后就可以直接选套件三,还款全流程。
系统正常流程是 任务执行计划(依据计划去调用相关套件)----测试 套件(依据测试套件调用相关测试用例)--à 测试用例-------测试步骤(依据步骤去测试数据取相关值)。
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理