一文让你快速写出高效的软件测试用例

news2024/12/30 2:22:13

前言

编写测试用例的目的就是确保测试过程全面高效、有据可查。但要编写出高效的测试用例,需要搞清楚什么是测试用例,以及如何编写出高效的测试用例?接下来将从以下几个部分来进行展开

1、什么是测试用例
2、如何编写测试用例
3、软件测试学习资源分享

一、什么是测试用例

测试用例 :为了特定目的而设计的由一组测试输入、执行条件、预期结果构成的文档。

简单理解就是将产品的需求拆分为一个个功能点,然后去验证其正确性

二、如何编写测试用例

编写测试用例主要分为下面两种方式:

  • 覆盖需求所有测试点
  • 挖掘需求外的测试点

下面我们来分别阐述如何实现:

1、看怎样去实现覆盖需求所有测试点

1)能看懂需求文档,找准测试测试依据

作为测试人员,需求文档是测试软件的依据,首先需要看懂产品的需求文档。对于需求文档涉及的测试点能够整理出来,简单理解就是把大段的文字描述转化为思维导图的过程,推荐大家通过Xmind的形式整理。

其次,在需求文档的基础上结合测试环境或者产品人员,加深对需求的理解,方便后续更好的熟悉需求,整理测试点编写用例。

2)整理测试点

整理测试点的好处就是给编写用例的人员提供一个全面可靠的思路,防止设计用例过程的遗漏或者错误。同时也可以降低直接拿着需求文本编写用例的难度。编写的宗旨,最起码确保能 覆盖需求

将需求文档中的需求转化为测试点,方便编写测试用例,一般按照需求文档拆分成小的功能点,分别取验证。拆分到直接能够编写用例的程度,这个过程中可以使用一些设计用例的方法,即分别验证每一个小的测试目的。

举例,现在页面登录功能需求如下

若上诉需求要拆分成测试点,则可以制作如下所示:

2、挖掘需求外测试点

在讲这个话题之前,需要提前给大家普吉一个概念:质量模型特性。

质量模型特征包含:功能性、性能效率、安全性、易用性、兼容性、可靠性等

还是以上方的登录功能为例,根据质量模型特征,我们可以得到需求外测试点如下所示:

覆盖需求中的测试点,这是最基本的要求,再此基础上还需要挖掘需求外的测试点,可以借助于软件质量模型的特性进行思考,想法设法多思考用户使用过程中可能存在的各种场景。例如上述登录功能可以从非功能层面考虑设计:

三、提供视频供大家学习

总之,在确认覆盖需求的基础上,通过质量模型的特性进行思考补充,熟练使用质量模型过程实际是在对系统比较熟悉的基础上进行扩展补充,当然这个过程可以借助内部测试人员的讨论和评审补充会更加完善。

耗时半个月,终于把牛客网最新的软件测试面试题整理成合集了(接口测试/自动化测试/性能测试/测试开发)_哔哩哔哩_bilibili

最后,若是你恰好缺乏手工测试学习资料或自动化测试学习资料,现在特意给你准备了一份13G的超实用干货学习资源,涉及的内容非常全面。

包括软件学习路线图,50多天的上课视频、16个突击实战项目,80余个软件测试用软件,37份测试文档,70个软件测试相关问题,40篇测试经验级文章,上千份测试真题分享,还有2023软件测试面试宝典,还有软件测试求职的各类精选简历,希望对大家有所帮助…..

 

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

 

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

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

相关文章

element-plus的el-select实现触底加载更多(新版本报错踩坑)

前言 element-plus新版增加了一个属性,且默认为true,使得下拉菜单被插入到了body元素下。即.el-select下默认不包含.el-select-dropdown了。 现象 当依旧按照之前的方式,封装自定义指令,实现滚动到el-select下拉菜单的底部&…

Redis从入门到精通之底层数据结构快表QuickList详解

文章目录 0.前言1. 快表的结构2. Redis 6.0 快表quicklist 基本结构2.1 成员变量2.1 主要操作2.1 推导结果 3. 快表的操作 3. 快表的优缺点3.1 优点:3.2 缺点: 5. Redis从入门到精通系列文章 0.前言 上个篇章回顾,我们上个章节,讲…

计算机中丢失msvcp140.dll的解决方案-由于找不到msvcp140.dll的解决方法

本教程操作系统:电脑 Windows系统、 msvcp140.dll是电脑文件中的dll文件(动态链接库文件)。如果计算机中丢失了某个dll文件,可能会导致某些软件和游戏等程序无法正常启动运行,并且导致电脑系统弹窗报错。 在我们打开…

STM32串口DMA双缓冲,数据接收与发送,HAL库实现

STM32串口DMA双缓冲 1.简介 STM32F429系列DMA支持双缓冲模式进行数据传输,相当于数字电路设计领域的乒乓操作,但是HAL库并没有实现像单缓冲区一样可以简单使用的函数,有的方法是使用单缓冲的方式,但是通过接收半满的中断控制CPU…

头文件header file和源文件 source file

头文件 header file,后缀是.h,头文件负责类的定义,函数声明,常量的定义 源文件source file,后缀是.cpp, 函数的实现 最主要的作用就是将函数的声明和实现分开,如果想将类和函数交给别人使用&a…

python基本语法知识(五)——面向对象

类和对象 例子1 class Student:name Nonegender Nonenationality Nonenative_place None # 籍贯age None# 类内的成员方法,第一个参数必须为 self,# self相当于是当前对象def say_hi(self):print(f"大家好,我是{self.name}")def say_hi2(self, msg):print(f&q…

