七分钟教会你如何编写一个合格的测试用例(代码片段)

测试界的飘柔 测试界的飘柔     2023-04-14     232

关键词:

1、测试用例编写依据

测试用例编写应严格根据PRD(产品说明书)

没有PRD应根据与客户的沟通和确认结果编写

开发的技术文档和流程图

2、测试用例的组成元素

【用例编号】测试用例的编号。

【用例等级】测试用例的重要级别,一般核心功能的用例登录即冒烟用例,非核心功能的测试用例但是使用频率高的级别是高,其次是中,使用频率不高功能要求低的级别是低。

【测试模块】一般可以分成功能,性能,安全,兼容,稳定性等。

【测试项目】用例的测试相关的主要功能名称。

【测试点】能够清晰表达测试用例的测试目的和关键测试要素。

【前提条件】需要描述测试所需要处于的外部环境和测试前测试对象及辅助对象所需要处于的状态和配置。需要保证在完成预置条件中所描述的状态和配置以及外部环境后,测试执行的正确性、一致性。

【操作步骤】为了达到测试用例的测试目的,所需要执行的操作;每个操作步骤对应一个预期结果。

【预期结果】针对测试用例的测试目的,测试步骤中操作后对应的预期输出状态。

【实际输出】根据测试用例操作的实际结果。

【结论】测试用例的测试结果,一般分为Pass,Fail,Block(暂时阻塞的功能),N/A(不需要的功能)。

【执行方式】选手动或者自动。

3、测试用例编写规则

1、用例名称要求

(1)包含测试模块和功能点,体现测试要点

(2)不要包括具体操作步骤

(3)简洁明了,一句话能描述出测试点,一般不超出15个字

2、用例重要性要求

(1)高,产品基本的核心功能验证,即关键路径的测试用例,包括最常执行的功能、基本流程的输入(正向流程+正向数据)

(2)中,产品非核心功能验证,包括界面数据有效性校验、默认值、边界值

(3)低,建议执行的测试用例,包括不常执行的功能、异常流程的输入以及异常数据的输入

3、前置条件

测试执行前需准备的相关操作,如测试数据、角色权限,或登入系统某页面等

4、测试步骤要求

(1)用例描述中不允许出现二义性语句

(2)操作和结果是一一对应的,但操作中不要包含结果的检查

(3)用例描述中不允许出现假设性词汇,比如:假如,或许,可能,…的时候等

(4)用例描述中不允许存在连词、介词,比如:而且,和,还(这种情况可以拆分为多个点)

(5)操作步骤描述清晰。如:在什么页面,点击什么链接或按钮;页面入口、链接、按钮名称都要写清楚

5、预期结果要求

(1)结果中只能包含结果,不能有步骤

(2)一个结果有多个检查点时,确保检查点完整

(3)原则上每个用例必需要有预期结果,结果不能为空

(4)结果涉及消息:需明确关键查看内容

(5)结果涉及页面,需明确页面提示结果、数据变化

(6)结果对应不同输入数据有差别时需分别对应描述清晰

(7)结果含需要验证的所有结果输出,如页面检查、存储检查、消息检查等

(8)结果涉及存储:需明确关键值变化、数据库具体的表和关键字字段值变化

4、测试用例设计方法

1、等价类

等价类划分法是把所有可能输入的数据,即程序的输入域划分策划国内若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。

例如:

我们要测试一个用户名是否合法,用户名的定义:8位数字组成的字符。
我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。
然后从每个子集选出若干个有代表性的值:
空用户名:“” (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入)
1-7位数字:“234” (无效等价类实例)
8位数字:“00000000” (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能)
9位或以上数字:“1234567890” (无效等价类实例)
非数字:“abc&!!!” (无效等价类实例)

2、边界值

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。

例如:

假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。
注:上面只是说边界值,如果是完整的测试,除了边界值外,还需要一个正常值,即12-98之间的任意值。

3、因果图

因果图法是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

4、判定表

判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。

5、正交分解法

从大量的(实验)数据(测试例)中挑选适量的,有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。

6、错误推测法

基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。

7、场景法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。


资源分享【这份资料必须领取~

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

一文带你了解如何编写测试用例?0基础也能看懂(代码片段)

📢我是小濠,一个快要秃头的测试人📢欢迎点赞👍收藏⭐留言📝如有错误敬请指正!📢我收集了一些软件测试资料,关注我公众号:程序员小濠,免费领取!📢送给大家一句话&#x... 查看详情

❤️不会写k8s资源编排yaml文件?一文教会你如何掌握编写yaml文件的技巧❤️(代码片段)

❤️不会写K8S资源编排yaml文件?一文教会你如何掌握编写yaml文件的技巧❤️文章目录❤️不会写K8S资源编排yaml文件?一文教会你如何掌握编写yaml文件的技巧❤️一、熟悉下K8S常用命令参数以及资源管理1.K8S集群常用命... 查看详情

十分钟通过一个实际问题,真正教会大家如何解决bug(代码片段)

前言这篇文章从实际问题->问题解决步骤->问题解决思路,帮助大家能够明白如何在程序中发现问题,定位问题,解决问题。并真正理解那些问题解决思路。首先说说这个实际问题是什么,又是怎么遇到的。我这边做了一个... 查看详情

