测试用例常用方法和选择原则

news2024/9/30 17:31:52

目录

      前言:

  一、等价类划分法

  等价类思考步骤:

  二、边界值

  边界值的方法小结:

  三、因果图法

  因果图中的符号:

  利用因果导出测试用例需要经过以下几个步骤:

  四、判定表法

  组成部分:

  书写步骤:

  五、场景法

  六、流程分析法

  七、错误推断法

  八、正交表

  作用方法:

  使用步骤:

  测试方法的选择


      前言:

测试用例的主要作用是验证系统功能是否按照需求规格说明书规定的要求进行设计和实现。在制定测试用例时,需要根据功能需求、业务场景等因素进行选择和设计。

  一、等价类划分法

  等价类划分是一种重要的、常用的黑盒测试方法,不需要考虑程序的内部结构,只需要考虑程序的输入规格即可。它将不能穷举的测试过程进行合理分类,从而保证设计出来的测试用例具有完整性和代表性。

  等价类思考步骤:

  1、先确定有效和无效等价类。

  2、有效等价类就是题目条件(两端的极值(边界值)要判断,中间随意一个值也要判断)。

  3、无效等价类先划分与条件相反的情况,其它特殊情况(中文、英文、特殊符号、空格、空值)。

  二、边界值

  具体测试用例思路:找到边界值和它两端的值,分别进行测试。

  1、确定边界情况(输入或输出等价类的边界)。

  2、选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据。

  3、边界值的取值依据输入范围区间不同而有所不同,但是都需要把上点值、离点值和内点值取到(闭两边、开中间)。

  边界值的方法小结:

  1、如果输入条件规定了值的范围,则应取刚刚到这个范围的边界值,以及刚刚超载这个范围边界的值作为输入数据。

  如:两位加法器数的范围为-99 - 99,则应测试-99 -100和99 100。

  2、输入条件规定了值的个数。

  如:姓名要求1-20个字符,需要测试0、1、2个字符和19、20、21个字符。

  某商品信息查询系统,每页最多显示10条商品信息,我们应该闪图商品信息使其能够查询出9、10、11条、1条、0条商品记录。

  边界值和等价类区别:边界值分析不是从某等价类中随便挑一个作为代表,而是这个等价类的每个边界都要作为测试条件。它们是相辅相成的关系,配合使用。

  三、因果图法

  因:输入条件  |   果:输出条件、输出结果。

  适用于输入条件之间有相互制约、相互依赖的情况。

  因果图中的符号:

  1、恒等:有因就有果,没有因就没有果。

  2、非:有因没有果,没有因有果。

  3、或:条件有一个是真,结果就是真,条件都是假,结果才是假。

  4、且(与):条件都为真,结果才是真,一个条件为假,结果就是假。

  利用因果导出测试用例需要经过以下几个步骤:

  1、找出所有的原因,原因即输入条件或输入条件的等价类。

  2、找出所有的结果,结果即输出条件。

  3、明确所有输入条件之间的制约关系以及组合关系。

  哪些条件不能组合在一起,哪些条件可以组合在一起。

  4、明确所有输出条件之间的制约关系以及组合关系。

  哪些输出结果不能同时输出,哪些输出结果可以同时输出。

  5、找出什么样的输入条件组合会产生哪种输出结果。

  6、把因果图转换成判定表/决策表。

  7、为判定表/决策表中的每一列表示的情况设计测试用例。

  四、判定表法

  根据因果图来制作判定表(因果图可以不画)

  组成部分:

  1、条件桩:所有条件。

  2、动作桩:所有结果。

  3、条件桩:针对条件桩的取值。

  3、动作桩:针对动作桩的取值。

  书写步骤:

  1、列出所有条件和动作桩。

  2、填写条件和动作桩的项目。

  3、简化判定表。

  注意:如果出现“-”代表此选项不影响最终结果。

  五、场景法

  场景法就是模拟用户操作软件时的场景,主要用于测试系统的业务流程,分为基本流(正确流程)和备选流(错误流程)。

  在冒烟测试时也主要采用场景法进行测试。

  六、流程分析法

  流程分析法适用于有先后顺序的测试,常用于业务流程测试、安装流程测试等。每个流程就是一条测试用例,它只是在测试整体流程是否正确,细节还需要使用等价类、边界值等方法完善。

  七、错误推断法

  凭着直觉和经验来设计测试用例,它是根据之前项目相关的bug数据总结来的。

  八、正交表

  从全面试验中挑选出有代表性的点进行测试(均匀分散,整齐可比);高效率、快速、经济的方法。

  作用方法:

  1、根据控件和取值当我选择一个合适的正交表。

  2、列举取值并编号,生成取值表。

  3、把取值表与选择的正交表进行映射。

  混合正交表生成工具allpairs:

  很多情况下无法找到合适的正交表,就要使用正交表生成工具。

  使用步骤

  1、制作取值表(只列出数据即可,不用编号)。

  2、复制取值表的数据,放到文本文档中保存(注意不要更改任何格式,例如文件叫Test2.txt)。

  3、把文本文档放在allpairs文件夹中。

  4、cmd进入控制台。

  5、使用控制台命令进入allpairs文件夹中(cd目录路径)。

  6、在控制台中输入 allpairs.exe Test2.txt>chenggong.txt(chenggong是自己真怕的名字,用来存放生成的组合用例,可以自动生成,不必提前建好)。

  测试方法的选择

  在确定测试方法时,应遵循以下原则:

  1、拿到一个测试任务时,先关注它的主要功能和业务流程,业务逻辑是否正确实现,考虑使用场景法。

  2、需要输入数据的地方,考虑采用等价类划分法,包括输入条件和输出条件的等价划分,将无限测试变成有限测试。要注意配合边界值法来做详细测试。

  3、在任何情况下都必须采用边界值分析法,这种方法设计出的测试用例程序错误的能力最强。

  4、如果程序的功能中含有输入条件的组合情况,则一开始就应考虑选用因果图和判定表法。

  5、对于参数配置类的软件,需要考虑参数之间的组合情况,考虑使用正交排列法选择较少的组合方式(最少的测试用例获得最大的测试覆盖率)。

  6、对照程序逻辑,检查已设计出的用例的逻辑覆盖程序,如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。

  7、采购错误推断法再追加测试用例---依靠测试工程师的经验和智慧。

 作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!

