软件测试/测试开发|一文讲清楚你什么是测试用例

前言

对于一个测试工程师来说,测试用例的编写是一项必须掌握的能力,但有效的设计和熟练的编写确实一项十分复杂的技术。不仅需要掌握软件测试技术和流程,而且还要对整个软件不管从业务,还是对软件的设计,程序模块的结构,功能规格等说明都要有透彻的理解。测试的设计方法不是单独存在的,具体的每个测试项目里有很多方法,每种类型都有各自的特点。

测试用例

概念

测试用例是一组步骤、条件和预期结果的集合,用于验证软件特定功能、场景或需求的正确性。它是测试过程中的基本单元,用于确定软件是否按照预期工作。

基本要素

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。

好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试。

评价好的测试用例的标准:

用例表达清楚,无二义性。

用例可操作性强。

用例的输入与输出明确。一个用例只有一个预期结果。

用例的可维护性好。

用例对需求的覆盖率高。

好处

测试执行者的依据;

使得工作可重复,自动化测试的基础;

评估需求覆盖率;

用例复用,提高效率;

积累测试的方法思路以供后续借鉴。

特性

代表性 :可代表并覆盖各种合理与不合理,合法与不合法,越界与不越界以及极限输入的数据和操作等。

针对性 : 对程序中可能存在的错误进行针对性的测试。

可判定性 :测试执行结果的正确性,每一个测试用例都应有相应的期望结果。

可重现性 : 对同样的测试用例,系统的执行结果应当是相同的。

测试用例的组成

一个测试用例通常包括以下组成部分:

测试用例编号:用于唯一标识测试用例的编号。

测试标题/名称:清晰描述测试用例涉及的功能或场景。

前置条件:指定执行测试前必须满足的条件或状态。

测试步骤:详细描述执行测试所需的步骤和操作。

预期结果:定义测试步骤完成后预期的输出、状态或行为。

实际结果:记录测试执行后的实际输出或系统行为。

测试用例的优先级

测试用例的优先级决定了执行顺序和重要性,常见的优先级包括:

高优先级:涉及核心功能或关键路径的测试用例。

中优先级:涉及一般功能或重要性较低的测试用例。

低优先级:辅助功能或对系统影响较小的测试用例。

测试用例设计工具

一些常见的测试用例设计工具包括:

测试用例管理工具:如JIRA、TestRail等,用于管理、编写和执行测试用例。

表格工具:如Excel、Google Sheets,可用于简单的测试用例编写和管理。

专用测试设计工具:如Selenium(Web应用测试)、Postman(API测试)等,用于特定类型的测试用例设计和执行。

测试用例的作用

测试用例在软件测试中扮演着关键角色,具有以下作用:

确认软件质量:验证软件功能是否符合预期,确保其质量和稳定性。

减少缺陷:发现并记录软件中的缺陷和问题,以便及时修复。

提高效率:指导测试执行过程,确保全面性和系统性的覆盖。

沟通工具:为开发人员、测试人员和其他相关方提供清晰的需求和测试标准。

测试用例万能公式

我们设计测试用例,需要兼顾功能,性能,兼容,安全等方面,所以我们也可以根据这样一个公式去设计测试用例:功能测试 + 界面测试 + 性能测试 + 兼容性测试 + 易用性测试 + 安全测试

示例:比如我们要测试一个保温杯,我们要设计一下我们的测试用例,根据公式,我们制定下面的用例:

从万能公式中列出六项,然后从这六项分别去想我们需要对水杯进行的测试。功能测试: 水杯装满水; 水杯装一半的水; 水杯不装水; 水杯能否折叠; 水杯盖子是否盖的稳; 水杯装水超过刻度线是否会溢出。 水杯能否装开水、冰水; 水杯是否漏水;界面测试: 水杯的形状; 水杯的大小; 水杯的颜色; 水杯的图案花纹; 水杯的美观度,完整度。 水杯的材质;性能测试: 水杯的耐热性; 水杯的抗冻性; 水杯的抗压性;

水杯的抗腐蚀性; 水杯的抗辐射性; 水杯的抗摔性; 水杯的密闭性; 水杯的保温性; 水杯的使用寿命。 水杯材质的稳定性;易用性测试 水杯是否防滑; 水杯是否符合人体工学; 水杯是否易清洗; 水杯是否重手; 水杯盖子能否轻易拧开。 倒水是否方便; 喝水是否方便;兼容性测试 水杯能否装水、碳酸饮料、茶、咖啡、汤药、特殊液体(酒精、汽油)。 安全测试 水杯材质高温环境下是否有毒; 水杯是否易变形,变形后是否存在危险; 水杯材质是否容易爆炸。 低温环境下是否有毒; 遇到特殊液体是否产生化学反应,产生毒性;

