如何设计测试用例

一、介绍

测试用例就是一个文档,描述输入、动作、或者时间和一个期望的结果,其目的是确定应用程序的某个特性是否正常的工作。

二、基本格式

用例的基本要素包括测试用例编号、测试标题、重要级别、测试输入、操作步骤、预期结果等。

用例编号:编号有一定的规则,如系统测试用例的编号这样定义规则: PROJECT1-ST-001 ,命名规则是项目名称+测试阶段类型(系统测试阶段)+编号。定义测试用例编号,便于查找测试用例,便于测试用例的跟踪。

测试标题:对用例描述,测试用例标题应该清楚表达测试用例的用途。比如 “ 测试用户登录时输入错误密码时,软件的响应情况 ” 。

重要级别:定义测试用例的优先级别,可以笼统的分为 四个不同的等级。
前置条件:

输入限制:提供测试执行中的各种输入条件。根据需求中的输入条件,确定输入。测试用例的输入对软件需求当中的输入有很大的依赖性,如果软件需求中没有很好的定义需求的输入,那么测试用例设计中会遇到很大的障碍。

操作步骤:提供测试执行过程的步骤。对于复杂的用例,测试用例的输入需要分为几个步骤完成,这部分内容在操作步骤中详细列出。

预期结果:提供测试执行的预期结果,预期结果应该根据需求说明书中的输出得出。如果在实际中,得到的实际测试结果与预期结果不符,那么测试不通过;反之则测试通过。

三、示例

测试编号测试项用例名称前置条件操作步骤预期结果优先级
project1-login-01登录用户成功登录系统存在用户账号abc/1231、输入账号abc
2、输入密码123
3、输验证码000
4、点击登录
成功登录,跳转到首页
project1-login-02登录密码错误,登录失败,系统存在用户账号abc/1231、输入账号abc
2、输入密码567
3、输验证码000
4、点击登录
不跳转,提示密码错误,请重新登陆

四、测试用例设计方法

常见的有:等价类划分法、边界值分析法、错误推测法、流程分析法、判定表法、正交实验法。

等价类法:就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出几个有代表性的值作为测试用例。如:密码长度6-10位,则划分1-5位 、6-10位、10位以上三类。 

边界值法:软件大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值,例如:成年人年龄假定 X 为整数, 18≤X≤100,那么 X 在测试中应该取的边界值为:17,18,19,99,100,101。

错误推测法:在测试时,根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。这方法没有固定的形式,依靠的是经验和直觉,有针对性地设计。只能作为一种补充。

流程分析法:又称为场景法,是根据不同的业务场景来编写测试用例,需要把所以可能产生分支的地方考虑到。流程分析主要包括三个流程:基本流、备选流、异常流。

基本流:也就是正向流程,通过业务流程输入都为正确的,能够最终达到目标的流程。如:经典的ATM机取款流程,插入银行卡—输入正确的密码—输入正确的金额-取钱-取卡。

备选流:通过实现业务流程时,因错误操作或异常输入,导致流程存在反复,但最终能够达到预期的操作流程,如:ATM机取款,插入银行卡—输入错误的密码—重新输入正确的密码—输入正确的金额-取钱-取卡。

异常流:实现业务流程时,因操作错误或异常输入,导致没有完成业务流程,如ATM机取款,插入银行卡—输入错误的密码3次—吞卡。

正交实验法:就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。

状态迁移法:根据测试对象和测试数据之间的关系。测试对象的输出行为不仅仅和当前的输入数据有关,而且和测试对象当前的状态有关。状态迁移图是设计状态转换测试用例的基础,基于状态迁移图进行的测试就是状态迁移测试。例如:订单状态:未支付、超时取消、已取消、已支付、已收货、已完成等。步骤:画出状态迁移图、通过状态迁移图画出状态转换树、从状态转换树推导出测试路径、根据测试路径编写合法测试用例

        

五、缺陷报告

报告内容:标题、描述(简洁、准确、完整、反映缺陷本质)、重现步骤、严重程度(致命、严重、一般、较小)、优先级(紧急、高、中和低)、截图、编号、缺陷状态、指派人、测试环境、版本、所属模块等。

