软件测试(二)--测试用例

news2025/1/12 1:57:16

一、什么是用例:

用例就是用户使用案例的简称。以手机用例为例:
1.是否能开机:打开手机按下电源键3秒,看是否能开机。
2.验证内存:打开手机设置查看内存是否为64G.
3.验证屏幕:打开手机在白屏背景下检查屏幕是否有黑点。
4.检查运行速度:打开手机下载吃鸡游戏是否运行流畅。

二、什么是测试用例:

测试用例就是为测试项目设计的执行文档。测试按照文档走。
测试用例的作用:
1、防止漏测;
2、实施测试的标准。

用例设计编写格式。用例执行时八大要素

在这里插入图片描述
1、用例编号:项目_模块_编号
2、用例标题:预期结果(测试点)
3、模块、项目:所属项目或模块
4、优先级:表示用例的重要程度或者影响力P0~P4(P0最高)用户使用率最高的功能模块是优先级最高的
5、前置条件:要执行此条用例,有哪些前置操作
6、测试步骤:描述操作步骤
7、测试数据:操作的数据,没有的话可以为空
8、预期期望:期望达到的结果

三、练习:

根据以下测试点编写用例:
需求:
QQ登录(4条)1、账号为空,2、账号未注册,3、密码为空,4、密码错误
在这里插入图片描述

四、测试用例应该怎么去设计?

1.能对穷举场景设计测试点

方法:等价类划分法

说明:
在所有测试数据中,具有某种共同特征的数据集合进行划分
分类:
1.有效等价类:满足需求的数据集合2.无效等价类:不满足需求的数据集合
步骤:
1.明确需求2.确定有效和无效等价类3.提取数据编写测试用例
适用场景:
针对:需要有大量数据测试输入,但是没法穷举测试的地方,常见输入框、下拉列表、单选复选框。
典型代表:页面的输入框类测试

案例:需求:

验证QQ账号的合法性,要求:6~10位自然数
在这里插入图片描述

案例:需求:

验证某城市电话号正确性,要求;1、区号:空或者是三位数2、前缀码:非“0”且非“1”开头的三位数字3、后缀码:四位数字
在这里插入图片描述

2.对限定边界规则设计测试点

方法:边界值分析法

边界范围节点:
选取正好等于、刚好大于、刚好小于边界的值作为测试数据:
上点:边界上的点(正好等于);
离点:距离上点最近的点(刚好大于或刚好小于);
内点:范围内的点(区间范围内的数据一般取居中方便不与离点混淆)
注意:
1.以后看到边界范围的按照位数来说用例最多设计7条
2.边界值能解决位数限制问题,但不能解决类型问题。(要结合等价类)
在这里插入图片描述

应用设计步骤:

1、明确需求,
2、确定有效和无效的等价类(非数字要考虑),
3、确定边界范围值,
4、提取数据编写测试用例

案例:

需求:通过边界值验证标题长度的合法性;
要求:标题长度大于0,小于等于30个字符。(其实1,和29等价与内点15,故而1和29可以省略,以此优化,因此7条用例可以优化为5条)
在这里插入图片描述

适用场景:

1.在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)
2.常见词语描述:大小,尺寸,重量,最大,最小,至多,至少等修饰词。
3.典型代表:有边界范围的输入框类测试。
强调:单个输入框,常用的方式是边界+等价类。

3.能对多条件依赖关系进行设计测试点

方法:判定表法

判定表法的引入,是用来解决我们有条件依赖关系的目标

判定表法说明:

1.等价类边界值分析法主要关注单个输入条件的测试
2.并未考虑输入条件之间的各种组合、输入条件与输出结果之间有相互的制约关系的测试。

判定表定义及组成部分

规则:
1、判定表中贯穿条件项和动作项的一列就是一条规则
2、假设有n个条件,每个条件的取值有两个(0,1)全组合有2的n次方种规则。
定义:
是一种以表格形式表达多条件逻辑判断的工具;
组成:
1、条件桩:列出问题中所有条件,次序无关紧要;
2、动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束;
3、条件项:列出条件对应的取值,所有可能情况下的真假;
4、动作项:列出条件项在各种取值情况下应采取的动作结果。

案例:

验证“若用户欠费或关机,则不允许主机被叫”功能的测试
在这里插入图片描述

判定表法设计用例步骤

1.明确需求
2.画出判定表;
1)列出条件桩和动作桩
2)填写条件项,对条件项进行组合
3)根据条件项的组合确定动作项
4)简化、合并相似规则(有相同的动作)
3.根据规则编写测试用例

案例

在这里插入图片描述

适用场景:

有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖或制约关系;判定表一般适用于条件组合数量较少的情况(比如4个条件以下)

4.能对项目业务进行设计测试点

方法:场景法

(测试之初先测业务,保证业务能跑通再去测别的,不然测试将没有意义)

流程图:

使用标准图形和箭头来表示程序或业务的走向,正常情况下由产品人员、开发人员画。

