软件测试《用例篇》

测试用例

测试用例的概念

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

使用测试用例的好处

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

测试用例的设计方法

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

 黑盒测试用例的设计方法

基于需求设计测试用例

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

为什么基于需求设计测试用例?
我们给出以下应用场景: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.mfbz.cn/a/780151.html

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

相关文章

NextJs - SSR渲染解决antd首屏加载CSS样式的闪烁问题

NextJs - SSR渲染解决antd首屏加载CSS样式的闪烁问题 闪烁现状解决方案 闪烁现状 我们写一个非常简单的页面&#xff1a; import { Button } from antdexport default async function Page() {return <><Button typeprimary>AAA</Button></> }NextJs…

[答疑]EA中SysML块定义图的引用关联怎样在references分栏中出现

DDD领域驱动设计批评文集 做强化自测题获得“软件方法建模师”称号 《软件方法》各章合集 例如&#xff0c;用EA在BDD&#xff08;块定义图&#xff09;上画了一个关联&#xff1a; 此时&#xff0c;“手机”和“SIM卡”中都没有出现references栏。 右击“手机”&#xff0c…

Pytorch 实践手写数字识别深度学习网络 LeNet-5

Pytorch 实践手写数字识别深度学习网络 LeNet-5 文章目录 Pytorch 实践手写数字识别深度学习网络 LeNet-5认识 LeNet-5认识数据集处理数据集下载数据集读取数据定义Dataset的继承类把数据进行载入载入dataloader 编写网络编写训练与测试代码实践结果展示完整代码 训练手写体识别…

#数据结构 笔记一

数据结构是计算机存储、组织数据的方式。 数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。数据结构是带有结构特性的数据元素的集合&#xff0c;它研究的是数据的逻辑结构和物理结构以及它们之间的相互关系&#xff0c;并对这种结构定义相适应的运算&#xff0…

微软正在放弃React

最近&#xff0c;微软Edge团队撰写了一篇文章&#xff0c;介绍了微软团队如何努力提升Edge浏览器的性能。但在文中&#xff0c;微软对React提出了批评&#xff0c;并宣布他们将不再在Edge浏览器的开发中使用React。 我将详细解析他们的整篇文章内容&#xff0c;探讨这一决定对…

Java对象通用比对工具

目录 背景 思路 实现 背景 前段时间的任务中&#xff0c;遇到了需要识别两个对象不同属性的场景&#xff0c;如果使用传统的一个个属性比对equals方法&#xff0c;会存在大量的重复工作&#xff0c;而且为对象新增了属性后&#xff0c;比对方法也需要同步修改&#xff0c;不方…

微软拼音输入法不显示选字框问题

问题展示&#xff1a;不显示选字框 解决方式 打开兼容性即可&#xff08;估计是升级带来的bug&#xff09;

STM32 - 内存分区与OTA

最近搞MCU&#xff0c;发现它与SOC之间存在诸多差异&#xff0c;不能沿用SOC上一些技术理论。本文以STM L4为例&#xff0c;总结了一些STM32 小白入门指南。 标题MCU没有DDR&#xff1f; 是的。MCU并没有DDR&#xff0c;而是让代码存储在nor flash上&#xff0c;临时变量和栈…

LeetCode题练习与总结:直线上最多的点数--149

一、题目描述 给你一个数组 points &#xff0c;其中 points[i] [xi, yi] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 示例 1&#xff1a; 输入&#xff1a;points [[1,1],[2,2],[3,3]] 输出&#xff1a;3示例 2&#xff1a; 输入&#xff1a;points [[1,…

水箱高低水位浮球液位开关

水箱高低水位浮球液位开关概述 水箱高低水位浮球液位开关是一种用于监测和控制水箱中液位的自动化设备&#xff0c;它能够在水箱液位达到预设的高低限制时&#xff0c;输出开关信号&#xff0c;以控制水泵或电磁阀的开闭&#xff0c;从而维持水箱液位在一个安全的范围内。这类设…

STM32快速复习(八)SPI通信

文章目录 前言一、SPI是什么&#xff1f;SPI的硬件电路&#xff1f;SPI发送的时序&#xff1f;二、库函数二、库函数示例代码总结 前言 SPI和IIC通信算是我在大学和面试中用的最多&#xff0c;问的最多的通信协议 IIC问到了&#xff0c;一般SPI也一定会问到。 SPI相对于IIC多了…

3.js - 模板渲染 - 简单

3.js 真tm枯燥啊&#xff0c;狗都不学 效果图 源码 // ts-nocheck// 引入three.js import * as THREE from three// 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls// 导入lil.gui import { GUI } from three/examples/jsm/libs/li…

【数据结构】09.树与二叉树

一、树的概念与结构 1.1 树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 根结点&#xff1a;根…

webGL可用的14种3D文件格式,但要具体问题具体分析。

hello&#xff0c;我威斯数据&#xff0c;你在网上看到的各种炫酷的3d交互效果&#xff0c;背后都必须有三维文件支撑&#xff0c;就好比你网页的时候&#xff0c;得有设计稿源文件一样。WebGL是一种基于OpenGL ES 2.0标准的3D图形库&#xff0c;可以在网页上实现硬件加速的3D图…

阶段三:项目开发---大数据开发运行环境搭建:任务2:安装配置ZooKeeper

任务描述 知识点&#xff1a;安装配置ZooKeeper 重 点&#xff1a; 安装配置ZooKeeper 难 点&#xff1a;无 内 容&#xff1a; ZooKeeper是一个开源分布式协调服务&#xff0c;其独特的Leader-Follower集群结构&#xff0c;很好的解决了分布式单点问题。目前主要用于诸…

IT之家最新科技热点 | 小米 AI 研究院开创多模态通用模型

人不走空 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌赋&#xff1a;斯是陋室&#xff0c;惟吾德馨 目录 &#x1f308;个人主页&#xff1a;人不走空 &#x1f496;系列专栏&#xff1a;算法专题 ⏰诗词歌…

一.2.(3)放大电路的图解分析方法和微变等效电路分析方法;

放大电路的主要分析方法:图解法、微变等效电路法 这里以共射放大电路为例 (1) 图解法: 1.静态分析 首先确定静态工作点Q,然后根据电路的特点,做出直流负载线,进而画出交流负载线,最后,画出各极电流电压的波形。求出最大不失真输出电压。 估算IBQ&#xff0c;然后根据数据手册里…

二分查找2

1. 山脉数组的峰顶索引&#xff08;852&#xff09; 题目描述&#xff1a; 算法原理&#xff1a; 根据题意我们可以将数组分为两个部分&#xff0c;一个部分是arr[mid-1]<arr[mid]&#xff0c;另一个部分为arr[mid-1]>arr[mid]&#xff0c;此时不难发现我们可以将二分…

U.S.News发布全美最佳本科AI专业排名

10 加州大学圣迭戈分校 University of California, San Diego UCSD的人工智能项目从事广泛的理论和实验研究&#xff0c;学校的优势领域包括机器学习、不确定性下的推理和认知建模。除了理论学习&#xff0c;UCSD教授非常注重把计算机知识运用到自然语言处理、数据挖掘、计算…

从模拟到预测,从智能到智慧:数字孪生技术在水库管理中的应用演变,推动水利行业向更高层次的智慧化迈进

目录 引言 一、数字孪生技术概述 二、数字孪生技术在水库管理中的应用演变 1. 从模拟到预测&#xff1a;构建精准的数字孪生模型 2. 从智能到智慧&#xff1a;实现全面感知与精准控制 3. 推动公众参与与透明化管理 三、数字孪生技术推动水利行业向更高层次的智慧化迈进 …