如何来测试一个页面才能做到高效?可重复?没有遗漏?
通过哪个维度来对页面测试用例分类更条理清晰且合理?
也许没有任何一种答案能够让所有的人都认同,正所谓仁者见仁,智者见智,下文是工作中曾经想到并实践过的一种直观又简单的办法,下文仅抛砖引玉,欢迎大家讨论。
按照页面来划分测试用例,大致按页面元素基本属性、页面控件业务功能逻辑、页面间逻辑关系来分类。
1)页面元素基本属性:眼睛可以看到的页面基本元素(静态+动态)覆盖测试。
2)控件业务逻辑功能:程序设计中包含的通过鼠标焦点转移、action触发等方式实现的单个及多个控件间逻辑关系。比如输入一个标题后鼠标移走,自动生成一个关键词。
3)页面间逻辑关系:BS结构的程序主题逻辑功能多通过页面之间的跳转来完成。将这部分逻辑单独抽离出来测试,去除掉页面本身和页面控件间关系,仅考虑从一个跳转到另外一个新页面时所有逻辑的测试,可以使逻辑更简洁。
这三方面的关系像中医里的望闻问切,看到一个病人,首先肉眼的来判断外在静态的表面,比如脸色、头发、四肢和舌苔;然后来touch,感受事物表面的元素是否属性正常,比如皮肤是不是紧致,按压有没有疼痛,体温是不是很高;最后是寻根溯源阶段,寻找此事物与彼事物的相关性,问问昨天吃了什么,睡得好不好。这三方面都考虑全面,医生才敢开药方。
做测试也是一样,如果完整的测试一个页面的功能,也要三方面综合考虑。
接下来的部分以一个通用的网页为例为大家简单介绍一下页面元素基本属性这个分类的具体划分方法。
页面元素基本属性验证,细致划分为UI静态页面元素验证、控件基本属性和通用业务逻辑三类。
(注:这些用例往往可以和业务功能逻辑分离,是任何一个页面都共有的用例,所以相对比较稳定,可以参考的做法是将这些用例抽象成一个比较通用的用例库,这样每个页面测试开始和技术后都可以来check一下是否有遗漏。)
三者具体分类如下:
一、UI静态页面元素验证:
1,页面展示(尺寸,是否全屏,模态非模态等);
2,页面框架(布局是否合理,DIV层是否规范等);
3,页面图片元素(像素、大小等);
4,页面文字元素(Font,color,style,logo etc);
5,页面链接(链接页面跳转、位置等);
6,页面JS;
7,Flash;
8,浮动窗体;
9,弹出窗体;
二、控件基本属性验证:
1,输入框(单行/多行);2,单选框;3,复选框;4,下拉列表框;5,下拉列表输入框;6,按钮;7,日期控件;8,翻页控件;9,日期控件;10,Tree型结点控件;
针对不同控件的属性及操作,设计不同用例测试。
三、通用业务逻辑验证:
1,单查询框查询;
2,组合条件查询;
3,模糊查询;
4,非法字符输入验证;
5,登陆;
6,登出;
7,重置;
8,全选;
9,排序;
10,后退;
11,刷新;
12,修改URL后是否跳转;
。。。等等。
如果有了这样三个维度的分类库,不管有怎么样的业务逻辑变换,都可以以不变的页面测试方法来拥抱变化啦~
以上仅供参考,欢迎拍砖,谢谢~~~