如何设计测试用例

一、介绍

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

二、基本格式

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

用例编号:编号有一定的规则,如系统测试用例的编号这样定义规则: 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.mzph.cn/bicheng/9635.shtml

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

相关文章

C程序内存分布及static变量

C程序内存分布及static变量 C语言中程序的内存分布 [🔗1](https://www.cnblogs.com/miaoxiong/p/11021827.html)[🔗2](https://blog.csdn.net/chen1083376511/article/details/54930191)c/c编译连接后二进制文件的存储动静态存储方式和存储区动态存储方式…

一文读懂ipv4和ipv6的区别

IPv4和IPv6是互联网协议的两个主要版本,它们在多个方面存在显著的差异。以下是关于IPv4和IPv6之间区别的详细探讨: 一、地址空间 IPv4使用32位地址,理论上可以表示约42.9亿个不同的地址。然而,由于地址分配的不均衡以及网络技术的…

基于springboot实现智慧图书管理系统项目【项目源码+论文说明】

基于springboot实现智慧图书管理系统演示 摘要 如今社会上各行各业,都在用属于自己专用的软件来进行工作,互联网发展到这个时候,人们已经发现离不开了互联网。互联网的发展,离不开一些新的技术,而新技术的产生往往是为…

VBA_NZ系列工具NZ06:VBA创建PDF文件说明

我的教程一共九套及VBA汉英手册一部,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到数据库,到字典,到高级的网抓及类的应用。大家在学习的过程中可能会存在困惑,这么多知识点该如何组织…

企业大文件传输之安全数据传输的重要性

企业数据安全性的维护直接关系到企业的市场竞争力乃至其生存的根基。数据的保护不仅涉及到保护企业的商业秘密,也关乎到客户隐私的保护,更触及到国家安全的敏感层面。因此,保障数据在传输过程中的安全,成为了每个企业和组织必须面…

Linux中的fork与进程地址空间

目录 前言 一、进程地址空间 二、fork的值返回 三、高清图链接 总结 前言 在博主的《进程状态解析》一文中,在讨论进程创建时,提到了一个系统调用接口fork,它在使用过程中表现出对于父子进程不一致的返回结果,而且似乎还具有…

ETL工具kettle(PDI)入门教程,Transform,Mysql->Mysql,Csv->Excel

什么是kettle,kettle的下载,安装和配置:ETL免费工具kettle(PDI),安装和配置-CSDN博客 mysql安装配置:Linux Centos8 Mysql8.3.0安装_linux安装mysql8.3-CSDN博客 1 mysql -> mysql 1.1 mysql CREATE TABLE user_…

618值得入手的平价好物清单,看完再买不吃亏!

即将到来的618年中购物狂欢节,无疑是一年一度的购物盛宴。为了让大家的购物体验更加愉悦和充实,我特地为大家精选了一系列好物。如果你也打算在618尽情购物,那就赶紧收藏这份清单吧! 一、舒适佩戴不伤耳——南卡骨传导耳机Runner…

C补充1—1章1.0—C程序语言设计(许宝文,李志)

二手书到了,好消息,前主人看的很认真,坏消息,只看到这页了 啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊最后几题好难啊啊啊啊啊,再议 目录 1.1 入门 1.2 变量与算数表达式 练习1-3 //打印温度对照表 练习1-4 //摄氏-华氏温…

医疗行业如何提升Windows操作系统登录的安全性

医疗行业使用账号和密码登录Windows系统时,可能会遇到一些痛点,这些痛点可能会影响工作效率、数据安全和用户体验。以下是一些主要的痛点: 1. 密码管理复杂性:医疗行业通常涉及大量的敏感数据和隐私信息,因此密码策略…

为什么 Cloudflare 是 2024 年 Vercel 的最佳替代品?生态系统和价格比较

本文探讨了 Vercel 的功能,并与 Cloudflare 生态系统中的类似产品进行了比较。从托管到存储,我们将看到为什么 Cloudflare 可以在 2024 年成为 Vercel 的最佳替代品。 文章目录 介绍什么是 Cloudflare?Cloudflare vs Vercel:托管和…

实战 | 18行代码轻松实现人脸实时检测【附完整代码与源码详解】Opencv、人脸检测

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

BS架构 数据权限--字段级权限 设计与实现

一、需求场景 1. 销售发货场景 销售出库单上 有 商品名称、发货数量、单价、总金额 等信息。 销售人员 关注 上述所有信息,但 仓管人员 不需要知道 单价、总金额 信息。 2. 配方、工艺保密 场景 配方研发人员 掌握核心配方, 但 交给车间打样、生产时…

锚索测力计在岩土工程中的应用

随着现代工程建设的快速发展,岩土工程安全问题日益受到人们的关注。岩土工程中的锚索结构,作为保证工程稳定和安全的关键部分,其性能监测和评估显得尤为重要。近年来,锚索测力计作为一种先进的监测工具,在岩土工程安全…

【千帆平台】使用AppBuilder零代码创建应用,然后通过OpenAPI方式调用应用

欢迎来到《小5讲堂》 这是《千帆平台》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 前言创建API密钥调用文档调用说明API服务域名通信协议字符编码公…

IP报文在设备间传递的封装过程

IP报文传递过程 1、PC1访问PC2报文传递过程1.1、PC1准备数据请求报文封装1.2、PC1准备ARP请求报文1.3、PC2准备ARP响应报文1.4、PC1完成数据请求报文封装 2、PC1访问PC3报文传递过程2.1、PC1准备数据请求报文封装2.2、PC1准备获取网关MAC地址的ARP请求报文2.3、网关准备ARP响应…

复制粘贴插件——clipboard.js的使用

clipboard.js是一款使用简单的粘贴复制插件,它不依赖于Flash或其他框架,在github拥有3万多颗星可见其优秀程度,介绍如何使用它,以备存。 中文文档: clipboard.js 中文文档 - itxst.com 官网网站:https://github.com/…

神经网路与深度学习

1 深度学习简述 机器学习:相当于把公式实现出来了而已。 深度学习: (1)中的特征工程使机器学习更智能。 (2)真正能学什么样的特征才是最合适的。 (3)主要应用于计算机视觉和自然语…

【探索Java编程:从入门到入狱】Day5

🍬 博主介绍👨‍🎓 博主介绍:大家好,我是 hacker-routing ,很高兴认识大家~ ✨主攻领域:【渗透领域】【应急响应】 【Java、PHP】 【VulnHub靶场复现】【面试分析】 🎉点赞➕评论➕收…

Python深度学习基于Tensorflow(4)Tensorflow 数据处理和数据可视化

文章目录 构建Tensorflow.data数据集TFRecord数据底层生成TFRecord文件数据读取TFRecord文件数据图像增强 数据可视化 构建Tensorflow.data数据集 tf.data.Dataset表示一串元素(element),其中每个元素包含一个或多个Tensor对象。例如&#xf…