自学网络安全怎么规划路线?

01 什么是网络安全 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 无论网络、Web、移动、桌面、云等哪个领域,都有攻与防两面…

HuggingFace Bert语言模型抽取句子表征向量

1. 安装相应的包 pip install transformers2. 具体代码 from transformers import BertTokenizer, BertModeltokenizer BertTokenizer.from_pretrained(bert_base_cased, cache_dir"dblp/bert_base_cased", local_files_onlyTrue) model BertModel.from_pretrain…

第七十一天学习记录:对陈正冲编著《C 语言深度解剖》中关于1、2、4,5章作者留下部分问题的学习

问&#xff1a;有如下代码。 static int j;void fun1(void) {static int i 0;i; }void fun2(void) {j 0; j; }int main() {int k 0;for (k 0; k<10; k){fun1();fun2();}return 0; }i 和 j 的值分别是什么,为什么&#xff1f; 答&#xff1a; 在这份代码中&#xff0c;变…

Dtop环球嘉年华推动Web 3.0国际电商领域的革新

随着互联网技术的与日俱进和数字经济的高速发展,国际贸易正在经历一场重大变革。其中,跨境电商作为一种新兴的商业模式,正在全球迅速崛起。然而,自2021年以来,跨境电商行业也面临着各种风险和挑战,如各国增值税新规、电商账号封禁事件以及海运价格持续上涨等冲击。这些因素共同…

Spark SQL数据帧与数据集

文章目录 一、数据帧 - DataFrame&#xff08;一&#xff09;DataFrame概述&#xff08;二&#xff09;将RDD转成DataFrame 二、数据集 - Dataset&#xff08;一&#xff09;Dataset概述&#xff08;二&#xff09;将RDD转成DataSet&#xff08;三&#xff09;DataFrame与Datas…

ATA-4000系列高压功率放大器——超声导波中的典型应用

ATA-4000系列高压功率放大器——超声导波中的典型应用 超声导波技术 超声导波(guided waves ultrasonic)技术是一项近年来广受关注的无损检测技术。导波是由于介质边界存在而被限制在介质中传播的、同时其传播方向平行于介质边界的波。超声导波较早期的研究由一些著名学者完成&…

react + antd实现动态切换主题功能(适用于antd5.x版本)

前言 在之前的几篇文章中&#xff08;React Antd实现动态切换主题功能之二&#xff08;默认主题与暗黑色主题切换&#xff09;、React Antd实现动态切换主题功能&#xff09;介绍了antd实现动态切换主题功能&#xff0c;文章里介绍的方法在antd5.x版本却不适用&#xff0c;因…

【UE5】分分钟简单使用像素流云服务(Pixel Streaming)

【UE5】分分钟简单使用像素流云服务&#xff08;Pixel Streaming&#xff09; 前言 UE5的Pixel Streaming已经封装的很好&#xff0c;简单三步实现简单的服务搭建。 安装插件打包项目运行服务 注&#xff1a;实例平台为Windows 安装插件 编辑→插件→输入查询Pixel Strea…

Java之~Bigdicmal的长度,小数点后用0补位

/*** 获取bigdicmal的长度* param number 需要截取的数字* param num 需要保留小数点后的位数* return*/ public static int checkBigDecimalLength(String number ,int num){String s getSupString(number,num);return s.length(); }/*** 补充后面数值0* param number 需要截…

5G技术学习——5GNR帧结构和空口资源

这里写目录标题 4G时域定义&#xff1a;资源划分 5GNR中时域 频域 与空域资源 循环前缀CP:背景和原理5G帧结构&#xff1a;基本框架5G slot分类 5G 频域资源5G频域资源基本概念信道带宽与传输带宽BWP定义及其应用场景 4G 时域定义&#xff1a; 帧&#xff1a;10ms&#xff0c;…

【go-zero】go-zero微服务实战系列九 聚合策略 极致优化秒杀性能(转)

上一篇文章中引入了消息队列对秒杀流量做削峰的处理,我们使用的是Kafka,看起来似乎工作的不错,但其实还是有很多隐患存在,如果这些隐患不优化处理掉,那么秒杀抢购活动开始后可能会出现消息堆积、消费延迟、数据不一致、甚至服务崩溃等问题,那么后果可想而知。本篇文章我们…

深度学习-pytorch_lightning框架使用实例

下面是我写过的一个pytorch_lightning项目的代码框架。关键代码已经省略。 模型构建 import pytorch_lightning as pl from pytorch_lightning.plugins.io import TorchCheckpointIO as tcio import torch from torch import nn import torch.nn.functional as F from torch.…

师生相逢,潇潇洒洒出品

师生相逢2023年6月10日潇潇洒洒出品骑行肩并肩 相望曾相识①遥忆多年前 青春勃发时豪情梦摘星 清纯玉壶冰感叹岁月老 友情弥久新寄情山水间 天涯不负卿①骑行路上&#xff0c;偶遇30年前的学生&#xff0c;现在是骑行群的骑友&#xff0c;共同的兴趣爱好使我们30年后再相逢&…

【服务器数据恢复】热备盘激活失败导致raid5瘫痪的数据恢复案例

服务器数据恢复环境&#xff1a; 一台EMC存储中数块磁盘组建了一组raid5磁盘阵列&#xff0c;阵列中有2块热备盘&#xff1b;上层采用ZFS文件系统&#xff0c;划分了一个lun&#xff0c;供sun小机使用。 服务器故障&检测&#xff1a; 存储在正常运行中突然崩溃无法使用&…