软件测试《用例篇》

测试用例

测试用例的概念

测试用例是被测试人员向被测试系统发起的一组集合,包括测试环境,操作步骤,预期结果,测试数据等

使用测试用例的好处

使用测试用例进行测试的好处主要有:提高测试效率,降低测试的重复性,用例对需求的覆盖率高,测试用例是自动化测试的基础

测试用例的设计方法

通过学习测试用例的设计方法,设计出比较全面的测试用例,使测试用例更全面的覆盖需求,测试用例的设计方法要求我们以正常思维(正向思维)+发散思维+逆向思维的方式设计测试用例,例如,我们给门锁设计一个测试用例:

 黑盒测试用例的设计方法

基于需求设计测试用例

所谓基于需求设计测试用例,就是测试人员通过对软件需求的分析来设计软件的测试用例

为什么基于需求设计测试用例?
我们给出以下应用场景:PM讲解微信红包需求,总结出以三个需求点:1.红包金额由最高的300->200 2.允许用户自定义红包封面3.红包最长有效时长由24h->48h;如果我们的测试用例遗漏了其中的某个需求,一旦项目上线,则会造成比较严重的影响,另一方面,也会显得我们专业能力较差,为了避免项目上线之后存在较大BUG,我们应该根据软件需求来设计测试用例

如何基于需求设计测试用例

基于需求设计测试用例的测试过程如下:在充分理解需求之后,将大需求分解为小需求,将需求分解为功能相关和非功能相关的需求来设计测试用例

功能需求

功能相关的需求主要从以下三个方面进行考虑:

  • 业务流程(从软件规格说明书中获取):业务流程即功能,我们要考虑每个测试用例对应的业务点和应用场景,以及新版本功能上线之后是否会影响到以前的版本
  • 界面相关(从UI设计稿中获取)
  • 易用性(主要依靠测试人员的经验)

针对具体的功能需求,可以根据业务分类,用户角色,或者根据用户操作区域的不等将系统的功能分解为若干个功能模块,然后按照功能模块分别进行测试需求分析。按照功模块划分,业务模块进行划分是最常见的做法

非功能需求

主要从以下几个方面进行考虑:

  • 兼容性:不同的软件系统,不同的硬件构成(曲面屏,平面屏),不同的显示形式(对于手机端而言就是横竖屏分别显示),以及新版本发布后是否完全替代旧版本,即新功能生效,旧功能失效。系统不同的模式也是我们要考虑进去的点(黑夜模式和白天模式)
  • 网络
  • 安全性
  • 性能

练习

163邮箱注册登录测试用例的设计(基于需求设计测试用例)

 ①将大需求拆分为子需求

将功能分解为注册和登录

②将子需求拆分为功能相关和非功能相关

通过正向,逆向和发散思维来设计具体的测试用例

 

具体设计测试用例的方法

等价类

根据输入将需求划分为多个等价类,在每个等价类中选出一个测试用例,如果该测试用例通过,则认为其所代表的的等价类测试通过,这样可以用较少的测试用例来测试来达到尽可能多的功能覆盖,解决了不能穷举测试的问题(解决输入无穷问题)

在等价类中的测试用例中,可以将等价类划分为有效等价类和无效等价类

  • 有效等价类:对于程序的规格说明书是合理的,有意义的输入数据组成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能
  • 无效等价类:根据需求说明书,不满足需求的集合

边界值

考虑到输入和输出的边界值往往容易出现问题,所以我们将输入输出的边界值作为等价类生成测试用例的补充

边界值上的几个点概念:

上点:边界上的点
离点:离上点最近的点
如果是闭区间,离点是区域范围外离上点最近的点
如果是开区间,离点是区域范围内离上点最近的点
内点:区域范围内的点

助记:
上点是有效数据时,离点是无效数据
上点是无效数据时,离点是有效数据
示例


区间 (10, 20)
12 是内点
10、20 是上点
11、19 是离点


区间 [10, 20]
12 是内点
10、20 是上点
9、21 是离点

判定表

另一种表达逻辑判断的工具

关系

恒等:条件为真,结果一定为真

非:条件为假 ,结果为真

与:两个条件全为真->结果为真,如果一个条件为假->结果为假

或: 两个条件全为假->结果为假,如果一个条件为真->结果为真

用这种方法设计测试用例:

 分析所有的输入和输出

找出输入和输出的对应关系

根据输入输出确定判定表

把判定表队一行到每个测试用例

 

 判定表

正交表测试法

概念