留【自动化测试】即可

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

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

相关文章

神经网络笔记

多分类问题 Softmax 高级优化算法 Adam Algorithm Intuition 每个参数有不同的学习率 卷积层 每个神经元只看前一层输入的一部分 原因: 1.更快的计算 2.需要更少的训练数据(不容易过度拟合) 模型评估 成本函数 分类 训练集用来训练…

【Python】数据库(创建库 访问 连接 创建表 编辑记录 案例:客户管理实现)

文章目录 * 库表与管理1.访问数据库1.1 连接与创建数据库1.2 创建表1.3 编辑表记录1.3.1 添加记录1.3.2 修改记录1.3.3 返回所有记录1.3.4 删除记录1.3.5 查询记录 1.4 案例:客户管理 SQLite 实现 * 库表与管理 1.访问数据库 SQLite 是 Python 自带的数据库管理模…

SpringBoot 如何使用 Spring Cloud Stream 处理事件

SpringBoot 如何使用 Spring Cloud Stream 处理事件 在分布式系统中,事件驱动架构(Event-Driven Architecture,EDA)已经成为一种非常流行的架构模式。事件驱动架构将系统中的各个组件连接在一起,以便它们可以相互协作…

【深度学习】5-4 与学习相关的技巧 - 正则化解决过拟合(权值衰减,Dropout)

机器学习的问题中,过拟合是一个很常见的问题。过拟合指的是只能拟合训练数据,但不能很好地拟合不包含在训练数据中的其他数据的状态。机器学习的目标是提高泛化能力,即便是没有包含在训练数据里的未观测数据也希望模型可以进行正确的识别。 …

皓文电子 | 智能制造领先企业的安全服务经验分享

皓文电子是一家为客户提供设计、生产、销售高端开关电源及各类功率变换产品的国家级高新技术企业,是国内智能制造领域的代表企业。其核心产品能与国际主流电源厂商竞争,达到国内外领先水平,并在国家多个重点项目中批量生产装备。 遭遇安全事件…

2023年湖北孝感初、中级工程师职称报名条件和要求是什么?启程别

2023年湖北孝感初、中级工程师职称报名条件和要求是什么?启程别 初级职称对于找工作很有帮助。现在,学历越来越高,仅有学历已经不能满足应聘需求。初级职称的获得并不难,有了职称也会让自己在找工作时更有竞争力。威信公号搜一下启…

2023年最新智能优化算法之——IBI逻辑优化算法(IBL),附MATLAB代码

今天给大家带来一个有意思的智能优化算法,IBL算法。 先说效果:在CEC2005函数集测试,基本上毫无压力,把把都能预测的很准确,而且速度极快。大家可以自行尝试哈。 为啥说这个算法有意思呢,大家看IBL的英文全…

史上最大图灵测试实验完成150万人类参与1000万次对话,判断对面是人还是AI