编写测试报告要做到以下几点:

1、对错误的描述要做到简洁、准确、完整,揭示错误实质        

2、每个软件问题报告只书写一个缺陷或错误

3、明确指明错误类型和严重程度

4、每一个步骤尽量只记录一个完整操作

5、复现的操作步骤要完整,准确,简短

6、可以附加必要的错误特征图像

7、可以附加必要的测试用例

严重等级划分:

致命:系统任何⼀个主要功能完全丧失,⽤户数据受到破坏,系统崩溃、悬挂、死机等。

严重:系统的主要功能部分丧失,数据不能保存,系统的次要功能完全丧失,系统所提供的功能或服务受到明显的影响。

⼀般:系统的次要功能没有完全实现,但不影响⽤户的正常使⽤。例如:提⽰信息不太准确或⽤户界⾯差、操作时间长等⼀些问题。

较⼩:是操作者不⽅便或遇到⿇烦,但它不影响功能的操作和执⾏,如个别不影响产品理解的错别字、⽂字排列不整齐等⼀些⼩问题。

 

总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助。

  1. 文档获取方式:

  2. 加入我的软件测试交流群:680748947免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

这份文档,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上均可以分享,只需要你搜索vx公众号:程序员雨果,即可免费领取

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

适合年轻人的恋爱交友脱单软件有哪些?中国十大社交软件排行榜分享

交友始祖:Tinder 一直很受欢迎,可以向上扫给 super like (每日有一次免费机会)。如果双方互相 like,代表配对成功,就可以开始聊天。另外,每日有 10 个 top picks 供选择,你可以免费选一位 主力编外&#xf…

添加一个索引要投产,需要哪些步骤?

编程一生 致力于写大家都能看懂的、有深度的 技术文章 05/2024 01 开场白 亚马逊有个bar raiser文化。就是说新招来的人一定要超过之前入职人员的平均水平,宁缺毋滥。越来越多的公司在推行这种文化。在这种氛围下:“虽然我不懂,但是活儿是能出…

一文了解webpack和vite中Tree-Shaking

1、什么是Tree-Shaking 1.1 摇树优化(Tree Shaking)是Webpack中一种用于优化JavaScript代码的技术。它的目标是通过静态分析,从代码中剔除未被使用的模块,从而减少最终打包文件的大小。 1.2 Tree-shaking 它的名字来源于通过摇晃…

纯血鸿蒙APP实战开发——数字滚动动效实现

