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

测试用例的编写方式

学习目标

  1. 能对穷举场景设计测试点
  2. 能对限定边界规则设计测试点
  3. 能对多条件依赖关系进行设计测试点
  4. 能对于项目业务进行设计测试点

目录

  • 等价类划分法
  • 案例

等价类划分

  • 说明:在所有测试数据中,具有某种共同特征的数据集合进行划分
  • 分类
    有效等价类:满足需求的数据集合
    无效等价类:不满足需求的数据集合
  • 步骤
    1、明确需求
    2、确定有效和无效等价类
    3、提取数据编写测试用例

案例1

需求:验证QQ账号的合法性
要求:6~10位自然数

用例编号用例标题项目/模块优先级前置条件测试步骤测试数据预期结果
qq_001合法(8位自然数)QQP01、打开验证程序1、输入账号
2、点击验证
账号:12345678合法
qq_002不合法(4位自然数)QQP11、打开验证程序1、输入账号
2、点击验证
账号:1234不合法
qq_003不合法(12位自然数)QQP11、打开验证程序1、输入账号
2、点击验证
账号:123456789012不合法
qq_004不合法(8位非自然数)QQP11、打开验证程序1、输入账号
2、点击验证
账号:1234567A不合法

案例2

需求:验证某城市电话号码正确性
要求:1、区号:空或者是三位数字
2、前缀码:非“0”且非“1”开头的三位数字
3、后缀码:四位数字

分析:

维度名称有效无效
长度区号1、空
2、3位
2位
前缀码3位2位
后缀码4位3位
类型区号数字非数字
前缀码数字非数字
后缀码数字非数字
规则区号//
前缀码2开头1、0开头
2、1开头
后缀码//

1、正向(正确有效的用例):2条【一次尽可能将多个正确数据组合】空+2开头的3位数字+4位数字、3位数字+2开头的3位数字+4位数字
2、逆向(错误无效的用例):8条【一次只能覆盖1个,否则无法区分错误来源】

用例编写:

用例编号用例标题项目/模块优先级前置条件测试步骤测试数据预期结果
tel_001合法(区号为空+其他正确)电话P01、打开电话验证程序1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:空/NULL
2、前缀:234
3、后缀:1234
合格
tel_002合法(区号为3位数字+其他正确)电话P01、打开电话验证程序1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:123
2、前缀:234
3、后缀:1234
合格
tel_003不合法(区号2位数字+其他正确)电话P11、打开电话验证程序1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:12
2、前缀:234
3、后缀:1234
不合格
tel_004不合法(前缀2位数字且非0非1开头+其他正确)电话P11、打开电话验证程序1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:123
2、前缀:23
3、后缀:1234
不合格
tel_005不合法(后缀3位数字+其他正确)电话P11、打开电话验证程序1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:123
2、前缀:234
3、后缀:123
不合格
tel_006不合法(区号3位非数字+其他正确)电话P11、打开电话验证程序1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:12A
2、前缀:234
3、后缀:1234
不合格
tel_007不合法(前缀3位非数字且非0非1开头+其他正确)电话P11、打开电话验证程序1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:123
2、前缀:23a
3、后缀:1234
不合格
tel_008不合法(后缀4位非数字+其他正确)电话P11、打开电话验证程序1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:123
2、前缀:234
3、后缀:123A
不合格
tel_009不合法(前缀3位数字0开头+其他正确)电话P11、打开电话验证程序1、输入区号
2、输入前缀
3、输入后缀
4、点击验证
1、区号:123
2、前缀:023
3、后缀:1234
不合格
tel_010 不合法(前缀3位数字1开头+其他正确) 电话 P1 1、打开电话验证程序 1、输入区号
2、输入前缀
3、输入后缀
4、点击验证 1、区号:123
2、前缀:123
3、后缀:1234 不合格

回顾知识

1、软件测试的定义:使用技术手段验证软件是否满足需求
2、说出7种测试分类的区别:

  1. 阶段划分:
    (1)单元测试:测试对象(源代码)
    (2)集成测试:测试对象(接口)
    (3)系统测试:测试对象(功能、非功能【易用、兼容、安全、性能】、文档)
    (4)验收测试:内测和公测

  2. 代码可见度划分
    (1)黑盒测试:看不见程序源代码,针对程序的功能和非功能进行验证
    (2)灰盒测试:看见部分代码(接口),针对程序接口进行测试
    (3)白盒测试:完全看见源代码,针对程序源代码进行测试

3、说出质量模型的重点5项:
功能、性能、兼容、易用、安全
4、说出测试流程的6个步骤:
(1)需求评审
(2)测试计划编写
(3)用例设计
(4)用例执行
(5)缺陷管理
(6)测试报告

