今日目标
掌握测试用例包含的基本内容
使用等价类方法设计出测试用例
1. 软件测试分类(复习)
1.1 按阶段划分
单元测试
测试:针对单个功能进行测试,如:登录、购物车等
开发(更多的理解):针对代码进行测试(一般由开发负责、或自动化测试协助)
集成测试
组装测试
系统测试
针对系统进行整体性测试
软件功能
硬件功能
验收测试(用户检验产品是否满足自己预期)
α测试:bug比较多、内测版本
β测试:bug相对比较少、公测版本
γ测试:候选发布版本
负责人(甲乙方):
甲方负责
乙方协助(在甲方的授权及信任基础上)
第三方评测机构
1.2 按是否覆盖源代码划分
黑盒测试:输入和输出
白盒测试:代码内部实现逻辑
灰盒测试
测试关注点
输入
输出
代码逻辑
1.3 按是否运行划分
静态测试
不运行被测试程序
测试对象
文档
代码
动态测试
运行测试程序
测试对象
运行中的程序
1.4 按是否自动化划分
手工测试(功能测试)
自动化测试
通过工具或代码代替人进行测试的过程
1.5 更多
冒烟测试
开发提交测试版本的接收性测试
测试点
最基本功能,如用户正常登陆
最核心的业务流程,如电商购买商品全过程
回归测试
测试点
bug回归
旧功能回归
随机测试
探索测试
2. 软件开发流程(软件生命周期)
2.1 瀑布模型(了解)
组成
需求分析==》概要设计==》详细设计==》编码==》软件测试==》软件维护
特点
线性模型
文档驱动
优点
只需要关注当前进行的阶段
缺点
不响应需求变化
典型应用场景
需求清晰的大型项目,如银行、保险、建筑等
3 软件测试流程
3.1 V模型(了解)
组成
需求分析==》概要设计==》详细设计==》编码==》单元测试==》集成测试==》系统测试==》验收测试
优点
只需要关注当前阶段、文档驱动、线性模型
缺点
不响应需求的变化、不灵活
3.2 W模型(了解)——双V模型
绘制
开发V:需求分析==》概要设计==》详细设计==》编码**==》集成==》实施==》交付**
测试V:**验收测试设计==》系统测试设计==》集成测试设计==》单元测试设计==》**单元测试==》集成测试==》系统测试==》验收测试
优点
测试贯穿软件开发的全生命周期
早参与、早发现、早解决
缺点
技术和管理要求比较高
4. 软件质量模型(了解)
功能性:检查业务功能是否满足需求
可靠性:容错能力(恢复正常的时间、能力)
易用性:看的懂、会使用等
效率性:性能(响应时间、消耗的资源(CPU、内存)等)
维护性:为后续功能的开发与维护提供便利
移植性:软件需要在不同的软件环境和硬件环境下都能正常的工作
5 软件测试用例(重点)
5.1 软件测试用例概念
概念:一个为了特定的目的(检验开发的代码实现是否满足用户的需求)而设计的文档(包含测试输入、执行条件、预期结果),文档的形式可以是xmind、excel等。
案例
标题 | 测试输入 | 执行条件 | 预期结果 |
验证电脑开机功能 | 有电 | 按下开机键 | 屏幕点亮 |
5.2 测试用例组成要素与用例模板
ID
唯一性
项目-模块-001
模块
优先级
作用:体现用例执行的先后顺序
分类:
高
中
低
用例标题
唯一性
见名知意
预置条件
测试步骤
尽可能详细
测试数据
预期结果
5.3 软件测试用例的作用(了解)
便于理清测试思路,确保需覆盖测试的功能点无遗漏
便于测试工作量的评估
便于提前准备测试数据
便于把控测试工作进度
便于回归测试
便于测试工作的组织,提高测试效率,降低测试交接成本
6 等价类(重点)
6.1 等价类划分法
概念:通过科学的方法找到具有共同特性的测试输入的子集,能够从穷举测试中解放(大大减少了测试用例的数量,从而提升测试效率。)
分类
有效等价类:满足需求
无效等价类:不满足需求
设计测试用例的步骤
需求分析
划分等价类
有效
无效
规则(需求本身)
长度
类型
是否为空(必填项)
是否重复
设计用例
典型应用场景
输入框
案例1:QQ账号
QQ账号:6——10位自然数
案例3:sina邮箱
新浪邮箱登录,要求输入(邮箱名)@sina.cn和(密码)
邮箱名为:4-16位字符,支持英文、数字、下划线(不能全是数字或者下划线)
密码:6-18位字符
作业
1、梳理今日知识点,结合课上知识讲解补充完善今日总结内容,以xmind形式输出
2、等价类划分法设计测试用例的步骤?
1. 明确需求 (找到所有的输入项)
2. 针对每个输入项分别确定有效和无效等价类
3. 编写测试用例:
一条用例尽可能多的覆盖有效等价类;
无效等价类中每个取值都要使用一条用例来覆盖;
3、写出下面问题的有效等价类、无效等价类。
(1)程序要求输入一个数X,并且X的取值范围为集合{1,3,7,15}。
有效等价类:1,3,7,15
无效等价类:2,4
(2)用户名(昵称)长度为 3-19,以字母开头,字母或数字结尾
有效等价类:
- 用户名长度为3-19,以字母开头数字结尾
- 用户名长度为3-19,以字母开头字母结尾
无效等价类:
- 用户名长度小于3,
- 用户名长度大于19,
- 以数字开头
- 以字母开头,以空格结尾
- 特殊字符、汉字、为空
4、案例2:城市电话号码
城市电话号码:某城市的电话号码是由3部分组成,分别是:
地区码:空白或是3位数字
前缀:非‘0’且非‘1’开头的三位数字
后缀:4位数字
5、TPShop商城注册功能测试用例设计
tpshop注册功能需求说明:
手机号:第一位为1,第二位非2,的11位自然数
注意:对于邮箱注册,仅验证邮箱格式是否正确
xxxx-长度为4-16,类型为数字,字母,下划线组合(可以是纯字母或者数字,不能以下划线开头)
验证码:字母或者数字,与图片一致,点击刷新按钮可以更新验证码
设置密码:要求同输入框提示,6-16位大小写英文字母,数字或符号的组合 (可以是纯字母,数字,符号)
确认密码:同设置密码
推荐人手机:(非必填,之前注册成功的用户)
我已阅读并同意:勾选之后才可以点击同意协议并注册
今日总结
掌握测试用例包含的基本内容
能够说出测试用例的定义
能够写出测试用例的8要素
能够按照测试用例8要素模板完成1条测试用例描述
使用等价类方法设计出测试用例
能够根据需求划分有效等价类和无效等价类
能够使用等价类方法设计(新浪邮箱登录案例)测试用例
能够说出等价类方法的适用场景