【软件测试】用例篇

2023-11-20

一.什么是测试用例

测试用例:向被测试系统发起的一组集合,这组集合包含测试数据、测试步骤、测试平台、预期结果。

二.为什么在测试前要设计测试用例 

 

三.基于需求设计测试用例


3.1测试是我们测试人员进行测试的依据。

3.2测试人员首先要分析需求,验证需求的正确性、合理性、无二义性,逻辑自洽。

3.3细化需求,从需求中提取出测试项,从每一个测试项中提取出测试点、根据测试点、设计测试用例。

a.功能性需求

从界面考虑,验证各界面的功能(UI设计稿)。

从业务角度考虑,把功能串起来测试(可能单个测试没有问题,但串起来就有问题了)。

功能之间的交互性、一致性

一个功能多个输入(不同的输入)

功能异常测试,异常操作

功能的易用性、体验性测试

功能涉及的算法(白盒测试)

 

b.非功能性需求

兼容性、性能、安全性、可靠性、可移植性、易用性等。

在功能的基础上,做一些限制,满足特定场景的需求,让用户有更好的体验。

不同类型的软件对于非功能性的需求是不一样的

客户端软件,word,ppt,xmind,播放器,对功能和要求很简单,对性能、安全性要求比较低,软件的可移植性要求比较高。

企业软件、聊天软件、飞Q、飞书、钉钉、企业微信,对功能有一定的要求,但对兼容性、安全性、性能要求较低,因为在一个公司可以指定用在一个具体的windows,或者浏览器下操作。

商业软件对各方面(功能、性能、安全性、可移植性、易用性要求都很高)。

四.设计测试用例的方法

 4.1等价类(等价类可以解决测试用例无法穷举的情况)

用法:根据输入(特殊情况才考虑输出),把输入划分为若干个等价类,从每一个等价类当中取一个测试用例进行测试,如果这个测试用例通过,我们就说这个测试用例代表的等价测试通过。

等价类分为两种情况

有效等价类:符合需求规格说明,这样有意义的输入数据集合,称为有效等价类;
无效等价类:不符合需求说明的输入数据集合,称为无效等价类。

举例:注册功能中输入用户名,要求长度6-15位,输入为字符类型,不区分大小写

根据长度划分:
有效等价类:邮箱地址长度在6-15位
无效等价类:长度小于6位或者长度大于15位

根据字符类型划分:
有效等价类:A ~ Z,a ~ z,大小写混合
无效等价类:汉字 特殊符号 标点符号 空格 大小写字母与其他字符混合

以邮箱账号为例,要求是以字母开头、字母数字下划线

符合要求的等价类:

6-18位,以字母开头,纯字母

6-18位,以字母开头,数字

6-18位,以字母开头,下划线

6-18位,以字母开头,数字,下划线

不符合要求的等价类:

小于6位任意字符(字母、数字、下划线)

大于18位任意字符,以字母开头,包含了特殊字符(非数字和下划线)

6-18位,不以字母开头

6-18位,以字母开头,包含了特殊字符,(非数字和下划线字符)

4.2.边界值

对输入输出的边界针对性的进行测试用例的设计。

包括边界周围的值(边界左右的值,值对应的预期结果)。

以6-15位密码长度为例: 

5 不符合要求

6.7以及1415符合要求

16 不符合要求 

等价类、边界值往往是结合在一起进行测试用例的设计。

4.3错误猜测法 

测试人员依据自己的经验、知识、个人直觉判断软件哪一块有问题,针对性设计测试用例。

适合用于补充测试用例,或者进行探索性测试的时候。

缺点:过度依赖与个人,不能使测试系统化。

 

4.4场景法

把一个个孤立的功能串起来形成一个场景,每一个功能会触发流程走向不同的场景,根据这些不同功能的不同的输入出发形成的场景进行测试用例的设计

ATM取款流程: 

 

4.5.因果图法

一种逻辑图,恒等、与、或、非。

使用场景:当输入有多个,并且不同的输入组合对应着不同的输出,这个时候我们就可以用因果图来进行测试用例的分析。

因果图的几种关系:

如何用因果图法来设计测试用例:

举例:

 

4.6正交法

