如何写出高效的软件测试用例?

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

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

一、什么是测试用例

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

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

二、如何编写测试用例

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

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

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

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

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

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

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

2)整理测试点

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

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

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

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

2、挖掘需求外测试点

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

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

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

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

三、提供测试用例专项视频供大家学习

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

为让大家更好的理解测试用例,大量的学习资料供大家学习:

 自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

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

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

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

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

相关文章

D35|整数拆分+不同的二叉搜索树

96.不同的二叉搜索树 初始思路: 一开始需要推导递推公式也就是需要找规律: 我认为的规律是 dp[0] 1; dp[1] 1; dp[2] 2; dp[3] dp[2]dp[1]xdp[1]dp[2]5; dp[4] dp[3]dp[2]xdp[1]dp[1]xdp[2]dp[3]; dp[5] dp[4]dp[1]xdp[3]dp[2]xdp[2]dp[3…

Web前端-HTML(初识)

文章目录 1.认识WEB1.1 认识网页,网站1.2 思考 2. 浏览器(了解)2.1 五大浏览器2.2 查看浏览器占有的市场份额 3. Web标准(重点)3.1 Web 标准构成结构表现行为 1.认识WEB 1.1 认识网页,网站 网页主要由文字…

2024年手把手带你安装fl studio for mac 21.2.2.3470图文激活教程

音乐在人们心中的地位日益增高,近几年音乐选秀的节目更是层出不穷,喜爱音乐,创作音乐的朋友们也是越来越多,音乐的类型有很多,好比古典,流行,摇滚等等。对新手友好程度基本上在首位,…

【数据结构】八大排序之直接插入排序算法

🦄个人主页:修修修也 🎏所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 一.直接插入排序简介及思路 直接插入排序(Straight Insertion Sort)是一种简单直观的插入排序算法. 它的基本操作是: 将一个数据插入到已经排好的有序表中,从而得到一个新的,数…

代码评审——静态map初始化并赋值问题

问题描述&#xff1a; 在程序开发过程中&#xff0c;经常使用到Map来进行数据的处理。但在开发过程中&#xff0c;当使用静态Map时&#xff0c;初始化数据会存在一些危险的情况。 可以参考如下示例代码&#xff1a; public static Map<String,String> staticMap new H…

IDA pro软件 如何修改.exe小程序打开对话框显示的文字?

环境: Win10 专业版 IDA pro Version 7.5.201028 .exe小程序 问题描述: IDA pro软件 如何修改.exe小程序打开对话框显示的文字? 解决方案: 一、在IDA Python脚本中编写代码来修改.rdata段中的静态字符串可以使用以下示例代码作为起点(未成功) import idc# 定义要修…

【ros2 control 机器人驱动开发】简单双关节机器人学习-example 1

【ros2 control 机器人驱动开发】简单双关节机器人学习-example 1 文章目录 前言一、RR机器人创建description pkg创建demos pkg 二、创建controller相关创建example pkg 三、测试运行总结 前言 本系列文件主要有以下目标和内容&#xff1a; 为系统、传感器和执行器创建 Har…

如何访问AWS私有网络中的RDS (Mysql)

文章目录 小结问题及解决连接问题如何使用本地的Mysql Workbench对RDS进行访问 参考 小结 在AWS私有网络中部署了RDS (Mysql), 尝试通过外网成功地进行了访问. 问题及解决 连接问题 在AWS私有网络中部署了RDS (Mysql), 进行外网进行访问碰到了各种问题. 以下连接超时&…

Go标准包之flag命令行参数解析

1.介绍 在 Go中&#xff0c;如果要接收命令行参数&#xff0c;需要使用 flag 包进行解析。不同的参数类型可以通过不同的方法接收。 2.参数接受 2.1 接受方式 使用flag接收参数&#xff0c;可以由以下三种方式接受&#xff1a; 方式一: flag.Type(name,defaultVal,desc)方…

【精选】计算机网络教程(第6章应用层)

目录 前言 第6章应用层 1、URL的格式 2、HTTP请求报文的一些方法 3、HTTPS和HTTP的区别 4、电子邮件 5、文件传送协议&#xff08;FTP&#xff09; 前言 总结计算机网络教程课程期末必记知识点。 第6章应用层 1、URL的格式 定义格式 <协议>&#xff1a;//<主…

计算机毕业设计 基于SpringBoot的大学生创新创业项目管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…

关联规则 FP-Growth算法

FP-Growth算法 FP-growth 算法思想 FP-growth算法是韩家炜老师在2000年提出的关联分析算法&#xff0c;它采取如下分治策略: 将提供频繁项集的数据库压缩到一棵频繁模式树 (FP-Tree)但仍保留项集关联信息。FP-growth算法是对Apriori方法的改进。生成一个频繁模式而不需要生成…

mysql 索引场景 大于>为什么失效

可以先看这个&#xff1a;Mysql查询条件为大于时&#xff0c;不走索引失效场景-CSDN博客 改为> &#xff0c;可双看到key_len减少了&#xff0c;从90变到了86&#xff0c;也就是说联合索引(a b c) &#xff0c;只有(a b) 起了效果,c 没有。 可以不查c看看结果&#xff0c;还…

深度学习项目实战:垃圾分类系统

简介&#xff1a; 今天开启深度学习另一板块。就是计算机视觉方向&#xff0c;这里主要讨论图像分类任务–垃圾分类系统。其实这个项目早在19年的时候&#xff0c;我就写好了一个版本了。之前使用的是python搭建深度学习网络&#xff0c;然后前后端交互的采用的是java spring …

LibreOffice Online安装

LibreOffice Online安装 环境&#xff1a;Liunx 通过docker拉取 LibreOffice Online 主干镜像&#xff1a; docker pull libreoffice/online:master启动容器&#xff0c;根据实际情况替换&#xff1a; docker run -dit -p 9980:9980 --name libreoffice-online -e "us…

vivado 创建实施约束

创建实施约束 在您有了一个合成的网表之后&#xff0c;您可以将它与XDC文件一起加载到内存中&#xff0c;或者Tcl脚本已启用以进行实现。当加载XDC以便验证和更正任何不能应用的约束。在某些情况下&#xff0c;合成网表中的对象名称与精心设计。如果是这种情况&#xff0c;则必…

每日一题:LeetCode-LCR 016. 无重复字符的最长子串

每日一题系列&#xff08;day 15&#xff09; 前言&#xff1a; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f308; &#x1f50e…

《PySpark大数据分析实战》-14.云服务模式Databricks介绍基本概念

&#x1f4cb; 博主简介 &#x1f496; 作者简介&#xff1a;大家好&#xff0c;我是wux_labs。&#x1f61c; 热衷于各种主流技术&#xff0c;热爱数据科学、机器学习、云计算、人工智能。 通过了TiDB数据库专员&#xff08;PCTA&#xff09;、TiDB数据库专家&#xff08;PCTP…

docker-compose介绍和用法

docker-compose介绍和用法详解 1、docker-compose介绍2、docker-compose build3、docker-compose down4、docker-compose up -d 1、docker-compose介绍 Docker Compose是一个用于快速配置多个Docker容器的工具。它是一个定义和运行多容器的Docker应用工具&#xff0c;通过YAML…

redis之五种基本数据类型

redis存储任何类型的数据都是以key-value形式保存&#xff0c;并且所有的key都是字符串&#xff0c;所以讨论基础数据结构都是基于value的数据类型 常见的5种数据类型是&#xff1a;String、List、Set、Zset、Hash 一) 字符串(String) String是redis最基本的类型&#xff0c;v…