selenium测试用例的编写(代码片段)

开头用配置好的selenium进行一个简单的测试用例的编写,可以参考allure的美化这一遍博文https://www.cnblogs.com/c-keke/p/14837766.html代码编写新建一个测试用例test_02.py,开启一个远程selenium调试,编写如下代码#!/usr/bin/envpython#-*-encoding:utf-8... 查看详情

如何编写测试用例

如何编写测试用例用例的五个构成元素:用例标题前置条件测试步骤期望结果后置条件下面从这五个元素的角度,去剖析如何编写测试用例用例标题用例标题就是测试点名称。用例标题是用来说明这个用例的测试目的的,好的用... 查看详情

如何编写接口测试用例?

接口测试用例如何编写?下面简单给大家讲解一下。接口测试用例是目前软件开发中不可或缺的一个重要部分,因此编写接口测试用例同样重要。接口测试用例的作用非常明显,它能够帮助我们了解产品正在考验、调... 查看详情

3分钟手把手带你搭建基于selenium的自动化框架(代码片段)

1、什么是seleniumSelenium是一个基于浏览器的自动化工具,它提供了一种跨平台、跨浏览器的端到端的web自动化解决方案。Selenium主要包括三部分:SeleniumIDE、SeleniumWebDriver和SeleniumGrid:SeleniumIDE:Firefox的一个扩展,它可以进行录制... 查看详情

测试用例(代码片段)

...念和作用1.1引信对一个测试工程师来说,测试用例的设计编写是一项必须掌握的能力,但有效的设计和熟练的编写测试用例却是一个十分复杂的技术,测试用例编写者不仅要掌握软件测试技术和流程,而且要对整个软... 查看详情

如何编写高质量的测试用例?这些方法论一定得知道...(代码片段)

单元测试用例单元测试用例有人总结出来了编写用例的3A原则,分别是Arrange:初始化测试对象或者准备测试数据Act:调用被测方法Assert:断言给一个例子[TestMethod]publicvoidWithdraw_ValidAmount_ChangesBalance()//arrangedoublecurrentBalance=10.0;do... 查看详情

5分钟教会你用python采集csdn的热榜(代码片段)

...评论区问到热榜数据怎么爬。热心的我,现在就花几分钟时间教会大家。首先,打开热榜页面并打开开发者工具, 查看详情

测试套件(代码片段)

...https://www.cnblogs.com/eastonliu/p/9145255.html在前面一章中示例了如何编写一个简单的测试,但有两个问题:我们知道测试用例的执行顺序是根据测试用例名称顺序执行的,在不改变用例名称的情况下,我们怎么来控制用例执行的顺序呢... 查看详情

dotest--用例该如何书写?完整示例-软件测试(代码片段)

...黑盒、自动化、接口、性能亦或是安全测试工程师。至于如何书写先不讲,先看下我们学员共同完成的一个完整版的用例示例图:QQ登录界面 查看详情

十分钟教会你如何使用vitepress搭建及部署个人博客站点

使用VitePress可以让我们快速搭建一个静态博客网站,这篇文章将带领大家搭建一个基于VitePress的静态博客网站并且部署到GitHubPages(github提供的静态网页服务)快速上手新建目录并初始化(我的目录名为kittydocs)这里我们使用pnpm式,... 查看详情

三分钟教会你开密码箱

...箱设置一个密码。他把他的密码箱设置一个密码,没过20分钟,他忘记了。我们找到卖密码箱的店主想让他帮忙打开,他也不知道怎么快速打开,说让我们把箱子放在这里他一个密码一个密码的尝试。我们说:比较着急,她就推荐... 查看详情

实战!手把手教你如何编写一个linux驱动并写一个支持物联网的led演示demo(代码片段)

目录一.开发环境二.准备工作:1.创建一个项目工程目录2.创建输出与目标目录3.头文件目录4.建立源代码src目录5.使用git管理你的项目三.编写LED驱动三.一准备工作三.二init实现三.四exit实现三.五make实现三.六open实现三.七write实... 查看详情

web3系列开发教程——创建你的第一个nft使用ethers.js铸造nft|测试用例(代码片段)

本节文章将描述如何通过ethers.js库使用以太币在以太坊区块链上铸造NFT,以及我们还会讨论如何对创建的NFT进行基础的测试。在本文中,我们将实践一种可替代的方法:即使用OpenZeppelinV4库以及Ethers.js以太坊库实现。除此之前,... 查看详情

一篇文章教会你如何制作精美导航条(代码片段)

【一、项目背景】让更多的人去学习html,以广东科技学院的导航栏为例,教大家怎么去做一个横向的导航栏。【二、项目准备】准备一个编程的软件Dreamweaver,打开软件点击文件新建一个叫导航栏的项目,如下图所示。点击确定... 查看详情

web自动化-04-cypress测试用例编写和组织(代码片段)

4测试用例编写和组织4.1用例结构Cypress是建立在Mocha和Chai之上,因此同时支持Chai的BDD和TDD两种风格。如果你熟悉JavaScript风格的代码,那么在Cypress中写测试用例是很容易上手的。Mocha是一款适用于Node.js和浏览器的测试框架... 查看详情