目录

  • 功能测试的介绍
  • 1. 软件测试分类(复习)
  • 1.1 按阶段划分
  • 1.2 按是否覆盖源代码划分
  • 1.3 按是否运行划分
  • 1.4 按是否自动化划分
  • 1.5 更多
  • 2. 软件开发流程(软件生命周期)
  • 2.1 瀑布模型(了解)
  • 3. 软件测试流程
  • 3.1 V模型(了解)
  • 3.2 W模型(了解)——双V模型
  • 4. 软件质量模型(了解)
  • 5 软件测试用例(重点)
  • 5.1 软件测试用例概念
  • 5.2 测试用例组成要素与用例模板
  • 5.3 软件测试用例的作用(了解)
  • 6 等价类(重点)
  • 6.1 等价类划分法
  • 案例1:QQ账号
  • 案例3:sina邮箱


功能测试的介绍

本菜鸡总结了一下本周学习的功能测试的前半部分内容,文章包含对第一阶段的软件测试分类的复习,软件开发流程, 等价类划分,边界值分析等内容和实操案例,不足之处希望大佬指正!

1. 软件测试分类(复习)

1.1 按阶段划分

  • 单元测试(包含测试和开发两个角度)
  • 测试:针对单个功能进行测试,如:登录、购物车等
  • 开发(更多的理解):针对代码进行测试(一般由开发负责、或自动化测试协助)
  • 集成测试
  • 组装测试
  • 系统测试
  • 针对系统进行整体性测试
  • 软件功能
  • 硬件功能
  • 验收测试(用户检验产品是否满足自己预期)
  • α测试:bug比较多、内测版本
  • β测试:bug相对比较少、公测版本
  • γ测试:候选发布版本
  • 负责人(甲乙方):
  • 甲方负责
  • 乙方协助(在甲方的授权及信任基础上)
  • 第三方评测机构

1.2 按是否覆盖源代码划分

  • 黑盒测试:输入和输出
  • 白盒测试:代码内部实现逻辑
  • 灰盒测试
  • 测试关注点
  • 输入
  • 输出
  • 代码逻辑

1.3 按是否运行划分

  • 静态测试
  • 不运行被测试程序
  • 测试对象
  • 文档
  • 代码
  • 动态测试
  • 运行测试程序
  • 测试对象
  • 运行中的程序

1.4 按是否自动化划分

  • 手工测试(功能测试)
  • 自动化测试
  • 通过工具或代码代替人进行测试的过程

1.5 更多

  • 冒烟测试
  • 定义: 针对最基本功能进行测试,保证基本的功能和流程能走通
  • 例子: 开发提交测试版本的接收性测试
  • 测试点
  • 最基本功能,如用户正常登陆
  • 最核心的业务流程,如电商购买商品全过程
  • 回归测试
  • 定义: 回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。
  • 测试点
  • bug回归
  • 旧功能回归
  • 随机测试
  • 定义: 随机测试(Ad-hoctesting),主要是根据测试者的经验对软件进行功能和性能抽查
  • 探索测试
  • 定义: 最直白的定义是同时设计测试和执行测试。

2. 软件开发流程(软件生命周期)

2.1 瀑布模型(了解)

如下图所示,

Android博学谷的创新性 博学谷软件_测试用例

  • 组成
  • 需求分析==》概要设计==》详细设计==》编码==》软件测试==》软件维护
  • 特点
  • 线性模型
  • 文档驱动
  • 优点
  • 只需要关注当前进行的阶段
  • 缺点
  • 不响应需求变化
  • 典型应用场景
  • 需求清晰的大型项目,如银行、保险、建筑等

3. 软件测试流程

3.1 V模型(了解)

如下图,

Android博学谷的创新性 博学谷软件_学习_02

  • 组成
  • 需求分析==》概要设计==》详细设计==》编码==》单元测试==》集成测试==》系统测试==》验收测试
  • 优点
  • 只需要关注当前阶段、文档驱动、线性模型
  • 缺点
  • 不响应需求的变化、不灵活

