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

浅谈功能测试

1.功能测试流程

1.1 功能测试流程

# 功能测试大致按照以下流程进行: (1).需求分析与评审(2).测试计划与测试方案(3).测试用例设计(4).测试用例评审(5).执行用例(6).缺陷跟踪及报告产出

1.2 功能测试流程详解

(1).需求分析与评审

功能测试应从需求出发, 功能测试就是尽量覆盖用户需求, 是软件能够最大程度满足用户的需求. 在开始功能测试之前, 技术人员应一起进行需求评审, 明确需求, 避免需求出现问题, 导致后面开发, 测试在错误的基础上进行.

测试人员在需求评审过程中要:

  - 确认自己对需求理解清晰, 不存在疑惑- 确认需求文档完整, 准确, 能够为后期测试工作所使用- 对需求中不合理的地方提出自己的修改建议

(2).测试计划与测试方案

测试计划是指描述要进行测试活动的范围, 方法, 资源和进度的文档. 测试计划侧重在“计划”二字. 其核心内容包含但不限于以下:

- 测试范围与目标
- 角色与职责
- 进度与资源
- 风险与应对
- 准入准出标准

测试计划一般由测试组长, 测试经理负责编写, 也有可能有测试工程师编写.

测试方案是从技术的角度去分析需求, 在方向上明确要怎么测, 分析结果侧重点在于测试策略与技术实现. 测试方案侧重在“方案”二字, 其核心内容包含到不限于以下:

  • 策略与方法

  • 环境

  • 工具的选择

(3).测试用例设计

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包括:测试环境、操作步骤、测试数据、预期结果等要素。

其实, 测试用例就是一份编写了要测哪些内容的文档. 测试用例表达要清除, 无二义性; 用例可操作性强; 用例的输入与输出明确.

用例是测试人员根据需求进行设计的, 设计方法有: 等价类划分法, 边界值法, 判定表法, 正交法, 场景法, 错误推测法, 基于需求设计.

(4).测试用例评审

测试用例评审是指, 测试人员测试好测试用例后, 需要进行评审, 检查用例设计是否合格, 是否能够最大程度上覆盖用户需求.

(5).执行用例

测试用例评审通过, 测试人员就可以根据测试用例对开发提交的代码进行测试了. 并将测试结果与用例中的预期结果进行对比, 并详细记录.

(6).缺陷跟踪及报告产出

缺陷跟踪, 是指测试未通过提交的Bug, 开发需要修复Bug, 再次提测. 测试人员要继续测试, 如果不通过还要再次提Bug, 知道测试通过. 这个过程就是缺陷跟踪. 最后产出报告.

2.等价类划分法

2.1 等价类概念与分类

# 等价类
在所有测试数据中, 具有某种共同特征的数据子集即为等价类
​
# 等价类分类- 有效等价类- 无效等价类

2.2 等价类划分法解决的问题

# 解决的问题
划分等价类可以将测试集合科学的从无穷大减少到有限小, 让测试工作从穷举测试中解放出来, 大大减少测试用例数量, 提升测试效率.

2.3 等价类划分法设计测试用例步骤与应用场景

# 步骤:1.需求分析2.划分等价类(1).有效等价类(2).无效等价类- 规则(需求本身出发)- 长度需求- 类型规定- 是否为空(必填项检查)- 是否可重复输入3.设计用例
​
# 典型应用场景: 带有输入框的测试

2.4 案例实战 --- QQ号注册网站账号

# 根据以下需求, 利用等价类划分法基于测试用例模板设计测试用例
# 需求:使用QQ号注册网站账号, QQ号要求: 6-10位自然数, 同一QQ号不能重复注册
# 用例设计步骤
1.分析需求
2.等价类划分(见下表)- 有效等价类- 无效等价类
3.设计用例(见下图)
有效等价类有效数据无效等价类无效数据
6-10位自然数1234567小于6位自然数12345
大于10位自然数12345678912
6-10位字母abcdefg
6-10位汉字只因你太美了
6-10位符号!@#$%^&
不填写
重复输入1234567

