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

news2024/12/23 13:48:35

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

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

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

一、什么是测试用例

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

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

二、如何编写测试用例

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

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

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

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

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

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

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

2)整理测试点

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

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

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

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

2、挖掘需求外测试点

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

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

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

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

三、总结

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

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

Go第三方框架--gin框架(三)

5. net/http框架源码-- 多路复用的实现 这块核心功能对应 1.3 的圆圈2,所属代码如下图: run代码涉及的操作不是gin框架的核心,还记的我说过gin是在net/http的基础上操作的吗,我们来看下gin和net/http包的关联关系。 gin: 主要建…

SurfaceTexture OnFrameAvailableListener 调用流程分析

背景: 最近项目中遇到一个问题, 需要搞清楚OnFrameAvailableListener 回调流程, 本文借此机会做个记录, 巩固印象, 有相关困惑的同学也可以参考下. 本文基于Android 14 framework 源码进行分析 SurfaceTexture.java OnFrameAvailableListener 设置过程 public void setOnFra…

102.游戏安全项目-显示人物属性

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 内容参考于:易道云信息技术研究院 上一个内容:101.游戏安全项目-创建人物对象结构 效果图: 以 101.游戏安全项目-创建人物…

[产品管理-15]:NPDP新产品开发 - 13 - 产品创新流程 - 具体产品的创新流程:精益生产与敏捷开发

目录 前言:​ 一、集成产品开发IPD模型——集成跨功能团队的产品开发 1.1 概述 1、IPD模型的核心思想 2、IPD模型的主要组成部分 3、IPD模型的实施步骤 4、IPD模型的优点 1.2 基于IPD系统的组织实践等级 1.3 IPD的优缺点 二、瀑布开发模型 1、定义与特点…

【一分钟学C++】std::memory_order

竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生~ 公众号: C学习与探索 | 个人主页: rainInSunny | 个人专栏: Learn OpenGL In Qt 文章目录 写在前面为什么需要Memory OrderMemory OrderRelaxed OrderRelease-Acquire Order 写在前面 使用std::mem…

day45-测试平台搭建之前端vue学习-基础4

目录 一、生命周期 1.1.概念 1.2.常用的生命周期钩子 1.3.关于销毁Vue实例 1.4.原理​编辑 1.5.代码 二、非单文件组件 2.1.组件 2.2.使用组件的三大步骤 2.3.注意点 2.4.关于VueComponent 2.5.一个重要的内置关系 三、今日学习思维导图 一、生命周期 1.1.概念 1).又名&…

每日OJ_牛客_点击消除(栈)

目录 牛客_点击消除(栈) 解析代码 牛客_点击消除(栈) 点击消除_牛客题霸_牛客网 描述: 牛牛拿到了一个字符串。 他每次“点击”,可以把字符串中相邻两个相同字母消除,例如,字符…

【机器学习】10——logistic的直观理解

机器学习10——logistic的直观理解 logistic 目录 机器学习10——logistic的直观理解训练过程具体例子 训练过程 数据集: 特征: 学习时间(例如,1小时、2小时等)。 标签: 是否通过考试(0 或 1)。 模型结构: 输入: 学习…

OpenAI推出o1系列模型:AI思考力爆表,带来全新智能体验

OpenAI的——o1系列模型,传说中的「草莓」,终于来与大家见面了! 这个新模型可不一般,它可以进行复杂的推理,就像在认真思考一样,不再是简单的回答问题。CEO奥特曼称,这是一个全新的开始。它不仅…

智能照明监控系统在发电厂的应用

0前言 国内发电厂普遍使用传统照明控制方法,包括配电箱集中控制、就地开关控制和自动控制。然而,随着技术进步,这些方法已无法满足对安全、舒适、便捷、信息交互和节能环保的需求。因此,实施智能照明控制系统变得必要&#xff0c…

考研报名确认上传身份证户口本学历证明照片如何压缩裁剪

随着考研季节的到来,数以万计的考生开始准备报名所需的各种材料。在这一过程中,证件照片的上传无疑是一个关键环节。正确的照片格式和尺寸不仅能确保报名流程的顺利进行,还能避免因材料不合格而造成的不必要麻烦。本文将详细介绍如何在考研报…

密码学基础--ECDSA算法入门

目录 1.ECDSA签名长度的疑惑 2.ECDSA原理 2.1 生成签名 2.2 验签过程 2.3 签名编码问题 3.小结 1.ECDSA签名长度的疑惑 我们来看看ECDSA签名长什么样子,使用MuscleV02自动生成密钥对,并对message"0x11223344”进行签名,结果如下&a…

一款超级给力的DAW软件flstudio24.1.1.4285最新破解版!

嗨,音乐制作爱好者们!今天要跟大家安利一款超级给力的DAW软件,它就是——fl studio24.1.1.4285最新破解版! fl studio24.1.1.4285最新破解版简介:这款强大的数字音频工作站软件,是音乐人梦寐以求的工具。它…

Python+Pytest框架,“api_key.py文件怎么编写“?

1、在"api_keyword"文件夹下新增"api_key.py" import allure import requests import json import jsonpath from deepdiff import DeepDifffrom config import *allure.title("测试用例执行") class ApiKey:allure.step(">>>:开…

【win工具】win安装flameshot并设置截图快捷键

1.下载flameshot软件2.windows端配置flameshot快捷键3.取消win自带截图快捷键 1.下载flameshot软件 https://flameshot.org/#download installer版本为安装包 portable版本为免安装版 2.windows端配置flameshot快捷键 https://cloud.tencent.com/developer/article/2114952 W…

Java项目: 基于SpringBoot+mybatis+maven课程答疑系统(含源码+数据库+毕业论文)

一、项目简介 本项目是一套基于SpringBootmybatismaven课程答疑系统 包含:项目源码、数据库脚本等,该项目附带全部源码可作为毕设使用。 项目都经过严格调试,eclipse或者idea 确保可以运行! 该系统功能完善、界面美观、操作简单、…

Pikachu靶场之csrf

CSRF 跨站请求伪造 CSRF入门及靶场实战 - FreeBuf网络安全行业门户 攻击者伪造恶意链接,诱使用户点击,这个链接附带了用户的认证凭据Cookie、Session等,执行操作如转账。 因为带了cookie、session,服务器认为是用户的行为。借用…

尚品汇-订单拆单、支付宝关闭交易、关闭过期订单整合(五十)

目录: (1)拆单接口 (2)取消订单业务补充关闭支付记录 (3)支付宝关闭交易 (4)查询支付交易记录 (5)PaymentFeignClient 远程接口 &#xff08…

玩转扩展库,温湿度传感器篇!—合宙Air201资产定位模组LuatOS快速入门05

随着LuatOS快速入门系列教程的推出,小伙伴们学习热情高涨。 合宙Air201不仅支持三种定位方式,还具有丰富的扩展功能,通过外扩BTB链接方案,最多可支持21个IO接口:SPI、I2C、UART等多种接口全部支持。 本期&#xff0c…

electron-vite vue3离线使用monaco-editor

目录 1.搭建一个 electron-vite 项目 2.安装monaco-editor和vite-plugin-monaco-editor 3.electron.vite.config.mjs配置 4.创建 worker.js并在main.js 引入 5.创建组件 MonacoVite.vue 组件 6. App.vue中引入组件 7.运行测试 1.搭建一个 electron-vite 项目 pnpm creat…