5、说出测试模板8个要素
(1)用例编号:项目简称_模块_编号
(2)用例标题:预期结果(测试点)
(3)项目/模块:所属项目模块
(4)优先级:P0~P4(P0最大)
(5)前置条件:执行用例预置操作
(6)测试步骤:执行步骤
(7)测试数据:步骤用的关键数据
(8)预测结果:期望结果

6、用例设计
(1)什么是测试用例?
执行测试的文档
(2)用例的作用:
防止漏测、执行标准
(3)测试方法:
解决穷举问题:等价类划分方法(步骤:明确需求;划分等价;提取数据,编写用例)

相关文章:

测试用例的编写方式

学习目标 能对穷举场景设计测试点能对限定边界规则设计测试点能对多条件依赖关系进行设计测试点能对于项目业务进行设计测试点 目录 等价类划分法案例 等价类划分 说明:在所有测试数据中,具有某种共同特征的数据集合进行划分分类: 有效等…...

HarmonyOS实战开发-状态管理、通过使用页面级的状态变量 和应用级的状态变量 来实现应用的状态管理。

介绍 本示例通过使用页面级的状态变量 和应用级的状态变量 来实现应用的状态管理。 效果预览 使用说明 1.点击首页中的基本类型进入对应页面,点击按钮可以更改圆形的颜色;点击查看源码可以展示基本类型功能效果的源码。 2.点击首页中的数组类型进入对…...

【Java开发指南 | 第二篇】标识符、Java关键字及注释

专栏:Java开发指南 CSDN秋说 文章目录 标识符Java关键字Java注释 标识符 Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线&…...

3D可视化技术:研发基地的科技新篇章

在科技日新月异的今天,我们生活在一个充满无限可能性的时代。而在这个时代中,3D可视化技术正以其独特的魅力,引领着科技领域的新一轮变革。 3D可视化技术通过三维图像的方式,将现实世界或虚拟世界中的物体、场景等以立体、逼真的形…...

蓝旭前端05:JavaScript进阶

蓝旭前端05:JavaScript进阶 基础简单复习 数据类型 基本数据类型:Number、String、Boolean、Null、Undefined等。引用数据类型:Object、Array、Function等。typeof操作符:返回数据类型的字符串形式。 变量 变量声明&#xff1…...

【docker-compose】安装及配置

目录 安装在线安装离线安装 配置mysql5.7bitnami/mysql8.3redisweb前后台分离部署前端https(SSL)配置nginx动态传参资源限制:内存、cpunacossentinelgateway 问题汇总iptables No chain/target/match by that namedocker-compose.yml修改mysql密码,重启后…...

【第十五届】蓝桥杯省赛C++b组

今年的蓝桥杯省赛已经结束了,与以往不同,今年又回到了8道题,而22,23年出现了10道题 大家觉得难度怎么样,欢迎进来讨论,博主今年没参加哈,大家聊聊,我听听大家的意见和看法哈 试题A:…...

thinkphp6 Driver [Think] not supported.

问题的原因:使用view这个类但相应的库未安装(新版仅内置了PHP原生模板引擎) 官方解释:视图功能由\think\View类配合视图驱动(也即模板引擎驱动)类一起完成,新版仅内置了PHP原生模板引擎&#x…...

爱自然生命力专项基金:“爱·启航”残障家庭教育援助项目帮扶上万残障家庭

为进一步积极践行社会责任,助力公益慈善事业,2017年2月爱自然生命力体系与中国下一代教育基金会开展相关合作,共同启动了中国下一代教育基金会爱自然生命力专项基金,并启动了基金第一个项目“爱启航残障家庭教育援助项目”&#x…...

【ubuntu】如何追加path

【背景】 在ubuntu上整备一个项目环境时需要追加Path。 【方法】 先复制下需要加的Path,比如我的是:/home/sheep431/.local/bin 加path命令 nano ~/.bashrc在nano界面输入如下命令 export PATH"/home/sheep431/.local/bin:$PATH"【检验】…...

用html写一个有趣的鬼魂动画

<!DOCTYPE html> <html lang"en" > <head><meta charset"UTF-8"><title>一个有趣的鬼魂动画</title><link rel"stylesheet" href"https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.m…...

【C++软件调试技术】C++软件开发维护过程中典型调试问题的解答与总结

目录 1、引发C软件异常的常见原因有哪些&#xff1f; 2、排查C软件异常的常用方法有哪些&#xff1f; 3、为什么要熟悉常见的异常内存地址&#xff1f; 4、调试时遇到调用IsBadReadPtr或者IsBadWritePtr引发的异常&#xff0c;该如何处理&#xff1f; 5、如何排查GDI对象泄…...

Pygame经典游戏:贪吃蛇

