亲测快捷高效的编写测试用例方法

前言

测试用例是任何测试周期的第一步,对任何项目都非常重要。如果在此步骤中出现任何问题,则在整个软件测试过程中都会扩大影响。如果测试人员在创建测试用例模板时使用正确的过程和准则,则可以避免这种情况。 在本篇文章中将分享一些简单而有效的技巧,可用于编写有效的测试用例。这些技巧将在优化资源使用的同时节省您的时间和精力。

一、什么是测试用例?

测试用例就是由前提条件、输入、执行条件、预期结果等组成,以完成对某个特定需求或者目标测试的数据,体现测试方案、方法、技术和策略的文档。(简单来说就是给定条件、执行流程、预期结果的一个文档,供后续测试人员进行测试。)测试用例的设计需要尽可能覆盖软件的所有状态,尽量考虑周期。

二、设计用例是否有必要?

如果不记下来,很可能到执行的时候测试点就遗漏了,另外也不便于用例评审,用例总结,对后期测试工作没大的改进作用。所以测试用例一定要写,颗粒度视情况而定。针对测试人员少,上线时间紧的项目,可只做思维导图列出测试点。

三、设计用例的益处?

设计用例的过程可以更深刻的理解需求,熟悉各功能点,保证尽可能全的覆盖到各测试点。也便于用例评审。

四、一定要写测试用例吗?

对于大中型任务,还是要写详细的测试用例;对于紧急小型任务,可以写测试点;对于新人负责的模块,一定要写测试用例。

五、测试用例怎么写?

(1)根据需求文档,拆分测试点; (2)根据测试用例设计方法 + 经验 + 拆分后的测试点 + 通用用例约束。来设计最终的详细测试用例; (3)写用例的思路:产品需求-测试需求-测试点-测试用例; (4)还要考虑兼容性问题、浏览器兼容、操作系统兼容性,如果是app测试还要考虑中断测试、弱网测试等;设计用例时也要注意涉及到的数据库中的字段值是否正确;需要注意关联模块的用例设计;注意新增接口、新增字段的用例的设计; (5)除了用xmind整理测试点,也可以这样:根据需求文档找到角色和功能模块的匹配关系,输出usecase图---输出流程图---依据业务规则、usecase、流程图输出测试用例。

六、用例必备4个方面?

预置条件、执行步骤、预期结果、测试结果;用例要点:需包括与其他模块耦合关系、用例的级别(level0、level1),考虑哪些需求必须完成,哪些需求可以后续完成。

七、用例设计理念?

首先要保证产品的质量,测试用例的数量并不能决定质量的好坏,要做到覆盖全面,提倡高质量的自动化测试

八、没有需求文档,如何测试,如何设计测试用例?

A.查找其他相关文档,来帮助理解所要测试的产品需要完成的目标;B.尽量多参加项目组内的会议,比如需求讨论、设计讨论、计划讨论等,能够加深对产品的理解;C.咨询相关人员-项目负责人、市场人员;D.召集相关人员,对你整理的结果进行讨论,通过评审后,这份文档就可以作为依据来设计你的case了;E.如果是一款已经上线的产品,可以多使用产品,有不懂的问产品经理;F.也可以去看历史bug,可以了解到一些需要关注的东西。

九、测试用例有哪些设计方法?

1. 编写测试方法都有哪些 等价类划分法 边界值分析法 错误推测法 因果图法 场景设计法 2. 介绍一下每种测试方法(定义)并举例说明

等价类划分法 定义:输入有效的等价类和无效的等价类的数据进行测试, 有效等价类:是指合理的、有意义的数据。 如:测试手机号码输入框 正常格式输入 无效等价类:与有效等价类的定义相反。指不合理的或无意义的数据。对于具体问题,无效等价类至少应有一个,也可以有多个。 如:测试手机号码输入框 输入错误格式 (2.5.6开头等) 边界值分析法 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类边界。 如:测试手机号码输入框 输入10.11.12位手机号其中11位是正确的10.12位为边界值 错误推测法 基于经验和直觉推测程序中所有可能存在的各种错误,从而有针对性的设计测试用例的方法。 如:测试返回按钮,根据经验设计用例,测试其功能是否可用,与物理返回键点击后结果是否一致,返回的界面是否是需求要求的上个网页等等一切可能出现的错误 因果图法 是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。 如:测试自助售卖机 场景设计法 场景1. 成功提款 | 基本流| ---|---|--- 场景2. ATM内没现金 | 基本流 | 备选流2 场景3. ATM内现金不足 | 基本流 | 备选流3 场景4. PIN密码有误(还有输入机会) | 基本流 | 备选流4 场景5. PIN密码有误(不再有输出机会) | 基本流 | 备选流4 场景6. 账户不存在/账户类型有误 | 基本流 | 备选流5 场景7. 账户余额不足 | 基本流 | 备选流6

