阵模式形象的可理解为表格,我们常用表格来记录复杂的数据,若将表格首行和首列的数据看成一个个简单的测试点,那除首行首列之外的表格里的数据就可以看成一个复杂测试用例期望执行的结果,那这个表就是一个容纳了很多测试用例的6184.html">数据表。本文就矩阵模式在">软件测试用例中的应用进行阐述,以帮助您了解如何巧妙的利用矩阵模式这种简单手段,更高效的记录测试用例,尤其是复杂场景的测试用例
矩阵模式对测试用例的重要性
在软件测试中,编写测试用例是必不可少的一环。理论上测试人员会根据产品设计文档等将测试点全部罗列出来,然后根据每个测试点设计不同的场景,逐一编写测试用例。但通过分析会发现某个测试点的场景很类似,编写的测试用例中有些步骤的重复率很高。而在实际测试中,这些重复性的步骤利用率并不高,有经验的测试人员无需逐条查看每一步骤,根据场景就可以执行类似测试用例。
针对这一情况,Ryan Davis 早在 2007 年就提出了矩阵模式,用矩阵模式记录测试用例,其实相当于把多条测试用例组合成一个复杂的产品检查清单,一方面节省了编写和维护测试用例的时间,提高工作效率;另一方面可以将传统的测试用例看起来简单化,增加易读性,直观的将功能点展现出来,方便测试人员全局追踪测试状态。
本文就矩阵模式在软件测试的应用展开,主要介绍矩阵模式在多个场景测试,重复性问题测试,交互测试的应用实例,以及改进的矩阵模式原理及其工具。
多个场景测试
在测试中经常会针对某一测试点设计不同的场景进行测试,以达到模拟用户使用的真正效果。比如数据输入测试,如密码输入域,一般会限制至少 6 位等条件。针对密码输入长度至少 6 位这一测试点,至少需测试以下四种场景:
不输入; 小于 6 位; 等于 6 位; 大于 6 位;
按照传统测试用例编写方式需要编写四条类似的测试用例,而且这四条的测试步骤几乎一样。如下表 1-表 4 所示:
表 1.密码输入域长度测试用例-不输入
Test steps Expected result 1. Open a application…. Can open normally 2. No input in password field 3.Submit Alert “password is not allowed blank”
表 2.密码输入域长度测试用例-小于 6 位
Test steps Expected result 1. Open a application…. Can open normally 2. Input password with less than 6 digit in password filed 3.Submit Alert “password length must be
more than or equal 6 digit”
表 3.密码输入域长度测试用例-等于 6 位
Test steps Expected result 1. Open a application…. Can open normally 2. Input password with 6 digit in password filed 3.Submit Success
表 4.密码输入域长度测试用例-大于 6 位
Test steps Expected result 1. Open a application…. Can open normally 2. Input password with more than 6 digit in password filed 3.Submit Success
分析这四个测试用例,发现除了第二步输入的参数不同之外,其余步骤都一样。我们可以把这一参数抽离出来,通过矩阵模式可以将测试用例简化表示,如下表 5 所示:
表 5.密码输入域长度测试用例
Test point Expected result Execute result 不输入 Alert “password is not allowed blank” 小于 6 位 Alert “password length must be more than or equal 6 digit” 等于 6 位 Success 大于 6 位 Success
比较发现利用矩阵模式简单明了地将密码输入域长度的测试点列出来,为测试人员节省了编写测试用例的时间。理论上这种形式的测试用例不能够完全称为完整的测试用例,没有像传统的测试用例那样,将每一步骤都详细列出来,但实际上反而更适用,尤其是当某一测试点有一定数量级的测试场景需要测试时,或者某个测试用例有多个测试点时,通过矩阵模式制定这种形式的测试用例还是很值得的。