最简单的正交表是L4(23),含意如下:“L”代表正交表;L 下角的数字“4”表示有 4 横行,简称行,即要做四次试验;括号内的指数“3”表示有3 纵列,简称列,即最多允许安排的因素是3 个;括号内的数“2”表示表的主要部分只有2 种数字,即因素有两种水平1与2。正交表的特点是其安排的试验方法具有均衡搭配特性。 [1]

目的

正交法的目的是为了减少用例数目,用尽量少的用例覆盖输入的两两组合(避免因为判定表中测试用例太多导致无法完成测试)

涉及的概念

因素:正交法中涉及的变量

水平:因素的取值

特性

1.每一列中各数字出现的次数都一样多

2.任何两列中的各有序数出现的次数一样多

使用步骤

  1. 充分理解需求
  2. 确定因素和水平
  3. 画正交表
  4. 补充正交表:如下图,我们可以补充一条什么都不填写的数据
  5. 将正交表转化为测试用例

 

使用allpairs生成正交表的步骤

  1. 将因素和水平填写到Excel表中
  2. 将Excel内容复制到txt文件里,将txt文件移动至allpairs安装目录下
  3. cmd进入allpairs安装路径下
  4. 通过一条指令生成正交表

场景测试法

根据事件触发的场景设计测试用例

主事件流和次事件流

主事件流:用户经常操作场景
次事件流:依据主事件流延伸的场景

如何通过场景测试法设计测试用例?

  1. 确定主事件流
  2. 确定次事件流
  3. 将事件转化为测试用例

用例

错误猜测法

错误猜测法是对被测试软件设计的理解,过往经验以及个人直觉,推测出软件可能存在的缺陷,从而针 对性地设计测试用例的方法。
这个方法强调的是对被测试软件的需求理解以及设计实现的细节把握,还有个人的经验和直觉。 错误推测法和目前流行的“探索式测试方法的基本思想一致,这类方法在敏捷开发模式下的投入产出比 很高,被广泛应运于测试。 这个方法的缺点是难以系统化,并且过度依赖个人能力。
以注册为例
1、校验中特殊字符空格的处理?
2、密码校验中的大小写?
3、姓名中的特殊字符?
4、密码发送是否明文

案例设计

模拟弱网

使用fiddler工具实现弱网的模拟

打开弱网设置

 

设置弱网

具体模拟实现2G3G4G网络请查看:https://www.cnblogs.com/fighter007/p/12145205.html

cd linux测试

测试一个接口

水杯测试

我们在设计测试用例时,首先应该从界面,性能,易用性,安全,兼容,功能等六个方面进行考虑

vx朋友圈测试

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

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

相关文章

WAWA鱼曲折的大学四年回忆录

声明:本文内容纯属个人主观臆断,如与事实不符,请参考事实 前言: 早想写一下大学四年的总结了,但总是感觉无从下手,不知道从哪里开始写,通过这篇文章主要想做一个记录,并从现在的认…

中国智能制造装备产业发展机遇

导语 大家好,我是社长,老K。专注分享智能制造和智能仓储物流等内容。 新书《智能物流系统构成与技术实践》 更多的海量【智能制造】相关资料,请到智能制造online知识星球自行下载。 随着全球第四次工业革命的浪潮,智能制造装备产业…

C++ 函数高级——函数的默认参数

函数默认参数 在C中,函数的形参列表中的形参是可以有默认值的 语法:返回值类型 函数名 (参数 默认值){ } 示例: 正确代码: 运行结果:

开源六轴协作机械臂myCobot 280接入GPT4大模型!实现更复杂和智能化的任务

本文已经或者同济子豪兄作者授权对文章进行编辑和转载 引言 随着人工智能和机器人技术的快速发展,机械臂在工业、医疗和服务业等领域的应用越来越广泛。通过结合大模型和多模态AI,机械臂能够实现更加复杂和智能化的任务,提升了人机协作的效率…

盘点当下智能体应用开发的几种形态

现在多智能体系统开发的关注度越来越高了,不光在开发者的圈子热度很高,很多职场人士,甚至是小白也参与其中,因为现在的门槛越来越低了,尤其是,最近特别火的扣子(coze)和百度的appbui…

【TB作品】51单片机 Proteus仿真00016 乒乓球游戏机

课题任务 本课题任务 (联机乒乓球游戏)如下图所示: 同步显示 oo 8个LED ooooo oo ooooo 8个LED 单片机 单片机 按键 主机 从机 按键 设计题目:两机联机乒乓球游戏 图1课题任务示意图 具体说明: 共有两个单片机,每个单片机接8个LED和1 个按键,两个单片机使用串口连接。 (2)单片机…

数据结构学生信息顺序表