2.5 案例实战 --- 新浪邮箱登录

# 根据以下需求, 利用等价类划分法基于测试用例模板设计测试用例
# 需求:新浪邮箱登录, 要求输入(邮箱名)@sina.cn和密码进行登录邮箱名要求:4-16位字符, 支持英文, 数字, 下划线(不能全是数字或者下划线)密码: 6-18位字符
# 等价类划分法设计测试用例步骤:
1.需求分析
2.等价类划分:(见下表)- 有效等价类- 无效等价类
有效等价类有效数据无效等价类无效数据
4-16位英文abcd小于4位英文abc
4-16位英文数字组合abc1大于16位英文AbcdefAbcdefAbcdefg
4-16位英文下划线组合abc_4-16位纯数字1234
4-16位数字下划线组合123_4-16位纯下划线
4-16位英文数字下划线组合ab1_4-16位汉字你好中国
4-16位符号!@#$
不输入邮箱
输入未注册正确邮箱abcd26652@sina.com
有效等价类有效数据无效等价类无效数据
6-18位字符abcdef小于6位字符abcde
大于18位字符Abcdefabcdefabcdefg
6-18位非字符_符号!@#$%&
6-18位非字符_汉字你好我的祖国
不输入密码

测试用例设计

# 测试用例设计:
由于存在两个输入框, 对两个输入框进行等价类划分, 每个输入框都有自己的有效等价类和无效等价类, 此时我们要考虑如何进行组合, 来设计测试用例
可能进行的组合如下:用户名        密码       预期结果有效          有效       登录成功有效          无效       登录失败无效          有效       登录失败无效          无效       登录失败
但基于测试的原则, 我们想确定登录失败时, 是由于用户名和密码之间谁的非等价类导致的登录失败, 所有最后一种组合(用户名无效,密码无效)不需要进行测试, 即使结果为登录失败, 也无法确定是谁导致的登录失败. 所以采用以上三种进行测试用例设计.

3.边界值法

3.1边界值法概念及存在的意义

# 1.边界值法概念
边界值法设计测试用例, 是对输入或输出的边界值(有效等价类和无效等价类的界限)进行测试的一种黑盒测试方法.
# 2.边界值法存在的意义:
测试经验表明错误往往会发生在输入或输出范围的边界上, 所以边界值法是对这些边界进行测试, 是对划分等价类法的一种补充.
​
# 3.边界值的概念(如下图:)- 上点: 边界上的点(符合条件的边界点)- 内点: 边界内的点- 离点: 离边界最近的左右两点

3.2两位数加法计算器案例

# 需求:
一个可以计算两位数内的加法计算器
​
# 确定边界值(如下图):
两位数取值范围数学区间表示上点内点离点
x >= -99, y <= 99[-99, 99]-99, 9920-100,-98, 98, 100
x > -99, y <= 99(-99, 99] [-98,99]-98, 9910-99, -97, 98, 100
x >= -99, y < 99[-99, 99) [-99,98]-99, 980-100, -98, 97, 99
x > -99, y < 99(-99, 99) [-98,98]-98, 985-99, -97, 97, 99

3.3 设计测试用例的步骤与边界值法应用场景

# 设计测试用例的步骤1.需求分析2.划分等价类3.确定边界- 上点- 内点- 离点4.设计测试用例# 边界值法应用场景:- 在等价类的基础上针对有边界范围的测试数据输入的地方- 确定测试条件时, 明显存在(>, <, >=, <=)等的分析中.- 典型代表: 有边界范围的输入框类测试

3.4 QQ号注册网站案例补充

