测试用例编写思路
一、黑盒测试
黑盒测试用例7大必要元素:用例编号,用例名称,前置条件,操作步骤,预期结果,执行结果,优先级 ,如下表:
用例编号 | 用例名称 | 前置条件 | 操作步骤 | 预期结果 | 执行结果 | 优先级 |
黑盒用例设计方法,其中使用最多的方法就是等价类划分法和边界值分析法,
1、等价划分法
1)按限制条件或规则划分:在规定了输入数据必须遵守的规则情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则)
2)按数值划分:要规定了输入数据的一组值(假定n个),并且程序要对每一个输入值分别处理的情况下,可确立n个有效等价类和一个无效等价类
2、边界值分析法
边界值分析法我们一般用于对等价类划分法完成之后作补充,如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据(内点,上点,离点)。
3、正交试验法
当因果关系非常庞大,导致测试用例数目巨大时,考虑输入条件的各种组合来设计测试用例
4、错误推断法:
基于经验和直觉推测程序中所有可能存在的各种错误,以更多的与用户的使用习惯及测试程序中的常见问题为主。
举例:数字输入验证,分别输入数字(正数、负数、零值、单精度、双精度)、字符串、空白值、空值、临界数值;不合法的输入,系统给出必要的判断提示信息;
二、白盒测试 【部分内容 转--搜狗测试公众号文章】
1、哪些项目适用测试框架
【逻辑复杂且封装性好】
首先如果代码逻辑很简单,单测也就没有太大的必要了;其次如果代码没有进行基本的封装或者封装过度,层次结构不清晰,那在测试过程中也是举步维艰。
【复用性高】
被测试模块的复用性高,搭建的测试框架才是有价值有收益的,毕竟投入成本很高;其次在测试中还可以抽象出可重复使用的公共方法,测试代码的复用性也高。
2、如何搭建测试框架
常用测试框架:
-
Java - JUnit/TestNG
-
.Net - NUnit
-
C++ - CPPUnit/GTest
-
Python - pyUnit/py.test/Nose
-
OC - OCUnit/OCMock
3、白盒用例设计方法基本思路:
第一步需要绘制流程图;
第二步根据路径分析法确定测试用例;
第三步使用等价类/边界值的方法确定测试用例的数据
第四步根据实际情况补充(如默认流程、特殊流程等)
5、基本策略:语句覆盖<判定覆盖<条件覆盖;
-
条件覆盖:条件覆盖是指构造一组测试用例,使得每一个判定语句中每个逻辑条件的各种可能的值,至少满足一次。
-
判定/条件覆盖:主要是指设定足够的测试用例,使得判定语句中每个条件的所有可能取值,至少出现一次,,并且每个判定本身的判断结果至少也出现一次。
-
条件组合覆盖:主要是指设计足够的用例,使得每个判定条件的各种可能的组合都至少出现一次。满足条件组合覆盖的一定满足判定覆盖、条件覆盖、判定/条件覆盖。
三、自动化测试
严格的来说,自动化测试是属于黑盒测试的。自动化测试就是把黑盒测试中手动点点点的过程用代码实现为自动点点点。
1、测试相关的知识储备
web项目,一般都是b/s架构,基于浏览器的,而app则是c/s的,必须要有客户端。比如你是web测试,你就得懂js、css、html、xpath,你是移动端测试,你就得具备Android 开发基础和iOS开发基础,会debug app,熟悉TCP、IP协议