根据正交法,从大量试验数据中,选取最优的数据组合,根据最优的数据组合的结果来衡量整个测试的输出结果。 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【软件测试】用例篇 的相关文章

  • 外包干了2个月,技术退步明显...

    先说一下自己的情况 大专生 18年通过校招进入武汉某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • 【Mysql】InnoDB 引擎中的页目录

    一 页目录和槽 现在知道记录在页中按照主键大小顺序串成了单链表 那么我使用主键查询的时候 最顺其自然的办法肯定是从第一条记录 也就是 Infrimum 记录开始 一直向后找 只要存在总会找到 这种在数据量少的时候还好说 一旦数据多了 遍历耗
  • Jmeter 压测-性能调优5大注意

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 2k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • Linux终端常见用法总结

    熟悉Linux终端的基础用法和常见技巧可以极大提高运维及开发人员的工作效率 笔者结合自身学习实践 总结以下终端用法供同行交流学习 常 见 用 法 1 快捷键 1 1 Alt 在光标位置插入上一次执行命令的最后一个参数 1 2 Ctrl R
  • RF自动化环境安装+自动化实例解析

    RF定义 通用型的 自动测试框架 绝大部分的软件的的自动化系统都可以采用它 特点 测试数据文件 Test Data 对应一个个的测试用例 测试数据文件里面使用的功能小模块叫关键字 由测试库 Test Library Robot Framew
  • Python自动化操作:简单、有趣、高效!解放你的工作流程!

    今天跟大家分享一套自动化操作流程解决方案 基于 Python语言 涉及 pyautogui pyperclip pythoncom win32com 依赖包 安装命令为 pip install pyautogui pip install p
  • 测试工程师能否作为一份「终身职业」?30岁+怎么办?

    讨论 测试工程师可否作为一份终生的职业 这是我在论坛看到的一个讨论 你的答案是什么呢 我希望大家能认真思考后给出一个属于自己的答案 无论你是新手入门 还是资深专家 回答这个问题请不要凭一腔热血 也不用过分消极 别总和钱挂钩 平心而论即可 就
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 软件测试|教你如何使用Python绘制出奥运五环旗

    简介 我们之前介绍过使用turtle来绘制正多边形 但是绘制正多边形只是turtle模块最基础的使用 我们可以使用turtle模块绘制出更多不一样的精彩图形 本文就来给大家介绍一个比较简单的turtle绘图实例 绘制奥运五环旗 初始化参数
  • 软件测试|教你使用Python下载图片

    前言 我一直觉得Windows系统默认的桌面背景不好看 但是自己又没有好的资源可以进行替换 突然我一个朋友提醒了我 网络上的图片这么多 你甚至可以每天换很多个好看的背景 但是如果让我手动去设置的话 我觉得太麻烦了 我不如使用技术手段将图片下
  • 软件测试|如何使用selenium处理iframe富文本输入框

    简介 在网页开发中 富文本框是常见的元素 用于输入富文本内容 如富文本编辑器或邮件编辑器 如果我们要使用Python和Selenium进行自动化测试或操作这种富文本框 可能会遇到一些挑战 本文将详细介绍如何使用Python和Selenium
  • msyql 异常,别干着急,70%的问题都在这里!

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 软件测试/测试开发/全日制/测试管理丨Android WebView 技术原理

    Android WebView是一个内置的组件 允许在Android应用中嵌套显示Web内容 Android WebView的技术原理涉及到使用WebKit引擎来渲染Web内容 并提供一系列API和回调函数 使得开发人员可以控制和定制Web
  • 一文让你了解UI自动化测试

    测试都起什么作用 是项目的保险 但不是项目的救命草 测试无实际产出 但作用远大于实际产出 测试是从项目维度保证质量 而不是测试阶段 UI自动化 下面简称自动化 基于UI进行自动功能测试 以Web端作为例子 一般的UI功能自动化都是基于HTM
  • 外包干了2个月,技术倒退2年。。。

    先说一下自己的情况 本科生 20年通过校招进入深圳某软件公司 干了接近4年的 功能测试 今年国庆 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了3年的女朋
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • 一文让你快速写出高效的软件测试用例

    前言 编写测试用例的目的就是确保测试过程全面高效 有据可查 但要编写出高效的测试用例 需要搞清楚什么是测试用例 以及如何编写出高效的测试用例 接下来将从以下几个部分来进行展开 1 什么是测试用例 2 如何编写测试用例 3 软件测试学习资源分
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错