# 需求
使用6-10位的QQ号注册网站, QQ号要求6-8位自然数
​
# 边界分析(边界分析如图所示)
上点:6, 10
内点:8
离点:5,7, 9, 11
# 通过边界分析法补充的用例:- 输入6位自然数, QQ号正确  - 输入10位自然数, QQ号正确- 输入8位自然数, QQ号正确- 输入5位自然数, QQ号错误- 输入7位自然数, QQ号正确- 输入9位自然数, QQ号正确- 输入11位自然数, QQ号错误# 重复用例消除:- 输入6位自然数, QQ号正确(重复)  - 输入10位自然数, QQ号正确(✅)  - 输入8位自然数, QQ号正确(✅)- 输入5位自然数, QQ号错误(重复)  - 输入7位自然数, QQ号正确(✅) - 输入9位自然数, QQ号正确(✅) - 输入11位自然数, QQ号错误(重复)# 补充测试用例文档:(如下图所示)

3.5 边界值分析法拓展

# 边界值优化(7变5)
从上面分析的边界值[5, 6, 7, 8, 9, 10, 11]来看:1.值5是一个无效点是左侧最小的点, 6和7均是有效点, 所以测一个6就可以了, 7可以去掉.2.值9, 10, 11中, 11是右侧最大的无效点, 需要保留, 而9, 10都是有效点, 9可以去掉.3.内点8凭借经验, 需要保留
# 结论(重点):
上点: 必选(不考虑区间开闭)
内点: 必选(建议选择中间范围)
离点: 开内闭外(考虑开闭区间, 开区间选择内部离点, 闭区间选择外部离点)

相关文章:

浅谈功能测试

1.功能测试流程 1.1 功能测试流程 # 功能测试大致按照以下流程进行: (1).需求分析与评审(2).测试计划与测试方案(3).测试用例设计(4).测试用例评审(5).执行用例(6).缺陷跟踪及报告产出 1.2 功能测试流程详解 (1).需求分析与评审 功能测试应从需求出发, 功能测试就是尽量覆…...

UDP的详细解析

UDP的详细解析 文章目录UDP的详细解析UDP 概述UDP的首部格式检验和的计算抓包测试参考TCP/IP运输层的两个主要协议都是互联网的正式标准&#xff0c;即&#xff1a;用户数据报协议UDP (User Datagram Protocol)传输控制协议TCP (Transmission Control Protocol) 按照OSI的术语…...

史上最详细JUC教程之Synchronized与锁升级详解

在Java早期版本中&#xff0c;synchronized属于重量级锁&#xff0c;效率低下&#xff0c;因为监视器锁&#xff08;monitor&#xff09;是依赖于底层的操作系统的Mutex Lock来实现的&#xff0c;挂起线程和恢复线程都需要转入内核态去完成&#xff0c;阻塞或唤醒一个Java线程需…...

Vue|初识Vue

Vue是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助开发者高效地开发用户界面。 初识Vue1. Vue简介2. 开发准备3. 模板语法3.1 差值语法3.2 指令语法4. 数据绑定4.1 单向数据…...

在职阿里6年,一个29岁女软件测试工程师的心声

简单的先说一下&#xff0c;坐标杭州&#xff0c;14届本科毕业&#xff0c;算上年前在阿里巴巴的面试&#xff0c;一共有面试了有6家公司&#xff08;因为不想请假&#xff0c;因此只是每个晚上去其他公司面试&#xff0c;所以面试的公司比较少&#xff09;其中成功的有4家&…...

(C语言)自定义类型,枚举与联合

问&#xff1a;1. 结构体在自引用的时候不能怎么样&#xff1f;可以怎么样&#xff1f;2. Solve the problems&#xff1a;自定义一个学生结构体类型&#xff0c;要包含姓名&#xff0c;性别&#xff0c;年龄&#xff0c;六科成绩&#xff0c;家乡&#xff08;也为结构体&#…...

node.js服务端笔记文档学会写接口,学习分类:path、包、模块化、fs、express、中间件、jwt、开发模式、cors。