十、如何以更好的方式编写测试用例

让我们看一下编写更好的测试用例模板的技巧。

 详细的领域知识

信息技术领域的知识意味着对特定项目的业务和运营动态,所涉及的风险和机会的深入了解。必须遵循域中的相关问题的最佳做法,而不一定是测试领域的最佳时间。

将较长的测试用例分解为许多较小的用例

如果步骤太多,最好将测试用例分成一组较小的用例。如果测试脚本中的某个地方发生错误,对于开发人员来说,回溯并重复测试步骤将更加容易。如果是某一长用例测试未通过或者发生错误,则开发人员很可能会花更长的时间发现和改正这个BUG,甚至错过该BUG

前提条件

在开始测试用例之前,建议确认适用于测试的所有假设以及在执行之前必须满足的前提条件。可能存在数据依赖关系,也可能依赖于测试环境或任何其他测试用例。特别是数据相关性的测试用例,一定要确保测试用例执行之前测试数据是没问题的。

测试数据输入 

在编写新的测试用例时,测试人员可以在测试用例描述内共享适用于测试用例的测试数据,也可以在特定的测试用例步骤中添加测试数据。由于无需在其他地方查找测试数据,因此可以节省时间。如果要验证值,则测试人员可以指定值范围或描述要在特定字段中测试的值。从每个类中选择一些值,这些值可以很好地覆盖您的测试。最好不要提及实际的测试数据值,而要提及运行测试所需的数据类型。在多个团队使用测试数据且其不断变化的项目中,仅提及数据类型将是明智的选择。

组织工作

使用测试管理工具而不是电子表格来管理您的测试用例。有许多测试管理工具可用于在一个地方组织测试用例,这将提高团队的生产力。

停止假设

最好参考规范文档。关于功能或功能的假设可能导致客户端与开发人员之间的分歧。客户需求与正在开发的应用程序之间的差距将影响业务。

测试用例命名约定

为了编写易于理解的测试,我们必须停止在各自为阵的情形下进行编码,并注意命名约定。在为我们的应用程序编写自动化测试时,需要命名测试类,测试类的字段,测试方法和局部变量。哪个团队成员编写测试无关紧要,其他人甚至无需查看测试代码即可知道在什么情况下测试了哪些功能。

满足客户要求

如果测试人员错过了一个错误或编写了与真实场景无关的测试用例,那么这只是浪费资源和时间。目的是满足客户的期望,只有测试人员从用户角度出发才能实现。

涵盖所有验证点

编写定义良好的测试用例验证步骤非常重要,该步骤应涵盖被测功能的所有验证点。为了确保测试用例涵盖了所有验证点,请确保您的测试用例步骤与为项目指定的工件相匹配。

避免重复

在需要时进行自动化测试,因为这将减少手动工作并节省大量时间。测试脚本的编写方式应使其以后可用于其他项目。

使其可重用

 创建测试用例模板,将来可以被其他团队重用。此外,在为模块编写新的测试用例之前,请确定是否已经为其他项目编写了类似的测试用例。这样做可以避免测试管理工具中的任何冗余。如果需要特定的测试用例执行其他测试用例,则在先决条件或特定的设计步骤中调用现有的测试用例。

 组相似测试用例分组

测试运行是测试人员应按特定顺序执行的测试用例的集合。测试用例通常在测试运行中分组。最好将前提条件放在测试运行的开始,而不是将其插入每个测试用例中。实际上,只有少数测试用例需要前提条件,因此该字段通常为空。测试管理工具将帮助您自定义表单并创建测试用例模板,从而节省编写测试用例时的时间和精力。要记住的另一件事是,通过将重复的前提条件移至测试运行中来避免多次编写相同的指令。

容易理解

应该在需要的地方用注释明确定义测试用例,以便将来任何其他软件测试人员都可以使用它。无论您从事什么项目,在设计测试用例时,都应始终考虑到测试用例不会总是由设计它们的人执行。因此,测试应该易于理解且要点明确。如果编写所有这些测试用例的人由于某种原因离职并且您有一个全新的测试团队可以工作,那么在设计阶段花费的全部精力可能会花光。

测试用例描述

在描述中,测试人员需要提及有关将要测试的内容,需要验证的内容,测试环境和测试数据的所有详细信息。下面提到的信息应该在写得很好的测试用例描述中:*进行测试*测试工具*测试环境详细信息*行为得到验证*任何依赖项,例如前提条件和假设*要使用的测试数据

维护和更新

所有测试用例都应使用新要求进行更新,以便将来有需要时更容易执行它们。即使其他测试人员想要使用该测试用例,他/她也不必遍历脚本的详细信息