随机推荐

  • 大清相国 -陈廷敬

    以前都没听说过这个人 读了读 原来是康熙时的重臣 一开始 太完美了 为民做主 不爱权 不爱财 后来 明白不能让皇帝太难堪 不能让天下百姓知道居然这么多贪官 委屈求全 最后一举将高士奇等一起干掉 狠字当头 最后 装傻退出朝廷 在家养老 一句话
  • Kubernetes笔记(六):了解控制器 —— Deployment

    Pod 容器组 是 Kubernetes 中最小的调度单元 可以通过 yaml 定义文件直接创建一个 Pod 但 Pod 本身并不具备自我恢复 self healing 功能 如果一个 Pod 所在的节点出现故障 或者调度程序自身出现问题
  • C++---区间DP---加分二叉树(每日一道算法2023.4.28)

    题目 设一个 n 个节点的二叉树 tree 的中序遍历为 1 2 3 n 其中数字 1 2 3 n 为节点编号 每个节点都有一个分数 均为正整数 记第 i 个节点的分数为 di tree 及它的每个子树都有一个加分 任一棵子树 subtre
  • hello,os

    于渊的书确实不错 先看第一章 出了个hello os 用虚拟机搞的 引导区
  • C# 如何将SPL文件转换成EMF文件

    本文主要讲述如何将SPL文件转换成EMF文件 目录 一 什么是SPL文件和EMF文件 一 SPL文件 二 EMF文件 二 文件解析 一 SPL格式 二 打开SPL文件 三 解析SPL文件 三 编程思路 一 记录EMF文件的位置和大小 二 找
  • JS对象的深复制

    JS实现对象的深复制 function cloneObject source target var list number string boolean undefined null function if target undefined
  • 区块链的安全性与去中心化特点:深入探讨区块链技术的安全性和去中心化特点

    摘要 本文将深入探讨区块链技术的两个核心特点 安全性和去中心化 区块链作为一种分布式账本技术 通过其独特的安全性和去中心化特点 在许多领域引起了广泛关注 我们将分析区块链的安全性原理和其与去中心化的关系 以及区块链技术在保护数据安全和提供信
  • 【Web常规漏洞】SSRF服务端请求伪造漏洞

    文章目录 参考 概念 产生原因 可能存在漏洞的代码 漏洞分类 潜在危害 漏洞利用 漏洞防御 漏洞绕过 概念 SSRF Server Side Request Forgery 服务器端请求伪造 是一种利用漏洞伪造服务器端发起请求 一般情况下
  • windows服务器被当矿机的问题处理实战-conhosts.exe

    windows服务器被当矿机的问题处理实战 conhosts exe 服务器最近比较卡 调开任务管理器查看 CPU占用偏高 发现进程 conhosts exe 占用CPU 75 通过pid查询 该进程通过syn sent向陌生IP 163
  • STM32G30C8T6hal库串口非固定长度

    1 由于从标准库转到hal库 还是特别不适应 串口测试遇到了一下问题 记录一下 2 hal库串口的配置不再赘述 hal库串口接收完毕可调用回调函数 接收的字节为固定长度才会回调 感觉非常麻烦 而且要重新开启接收中断 特别不适用于项目 想按照
  • 最新网络工程毕设选题题目推荐

    文章目录 0 简介 1 如何选题 2 最新网络工程选题 2 1 Java web SSM 系统 2 2 大数据方向 2 3 人工智能方向 2 4 其他方向 4 最后 0 简介 学长搜集分享最新的网络工程专业毕设毕设选题 难度适中 适合作为毕
  • python爬虫,多线程与生产者消费者模式

    使用队列完成生产者消费者模式 使用类创建多线程提高爬虫速度 https sc chinaz com tupian index html https sc chinaz com tupian index 2 html https sc chi
  • elasticsearch 安装教程

    一 jdk安装 es要求jdk版本在1 8以上 所以先安装jdk1 8 安装步骤 1 安装完Centos6 5的Base Server版会默认安装OpenJDK 首先需要删除OpenJDK 命令 rpm qa grep java 显示如下
  • 头条员工自爆:拿遍BAT和TMD的offer,面试过于NB!

    最近看到一位今日头条员工在脉脉发帖称 最近两次找工作 BAT TMD的offer几乎拿了个遍 但一般一家只能待两年 原因是面试的时候表现过于NB 导致下家对自己期望值过高 实际工作中面临的阻力很大的时候就会退缩 自己的能力项可能是面试 每次
  • Android 网络管理

    系统中对网络的判断和选在是在Connectivityervice这个服务中来处理的 在系统启动的时候会启动这个系统服务 系统启动完毕后 ConnectivityService在系统启动的时候就启动了 在android内部 用framewor
  • 如何学好C语言的数据结构与算法?

    C语言的数据结构与算法 难就难在链表 学会了链表 可能后面就一点都不难了 书籍推荐 数据结构与算法分析 C语言描述版 要深入学习的话可以选择这本书 因为针对链表的讲解是比较详细的 所以可以很快理解链表 跟着书上一点点实现基本操作 增删改查
  • Vue中的过滤器

    过滤器 定义 对要显示的数据进行特定格式化后再显示 适用于一些简单逻辑的处理 语法 1 注册过滤器 Vue filter name callback 全局 或 new Vue filters 局部 2 使用过滤器 xxx 过滤器名 或 v
  • 动态修改日志级别,太有用了!

    首发于公众号 BiggerBoy 背景 我们在系统中一般都会打印一些日志 并且在开发 测试 生产各个环境中的日志级别可能不一样 在开发过程中为了方便调试打印了很多debug日志 但是生产环境为了性能 为了节约存储资源 我们会将日志级别设置为
  • linux shell进行数值计算

    出于项目需要 需要用脚本执行计算 最简单的方法1 这里写算式 可以写变量 Desktop cat test sh a 102 c a 123 echo a a echo a 123 c Desktop test sh a 102 a 123
  • 【软件测试】用例篇

    一 什么是测试用例 测试用例 向被测试系统发起的一组集合 这组集合包含测试数据 测试步骤 测试平台 预期结果 二 为什么在测试前要设计测试用例 三 基于需求设计测试用例 3 1测试是我们测试人员进行测试的依据 3 2测试人员首先要分析需求