------------★Pygame系列教程★------------ Pygame经典游戏&#xff1a;贪吃蛇 Pygame教程01&#xff1a;初识pygame游戏模块 Pygame教程02&#xff1a;图片的加载缩放旋转显示操作 Pygame教程03&#xff1a;文本显示字体加载transform方法 Pygame教程04&#xff1a;dra…...

推荐一个免费使用Claude 3, GPT4和Gemini 1.5 Pro的网站

在探索人工智能的广阔天地时,我偶然间发现了You AI这一平台,它不仅更新了大量的模型,还慷慨地提供了免费的使用机会。兴奋之余,我迅速开始尝试这些新功能,并决定将我的体验分享给大家。以下是我试用的流程: 打开网站:点击左下角的Sign in蓝色框 https://you.comhttps://…...

An Investigation of Geographic Mapping Techniques for Internet Hosts(2001年)第二部分

​下载地址:An investigation of geographic mapping techniques for internet hosts | Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications 被引次数:766 Padmanabhan V N, Subramanian L. An i…...

解锁生成式 AI 的力量:a16z 提供的 16 个企业指南

企业构建和采购生成式AI方面的16项改变 生成式 AI 领域趋势洞察&#xff1a;企业构建和采购生成式 AI 的方式正在发生重大转变&#xff0c;具体表现在&#xff1a;* 专注于可信度和安全性&#xff1a;75% 的企业将信任和安全性视为关键因素。* 优先考虑可扩展性和灵活性&#x…...

Kylin使用心得

Kylin是一个开源的分布式分析引擎&#xff0c;基于Apache Hadoop构建&#xff0c;专为处理大规模数据集而设计。以下是一些使用Kylin的心得体会&#xff1a; 快速查询 Kylin的OLAP引擎能够对大规模数据集进行高效的多维分析查询。通过预计算和存储多维度的聚合数据&#xff0…...

CentOS7使用Docker搭建Joplin Server并实现多端同步与公网使用本地笔记

文章目录 1. 安装Docker2. 自建Joplin服务器3. 搭建Joplin Sever4. 安装cpolar内网穿透5. 创建远程连接的固定公网地址 Joplin 是一个开源的笔记工具&#xff0c;拥有 Windows/macOS/Linux/iOS/Android/Terminal 版本的客户端。多端同步功能是笔记工具最重要的功能&#xff0c;…...

C语言100道练习题打卡(1)

1 有1&#xff0c;2&#xff0c;3&#xff0c;4四个数字&#xff0c;能组成多少个互不相同且不重复的三位数&#xff0c;都是多少 #include<stdio.h> //有1&#xff0c;2&#xff0c;3&#xff0c;4四个数字&#xff0c;能组成多少个互不相同且不重复的三位数&#xff…...

5G-A有何能耐?5G-A三载波聚合技术介绍

2024年被称作5G-A元年。5G-A作为5G下一阶段的演进技术&#xff0c;到底有何能耐呢&#xff1f; 三载波聚合&#xff08;3CC&#xff09;被认为是首个大规模商用的5G-A技术&#xff0c;将带来手机网速的大幅提升。 █ 什么是3CC 3CC&#xff0c;全称叫3 Component Carriers…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

React第五十七节 Router中RouterProvider使用详解及注意事项

前言 在 React Router v6.4 中&#xff0c;RouterProvider 是一个核心组件&#xff0c;用于提供基于数据路由&#xff08;data routers&#xff09;的新型路由方案。 它替代了传统的 <BrowserRouter>&#xff0c;支持更强大的数据加载和操作功能&#xff08;如 loader 和…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

C++ 基础特性深度解析

目录 引言 一、命名空间&#xff08;namespace&#xff09; C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用&#xff08;reference&#xff09;​ C 中的引用​ 与 C 语言的对比​ 四、inline&#xff08;内联函数…...

Spring AI 入门:Java 开发者的生成式 AI 实践之路

一、Spring AI 简介 在人工智能技术快速迭代的今天&#xff0c;Spring AI 作为 Spring 生态系统的新生力量&#xff0c;正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务&#xff08;如 OpenAI、Anthropic&#xff09;的无缝对接&…...

html-<abbr> 缩写或首字母缩略词

定义与作用 <abbr> 标签用于表示缩写或首字母缩略词&#xff0c;它可以帮助用户更好地理解缩写的含义&#xff0c;尤其是对于那些不熟悉该缩写的用户。 title 属性的内容提供了缩写的详细说明。当用户将鼠标悬停在缩写上时&#xff0c;会显示一个提示框。 示例&#x…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

实战三:开发网页端界面完成黑白视频转为彩色视频

​一、需求描述 设计一个简单的视频上色应用&#xff0c;用户可以通过网页界面上传黑白视频&#xff0c;系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观&#xff0c;不需要了解技术细节。 效果图 ​二、实现思路 总体思路&#xff1a; 用户通过Gradio界面上…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...