node.js 学习笔记 node.js服务端笔记文档学会写接口&#xff0c;path、包、模块化、fs、express、中间件、JWT、开发模式、cors。 gitee&#xff1a;代码接口笔记 1什么是node.js nodejs 是基于ChromeV8&#xff0c;引擎的一个javaScript 运行环境。node.js 无法使用DOM和BO…...

初始C++(三):引用

文章目录一.引用的概念二.引用的使用1.引用作为输出型参数2. 引用作为函数返回值3.const引用三.引用的一些小问题四.引用和指针五.引用和指针的区别一.引用的概念 引用的作用是给一个已经存在的变量取别名&#xff0c;编译器不会为引用变量开空间&#xff0c;引用变量和被他引…...

【前端】参考C站动态发红包界面,高度还原布局和交互

最近有些小伙伴咨询博主说前端布局好难&#xff0c;其实都是熟能生巧&#xff01; 模仿C站动态发红包界面&#xff0c;cssdiv实现布局&#xff0c;纯javascript实现交互效果 目录 1、界面效果 2、界面分析 2.1、整体结构 2.2、标题 2.3、表单 2.4、按钮 3、代码实现 3.…...

VR全景带你浪漫“狂飙”情人节,见证甜蜜心动

当情人节遇上VR&#xff0c;足以让情侣过一个难忘的情人节。马上情人节就要到了&#xff0c;大家是不是还在绞尽脑汁的想着&#xff0c;如何和另一半过一个浪漫的情人节呢&#xff1f;老套的剧情已经不能吸引人了&#xff0c;让我们看看VR全景给情人节带来了哪些不同的体验吧&a…...

Linux系统安全之iptables防火墙

目录 一.iptables防火墙基本介绍 二.iptables的四表五链 三.iptables的配置 1.iptables的安装 2.iptables防火墙的配置方法 四.添加、查看、删除规则 1.查看(fliter)表中的所有链 iptables -L 2.使用数字形式(fliter)表所有链 查看输出结果 iptables -nL 3.清空表中所…...

【C#基础】C# 变量与常量的使用

序号系列文章1【C#基础】C# 程序通用结构2【C#基础】C# 基础语法解析3【C#基础】C# 数据类型总结文章目录前言一. 变量&#xff08;variable&#xff09;1&#xff0c;变量定义及初始化2&#xff0c;变量的类别3&#xff0c;接收输出变量二. 常量&#xff08;constant&#xff…...

[ 常用工具篇 ] CobaltStrike(CS神器)基础(一) -- 安装及设置监听器详解

&#x1f36c; 博主介绍 &#x1f468;‍&#x1f393; 博主介绍&#xff1a;大家好&#xff0c;我是 _PowerShell &#xff0c;很高兴认识大家~ ✨主攻领域&#xff1a;【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】 &#x1f389;点赞➕评论➕收藏 养成习…...

Redis集群

Redis集群 本章是基于CentOS7下的Redis集群教程&#xff0c;包括&#xff1a; 单机安装RedisRedis主从Redis分片集群 1.单机安装Redis 首先需要安装Redis所需要的依赖&#xff1a; yum install -y gcc tcl然后将课前资料提供的Redis安装包上传到虚拟机的任意目录&#xff…...

00---C++入门

1. C关键字(C98) C总计63个关键字&#xff0c;C语言32个关键字 2. 命名空间 在C/C中&#xff0c;变量、函数和后面要学到的类都是大量存在的&#xff0c;这些变量、函数和类的名称将都存在于全局作用域中&#xff0c;可能会导致很多冲突。使用命名空间的目的是对标识符的名称进…...

Spring-事务2

文章目录前言一、事务的特性&#xff08;ACID&#xff09;二、事务的隔离级别三、spring中的事务平台事务管理器.事务定义ISOLation_XXX&#xff1a;**事务隔离级别.**PROPAGATION_XXX&#xff1a;**事务的传播行为**.事务状态关系&#xff1a;四、使用XML文件配置事务1、 搭建…...