主程序 #include "fun.h" int main(int argc, const char *argv[]) { seq_p Screate_seq(); stu data; printf("请问要输入几个学生的数据:"); int n; scanf("%d",&n); while(n--) { prin…

MySQL Binlog详解:提升数据库可靠性的核心技术

文章目录 1. 引言1.1 什么是MySQL Bin Log?1.2 Bin Log的作用和应用场景 2. Bin Log的基本概念2.1 Bin Log的工作原理2.2 Bin Log的三种格式 3. 配置与管理Bin Log3.1 启用Bin Log3.2 配置Bin Log参数3.3 管理Bin Log文件3.4 查看Bin Log内容3.5 使用mysqlbinlog工具…

STM32崩溃问题排查

文章目录 前言1. 问题说明2. STM32(Cortex M4内核)的寄存器3. 崩溃问题分析3.1 崩溃信息的来源是哪里?3.2 崩溃信息中的每个关键字代表的含义3.3 利用崩溃信息去查找造成崩溃的点3.4 keil5中怎么根据地址找到问题点3.5 keil5上编译时怎么输出…

【NTN 卫星通信】Starlink基于终端用户的测量以及测试概述

1 概述 收集了一些starlink的资料,是基于终端侧部署在野外的一些测试以及测量结果。 2 低地球轨道卫星网络概述 低地球轨道卫星网络(lsn)被认为是即将到来的6G中真正实现全球覆盖的关键基础设施。本文介绍了我们对Starlink端到端网络特征的初步测量结果和观测结果&…

STM32-ADC+DMA

本内容基于江协科技STM32视频学习之后整理而得。 文章目录 1. ADC模拟-数字转换器1.1 ADC模拟-数字转换器1.2 逐次逼近型ADC1.3 ADC框图1.4 ADC基本结构1.5 输入通道1.6 规则组的转换模式1.6.1 单次转换,非扫描模式1.6.2 连续转换,非扫描模式1.6.3 单次…

Tabu Search — 温和介绍

Tabu Search — 温和介绍 目录 Tabu Search — 温和介绍 一、说明 二、什么是禁忌搜索以及我可以在哪里使用它? 三、禁忌搜索原则 四、短期记忆和积极搜索: 五、举例时间 六、结论: 七、参考: 一、说明 最近,我参加了…

在DevEco运行typeScript代码,全网详细解决执行Set-ExecutionPolicy RemoteSigned报出的错

目录 基本思路 网络推荐 本人实践 如下操作,报错: 基本思路 //在DevEco运行typeScript代码 /** * 1.保证node -v出现版本,若没有,配置环境变量(此电脑-属性-高级系统变量配置-path-粘贴路径);DevEco在local.properties中可看到当前nodejs的路径 * 2.npm install …

海外仓一件代发功能自动化:海外仓WMS系统配置方法

根据数据显示,2014-2019年短短几年之间,跨境电商销售总额增长了160%以上。这为跨境电商商家和海外仓,国际物流等服务端企业都提供了巨大的发展机遇。 然而,作为海外仓,要想服务好跨境电商,仓库作业的每一个…

车载测试之-CANoe创建仿真工程

在现代汽车工业中,车载测试是确保车辆电子系统可靠性和功能性的关键环节。而使用CANoe创建仿真工程,不仅能够模拟真实的车辆环境,还能大大提升测试效率和准确性。那么,CANoe是如何实现这些的呢? 车载测试中&#xff0…

刷题之合并两个有序数组(leetcode)

因为换了手机号码,之前leetcode的账号登不上去了,正好太久不刷题,很多思路都没了,所以重新开始刷leetcode! 这道题很简单,指针模拟一下,从后往前考虑,先看最大值。 class Solution…

【大语言模型系列之Transformer】

🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…

PLC电源模块

PM电源模块 为CPU信号模块及 其他的扩展设备、其他用电设备(如传感器)提供工作供电 接线和开关 状态显示 灯的闪烁示意看手册 PS电源模块 为CPU信号模块及其他的扩展设备提供工作供电。PS(System Power Supply) 外形与PM电源模块类似,状…

常用的MRI分析软件

MRI(磁共振成像)分析软件种类繁多,涵盖了从基础图像处理到高级数据分析的各个方面。这些软件广泛应用于临床诊断、研究和教育等领域。以下是一些常用的MRI分析软件: 开源软件 商用软件 特殊用途软件 在线工具和云平台 这些软件各…

MATLAB制作一个简单的函数绘制APP

制作一个函数绘制APP,输入函数以及左右端点,绘制出函数图像。 编写回调函数: 结果: