软件测试用例设计方法

前言:

测试用例的编写是软件测试工程师的核心能力,是每个测试人员必须掌握的技能! ! !

应聘测试岗的必考题

1.等价类划分法

等价类划分法的概念

等价类划分法是一种典型的、重要的黑盒测试方法。是指某个输入域的子集合,在该子集合中,所有的输入数据对于揭露软件中的错误都是等效的。

等价类划分有效等价类无效等价类。

举例:微信红包

按数据范围划分:

有效的: 0.01-200 (1)

无效的:小于0.01 (2) 0.001大于200 (3) 0.01-200区间小数点后超出2位的值(4)

按数据类型组成划分:

有效:数字(5)

无效:非数字类型,f、#、中文…(6)

等价类划分法用例设计原则

①划分有效及无效等价类,为每一个等价类规定一个唯一的编号;

②设计一个新的测试用例数据,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止,只要有效等价类被覆盖,用例写的越少越好。

③设计一个新的测试用例数据,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有无效等价类都被覆盖为止,每一个无效等价类,都是一条用例

软件测试03_软件测试用例设计方法

2.边界值分析法

定义

边界值分析法是对等价类划分法的一个补充,边界值一般都是从等价类的边缘值去寻找。边界值分析的基本思想:正好等于、刚刚大于、刚刚小于边界的值作为测试数据。微信红包0.01、 200、200.01、199.99、-0.01、-1

注意: 0是一个特殊值,我们在考虑边界值的时候同时也要考虑这个特殊值。负数

边界值的作用

人们从长期的测试工作经验得知,大量的错误是发生在输入或输出范围的边界上,而不是在输入范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

举列子

Eg:比如我们生活中大家所熟悉的微信红包:最小金额0.01元,最大金额200元

边界值:0、0.01、 0.02、 199.99、 200、 200.01

特殊值:负数

Eg:一个输入文件应包括2~255条记录。

边界值:1、2. 3、254、255、 256 2~255 (有效类区间、无效类区间)特殊值0

边界值的应用场景:如果需求规定了取值范围或规定了取值的个数时,可利用边界值进行测试

3.场景法

什么是场景法

通过场景描述的业务流程(业务逻辑) , 也包括代码实现逻辑,设计用例来遍历场景(路径)p验证软件系统功能的正确性。

如何正确使用场景法

画出流程图

矩形:表示步骤(操作、结果)

菱形:判断–是、香

注意:场景法的重点是测试流程.因此每个流程一个用例验证即可 ,流程测试没有问题并不能说明系统功能没有问题了,还需针对单步的功能进行测试,只有单个功能点和流程测试,才算是充分的测试

场景法举例

软件测试03_软件测试用例设计方法

4.错误推测法

定义

基于经验和直觉推测程序中所有可能存在的各种错误,从而针对性的设计测试用例的方法。它的要素共有三点,分别为:经验、知识、直觉。关于如何使用的问题,我们提炼出两点:

1.列出程序中所有可能有的错误和容易发生错误的特殊情况; .

2.根据他们选择测试用例。

登录界面设计测试用例

登录界面设计测试用例?

1.正确用户名,正确密码,点击登录按钮–登录成功

2.错误密码

3.用户名不存在(未注册)

4.用户名错误

5.空用户名、空密码、包含空格情况

6.多次输入错误密码,是否有安全提示

7.修改密码后输入原密码是否支持登录

8.单点登录,异地登录

9.网络情况测试

错误推测法案例

案例:某平台登录页面

用错误推测法,那么我们首先列出可能导致结果出错的情况,如下:

1.用户名跟密码的对应关系验证

2.账号或密码为空

3.用户名和密码,如果太短或者太长,应该怎么处理(安全性,密码太短是否有提示)

格式+满足格式要求但不是正确的

4.用户名和密码中有特殊字符(比如空格) , 和其他非英文的情况(是否做了过滤)

5.用户名和密码前后有空格的处理(过滤)

6.错误登录时的次数限制

7.提交登录时,网络异常

8.多次点击提交操作,只能被执行一次

5.测试用例方法的选择

使用各种测试方法的综合策略:

①首先进行等价类划分,主要是输入条件的划分,这是提高测试效率最有效的方法。

②在任何情况下都必须使用边界值分析法,这种方法设计出的测试用例发现程序错误的能力最强,切记不要穷举测试

③用错误推测法追加测试用例,这需要测试工程师的经验总结

④对照程序逻辑,检查已经设计出的测用例的逻辑覆盖程度,如果没有达到覆盖标准,应当再补充足够测试用例(场景法)

具体如何设计,可以结合项目要求或自己的标准来做,灵活运用。

6.常见面试题

1.编写测试用例会用到什么方法?你在实际编写测试用例的过程中是否使用了这些方法?

2.给出一个题目,直接让你设计测试用例

相关文章: