软件测试学习笔记-测试用例的编写

请添加图片描述
7中测试分类
按照阶段可划分单元测试、集成测试、系统测试、验收测试。代码可见度划分黑盒测试、灰盒测试、白盒测试
单元测试:针对源代码的测试
集成测试:针对接口进行测试
系统测试:针对功能和非功能的测试
验收测试:公测、内测
黑盒测试:不关注源代码针对功能测试 如系统测试
白盒测试:针对源代码进行测试 如:单元测试
灰盒测试:针对接口进行测试 如:集成测试


测试流程的6个步骤:
1.需求评审、2. 测试计划、3. 用例设计、4. 用例执行、5. 缺陷管理、6. 测试报告

文章目录

        • 测试用例
          • 1. 等价类划分法(应对穷举场景)
          • 2. 边界值分析法(限定边界规则)
          • 3. 判断表法
          • 4. 场景法

测试用例

8个组成部分
测试编号 项目_模块_编号
测试标题 预期结果(测试点) 比如 登录失败(账号为空)
项目/模块
优先级 表示用例的重要程序或者影响力p0~p4(p0最高)用户使用最多的功能 p0
前置条件
测试步骤
测试数据
预期结果

1. 等价类划分法(应对穷举场景)
  1. 明确需求
  2. 划分有效和无效等价
  3. 设计数据编写用例

例子:验证QQ账号合法
需求:6~10位自然数
从位数上分为:
有效:8位自然数
无效:5位、11位自然数

其他:
无效:8位非自然数、空
测试用例为:

测试编号测试标题项目/模块优先级前置条件测试数据测试步骤预期结果
qq_001QQ合法(8位自然数)qq账号p0打开QQ验证程序账号:123456781. 输入QQ账号
2.点击验证
QQ合法
qq_002QQ不合法(5位自然数)qq账号p1打开QQ验证程序账号:123451. 输入QQ账号
2.点击验证
QQ不合法
qq_003QQ不合法(11位自然数)qq账号p1打开QQ验证程序账号:123456789101. 输入QQ账号
2.点击验证
QQ不合法
qq_004QQ不合法(8位非自然数)qq账号p1打开QQ验证程序账号:1234567a1. 输入QQ账号
2.点击验证
QQ不合法
qq_005QQ不合法(空)qq账号p1打开QQ验证程序账号:空1. 输入QQ账号
2.点击验证
QQ不合法

例子:电话号码的正确性
需求:

  1. 区号:空或者三位数字
  2. 前缀码:非“0”且非“1”开头的三位数字
  3. 后缀码:四位数字

请添加图片描述
对应的测试用例如下:

测试编号测试标题项目/模块优先级前置条件测试数据测试步骤预期结果
电话_001电话号码合法(区号为空+其他正常)电话号码p0打开电话号码验证程序区号:空 前缀:234 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码合法
电话_002电话号码合法(区号为三位数字+其他正常)电话号码p0打开电话号码验证程序区号:123 前缀:234 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码合法
电话_003电话号码不合法(区号为非三位数字+其他正常)电话号码p1打开电话号码验证程序区号:1234 前缀:234 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_004电话号码不合法(前缀为非0且非1开头的非三位数字+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:2345 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_005电话号码不合法(后缀为非四位数字+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:234 后缀:2341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_006电话号码不合法(区号为非数字+其他正常)电话号码p1打开电话号码验证程序区号:12a 前缀:234 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_007电话号码不合法(前缀为非数字+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:23a 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_008电话号码不合法(后缀为非数字+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:234 后缀:123a1. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_009电话号码不合法(前缀以0开头+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:023 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法
电话_010电话号码不合法(前缀以1开头+其他正常)电话号码p1打开电话号码验证程序区号:123 前缀:123 后缀:12341. 输入区号 2. 输入前缀 3.输入后缀 4. 点击验证电话号码不合法

使用场景:需要大量测试数据输入,但是没法穷举测试的地方

  • 输入框
  • 下拉列表
  • 单选复选框
2. 边界值分析法(限定边界规则)

解决边界值位数限制问题
选取正好等于、刚好大于、刚好小于边界的值作为测试数据
上点:边界上的点(正好等于)
离点:距离上点最近的点(刚好大于、刚好小于)
内点:范围内的点(区间范围内的数据)
最多:7点(不考虑类型,按照位数)

步骤:

  1. 明确需求
  2. 确定有效和无效等价类(只考虑类型)
  3. 确定边界范围值
  4. 提取数据编写测试用例

例子:
需求:通过边界值法验证标题长度的合法性。
要求:标题长度大于0,小于等于30个字符

有效:长度大于0小于或等于30的字符
无效:长度大于0小于或等于30的数字
上点:0,30
离点:-1,1,29,31
内点:15

总共7种,长度没有为-1的,且内点为15和有效重复
在这里插入图片描述
优化:离点–>考虑开闭区间,开区间选择内部离点,闭区间选择外部离点

使用场景:

  1. 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
  2. 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语
  3. 典型代表:有边界范围的输入框类测试
3. 判断表法

场景:多条件有依赖关系
是一种以表格形式表示多条件逻辑判断的工具
组成:

  1. 条件桩:列出问题中的所有条件,列出条件的次序无关紧要
  2. 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束
  3. 条件项:列出条件对应的取值,所有可能情况下的真假值
  4. 动作项:列出条件项的、各种取值情况下应该采取的动作结果

例子:验证”若用户欠费或者关机,则不允许主被叫“功能的测试
在这里插入图片描述

规则:

  1. 判断表中贯穿条件项和动作项的一列就是一条规则
  2. 假设有n个条件,每个条件的取值有两个,全部组合为2的n次方种规则

步骤:

  1. 明确需求
  2. 画出判定表
    1) 列出条件桩和动作桩
    2)填写条件项,对条件进行全组合
    3)根据条件项和组合确定动作项
    4)简化、合并相似规则(有相同动作)
  3. 根据规则编写测试用例

例子1:
在这里插入图片描述
条件桩:金额是否大于500、是否过期
动作项:发出批准单和提货单、发出通知单
在这里插入图片描述
测试用例:

测试编号测试标题项目/模块优先级前置条件测试数据测试步骤预期结果
order_001发通知单(金额大于500,过期)订单p0打开订单验证程序1. 金额:600 2.是否过期:是1. 输入金额 2. 输入是否过期 3. 点击验证发通知单,不发批准单和提货单
order_002发批准单和提货单(金额大于500,没有过期)订单p0打开订单验证程序1. 金额:600 2.是否过期:否1. 输入金额 2. 输入是否过期 3. 点击验证不发通知单,发批准单和提货单
order_003发批准单和提货单、通知单(金额小于500,过期)订单p0打开订单验证程序1. 金额:400 2.是否过期:是1. 输入金额 2. 输入是否过期 3. 点击验证发通知单,发批准单和提货单
order_004发批准单和提货单(金额小于500,没有过期)订单p0打开订单验证程序1. 金额:400 2.是否过期:否1. 输入金额 2. 输入是否过期 3. 点击验证不发通知单,发批准单和提货单

例子2:
文件修改规则
在这里插入图片描述
条件桩:第一列为A或者B、第二列是数字
动作桩:给出信息L、给出信息M、修改文件成功
在这里插入图片描述

4. 场景法

使用标准图和箭头来表达程序或业务的走向(流程图)
先测试业务,再测试单功能,单模块,单页面
在这里插入图片描述
例子:ATM机取款流程
在这里插入图片描述
在这里插入图片描述
对应的测试用例
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/666237.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32外部中断(红外传感器与旋转编码器计数案例)

文章目录 一、介绍部分简介中断系统中断执行流程STM32中断NVIC基本结构NVIC优先级分组外部中断外部中断简介外部中断基本结构外部中断的流程AFIOEXTI框图 相关外设介绍旋转编码器介绍硬件电路对射式红外传感器 二、代码实现对射式红外传感器计次连接电路封装红外传感器与中断函…

【开源】基于JAVA+Vue+SpringBoot的河南软件客服系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统管理人员2.2 业务操作人员 三、系统展示四、核心代码4.1 查询客户4.2 新增客户跟进情况4.3 查询客户历史4.4 新增服务派单4.5 新增客户服务费 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的河…

2024/2/3学习记录

微信小程序 小程序中组件的分类 视图容器 view 普通视图区域,类似于 div 常用来实现页面的布局效果。 scroll-view 可滚动的视图区域,常用来实现滚动列表效果 swiper 和 swiper-item 常用 swiper 组件的常用属性 轮播图容器组件和轮播图item组件 基…

记录 arm 开发板上 nginx 配置 http 服务注意事项

1. 自定义项目,需要在 conf.d 目录中增加一个 .conf 配置文件: server {listen 9200; # 端口号server_name localhost; # 服务名称location / {root /home/imx6q/media; # 项目根目录(需要修改 n…

Vue引入Axios

1.命令安装axios和vue-axios npm install axios --save npm install vue-axios --save 2.package.json查看版本 3.在main.js中引用 import axios from axios; import VueAxios from vue-axios; Vue.use(VueAxios,axios) 4.如何使用 (初始化方法) 将下列代…

HCIA-Datacom实验指导手册:4.2 实验二:AAA配置实验

HCIA-Datacom实验指导手册:3.3 实验三:以太网链路聚合实验 一、实验介绍:display ssh server ip-block all通过Telnet登录时,解除对IP地址10.1.2.3的锁定。通过STelnet登录时,解除对IP地址10.1.2.3的锁定。解除对用户名…

有什么不同? Elastic 数据层和 Amazon OpenSearch Service 层

作者:来自 Elastic Ugo Sangiorgi 了解 Elastic 和 Amazon OpenSearch Service 数据层之间的主要差异,以实现更智能、经济高效的数据管理。 在数据管理领域,在讨论如何在不同的性能要求下提供和/或保留数据时,经常会出现 “热 (h…

04、全文检索 -- Solr -- 管理 Solr 的 core(使用命令和图形界面创建、删除 core,以及对core 目录下的各文件进行详细介绍)

目录 管理 Solr 的 core创建 Core方式1:solr 命令创建演示:使用 solr 命令创建 Core:演示:命令删除 Core(彻底删除) 方式2:图形界面创建Web控制台创建CoreWeb控制台删除 Core(未彻底…

C语言:详解操作符(上)

摘要: 本篇,我们将学习C语言中操作符的相关内容,操作符是C语言中重要的元素之一,在我们的代码中处处都有,下面我们将详细介绍操作符的相关内容,并结合一些代码例题加深印象。 目录 一、操作符的分类及介绍 …

【Matplotlib】figure方法之图形的保存

🎈个人主页:甜美的江 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:matplotlib 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进…

学成在线:媒体资源管理系统(MAM)

媒体资源管理系统(MAM) 媒体资源管理系统(Media Asset Management)是建立在多媒体、网络、数据库和数字存储等先进技术基础上的一个对各种媒体及内容进行数字化存储、管理以及应用的总体解决方案,可以满足媒体资源拥有者收集、保存、查找、编辑、发布各种信息的要求,为媒体资源…

css1文本属性

一.颜色(color)(一般用16进制) 二.对齐(text-align) 三.装饰(text-decoration) 四.缩进(text-indent)(一般用2em)(有单位)…

电商数据采集:选择爬虫工具还是第三方API?

电商商家最常唠叨的就是店铺运营难做。每日多平台店铺数据统计汇总繁琐耗时,人工效率偏低,且工作内容有限。 特别是眼下“618大促”将至,如何提高运营的效率和质量、保证产品及服务的良性运作,是电商企业急需解决的难题。 01 数…

thinkadmin的form.html表单例子

<style>textarea {width: 100%;height: 200px;padding: 10px;border: 1px solid #ccc

洗袜子的小型洗衣机哪种好?质量好的迷你洗衣机推荐

随着生活水平的提高&#xff0c;消费者对生活质量的要求也越来越高&#xff0c;越来越多的人开始追求更加舒适、干净的生活。在脚部保健方面&#xff0c;袜子往往是人们关注的重点。袜子洗衣机就是一种专门用于清洗袜子的洗衣机&#xff0c;可以将各种材质的袜子在短时间内进行…

Java设计模式 – 四大类型

设计模式 – 四大类型 创建型模式结构型模式行为型模式J2EE模式 设计模式&#xff08;Design pattern&#xff09;是重构解决方案 根据书Design Patterns – Elements of Reusable Object-Oriented Software&#xff08;中文译名&#xff1a;设计模式 – 可复用的面向对象软件元…

图论练习1

内容&#xff1a;&#xff0c;拆点&#xff0c;分层&#xff0c;传递&#xff0c;带限制的最小生成树 [HNOI2015]菜肴制作 题目链接 题目大意 有个限制&#xff0c;号菜肴在号前完成在满足限制的条件下&#xff0c;按照出菜( 是为了满足的限制 ) 解题思路 由限制&#xf…

Redis-缓存问题及解决方案

本文已收录于专栏 《中间件合集》 目录 概念说明缓存问题缓存击穿问题描述解决方案 缓存穿透问题描述解决方案 缓存雪崩问题描述解决方案提高缓存可用性过期时间配置熔断降级 总结提升 概念说明 Redis是一个开源的内存数据库&#xff0c;也可以用作缓存系统。它支持多种数据结构…

解锁MyBatis Plus的强大功能:学习高级操作与DML技巧!

MyBatisPlus 1&#xff0c;DML编程控制1.1 id生成策略控制知识点1&#xff1a;TableId1.1.1 环境构建1.1.2 代码演示AUTO策略步骤1:设置生成策略为AUTO步骤3:运行新增方法 INPUT策略步骤1:设置生成策略为INPUT步骤2:添加数据手动设置ID步骤3:运行新增方法 ASSIGN_ID策略步骤1:设…

海量数据处理商用短链接生成器平台 - 2

第二章 短链平台项目创建git代码管理开发分层规范 第1集 短链平台实战-Maven聚合工程创建微服务项目 **简介&#xff1a;Maven聚合工程创建微服务项目实战 ** Maven聚合工程拆分 dcloud-common 公共依赖包 dcloud-app FlinkKafka实时计算 dcloud-account 账号流量包微服务 dc…