当前位置: 首页 > news >正文

测试概念及模型

今日目标

  • 掌握测试用例包含的基本内容

  • 使用等价类方法设计出测试用例

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条测试用例描述

  • 使用等价类方法设计出测试用例

  • 能够根据需求划分有效等价类和无效等价类

  • 能够使用等价类方法设计(新浪邮箱登录案例)测试用例

  • 能够说出等价类方法的适用场景

http://www.lryc.cn/news/29119.html

相关文章:

  • 王道计算机组成原理课代表 - 考研计算机 第六章 总线 究极精华总结笔记
  • 【C++升级之路】第八篇:string类
  • mysql性能优化_原理_课程大纲
  • 项目管理报告工具的功能
  • centos8上安装hbase
  • linux 进程及调度基础知识
  • Python计算分类问题的评价指标(准确率、精确度、召回率和F1值,Kappa指标)
  • 51单片机LCD1602的使用
  • [深入理解SSD系列综述 1.5] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?
  • zio1升级到zio2踩坑和总结
  • 【算法题】1834. 单线程 CPU
  • Vue学习[2023]
  • 【Redis】Redis分片集群
  • 【Android笔记81】Android之RxJava的介绍及其使用
  • Pr 定格拍照动画
  • 放弃node-sass,启用sass
  • 力扣旋转字符串
  • Java 代码组织机制
  • 【剧前爆米花--爪哇岛寻宝】MySQL中索引和事务
  • C++ 线程库
  • python字典和集合——笔记
  • TEX:显示文本
  • SS-ELM-AE与S2-BLS相关论文阅读记录
  • ESP32设备驱动-MAX6675冷端补偿K热电偶数字转换器
  • Python基础知识汇总(字符串四)
  • C语言学习笔记——指针(初阶)
  • 阿赵的MaxScript学习笔记分享十二《获取和导出各种数据》
  • react-draggable实现拖拽详解
  • 01.进程和线程的区别
  • 逻辑优化-rewrite