介绍 本示例主要介绍了数字滚动动效的实现方案。 该方案多用于数字刷新,例如页面刷新抢票数量等场景。 效果图预览 使用说明: 下拉页面刷新,数字进行刷新。 实现思路 通过双重ForEach循环分别横向、纵向渲染数字。 Row() {ForEach(this…

基于SSM的文化遗产的保护与旅游开发系统(有报告)。Javaee项目。ssm项目。

演示视频: 基于SSM的文化遗产的保护与旅游开发系统(有报告)。Javaee项目。ssm项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构,…

Java中包的概念package

Package Package:包 指明方法、类所处的包; 将类分配到不同的包中,方便管理; 用于指明文件中定义的类、接口等结构所在的包; 一个源文件只要一个包的声明语句,必须放到开头; 属于标识符,满足命…

Java类加载器介绍

在Java中,类加载器是一种动态加载类的机制,它负责在运行时查找、加载和链接类文件。当Java应用程序需要创建某个类的对象时,类加载器会在运行时查找该类对应的.class文件,并将其加载到Java虚拟机中。Java类加载器通常分为三层&…

《ESP8266通信指南》15-MQTT连接、订阅MQTT主题并打印消息(基于Lua|适合新手|非常简单)

往期 《ESP8266通信指南》14-连接WIFI(基于Lua)-CSDN博客 《ESP8266通信指南》13-Lua 简单入门(打印数据)-CSDN博客 《ESP8266通信指南》12-Lua 固件烧录-CSDN博客 《ESP8266通信指南》11-Lua开发环境配置-CSDN博客 《ESP826…

空间复杂度

前言 通过上一节的学习,我们知道了衡量一个算法是否高效的标准就是复杂度,我们已经学习了时间复杂度,那么本节我们就了解一下空间复杂度的相关知识,那么我们废话不多说,正式进入今天的学习 空间复杂度 空间复杂度也是…

Bugku Crypto 部分题目简单题解(三)

where is flag 5 下载打开附件 Gx8EAA8SCBIfHQARCxMUHwsAHRwRHh8BEQwaFBQfGwMYCBYRHx4SBRQdGR8HAQ0QFQ 看着像base64解码 尝试后发现,使用在线工具无法解密 编写脚本 import base64enc Gx8EAA8SCBIfHQARCxMUHwsAHRwRHh8BEQwaFBQfGwMYCBYRHx4SBRQdGR8HAQ0QFQ tex…

机器学习——6.模型训练案例: 预测儿童神经缺陷分类TD/ADHD

案例目的 有一份EXCEL标注数据,如下,训练出合适的模型来预测儿童神经缺陷分类。 参考文章:机器学习——5.案例: 乳腺癌预测-CSDN博客 代码逻辑步骤 读取数据训练集与测试集拆分数据标准化数据转化为Pytorch张量label维度转换定义模型定义损…

MySQL慢查询SQL优化

一、慢查询日志 描述:通过慢查询日志等定位那些执行效率较低的SQL语句 查看 # 慢查询是否开启 show variables like slow_query_log%; # 慢查询超时时间 show variables like long_query_time%;执行SQL 开启慢查询日志 set global slow_query_log ON;设置慢查…

Secure Transformer Inference Made Non-interactive

目录 1.概述2.Attention2.1 Matrix multiplication (ciphertext-plaintext).2.2 Matrix multiplication (ciphertext-ciphertext)2.3 Placement of bootstrapping3.SIMD密文压缩和解压缩4.SIMD槽折叠5.实验结果 1.概述 我们提出了NEXUS,这是第一个用于安全变压器推…

pdf编辑软件,四款软件让你轻松玩转PDF编辑!

在信息爆炸的当今时代,PDF格式文档因其跨平台、不易被篡改的特性而深受大家喜爱。然而,如何高效地编辑PDF文档却成为许多人的难题。今天,我将为大家推荐四款实用的PDF编辑软件,让你轻松玩转PDF编辑,告别繁琐操作&#…

【Linux】为什么有僵尸状态,什么是僵尸进程,造成危害以及如何避免“内存泄漏”问题详解

💐 🌸 🌷 🍀 🌹 🌻 🌺 🍁 🍃 🍂 🌿 🍄🍝 🍛 🍤 📃个人主页 :阿然成长日记 …

基于Springboot的校园竞赛管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的校园竞赛管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)三层体系结构…

HarmonyOS开发案例:【生活健康app之编写通用工具类】(5)

本节将介绍日志打印、时间换算等通用工具类的编写和使用,工具类可以简化应用代码编写和业务流程处理。 日志类 日志类Logger旨在提供一个全局的日志打印、日志管理的地方,既可以规范整个应用的日志打印,也方便日后对日志工具类进行修改&…

02.文件IO

文件描述符 表述打开的文件的 它是open函数的返回值,一个进程启动之后,会默认打开3个文件标识符 0标准输入,1标准输出,2标准错误 新的打开的文件返回文件描述符表中未使用过的最小的文件描述符 open函数 用来打开或者新建一个文件…

vue3实现动态表格

vue3结合element-plus实现动态表格&#xff0c;可添加、删除、对单行数据判断。 实现效果&#xff1a;查看源代码 实现代码&#xff1a; <div class"arrTable-Box"><el-table :data"tableData" border max-height"250"><el-t…

思维导图如何用AI生成?借助这几款工具

思维导图如何用AI生成&#xff1f;在数字化时代&#xff0c;思维导图作为一种高效的信息组织与展示工具&#xff0c;被广泛应用于学习、工作和项目管理中。随着人工智能技术的飞速发展&#xff0c;AI生成思维导图已成为现实&#xff0c;极大地提升了创建思维导图的效率和创意。…