软件测试基础
- 软件测试基本知识(测试基础)
- 如何进行测试(测试设计)
- 测试不通过如何处理(缺陷管理)
- 实战
一,认识测试
目标
- 软件测试的定义
- 7种测试分类的区别
- 质量模型的重点5项
- 测试流程的6个步骤
- 测试模板的8个要素
学习过程
- 认识软件及测试
01什么是软件:控制计算机硬件工作的工具
02软件的基本组成
03软件产生过程
04什么是软件测试:使用技术手段验证软件是否满足使用要求
05软件测试目的:总体来说是减少软件中的bug,保证软件质量
二,主流技术
- 功能测试:主要验证程序功能是否满足需求
- 自动化测试:使用代码或者工具代替手工,对项目进行测试
- 接口测试(重要):使用代码或者工具对服务端提供的接口进行测试
- 性能测试:模拟多人使用软件,查找服务器缺陷
三,测试分类
-
按照测试阶段划分
- 单元测试:针对程序源代码进行测试
- 集成测试:又称接口测试,针对模块之间访问地址进行测试
- 系统测试:对整个系统进行测试包括功能、兼容、文档等测试
- 验收测试:主要分为内测、公测,使用不同人群来发掘项目的缺陷
-
按照代码可见度划分
-
黑盒测试:不针对源代码,针对UI功能进行测试(UI:User Interface用户界面其实就是界面)
-
灰盒测试:针对部分代码进行测试
-
白盒测试:针对程序源代码进行测试
| | 源代码可见 | 功能可见 |
| :------- | ---------- | -------- |
| 黑盒测试 | 不可见 | 可见 |
| 灰盒测试 | 部分可见 | 不可见 |
| 白盒测试 | 全部可见 | 不可见 |
-
四,模型
质量模型:衡量一个优秀软件的维度(8个点)
参照案例来解释:
- 需求:
- 开发一款网络游戏(要求:10个主功能)
- 游戏支持web(浏览器)端、App端
- 游戏上线后预计每日20W用户玩家在玩
-
功能性:
-
性能:
-
兼容性:
-
易用性
- 可靠性
-
安全
- 传输加密
- 存储加密
-
可移植性
-
可维护性
五,测试流程
六,测试用例
-
什么是用例
- 用例:用户使用的案例(用户使用手机为例)
- 是否能开机
- 验证内存
- 验证屏幕
- 检查运行速度
- 用例:用户使用的案例(用户使用手机为例)
-
什么是测试用例
-
测试用例:为测试项目而设计的执行文档
-
作用:
- 防止侧漏
- 实施测试标准
-
用例设计编写格式
- 用例编号:项目 _ 模块 _ 编号
- 用例标题:预期结果(测试点)
- 模块/项目:所属模块或者项目
- 优先级:表示用例的重要程度或者影响力p0–p4(p0优先级最高)
- 前置条件:要执行此用例,有哪些前置条件
- 测试步骤:描述操作步骤
- 测试数据:操作的数据,没有的话可以为空
- 预期结果:期望达到的结果
-
测试案例–QQ
- 账号为空
- 账号未注册
- 密码为空
- 密码错误
-
七,测试应用
1.等价类划分
-
说明、分类、步骤
-
案例:①验证QQ账号的合法性
- 要求6-10位自然数
-
②验证某城市电话号码的正确性
- 区号:空或者是三位数字
- 前缀码:非“0”且非“1”开头的三位数字
- 后缀码:四位数字
实践
- 明确需求
- 确定有效等价和无效等价
- 设计数据编写用例
总结
使用场景
- 针对:需要有大量数据测试输入,但没办法穷举测试的地方
- 输入框
- 下拉列表
- 单选复选框
- 典型代表:页面的输入框类测试
软件测试功能(重要)
01等价类划分
同上 – 七,测试应用和实践部分
02边界值分析法
-
边界范围节点
-
选取正好等于,刚好大于,刚好小于边界的值作为测试数据
- 上点:边界上的点(正好等于)
- 离点:距离上点最近的点(刚好大于,刚好等于)
- 内点:范围内的点(区间范围内的点:一般取中间值)
-
边界范围节点示例-99–99
-
提示:1,有关范围限制,最对七条用例(暂时未优化)
2,边界值能解决位数限制问题,但不能解决类型问题(要结合等价类)
-
-
-
边界值法设计用例步骤
-
明确需求
-
确定有效和无效等价类
-
确定边界值范围
-
提取数据编写测试用例
- 练习1
-
- 练习2
- 边界值优化及总结
- 案例优化(7点优化5点)
- 优化后
-
总结
强调:单个输入框,常用的方式:边界+等价类
面试题:最常用的用例设计方法有哪些? --等价类,边界值
- 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
- 常见的词语描述:大小,尺寸,重量,最大,最小,至多,至少等
- 典型代表:有边界范围的输入框测试
03判定表法
03.01判定表定义及组成部分
-
定义:是一种以表格形式表达多条件逻辑判断的工具
-
组成
- 条件桩:列出问题中的所有条件,列出条件的次序无关紧要
- 动作桩:列出问题中可能采取的操作,操作的排序顺序没有约束
- 条件项:列出条件对应的取值,所有可能情况下的真假值
- 动作项:列出条件项,各种取值情况下应采取的动作结果
- 案例:验证“若用户欠费或者关机,则不允许主被叫”功能的测试
- 案例:验证“若用户欠费或者关机,则不允许主被叫”功能的测试
-
规则:
- 判定表中贯穿条件项和动作项的一列就是一条规则
- 假设有n个条件,每个条件取值都有两个(0,1),全组合有2的n次方种规则
03.02判定表设计用例步骤
重点:画出判定表
- 明确要求
- 画出判定表
- 列出条件桩和动作桩
- 填写条件项,对条件进行全组合
- 根据条件项组合确定的动作项
- 简化,合并相似的规则(有相同动作)
- 根据规则编写测试用例
-
实例1:订单
明确需求,画判定表
编写用例
-
实例2:文件修改规则
明确需求,画判定表
编写用例
03.03判定表总结
使用场景:
- 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系
- 判定表一般适用于条件组合数量较少的情况
1.多条件之间有依赖关系,使用判定表进行测试覆盖
2.判定表一般适合4个以内条件依赖关系
3.如果条件超过4个,就不适合覆盖所有条件,应采用(正交法)来解决
04场景法
04.01流程图
流程图:
-
流程图对测试人员的作用
- 能够看懂流程图,设计业务用例
- 当需求文档信息不全时,能够根据需求,梳理流程
-
练习1:用户名为admin且密码为:123456,输出登陆成功
- 练习2:登录、搜索商品、添加购物车、去结算、支付、如果支付成功,则提示下单成功,否则提示支付失败
-
练习3:ATM取款流程
- 流程图
- 设计用例步骤
04.02错误推荐法
应用场景:当项目用例都执行完毕,且BUG修复完成,离上线还有一段时间中可使用错误推荐法复测主要业务或者测试未覆盖的功能