对于具象的用品我们可以如此设计测试的要求,对于软件来说,也是一样的,只是软件不是这么称呼而已,对比来看,就是下面这样的:

功能测试

水杯:水杯的功能无非就装水、喝水。

软件注册登录功能:注册 + 登录。想象日常使用中的注册场景有哪些功能,来针对这些功能发散性的设计测试用例。

界面测试

水杯:外形能看到的东西,颜色 + 材质 + 大小 + 形状 + 整体美观程度。

软件:能看到的东西都需要进行测试,文字 / 输入框 / 图片 / 下拉框等控件;对于这些控件的颜色、大小、形状、布局也能够进行测试;再细化对于文字是否存在错别字、病句、缩放页面折行折叠重叠等等问题进行测试。

性能测试

水杯:常用的耐热性、抗冻性、抗压性、耐摔性。

软件:页面访问的响应时间;千万人同时访问页面的性能测试;页面跳转的速度等。

兼容性测试

水杯:水杯可以装液体,针对液体来设计兼容性。

软件:系统(Linux、Windows、Mac);终端(PC、移动端);浏览器(chrome、Firefox、Edge)

易用性测试

具体的事物:是否具备便捷、简单易上手的属性。

软件:界面是否有用户引导、新手引导、符合用户使用的习惯。

安全测试

水杯:水杯的材质是否安全;特殊情况下(高温、低温)材质是否会释放毒性。

软件:SQL 注入、XSS 漏洞、越权(垂直越权,下级能看到上级的隐私数据;水平越权(平级之间不允许访问的数据))。

总结

测试用例是测试过程中的重要组成部分,它们不仅指导着测试的进行,还对软件质量和稳定性起着关键作用。了解测试用例的基本概念、组成要素、优先级、设计工具以及作用,有助于测试人员更好地理解和执行测试任务。希望本文能够帮到大家!

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

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

相关文章

【Bugs】class path resource [xxx.xml] cannot be opened because it does not exist

报错: 关键报错信息: class path resource [scope.xml] cannot be opened because it does not exist完整报错信息: 2024-03-01 14:26:58 866 [main] DEBUG org.springframework.context.support.ClassPathXmlApplicationContext - Refres…

外部存储器接口(EMIF)

外部存储器接口(EMIF) 该设备支持双核架构;为了为每个CPU子系统提供一个专用的EMIF,该设备支持两个EMIF模块——EMIF1和EMIF2。两个模块完全相同,具有相同的功能集,但具有不同的地址/数据大小。EMIF1在CPU…

赋能中国制造,大道云行发布智能制造分布式存储解决方案

《中国制造2025》指出,“制造业是国民经济的主体,是立国之本、兴国之器、强国之基。” 智能制造引领产业提质增效 智能制造是一种利用先进的信息技术、自动化技术和智能技术来优化和升级制造业生产过程的方法。它将人工智能、大数据、物联网、机器学习等…

代码工具APEX的入门使用(未包含安装)

第一次使用APEX是2019年,这个技术成名已久只是我了解的比较晚。请看Oracle ACE的网站,这就是用APEX做的。实际上有一次我看O记的人操作他们的办公流程,都是用APEX做的。 那一年,我用APEX做了一个CMDB的管理系统。那时候还没有流行…

Docker实战——容器

目录 Docker 容器的基本概念与操作1.使用“docker create”创建容器。这里基于Nginx的镜像创建了一个容器,名字为mycontainer。2.使用“docker ps -a”命令查看所有的容器,这时的容器不一定是运行状态。3.使用 “docker start” 命令可以启动容器。4.使用…

如何创建测试计划?这些要考虑到

以下为作者观点: 创建一个彻底和有效的测试计划对软件测试的成功至关重要。它可以帮助识别过程中可能出现的潜在问题或问题。 什么是测试计划? 测试计划是一份文件,概述了软件测试过程的策略、目标、资源和时间表。测试计划通常包括一些细…

抖店0元入驻不交钱会怎么样?个人店和个体店的利弊分析,开店必看

我是王路飞。 现在的抖店是可以开通个人店的。 也就是不需要营业执照、直接使用个人身份证就可以在抖音开店,而且也不需要缴纳店铺保证金就能开店运营了。 但真实情况是怎么样的呢?新手0元入驻抖店不交这个保证金会怎么样呢? 今天给想在抖…

倒计时35天

小红的子序列权值和 (nowcoder.com) #include<bits/stdc.h> using namespace std; #define int long long const int N2e56; const int inf0x3f3f3f3f; const double piacos(-1.0); const int mod1e97; int c[1100][1100]; int a[1100],b[5]; void solve() {int n;cin>…