本文 介绍 了AI 21实验室推出了一个好玩的社交图灵游戏——「人类还是机器人?」 【导读】这个「人类还是AI?」的游戏一经推出,就被广大网友们玩疯了!如今全世界已有150万人参与,网友们大方分享自己鉴AI的秘诀。 历上规模最大的…

解决:torch.cuda.is_available()一直返回False,显卡是NVIDA GeForce MX250

目录 1. 背景2. 发现问题根源3. 解决问题 1. 背景 AI时代了,之前一直不怎么用到的小米笔记本Pro的 NVIDA GeForce MX250独显,就想着让它发挥余热,免得买了这么多年,一直闲置,浪费。 无脑按照chatGPT给的例子&#x…

为什么Django要引入CSRF令牌?答:主要是为了防止跨站伪造请求攻击,那么什么是跨站伪造请求攻击呢?

“CSRF”的英文全称是:“Cross-Site Request Forgery”,翻译过来就是:“跨站请求伪造”。 那么什么是跨站伪造请求攻击呢?看下面这张图就够了。 注意:看上面这张图请按图中标注的1到6的顺序阅读。 Django通过引入CS…

一文详解!接口自动化的关键思路和解决方案

目录 引言 正文 一.接口传参 二. 外部数据源 三. 测试断言 四. 环境切换 五. 批量测试 总结 一.接口自动化的工具思维和测试思维 二.贯穿整个接口自动化项目的三个基本思路: 引言 与UI相比,接口一旦研发完成,通常变更或重构的频率…

使用nps搭建内网穿透服务

使用nps搭建内网穿透服务 如何使用nps搭建内网穿透服务前提准备操作流程配置服务端配置客户端 P2P模式,大流量低延迟 正式开始之前呢,先介绍一下什么是内网穿透: 内网穿透(NAT穿透)是一种技术,它允许您通过…

软件测试简历编写以及软件测试面试题大全

目录 前言: 一、简历重要性以及编写原则 二、简历模板 三、简历包装 四、互联网公司常用接口测试面试题 五、互联网公司常面自动化测试面试题 前言: 软件测试是软件开发过程中必不可少的一环,也是一个不断发展和变化的领域。在寻找软件测试职…

广角积分球均匀光源

现阶段,摄影测量技术已涉及多行多业,其在交通、考古以及景物三维重建中的应用尤为显著,但是普通相机取景范围有限,不能全面捕获整个空间信息,因此一种新型相机--全景相机逐步被应用到实际当中。80年代初,国…

场景解析丨活用PDCA循环,让你的项目管理更高效!

聚焦制造业共性项目管控难题 结合装备制造行业特性, 从PDCA循环角度, 通过痛点、解决方案、实际案例的剖析, 看企业如何做好项目管理。 本期干货内容分享 1. 计划的可执行性 计划要达成共识,打造合理三级计划体系 2. 执行的…

Android预装apk

预装APK到system/app目录 注:APK名字不能含有中文、空格等特殊字符。 在 驱动路径/android/vendor/aw/public/prebuild/apk 创建一个目录存放对应的APK将所需预装的APK放入该目录中在该目录中创建 Android.mk文件,并编译 # 文件名 LOCAL_PATH : $(call…

supervisor简介

1、概述 supervisor是一个用python语言编写的进程管理工具,它可以很方便的监听、启动、停止、重启一个或多个进程。当一个进程意外被杀死,supervisor监听到进程死后,可以很方便的让进程自动恢复,不再需要程序员或系统管理员自己编…

回调函数(callback)是什么?一文理解回调函数(callback)

这里写目录标题 一、什么是回调函数1.1、回调函数的定义和基本概念1.2、回调函数的作用和使用场景 二、回调函数的实现方法2.1、函数指针2.2、函数对象/functor2.3、匿名函数/lambda表达式 三、回调函数的应用举例四、回调函数的优缺点五、回调函数与其他编程概念的关系5.1、回…

性能提升30%!袋鼠云数栈基于 Apache Hudi 的性能优化实战解析

Apache Hudi 是一款开源的数据湖解决方案,它能够帮助企业更好地管理和分析海量数据,支持高效的数据更新和查询。并提供多种数据压缩和存储格式以及索引功能,从而为企业数据仓库实践提供更加灵活和高效的数据处理方式。 在金融领域&#xff0…

Mysql高阶语句(一)

Mysql高阶语句(一) 一、MySQL高级进阶SQL 语句1、SELECT斜体样式2、DISTINCT3、WHERE4、AND、OR5、IN6、BETWEEN7、通配符、LIKE8、ORDER BY9、| | 连接符10、GROUP BY11、HAVING 二、函数1、数学函数2、聚合函数3、字符串函数4、日期时间函数 一、MySQL…