十一、高效的测试报告

一份清晰而全面的报告可以帮助我们得出与产品开发有关的有意义的结论。那么,我们如何才能有效地报告我们的测试? 编写有效的测试用例和详细的测试报告是快速执行任务的另一种方法。这一句话中使用了详细和快速两个词,听起来可能是矛盾的,但是详细的报告需要一次性的努力。使用合适的工具和保持良好的使用习惯,你可以快速访问查看必要的日志内容、用户数据以及错误信息。 每种工具的报告格式都不同;但是,无论采用哪种格式,某些指标都是必不可少的:

  1. 脚本总数以及运行结果统计
  2. 以表格形式列出所有测试用例执行结果
  3. 测试结果汇总统计,重点信息罗列
  4. 执行过程中重要时间点
  5. 运行环境,名称以及版本

十二、结论

测试人员需要具有良好的领域知识,并且应该从用户的角度编写适用的测试用例。好的测试用例模板将使测试人员更容易编写好的测试用例。如果只有几个测试步骤,请考虑制作清单,并在处理测试用例之前查看一些相关的测试用例。测试用例示例也将有助于创建测试用例模板。测试管理工具肯定会帮助改善测试用例的创建和管理方式。

 

总结:

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

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

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

          视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

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

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

相关文章

【大学物理】双语合集听课笔记

7.5 angular momentu(角动量)_哔哩哔哩_bilibili 6.4Energy in Rotation Motion 有质量有速度的物体有动能,是不是很有道理 international system(from French systeme international,acronym,SI)of ineria kg*m^2 转…

[笔试训练](十六)