Windows Git Bash 配置

Windows Git Bash 配置 本文参考的文章&#xff1a; 在 Windows 的 Git Bash 中使用包管理器 - iris (ginshio.org)Git bash 安装 pacman & Windows 解压 zst 文件 | 伪斜杠青年 (lckiss.com) 一、Git的安装 Git 的安装应该是都会的&#xff0c;但还是应该说以下&#…...

java代码整合kettle9.3实现读取表中的数据,生成excel文件

java代码整合kettle9.3实现读取表中的数据&#xff0c;生成excel文件 1.简介 本次使用java代码整合kettle9.3版本&#xff0c;数据库使用mysql。 2.jar包导入 项目需要依赖部分kettle中的jar包&#xff0c;请将这部分jar包自行导入maven仓库。 <dependency><groupId…...

分享微信点餐小程序搭建步骤_微信点餐功能怎么做

线下餐饮实体店都开始摸索发展网上订餐服务。最多人选择的是入驻外卖平台&#xff0c;但抽成高&#xff0c;推广还要另买流量等问题&#xff0c;也让不少商家入不敷出。在这种情况下&#xff0c;建立自己的微信订餐小程序&#xff0c;做自己的私域流量是另一种捷径。那么&#…...

4、数组、切片、map、channel

目录一、数组二、切片三、map四、channel五、引用类型一、数组 数组&#xff1a; 数组是块连续的内存空间&#xff0c;在声明的时候必须指定长度&#xff0c;且长度不能改变所以数组在声明的时候就可以把内存空间分配好&#xff0c;并赋上默认值&#xff0c;即完成了初始化数组…...

270 uuid

270 uuid 用途 For the creation of RFC4122 UUIDs 可靠性 10000 星星 适应于浏览器或者服务器 官网链接 https://www.npmjs.com/package/uuid https://github.com/uuidjs/uuid 基本使用 import { v4 as uuidv4 } from uuid; uuidv4(); // ⇨ 9b1deb4d-3b7d-4bad-9bdd-2b0d7b3d…...

2023最新简历模板免费下载

下面分享5个简历模板网站&#xff0c;免费下载&#xff0c;建议收藏&#xff01; 2023用最漂亮的简历模板&#xff0c;让面试官眼前一亮。 1、菜鸟图库 个人简历模板|WORD文档模板免费下载 - 菜鸟图库 菜鸟图库除了有超多设计类素材之外&#xff0c;还有很多办公类素材&#…...

【CSS】元素居中总结-水平居中、垂直居中、水平垂直居中

【CSS】元素居中一、 水平居中1.行内元素水平居中&#xff08;1&#xff09;text-align2.块级元素水平居中2.1 margin&#xff08;1&#xff09;margin2.2布局&#xff08;1&#xff09;flex justify-content&#xff08;推荐&#xff09;&#xff08;2&#xff09; flexmargin…...

spring实现AOP

文章目录前言一、AOP的底层实现原理二、AOP的两种开发模式1.使用xml配置文件1.1 添加AOP依赖1.2 创建UserService1.3创建UserServiceImpl1.4创建通知类1.5 创建applicationContext.xml&#xff08;添加aop约束&#xff09;1.6 测试2.使用注解开发2.1 创建bean.xml文件配置注解方…...

neovim搭建cpp环境

文章目录Windowns下NeoVim搭建cpp环境NeoVim安装插件vim-plugindentLinevim-airlinectagstagbarcoc.vimWindowns下NeoVim搭建cpp环境 在开发过程中习惯在DIE环境中使用vim作为编辑器&#xff0c;在单独的编辑器也常使用gvim图形化编辑器。最近看到NeoVim的特性及兼容性方面不输…...

SpringBoot AES加密 PKCS7Padding 模式