3.2 W模型(了解)——双V模型

如下图,

Android博学谷的创新性 博学谷软件_等价类_03

  • 绘制
  • 开发V:需求分析 Android博学谷的创新性 博学谷软件_用例_04 概要设计Android博学谷的创新性 博学谷软件_用例_04详细设计Android博学谷的创新性 博学谷软件_用例_04编码Android博学谷的创新性 博学谷软件_用例_04集成Android博学谷的创新性 博学谷软件_功能测试_08实施Android博学谷的创新性 博学谷软件_功能测试_08交付
  • 测试V:验收测试设计Android博学谷的创新性 博学谷软件_功能测试_08系统测试设计Android博学谷的创新性 博学谷软件_功能测试_08集成测试设计Android博学谷的创新性 博学谷软件_功能测试_08单元测试设计Android博学谷的创新性 博学谷软件_用例_04单元测试Android博学谷的创新性 博学谷软件_用例_04集成测试Android博学谷的创新性 博学谷软件_用例_04系统测试Android博学谷的创新性 博学谷软件_用例_04验收测试
  • 优点
  • 测试贯穿软件开发的全生命周期
  • 早参与、早发现、早解决
  • 缺点
  • 技术和管理要求比较高

4. 软件质量模型(了解)

  • 功能性:检查业务功能是否满足需求
  • 可靠性:容错能力(恢复正常的时间、能力)
  • 易用性:看的懂、会使用等
  • 效率性:性能(响应时间、消耗的资源(CPU、内存)等)
  • 维护性:为后续功能的开发与维护提供便利
  • 移植性:软件需要在不同的软件环境和硬件环境下都能正常的工作

5 软件测试用例(重点)

5.1 软件测试用例概念

  • 概念:一个为了特定的目的(检验开发的代码实现是否满足用户的需求)而设计的文档(包含测试输入、执行条件、预期结果),文档的形式可以是xmind、excel等。
  • 案例

标题

测试输入

执行条件

预期结果

验证电脑开机功能

有电

按下开机键

屏幕点亮

5.2 测试用例组成要素与用例模板

  • ID
  • 唯一性
  • 项目-模块-001
  • 模块
  • 优先级
  • 作用:体现用例执行的先后顺序
  • 分类:
  • 用例标题
  • 唯一性
  • 见名知意
  • 预置条件
  • 测试步骤
  • 尽可能详细
  • 测试数据
  • 预期结果

如下图所示,黄色标记的测试八大要素要写全,蓝色部分针对不同的模板可以不写。

Android博学谷的创新性 博学谷软件_用例_17

5.3 软件测试用例的作用(了解)

  • 便于理清测试思路,确保需覆盖测试的功能点无遗漏
  • 便于测试工作量的评估
  • 便于提前准备测试数据
  • 便于把控测试工作进度
  • 便于回归测试
  • 便于测试工作的组织,提高测试效率,降低测试交接成本

6 等价类(重点)

6.1 等价类划分法

  • 概念:通过科学的方法找到具有共同特性的测试输入的子集,能够从穷举测试中解放(大大减少了测试用例的数量,从而提升测试效率。)
  • 分类
  • 有效等价类:满足需求
  • 无效等价类:不满足需求
  • 设计测试用例的步骤
  • 需求分析
  • 划分等价类
  • 有效
  • 无效
  • 规则(需求本身)
  • 长度
  • 类型
  • 是否为空(必填项)
  • 是否重复
  • 设计用例
  • 典型应用场景
  • 输入框

案例1:QQ账号

QQ账号:6——10位自然数

如下图所示,

Android博学谷的创新性 博学谷软件_功能测试_18

案例3:sina邮箱

新浪邮箱登录,要求输入(邮箱名)@sina.cn和(密码)
邮箱名为:4-16位字符,支持英文、数字、下划线(不能全是数字或者下划线)
密码:6-18位字符

如下图所示,

Android博学谷的创新性 博学谷软件_等价类_19