目录 046:字符串替换 047:神奇数 048:DNA序列 046:字符串替换 字符串替换_牛客题霸_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 简单模拟题~ class StringFormat { public:string formatString(string str, int n, vector<char> arg, int m) {strin…

PPP点对点协议

概述 Point-to-Point Protocol&#xff0c;点到点协议&#xff0c;工作于数据链路层&#xff0c;在链路层上传输网络层协议前验证链路的对端&#xff0c;主要用于在全双工的同异步链路上进行点到点的数据传输。 PPP主要是用来通过拨号或专线方式在两个网络节点之间建立连接、…

牛客 二叉树 NB1 牛群的最大高度

原题链接 就不采用, 递归的方式来做了, 自己弄个栈来做 用栈来保存路径, curr 表示当前的节点, pre 保留往回走时的上一步 如果是 用递归来做 它的栈链路是这样的, 可以做下参考 黄色表示返回 用栈模拟的话, 不可能模拟得一摸一样, 递归的话一个栈会经过3次, 第三次后就不…

MATLAB实现遗传算法优化第三类生产线平衡问题

第三类生产线平衡问题的数学模型 假设&#xff1a; 工作站数量&#xff08;m&#xff09;和生产线节拍&#xff08;CT&#xff09;是预设并固定的。每个任务&#xff08;或作业元素&#xff09;只能分配到一个工作站中。任务的执行顺序是预先确定的&#xff0c;且不可更改。每…

ICode国际青少年编程竞赛- Python-2级训练场-列表入门

ICode国际青少年编程竞赛- Python-2级训练场-列表入门 1、 Dev.step(3)2、 Flyer.step(1) Dev.step(-2)3、 Flyer.step(1) Spaceship.step(7)4、 Flyer.step(5) Dev.turnRight() Dev.step(5) Dev.turnLeft() Dev.step(3) Dev.turnLeft() Dev.step(7) Dev.turnLeft() Dev.…

二叉树习题汇总

片头 嗨&#xff01;大家好&#xff0c;今天我们来练习几道二叉树的题目来巩固知识点&#xff0c;准备好了吗&#xff1f;Ready Go ! ! ! 第一题&#xff1a;二叉树的最大深度 解答这道题&#xff0c;我们采用分治思想 1. 递归子问题&#xff1a;左子树的高度和右子树的高度 …

Tkinter组件:Checkbutton

Tkinter组件&#xff1a;Checkbutton Checkbutton&#xff08;多选按钮&#xff09;组件用于实现确定是否选择的按钮。Checkbutton 组件可以包含文本或图像&#xff0c;你可以将一个 Python 的函数或方法与之相关联&#xff0c;当按钮被按下时&#xff0c;对应的函数或方法将被…

【汇编语言小练习输入两个数字然后输出它们的和】

这个程序是用汇编语言编写一个简单的程序&#xff0c;它将从键盘输入两个数字&#xff0c;然后输出它们的和。 .MODEL SMALL .STACK 100H.DATAINPUT_MSG1 DB Enter the first number: $INPUT_MSG2 DB 13, 10, Enter the second number: $RESULT_MSG DB 13, 10, The sum is: $N…

【抽样调查】分层抽样上

碎碎念&#xff1a;在大一大二时听课有的时候会发现听不太懂&#xff0c;那时候只觉得是我自己的基础不好的原因&#xff0c;但现在我发现“听不懂”是能够针对性解决的。比如抽样调查这门课&#xff0c;分析过后我发现我听不懂的原因之一是“没有框架”&#xff0c;一大堆知识…

2024年第六届世界软件工程研讨会(WSSE 2024)即将召开!

2024年第六届世界软件工程研讨会&#xff08;WSSE 2024&#xff09;将于2024年9月13-15日在日本京都举行。软件工程领域的发展离不开各位专家学者和业界精英的共同努力和贡献。WSSE 2024将就软件工程领域的最新研究成果、实践经验和发展趋势进行深入交流和探讨&#xff0c;汇聚…

Ubuntu将软件图标添加到应用列表

一.简介snap snap和yum&#xff0c;apt一样都是安装包工具&#xff0c;但是snap里的软件源是自动更新到最新版本&#xff0c;最好用 比如Ubuntu的软件商城就是使用的snap软件包 二. Ubuntu软件商城更新 1.ps -ef | grep snap-store 查询并kill snap-store的所有进程 2.sudo …

【Linux进程间通信(六)】深入理解 System V IPC

&#xff08;一&#xff09;引入 &#xff08;二&#xff09;IPC 命名空间 &#xff08;三&#xff09;ipc_ips结构体 &#xff08;四&#xff09;ipc_id_ary结构体 &#xff08;五&#xff09;kern_ipc_perm结构体 &#xff08;六&#xff09;操作系统对IPC资源是如何管理…

县供电公司员工向媒体投稿发文章用亲身经历告诉你并不难

在县供电公司的日子里,我肩负着一项至关重要的使命——信息宣传工作。这不仅仅是一份职责,更是连接公司与外界的桥梁,通过新闻稿件传递我们的声音,展示我们的成果。然而,回忆起刚刚踏入这个领域的时光,那段经历至今让我感慨万千。 初涉投稿,步履维艰 刚接手这项工作时,我的投稿…

探索DeepSeek平台:新一代MoE模型的深度体验

简介 DeepSeek是一个创新的人工智能平台&#xff0c;它最近推出了其最新版本的模型——DeepSeek-V2 MoE&#xff08;Mixture of Experts&#xff09;。这个平台不仅提供了一个交互式的聊天界面&#xff0c;还提供了API接口&#xff0c;让用户可以更深入地体验和利用这一先进的…

全体模型师请做好日入过万的准备!3D模型库海量资源,老子云平台免费用

在数字化的大背景下&#xff0c;3D转型已然成为了多行业关注的重点战略版块。无论是科技、金融、互联网、化工、建筑等等各个行业都在加速布局&#xff0c;3D手段会成为下一个重要的技术风口。也正因如此&#xff0c;3D市场潜能巨大&#xff0c;并且3D需求每年都在暴涨&#xf…

3d中如何对模型粉碎处理?---模大狮模型网

在3D建模和动画设计中&#xff0c;模型粉碎处理是一种引人注目的效果&#xff0c;可以为场景增添动态和震撼的视觉效果。无论是用于电影特效、游戏设计还是虚拟现实项目&#xff0c;都可以通过模型粉碎处理来创造出引人入胜的场景。本文将介绍如何在3D中轻松实现模型粉碎处理&a…

本地连接服务器Jupyter【简略版】

首先需要在你的服务器激活conda虚拟环境&#xff1a; 进入虚拟环境后使用conda install jupyter命令安装jupyter&#xff1a; 安装成功后先不要着急打开&#xff0c;因为需要设置密码&#xff0c;使用jupyter notebook password命令输入自己进入jupyter的密码&#xff1a; …

Windows端之Python3.9及以上高版本工程打包得到的exe逆向工程解包得到pyc文件进而得到py文件的流程实现

参考来自 【python逆向 pyc反编译】python逆向全版本通杀_python反编译pyc-CSDN博客https://blog.csdn.net/zjjcxy_long/article/details/127346296Pyinstaller打包的exe之一键反编译py脚本与防反编译_pyinstaller防止反编译-CSDN博客https://blog.csdn.net/as604049322/artic…

「网络流 24 题」魔术球 【最小路径覆盖】

「网络流 24 题」魔术球 注意这里的球是依次放置&#xff0c;也就是说如果当前放到第 i i i 号球&#xff0c;那么 1 → i − 1 1 \rarr i - 1 1→i−1 号球都已经放好了&#xff0c;否则可以放无数个球 思路 首先我们对于 i < j 且 i j 完全平方数 i < j 且 i j…