流程图对测试人员有什么作用?

1.能够看懂流程图,设计业务用例
2.当需求文档信息不全时,能够根据需求,梳理出流程
网页版工具:https://processon.com/windows
工具:visio
业务测试覆盖:重点
1.覆盖业务测试,需要使用流程图;
2.测试项目之前先测试业务整个可通再测试单功能单模块。
作用:梳理业务用例
在这里插入图片描述

介绍:

说明:
场景法也可以叫流程图法,是用流程图描述用户的使用场景,然后通过覆盖流程路径来设计测试用例
意义:
1.用户使用角度:用户平时使用的不是单个功能,而是多个功能组合起来进行使用;
2.测试人员角度:平时测试的都是单个功能点进行测试,容易忽略多个功能的组合测试。

使用场景:

根据实际场景,来测试业务用例,可以使用场景法

案例

在这里插入图片描述
有流程图开发才能把逻辑判断清楚,测试才能测。左边那条用例叫做冒烟测试用例:也就是上一步具不具备可测性,可以才能进入下一个关卡
在这里插入图片描述
在这里插入图片描述

错误推测法

介绍:

定义:
通过经验推测系统可能出现的问题;
思想:
根据经验列举出可能出现的清单,根据清单分析问题可能原因,推测发现缺陷;
场景:
1.时间紧任务量大时,根据之前项目类似经验找出易出错模块重点测试。
2.实践宽裕通过该方法列出之前出现问题较多的模块再次测试。
问:时间紧,任务量大,人手少怎么保证把这个项目测完?这更多考研的时经验和能力以及分清主次原因,答:时间紧任务量大,我就不会去写用例,我会跟产品人员沟通完确定那些是重要业务,把测试点列好,先验证主要业务再去验证主要的模块的正向再逆向,按照时间节点走,以此类推,时间不够我将加班。用例可以在后期去补。
当所有用例都测完,并且bug都修复完了,离上线还有几个小时,这个期间你可以以你的经验去测试(覆盖)主要业务中未测到的功能,你去验证,这个时候用到错误推荐法才是靠谱的

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

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

相关文章

MCU配置的1106模块与1102模块功能差异分析

在现代工业自动化和智能控制领域,微控制器(MCU)扮演着至关重要的角色。而在MCU的配置中,选择适合的传感器采集模块是确保数据采集准确性和多样性的关键。其中,1106模块和1102模块作为两种常见的采集模块,各自具有独特的功能特点和…

TSINGSEE青犀推出河道/河湖/水域治理视频AI智能解决方案

一、方案背景 “十四五”时期,在面源污染防治等方面实现突破,实现主要水污染排放总量持续减少,水生态环境持续改善等任务艰巨。进一步完善流域综合治理体系,提升流域水环境综合治理能力和水平,更好适应新阶段发展需求…

Mac OS上使用matplotlib库显示中文字体

文章目录 问题描述解决步骤参考文章 问题描述 如果我们想要使用matplotlib画图的话,可能会出现下面的这种warning: UserWarning: Glyph 24212 (\N{CJK UNIFIED IDEOGRAPH-5E94}) missing from current font.解决步骤 解决这个问题,可以按照下面的做法…

Rust所有权和Move关键字使用和含义讲解,以及Arc和Mutex使用

Rust 所有权规则 一个值只能被一个变量所拥有,这个变量被称为所有者。 一个值同一时刻只能有一个所有者,也就是说不能有两个变量拥有相同的值。所以对应变量赋值、参数传递、函数返回等行为,旧的所有者会把值的所有权转移给新的所有者&#…

【开发、测试】接口规范与测试

接口测试基础 url 是互联网标准资源地址,称为统一资源定位符 组成:协议,服务器地址,端口号 HTTP协议 HTTP:超文本传输协议,基于请求与响应的应用层协议 作用:规定了客户端和服务器之间的信…

Spring IOC控制反转、DI注入以及配置

1.使用xml的方式进行配置IOC容器&#xff0c;首先引入依赖 在Resource资源下配置&#xff0c;applicationContext.xml ,刷新mevan后可以直接选择配置spring.xml文件 <!-- spring核心用来管理bean --><dependency><groupId>org.springframework</g…

对【AI技术创业】有哪些机会进行分析和引导

文章目录 方向一&#xff1a;行业解决方案,以下是一些常见的行业解决方案&#xff1a;方向二&#xff1a;智能产品和服务,以下是一些智能产品和服务的示例&#xff1a;方向三&#xff1a;教育和培训 1.智能客户服务&#xff1a; 利用自然语言处理&#xff08;NLP&#xff09;和…

设计模式12--组合模式

定义 案例一 案例二 优缺点

了解与生成火焰图