AES 简介&#xff1a;DES 全称为Data Encryption Standard&#xff0c;即数据加密标准&#xff0c;是一种使用密钥加密的块算法&#xff0c;1977年被美国联邦政府的国家标准局确定为联邦资料处理标准&#xff08;FIPS&#xff09; AES 密码学中的高级加密标准&#xff08;Advan…...

按键输入驱动

目录 一、硬件原理 二、添加设备树 1、创建pinctrl 2、创建节点 3、检查 编译复制 三、修改工程模板​编辑 四、驱动编写 1、添加keyio函数 2、添加调用 3、驱动出口函数添加释放 4、添加原子操作 5、添加两个宏定义 6、初始化原始变量 7、打开操作 8、读操作 总体代…...

2023年第七周总周结 | 开学倒数第三周

为什么要做周总结&#xff1f; 1.避免跳相似的坑 2.客观了解上周学习进度并反思&#xff0c;制定可完成的下周规划 一、上周问题解决情况 晚上熬夜导致第二天学习状态不好 这周熬夜一天&#xff0c;晚上帮亲戚修手机到22:30&#xff0c;可能是晚上自己的事什么都没做&#xff…...

Springboot扫描注解类

Springboot扫描注解类的入口在AbstractApplicationContext的refresh中&#xff0c;对启动步骤不太了解的&#xff0c;可参考https://blog.csdn.net/leadseczgw01/article/details/128930925BeanDefinitionRegistryPostProcessor接口有多个实现类&#xff0c;扫描Controller、Se…...

Apache日志分析器

您的Apache HTTP服务器生成的日志数据是信息的宝库。使用这些信息&#xff0c;您可以判断您服务器的使用情况、找出漏洞所在&#xff0c;并设法改进服务器结构和整体性能。审核您的Apache日志可在以下情况派上用场&#xff0c;其中包括&#xff1a;识别和纠正频繁出现的错误以增…...

免费发布项目的网站/潍坊网站建设优化

本文作者来自中科院,文章被收录于IJCAI 2019。当前基于邻域聚集的GCN模型大多数是浅层的,并且缺乏“图池化”机制,这使得模型无法获得足够的全局信息。为了增加感受域,本文提出了一种深层层次图卷积网络(H-GCN),H-GCN首先将结构相似的节点重复聚集到超节点,然后将粗化后…...

网站建设要做哪些工作室/短视频优化

目录&#xff1a;导读一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;一句话萦绕在耳畔测试乃至测开…...

个人网站设计主题/网络营销推广有效方式

Description 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5在上面的数字三角形中寻找一条从顶部到底边的路径&#xff0c;使得路径上所经过的数字之和最大。路径上的每一步都只能往左下或 右下走。只需要求出这个最大和即可&#xff0c;不必给出具体路径。 三角形的行数…...

电子商务网站建设方案/百度营销中心

战舰少女R经验怎么计算呢?新版经验计算要注意些什么呢?下面小编为大家带来战舰少女R新版经验计算攻略,一起看看吧.我们以7-5~8-3(非航空战点)为基准&#xff0c;消耗20%油20%弹&#xff0c;S胜720经验。天国的 E6A E6B&#xff0c;消耗10%弹&#xff0c;S胜396经验。8-2B&…...

网上医疗和医院网站建设制作/如何在百度推广自己的产品

这篇讲 基于主键的单向一对一关联映射 1.依然考察人和身份证的一对一关系&#xff0c;如果采用主键关联&#xff0c;那么其表结构应该为&#xff1a; 2.类结构 Person.java public class Person implements Serializable{private String id;private String name;private IdCard…...

电话销售网站建设多少钱一个月/百度站长工具seo查询

阅读目录 一、字符编码 1、什么实字符编码&#xff1a;将人识别的字符转换成计算机能识别的01,而转换的过程或者规则就是字符编码表。 而这种字符编码表表示了一种对应关系。 2、常用的字符编码表有&#xff1a;ascii、unicode、GBK、Shift_JIS、Euc-kr 3、如何理解字符编码…...