编写测试用例的方法总结——等价类划分
说明:博主只是一个新手,写博客的主要目的是总结自己所学的知识。
一.概述
功能测试用例的编写方法有很多种,这里只总结了解过的几种测试方法。
在编写测试用例时,如果没有一定的方法,而是随意去写,想到什么写什么的话,那用例是写不完的,而且,这样的用例重复性太大了,效率太低,执行起来也繁琐。
既然用例不能写完全,就代表着项目不能完全测试。这也是没有办法的事,毕竟没有完美的产品。所以,用例需要尽可能的测试完全,这就涉及到了评审用例的一个重要因素——覆盖率。覆盖率,并不仅仅是用例包含了所有待测模块,这就说明覆盖率高了。就拿一个登陆功能再说,经验浅薄的测试员与经验丰富的测试员编写出来的用例,肯定有很大的差别,因为思考的点不一样,经验浅薄的测试员肯定能从功能方面来思考用例,其次界面美观等。但经验丰富的测试员,在看到这个功能时,并不是立刻就来写用例,而是先思考,先定方向,再写用例。方向:功能,兼容性,安全性,性能等方面,然后在对每一个方向去深入。这样两者的覆盖率肯定不相同。
想要提高测试用例的覆盖率,需要一定的方法,不仅仅功能测试用例需要,其他类型的测试同样需要,而这里只说明功能测试用例的几种方法:
二.简介
第一种:等价类划分
1.含义
将待测模块的入口条件(输入域)划分为若干个子集,然后在各个子集中挑选少量具有代表性的条件组合成该模块的测试用例。
注:该方法的名字叫等价类划分,因此划分的子集必须等价,各个子集之间不能有重复,即各子集合并就是总的输入域集合
等价类划分有两个子集:有效等价类和无效等价类。
有效等价类就是该类下的输入条件均在功能需求限制范围之内。
无效等价类顾名思义,就是该类下的输入条件均不在功能需求限制范围之内。
注:这里标红的原因是,模块输入条件的范围并不是该模块来定义的,而是产品规格说明书(需求文档)定义的。
2.使用场景
什么样的功能模块能用等价类划分法编写测试用例呢?
(1)输入条件有明显的限制范围。例如:密码输入框,输入范围6-18位;
(2)输入条件有明确的规定输入格式。例如:账户输入框,要求字母+数字+符号;
(3)输入条件是布尔值时。例如验证码功能;
(4)输入条件是一个输入域(包含多种类型的输入)时,并且程序会对每一种输入进行处理。例如:注册页面各个输入框,点击提交;
3.使用方法
1.对每一个等价类进行编号,编号是唯一的。
2.设计一个新用例,覆盖还未覆盖的等价类,循环此步骤,直到等价类均被覆盖。
注:第二步,有效类和无效类分开设计用例。