目录 一、如何看懂火焰图 1、基本特征 2、基本分类 二、如何生成火焰图 1、捕获调用栈 2、折叠栈 3、转换为 svg 格式 4、展示 svg 一、如何看懂火焰图 1、基本特征 &#xff08;1&#xff09;纵轴&#xff1a;即每一列代表一个调用栈&#xff0c;每一个格子代表一个函…

【环境变量】命令行参数 | 概念 | 理解 | 命令行参数表 | bash进程

目录 四组概念 命令行参数概念&理解 查看命令函参数 命令行字符串&命令行参数表 bash进程 最近有点小忙&#xff0c;可能更新比较慢。 四组概念 竞争性: 系统进程数目众多&#xff0c;而CPU资源只有少量&#xff0c;甚至1个&#xff0c;所以进程之间是具有竞争属…

基于蚁群算法的三维路径规划(matlab实现)

作品简介 1 理论基础 1.1 三维路径规划问题概述 三维路径规划指在已知三维地图中&#xff0c;规划出一条从出发点到目标点满足某项指标最优&#xff0c;并且避开了所有三维障碍物的三维最优路径。现有的路径规划算法中&#xff0c;大部分算法是在二维规划平面或准二维规划平面…

一种新的瑞数系列通杀方案(以某监局瑞数6为例)

文章目录 声明案例地址参考代码声明 本文章中所有内容仅供学习交流,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关,若有侵权,请私信我立即删除! 案例地址 aHR0cHM6Ly93d3cubm1wYS5nb3YuY24vZGF0YXNlYXJjaC9ob21lLWluZGV4Lmh0bWw=然后搜索 关键词 可…

02-JDK新特性-函数式接口

函数式接口 什么是函数式接口 函数式接口(Functional Interface)就是有且仅有一个抽象方法&#xff0c;但是可以有多个非抽象方法的接口。 函数式接口可以被隐式转换为 Lambda 表达式。 我们可以在一个接口上使用 FunctionalInterface 注解&#xff0c;这样做可以检查它是否是…

文献速递:深度学习胰腺癌诊断--螺旋变换与模型驱动的多模态深度学习方案相结合,用于自动预测胰腺癌中TP53突变麦田医学

Title 题目 Combined Spiral Transformation and Model-Driven Multi-Modal Deep Learning Scheme for Automatic Prediction of TP53 Mutation in Pancreatic Cancer 螺旋变换与模型驱动的多模态深度学习方案相结合&#xff0c;用于自动预测胰腺癌中TP53突变 01 文献速递介…

MapReduce [OSDI‘04] 论文阅读笔记

原论文&#xff1a;MapReduce: Simplified Data Processing on Large Clusters (OSDI’04) 1. Map and Reduce Map&#xff1a;处理键值对&#xff0c;生成一组中间键值对Reduce&#xff1a;合并与同一中间键相关的所有中间值process overview&#xff1a;分割输入数据&#x…

【Redis基础篇】详细讲解Redis

这篇文章让你详细了解Redis的相关知识&#xff0c;有代码讲解以及图片剖析&#xff0c;让你更轻松掌握 制作不易&#xff0c;感觉不错&#xff0c;请点赞收藏哟 &#xff01;&#xff01;&#xff01; 目录 1 redis基础 1.1 定义 1.2 SQL和NOSQL不同点 1.3 特征 1.4 Redis…

docker版Elasticsearch安装,ik分词器安装,用户名密码配置,kibana安装

1、安装es和ik分词器 创建映射目录并赋予权限&#xff1a; mkdir -p /docker_data/elasticsearch/conf mkdir -p /docker_data/elasticsearch/data mkdir -p /docker_data/elasticsearch/plugins chmod -R 777 /docker_data/elasticsearch编写配置文件&#xff1a; vi /dock…

基于java+SpringBoot+Vue的校园交友网站设计与实现

基于javaSpringBootVue的校园交友网站设计与实现 开发语言: Java 数据库: MySQL技术: SpringBoot MyBatis工具: IDEA/Eclipse、Navicat、Maven 系统展示 前台展示 后台展示 系统简介 整体功能包含&#xff1a; 校园交友网站是一个为在校师生提供一个交流互动、寻找朋友的…

【数据库系统工程师】软考2024年5月报名流程及注意事项

2024年5月软考数据库系统工程师报名入口&#xff1a; 中国计算机技术职业资格网&#xff08;http://www.ruankao.org.cn/&#xff09; 2024年软考报名时间暂未公布&#xff0c;考试时间上半年为5月25日到28日&#xff0c;下半年考试时间为11月9日到12日。不想错过考试最新消息…

C++核心高级编程 --- 4.类和对象

文章目录 第四章&#xff1a;4.类和对象4.1 封装4.1.1 封装的意义4.1.2 struct与class的区别 4.2 对象的初始化和清理4.2.1 构造函数和析构函数4.2.2 构造函数的分类及调用4.2.3 拷贝构造函数调用时机4.2.4 构造函数调用规则4.2.5 深拷贝与浅拷贝4.2.6 初始化列表4.2.7 类对象作…