百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

作为一名优秀的测试人,如何编写一条好的测试用例?看完秒变大佬

haoteby 2024-11-12 11:31 7 浏览

如何编写一条好的测试用例?

  • 在整个测试的过程中,提测之前,准确说,应该在需求评审、技术方案确认之后,那我们就需要去编写测试用例,通过测试用例来执行测试。

  • 本篇只是单纯的描述如何编写一条用例,针对用例本身,比如:包含哪些必要字段、可以有哪些扩展字段、每个字段应该编写到什么样的程度。


这边为你准备了50G软件测试教程资料,

以及100+的名企大厂测试开发内推资源,

免费分享给你,私信获取:


测试用例的好处


1.任何测试人员都可以执行:可以给不是很熟悉该业务或者该模块的同学直接去执行,而不需要去反复再同开发、产品对接,或者是猜测该条用例的意思或者意图。


2.减少不必要的沟通成本、节省实际执行时间:一条步骤清晰的用例,完全可以照着一步步执行,预期结果清晰,则可以很容易地断定该条用例是否通过,前置条件清楚明白,则可以顺利执行。


3.尽可能的减少重复劳动:在实际的工作中,我们会发现A同学写的用例交接给B同学之后,由于用例步骤不详细、前置不清晰等,导致无法理解、执行,然后会去重写该模块的用例,这就导致工作成本的增加。


4.归档:为后续的迭代、回归,回溯或者交接等提供清晰的依据以及指导。


基本用例包含字段


用例名称、前置条件、输入步骤、预期结果,这几个字段是必不可少的。在保证基本字段清晰的情况下,根据需要,我们可以适当添加一些字段,比如:用例编号、优先级、使用平台、是否自动化、关联需求、是否通过、网络、备注等等。

基本字段必不可少,而且还要清晰描述:


1.用例名称:

能完整且简洁的描述该条用例要做什么。

例如:

2.前置条件:

用例执行需要做哪些前置步骤,或者需要哪些条件才能使该条用例顺利的执行下去?一般来说,在功能模块之前存在关联时或者依赖时,此时需要将前置条件写清楚,因为这些依赖和关联的点,可能只有当时相关的测试和开发比较清楚。


例:限免时段内重复领取福利。

(1)在前置条件或者备注里,最好解释一下限免规则;

(2)发布限时免费的活动到测试环境;

(3)同一时段内,领取过一次。


3.用例步骤或者输入步骤:

这里也是指导用例执行的关键,需要将每一步写的比较清楚,否则其他人来执行的话,很容易出错或者理解错。

比如下载QQ表情的过程中,退出手机QQ这么个用例。

例:

(1)手机登录QQ

(2)打开一个聊天窗口

(3)点击表情

(4)点击“+”,进入表情商城首页

(5)点击表情包,进入详情页

(6)点击下载

(7)当下载到50%之后,手机操作退出详情页面返回到aio界面

(8)退出之后,检查是否可以正常下载完


4.预期结果:

预期结果非常重要,不仅要将相关的检查点写的清晰、完整,而且还要严谨、不易产生误解,能够让其他人执行用例之后,明确判断该条用例是否通过。


比如点击下载某个表情包或者文件,这里的检查包括前端、后端、数据、本地文件等检查。

(1)下载过程中进度条的检查;

(2)下载完成之后文件是否完整、正常打开,内容是否正确;

(3)如果存在状态,状态是否变化;

(4)如果存在数据存储,数据库检查等。


5.用例编号:

代表着用例ID,可以通过多种方式来定,只要清晰明了即可。一般可以是:需求编号+功能模块代号+测试类别+编号。

6.优先级:

用例优先级一般分为3个级别,P0\P1\P2,P0为最高级别,P2为最低级别。在测试活动中,P0级别用例通常会作为开发提测前的自测用例,因此,P0级别的用例比较重要,但量不能太多,在后续的迭代功能、回归测试中,会起着比较重要的作用。一般为正常功能、主流程用例。

7.使用平台:

一般是指测试平台,比如:android、IOS、或者PC、mac等。


8.是否自动化:

一般是指UI自动化或者接口自动化,如果已经自动化的用例,后续在回归测试以及迭代版本的冒烟测试上可以使用自动化来替代,方便区分、统计。


9.关联需求:

这个一般是指需求的链接,或者需求名称(如果没有链接的话),方便后续回溯,以及其他人来使用或者熟悉该模块的测试以及开发。


10.是否通过:

标注当前测试用例是否通过。


11.网络:

测试需要使用网络,比如:3G、4G、wifi、弱网或者弱网详细参数,比如:丢包、延迟、具体网速等。

