当前位置: 首页 > 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条测试用例描述

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

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

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

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

相关文章:

测试概念及模型

今日目标掌握测试用例包含的基本内容使用等价类方法设计出测试用例1. 软件测试分类(复习)1.1 按阶段划分单元测试测试:针对单个功能进行测试,如:登录、购物车等开发(更多的理解):针对…...

王道计算机组成原理课代表 - 考研计算机 第六章 总线 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记,以及一整年里对 计算机组成 知识点的理解的总结。希望对新一届的计算机考研人提供帮助!!! 关于对 “总线” 章节知识点总结的十分全面,涵括了《计算机组成原理》课程里的…...

【C++升级之路】第八篇:string类

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【C学习与应用】 ✒️✒️本篇内容:简单介绍string类的概念、string类的常用接口、string类的模拟实现(各个常见接口的实现代码&…...

mysql性能优化_原理_课程大纲

1、MySQL在金融互联网行业的企业级安装部署 目录章节版本说明版本说明安装MySQL规范1 安装方式2 安装用户3 目录规范MySQL 5.7 安装部署1 操作系统配置2 创建用户3 创建目录4 安装5 配置文件6 安装依赖包7 配置环境变量8 初始化数据库9 重置密码MySQL8 安装MySQL8 安装源码安装…...

项目管理报告工具的功能

项目报告软件哪个好?Zoho Projects的项目管理报告工具为您提供整个组织的360可见性,获取所有项目的实时更新,使用强大的项目报告软件推动成功。Zoho Projects的项目报告软件允许团队整理和监控他们的资源和项目,以评估进度并避免对…...

centos8上安装hbase

【README】1.本文部分内容转自:https://computingforgeeks.com/how-to-install-apache-hadoop-hbase-on-centos-7/2.本文是在单机上安装hbase (仅用于学习交流); 【1】更新系统因为 hadoop和hbase是动态的,为便于hbase…...

linux 进程及调度基础知识

引用Linux进程管理专题Linux进程管理与调度-之-目录导航Linux下0号进程的前世(init_task进程)今生(idle进程)----Linux进程的管理与调度(五)蜗窝科技-进程管理郭健: Linux进程调度技术的前世今生之“前世”郭健: Linux进程调度技术…...

Python计算分类问题的评价指标(准确率、精确度、召回率和F1值,Kappa指标)

机器学习的分类问题常用评论指标有:准确率、精确度、召回率和F1值,还有kappa指标 。 每次调包去找他们的计算代码很麻烦,所以这里一次性定义一个函数,直接计算所有的评价指标。 每次输入预测值和真实值就可以得到上面的指标值&a…...

51单片机LCD1602的使用

文章目录前言一、LCD1602简单介绍二、LCD1602中各个引脚的作用四、LCD1602命令解析1.写命令2.写数据3.清屏指令4.光标归位指令5.进入模式设置指令6.显示开关控制指令7.设定显示屏或光标移动方向指令三、LCD1602代码编写四、代码测试总结前言 本篇文章将为大家讲解LCD1602的使用…...

[深入理解SSD系列综述 1.5] SSD固态硬盘参数图文解析_选购固态硬盘就像买衣服?

版权声明:付费作品,未经许可,不可转载前言SSD (Solid State Drive),即固态硬盘,通常是一种以半导体闪存(NAND Flash)作为介质的存储设备。SSD 以半导体作为介质存储数据&…...

zio1升级到zio2踩坑和总结

并不全,记录了一些流程和注意点。新项目建议直接用zio2! 首先,从1.0迁移到2.0,可以使用官方的scalefix规则完成一部分方法自动替换(迁移主要解决方法重命名,去掉Has)。 然后,添加依…...

【算法题】1834. 单线程 CPU

插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 题目: 给你一个二维数组 tasks &#xff…...

Vue学习[2023]

笔记 一、Vue基础: 1.模板语法有2大类: 插值语法: 功能:用于解析标签体内容。 写法:{{xxx}},xxx是js表达式,且可以直接读取到data中的所有属性。 指令语法: 功能:用于…...

【Redis】Redis分片集群

【Redis】Redis分片集群 文章目录【Redis】Redis分片集群1. 搭建分片集群1.1 分片集群结构1.2 搭建分片集群1.2.1 集群结构1.2.2 准备实例和配置1.2.3 启动1.2.4 创建集群1.2.5 测试2. 散列插槽2.1 总结3. 集群伸缩4. 故障转移4.1 数据迁移5. RedisTemplate访问分片集群1. 搭建…...

【Android笔记81】Android之RxJava的介绍及其使用

这篇文章,主要介绍Android之RxJava及其使用。 目录 一、RxJava响应式编程 1.1、RxJava介绍 1.2、RxJava常用方法 (1)引入RxJava依赖...

Pr 定格拍照动画

哈喽,各位小伙伴!今天我们来学习一下如何制作定格拍照动画? ​ 新建序列 新建一个1920*1080的序列,将视频拖入序列中 选择定格画面右键—插入帧定格分段中间部分就会变成一张图片(图片时长可伸缩) 复制素…...

放弃node-sass,启用sass

在下载一个新项目时运行:npm run install 发现报错 npm uninstall 异常 Error: Could not find any Visual Studio installation to use 或是 ------------------------- You need to install the latest version of Visual Studio npm ERR! gyp ERR! find VS incl…...

力扣旋转字符串

🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言初阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:介绍字符串旋转,左旋,右旋即旋转结果. 金句分享: ✨好好干&…...

Java 代码组织机制

包 使用任何语言进行编程都有一个相同的问题,就是命名冲突。 包类似于计算机中的文件夹,正如文件放在文件夹中,类和接口放在包中,为便于组织,文件夹一般是一个层次结构,包也类似。 包有包名,…...

【剧前爆米花--爪哇岛寻宝】MySQL中索引和事务

作者:困了电视剧 专栏:《MySQL数据库》 文章分布:这是一篇关于Java中异常类的文章,在本篇文章中详细讲解了异常的使用逻辑和底层的执行过程,如有疏漏,欢迎大佬指正! 目录 索引 用法 底层逻辑…...

Chapter03-Authentication vulnerabilities

文章目录 1. 身份验证简介1.1 What is authentication1.2 difference between authentication and authorization1.3 身份验证机制失效的原因1.4 身份验证机制失效的影响 2. 基于登录功能的漏洞2.1 密码爆破2.2 用户名枚举2.3 有缺陷的暴力破解防护2.3.1 如果用户登录尝试失败次…...

OpenLayers 可视化之热力图

注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

【Post-process】【VBA】ETABS VBA FrameObj.GetNameList and write to EXCEL

ETABS API实战:导出框架元素数据到Excel 在结构工程师的日常工作中,经常需要从ETABS模型中提取框架元素信息进行后续分析。手动复制粘贴不仅耗时,还容易出错。今天我们来用简单的VBA代码实现自动化导出。 🎯 我们要实现什么? 一键点击,就能将ETABS中所有框架元素的基…...

Linux安全加固:从攻防视角构建系统免疫

Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...

DAY 45 超大力王爱学Python

来自超大力王的友情提示:在用tensordoard的时候一定一定要用绝对位置,例如:tensorboard --logdir"D:\代码\archive (1)\runs\cifar10_mlp_experiment_2" 不然读取不了数据 知识点回顾: tensorboard的发展历史和原理tens…...

网页端 js 读取发票里的二维码信息(图片和PDF格式)

起因 为了实现在报销流程中,发票不能重用的限制,发票上传后,希望能读出发票号,并记录发票号已用,下次不再可用于报销。 基于上面的需求,研究了OCR 的方式和读PDF的方式,实际是可行的&#xff…...

更新 Docker 容器中的某一个文件

&#x1f504; 如何更新 Docker 容器中的某一个文件 以下是几种在 Docker 中更新单个文件的常用方法&#xff0c;适用于不同场景。 ✅ 方法一&#xff1a;使用 docker cp 拷贝文件到容器中&#xff08;最简单&#xff09; &#x1f9f0; 命令格式&#xff1a; docker cp <…...