布隆过滤器到底是什么东西?它有什么用

一、问题解析 昨天&#xff0c;一个工作了 6 年的粉丝私聊我&#xff0c;说最近面试被问到布隆过滤器没回答出来。然后在网上找了一堆资料也没有说清楚&#xff0c;想让我帮他讲解一下&#xff0c;今天正好有空&#xff0c;给大家分享一下布隆过滤器。 在解释布隆过滤器之前&a…

openGauss学习笔记-235 openGauss性能调优-系统调优-资源负载管理-资源管理准备-创建资源池

文章目录 openGauss学习笔记-235 openGauss性能调优-系统调优-资源负载管理-资源管理准备-创建资源池235.1 背景信息235.2 前提条件235.3 操作过程235.3.1 创建资源池235.3.2 管理资源池235.3.3 删除资源池 235.4 查看资源池的信息 openGauss学习笔记-235 openGauss性能调优-系…

加密与安全_ 凯撒密码

文章目录 Pre概述Code 实现 凯撒密码字母频率分析攻击Code解密凯撒密码 小结 Pre PKI - 02 对称与非对称密钥算法 概述 凯撒密码是一种简单的替换加密技术&#xff0c;也称为移位密码。它是古典密码学中最早的密码之一&#xff0c;得名于古罗马军队领袖凯撒尤利乌斯&#xff…

express+mysql+vue,从零搭建一个商城管理系统7--token

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、安装jsonwebtoken二、新建config/jwt.js三、修改models/user.js四、修改routes下的user.js五、修改index.js六、Api新建user/queryUserList接口七、token验证失败示例总结 前言 需求&#xff1a;主要学习…

Python爬虫副业真的可行吗?

首先回答你&#xff0c;是可行的&#xff0c;python爬虫能当副业&#xff0c;副业的方式比较多&#xff0c;等下我会讲几种。 那学到哪个层次可以接单呢&#xff1f;主要看你是接什么样的单&#xff0c;爬一些资料&#xff0c;视频这种简单的学一两个月就没什么问题&#xff0…

(unity学习)一些效果的学习

一、学习视频 【Unity教程】零基础带你从小白到超神 二、效果实现 三、问题解决 Unity 点击UI与点击屏幕冲突的解决方案 关于unity UI界面操作与场景内操作不冲突问题

TCPDump 使用教程

每次服务器网络不通的时候&#xff0c;总会听到一个声音&#xff0c;你去抓包啊&#xff0c;那这里就来介绍下TCPDump&#xff0c;一款强大的网络分析工具&#xff0c;可以捕获网络上的数据包&#xff0c;并进行分析。这款工具在网络管理员和安全专家中非常受欢迎。 一、安装 …

进程间通信之消息队列及共享内存

1.IPC对象: 内存文件 1.ipcs 查看系统重的消息队列、共享内存、信号灯的信息 2.ipcrm 删除消息队列、共享内存、信号灯 ipcrm -Q/-M/-S key ipcrm -q/-m/-s 消息队列ID/共享内存ID/信号灯ID 消息队列&#xff1a; 3.操作流程: …

【论文阅读】High-Resolution Image Synthesis with Latent Diffusion Model

High-Resolution Image Synthesis with Latent Diffusion Model 引用&#xff1a; Rombach R, Blattmann A, Lorenz D, et al. High-resolution image synthesis with latent diffusion models[C]//Proceedings of the IEEE/CVF conference on computer vision and pattern re…

智慧城市的创新实践:全球案例分享

一、引言 在全球化和数字化的时代&#xff0c;智慧城市已经成为城市发展的前沿趋势。智慧城市运用先进的信息技术&#xff0c;如大数据、物联网、云计算和人工智能等&#xff0c;提升城市管理的智能化水平&#xff0c;增强公共服务效率&#xff0c;优化居民生活质量。本文将通…

AI-RAN联盟在MWC24上正式启动

AI-RAN联盟在MWC24上正式启动。它的logo是这个样的&#xff1a; 2月26日&#xff0c;AI-RAN联盟&#xff08;AI-RAN Alliance&#xff09;在2024年世界移动通信大会&#xff08;MWC 2024&#xff09;上成立。创始成员包括亚马逊云科技、Arm、DeepSig、爱立信、微软、诺基亚、美…

技术面没过,居然是因为没用过Pytest框架

01 概述 pytest是一个非常成熟的全功能的Python测试框架&#xff0c;主要特点有以下几点&#xff1a; 简单灵活&#xff0c;容易上手&#xff0c;文档丰富&#xff1b; 支持参数化&#xff0c;可以细粒度地控制要测试的测试用例&#xff1b; 能够支持简单的单元测试和复杂的…
最新文章