1.白盒和黑盒测试:
黑盒测试:把代码看成一个黑盒子,只关心输入和输出结果之间的关系
产品功能是否符合要求;
白盒测试:能够看到代码本身,针对代码本身进行测试,测试代码本身的逻辑是否符合规范。
2.测试用例
2.1 测试用例的基本概念
基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测试点或者测试项,然后根据每一个测试点进行测试用例的设计;
测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。
2.2 测试用例的设计方法
基于需求进行测试用例的设计:功能测试需求和非功能测试需求
功能测试需求:
(1)系统各个功能界面的验证
(2)借助业务把功能串起来进行测试
(3)功能的一致性,交互性(多功能互操作)的测试
(4)系统的不同输入,结果输出的业务数据测试。
(5)功能的错误操作,异常操作的测试(属于负面测试)
(6)功能实现用到的算法验证,有时需要用运代码评审
(7)用户操作的易用性,用户体验,往往结合功能测试同时验证
非功能需求测试分析:
非功能测试需求主要涉及性能,安全性,可靠性,兼容性,易维护性和可移植性等。从测试需求分析来看,每一类非功能特性测试都需要根据需求单独分析
基于需求的设计方法
等价类
边界值
因果图
正交排列
场景设计法
错误猜测法
3.具体的测试方法
测试点分类:
功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试+网络测试+中断测试
设计测试用例通常用脑图来设计:测试环境、测试步骤、测试数据、预期结果等等
3.1基于需求的设计方法
功能相关和非功能相关的:
163邮箱注册设计
3.2 等价类
分区分块的概念-》使用较少的测试用例达到符合的系统测试覆盖
根据等价类划分测试用例的步骤:
1.充分理解需求
2.划分有效等价类,划分无效等价类
2.从有效等价类抽取其中一个数据进行设计测试用例;从无效等价类中抽取一个进行测试用例设计。
等价类又划分成有效等价类和无效等价类:
有效等价类:针对需求来说是有效且有意义的数据构成的集合
无效等价类:针对需求来说是无效且没有意义的数据构成的集合
需求:姓名长度是6-200/500位,应该如何设定?
3.3 边界值法
上点:边界上的点 :6.15
内点:边界内的点 13 12
离点:边界值附件的一个点(闭区间区间外距离上点最近的点,开区间区间内距离上点最近的点) 5,16
边界值和等价类结合使用:
3.4 判断表法
判定表一种表达逻辑判断的工具
关系:与:所有的条件必须满足,如果一个条件不满足,此时结果为假;
或:满足其中一个条件结果就为真,如果全部条件为假,结果就为假;
恒等:条件为真,结果一定为真;
非:条件为假,结果才会为真;
需求:
需求:淘宝618活动,订单已提交,订单合计全额大于300元或者订单有红包,则认为该订单属于有优惠的订单,否则属于没有优惠的订单.
判断表:
根据判断表撰写测试用例:
1)金额大于300元,没有红包,提交订单,结果为有优惠
2)金额不大于300元,有红包,提交订单,结果为有优惠
3)金额大于300元,有红包,提交订单,结果为有优惠
4)金额不大于300元,没有红包,提交订单,结果为无优惠
5)金额大于300元,没有红包,不提交订单,结果为无优惠
6)金额不大于300元,有红包,不提交订单,结果为无优惠
7)金额大于300元,有红包,不提交订单,结果为无优惠
8)金额不大于300元,没有红包,不提交订单,结果为无优惠
3.5 正交表
因素数:输入的条件
水平数:输入条件对应的结果(不是输出条件)
需求:用户注册信息填写,姓名,电子邮箱,密码,确定密码,验证码
生成正交表的工具:pairs
1.将因素数和水平数放入txt文件。
2.使用allpairs工具生成正交表
第7种:姓名、电子邮箱、密码、确定密码、验证码都不填写。
3.编写测试用例:
3.5 因果图
因果图是一种简化了的逻辑图,能直观地表明程序输入条件(原因)和输出动作(结果)之间的相互关系。因果图法是借助图形来设计测试用例的一种系统方法,特别适用于被测试程序具有多种输入条件、程序的输出又依赖于输入条件的各种情况。
因果图和判定表联合使用。
3.6 场景设计法
主事件流和次事件流
ATM机取款的测试用例:
通常情况下,需要把用户经常使用的功能模块串联到一起进行测试
3.7 错误猜测法
依靠测试人员的测试经验;
3.8 常见应用
1.如何模拟弱网
借助工具:Fiddler
1.设置弱网模式
2.查看设置文档
数字越小网速越好
2.接口如何测试
使用工具(postman)
3.针对接口的参数进行测试(传参数,不传参数,传入非法参数)
判断参数是通过parameter,json传递。