12.备注:

一般说明该用例需要注意的事项或者特殊的事项。


这边为你准备了50G软件测试教程资料,以及100+的名企大厂测试开发内推资源,免费分享给你,私信获取



相关推荐

JAVA零基础入门:JDK的概述及安装(jdk完整安装教程)

一.什么是jdkJDK(JavaDevelopmentToolKit)是Java开发工具包,JDK是整个JAVA的核心,包括了Java运行环境(JavaRuntimeEnvirnment),一...

开源、强大的工作流引擎:camunda入门介绍

原创不易,请多多支持!对Java技术感兴趣的童鞋请关注我,后续技术分享更精彩。简介CamundaisaJava-basedframeworksupportingBPMNforwork...

Centos8搭建Java环境(JDK1.8+Nginx+Tomcat9+Redis+Mysql)

一、开篇1.1目的每次换新的服务器,都要找资料配下环境,所以我写这篇文章,重新梳理了一下,方便了自己,希望也能给大家带来一些帮助。安装的软件有:JDK1.8+Nginx+Tomcat9+...

记录一次tomcat的升级过程(tomcat6升级tomcat8)

原因:ApacheTomcat资源管理错误漏洞(CVE-2021-42340)版本:ApacheTomcat/9.0.46,tomcat解决方法:升级tomcat9到最新版本9.0.581.官...

Tomcat10安装与配置图文教程(tomcat安装及配置)

Tomcat10安装与配置图文教程1、百度搜索“tomcat下载”,进入官网下载https://tomcat.apache.org/index.html...

VS2022配置x86/x64调用32位和64位汇编语言动态库环境

配置X86MASM汇编环境1.创建项目打开VS2022创建新项目,新建asm文件(注意要手动修改cpp文件后缀名为asm文件后缀名)。2.设置入口点选择菜单栏中的“调试”-“demo调试属性”-...

ARM版Win10用户狂喜 微软全新补丁让应用不再不兼容

Windows10onARM仅支持模拟32位的X86应用程序,这意味着大多数的桌面应用是无法在这一平台上运行的,这在很大程度上限制该平台的发展。为了解决这一问题,微软在内部开发频道推出可用于AR...

分享收藏的 oracle 11.2.0.4各平台的下载地址

概述oracle11.2.0.4是目前生产环境用的比较多的版本,同时也是很稳定的一个版本。目前官网上已经找不到下载链接了,有粉丝在头条里要求分享一下下载地址。一、各平台下载地址...

Android-x86现已基于5.1.1 Lollipop:支持UEFI和64位内核

采用Linux内核的Android-x86,旨在为PC带来最新的Android移动操作系统体验。而近日,该操作系统已经发布了Android-x865.1的首个候选发布(RC)版本。发行说明中提到:A...

Linux Kernel源码阅读: x86-64 系统调用实现细节(二)

特别说明:该文章前两天发布过,但一直在审核中。看头条网友说字数太多可能一直处于审核中状态,我把该文章拆分成几个章节发布,如影响阅读体验还请见谅。五、系统调用编号...

树莓派4B安装win10后实测,CPU秒杀AMD Athlon64 3200+

在上一篇文章介绍了如何给树莓派4B安装win10系统,这篇就简单对系统进行测试,上一篇文章链接https://www.toutiao.com/i7015518822056886821/因为树莓派是a...

一键离线部署x86、arm64 RabbitMQ,花了2天去验证整理,直接拿去

最近有一个项目,客户是内网网络,只能离线部署,采用的麒麟ARM64服务器系统,不能远程部署,需要提前准备离线部署包让客户IT拷备上去再现场部署,部署时间就只有1天。自家系统采用的vue+springb...

Linux软件包管理(linux系统软件包的安装方法,并简要说明其特点)

Linux系统如果需要安装软件怎么办?如何安装,大概有以下几种方式1.二级制软件包管理(RPM、YUM)...

Tachyum要做全球最强64位处理器:性能比X86强,面积比ARM小

全球半导体芯片研发、生产最强的国家非美国莫属,如果有某家美国公司宣布要开发性能超强的芯片,大家不会意外,但要是一家斯洛伐克初创公司宣布要研发超级芯片呢?Tachyum公司就是这样一家公司,成立于201...

Android L 64位模拟器终于来了:x86独享

GoogleI/O2014大会已经过去了很久,64位的AndroidL依然停留在纸面上,但现在至少可以让开发者们先行品尝品尝了:64位的AndroidL模拟器已经发布。这次公布的模拟器镜像是专...