测试用例设计方法有哪些?举例说明

article/2025/10/19 5:30:26

众所周知,测试用例是编制的一组测试输入、执行条件及预期结果,专门为的是某个特殊目标,即测试某个程序路径,或是核实是否满足某个特定的需求。一般来讲,常用的测试用例设计方法有五种,分别是:正交实验法、边界值分析法、等价类划分法、判定表法、错误推测法。当然测试用例的设计方法不止这些,下面只是通过举例说明着重讲讲这常用的五种方法。

一、正交实验法

用语言描述正交实验法会很抽象难懂,简单说,就是在各因素互相独立的情况下,设计出一种特殊的表格,找出能以少数替代全面的测试用例。其中,上面所说的特殊表格就是正交表,是按照一定规则生成的表。虽然说是特殊的表格,实际表现形式跟一般的表格没有什么区别,正交表的主要特征是,“均匀分布,整齐划一”,正是因为“均匀”的,所以才能以少数代替全部。利用正交实验设计测试用例的步骤:

1、提取功能说明,构造因子–状态表。

2、加权筛选,生成因素分析表。对因子与状态的选择可按其重要程度分别加权,可根据各个因子及状态的作用大小,出现频率的大小以及测试的需要,确定权值的大小。

3、利用正交表构造测试数据集。利用正交实验设计方法设计测试用例,比使用等价类划分,边界值分析,因果图等方法有以下优点:节省测试工作工时;可控制生成的测试用例数量;测试用例具有一定的覆盖率。

二、边界值分析法

一般来讲,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。选出的测试用例,应选取正好等于、刚刚大于、刚刚小于边界的值。

举例说明,对于在区间min,max的值,测试用例可以记为min,min+,max,max-。 例如,假定 X 为整数,10≤X≤100,那么 X 在测试中应该取的边界值为:10,11,99,100。

三、等价类划分法

顾名思义,等价类划分,就是将测试的范围划分成几个互不相交的子集,他们的并集是全集,从每个子集选出若干个有代表性的值作为测试用例。 等价类的划分,最关键的是子集的划分。实际上,非数字还可以继续划分子集:字母,特殊字符。

举例说明,我们要测试一个用户名是否合法,用户名的定义为:8位数字组成的字符。 我们可以先划分子集:空用户名,1-7位数字,8位数字,9位或以上数字,非数字。 然后从每个子集选出若干个有代表性的值:

空用户名:“” (无效等价类实例,指对于软件规格说明而言,没有意义的、不合理的输入)

1-7位数字:”234” (无效等价类实例)

8位数字:”00000000” (有效等价类实例,能检验程序是否实现了规格说明中所规定的功能和性能)

9位或以上数字:”1234567890” (无效等价类实例)

非数字:”abc&!!!” (无效等价类实例)

他们5个,就是用等价类划分选出的测试用例。实际上,对于1-7位数字的子集来说,选“234”和“11111”没有本质的区别。

四、判定表法

又称为策略表,基于策略表的测试,是功能测试中最严密的测试方法。该方法适合于逻辑判断复杂的场景,通过穷举条件获得结果,对结果再进行优化合并,会得到一个判断清晰的策略表。

举例说明:对于功率大于50马力的机器,并且维修记录不全或已运行10年以上的机器,应给予优先的维修处理。

条件桩:

C1:功率大于50马力吗?

C2:维修记录不全吗?

C3:运行超过10年吗?

动作桩:

A1:进行优先处理

A2:作其他处理

生成判断表:
**加粗样式**

测试用例设计方法

简化判定表:

1,2合并,5,7合并,6,8合并
在这里插入图片描述

测试用例设计方法
  
  五、错误推测法

错误推测法是指:在测试程序时,人们可以根据经验或直觉推测程序中可能存在的各种错误,从而有针对性地编写检查这些错误的测试用例的方法。 这种方法没有固定的形式,依靠的是经验和直觉,很多时候,我们都会不知不觉的使用到,这里就不另外举例说明了。

以上就是测试用例的五种设计方法,大家都弄明白了吗?大家要是第一遍没看太懂,可以通过结合相关设计方法的举例说明,多看几遍从而弄懂这些测试用例的设计方法。

只要互联网还在发展,软件测试岗位就一直被需要!

人生如逆水行舟,不进则退。于其浪费时间的怨天尤人,不如积极根据环境做出判断,抓住机遇,迎接挑战。

掌握一门扎实的技术,未来终将美好。软件测试不会让你失望的!

1、零基础学软件测试的好处

测试岗位比起研发岗位来讲,对于零基础的学习者更加友好。因为软件测试无编程基础的要求,编程课程占比少,相比其他IT课程更加容易学习。即使你不懂代码,软件零基础,也完全可以在4—6个月的学习周期中掌握软件测试从业者的必备技能。总而言之,软件测试涉及的代码内容少,零基础的学习者也能轻松入行。

2、软件测试的职业前途分析

随着科技、社会的发展,大家对软件质量的要求也越来越高,从而软件测试的人才需求也就越来越多,国内测试约30万的人才缺口,各种软件和互联网公司都在大肆招收测试工程师。除了人才需求大,选择软件测试还更容易进入大公司。目前,许多公司都开始重视软件测试了,尤其是大公司对测试更为重视,测试人才需求也就大。因此,进入大公司的机会也就更大。另外,人才的紧缺就促使软件测试工程师的薪资在逐渐走高,测试工程师的年薪一般都在10万元以上。总的来讲,软件测试工作无论从行业现状还是从软件测试发展史来看,至少在可以预见的未来10年时间内,都处于蓬勃发展的一个生命周期中。

互联网不倒,软件测试就不会消亡
我们先来聊聊软件测试会不会被取代,在2016年左右,阿里搞过一次全栈工程师运动,一项很重要的环节就是“去掉测试岗”。

测试工程师必须转岗做开发。而不管是后端还是前端,所有人都必须掌握测试技能。最后,该运动以失败告终。

通过这个事件,想说,阿里这种大厂聚集了大量高水平开发人员,都失败了。可见,小厂若想继续想维持开发团队,去掉或者替换掉测试岗那更是痴人说梦。这充分说明,只要互联网不倒,软件测试就不会消亡。

在这里插入图片描述
· 软件测试需求量不仅稳健,还会加大
疫情前,人们的“吃、穿、住、用、行”方方面面都有对应APP软件。疫情后,复工最快,最迅速的企业也都是通过互联网技术实现。

过去,互联网技术只是让某些企业活的好。未来,互联网技术是很多企业能够活下去的关键点。互联网技术成为新的基建,互联网“基建”化就决定了软件测试行业的缺口会一直扩大。

并且,软件测试岗位,已不仅局限于互联网企业,现已逐步深入到实体产业,金融,通信,医疗,视频VR,汽车,手机…

软件测试岗位薪资一路高涨

随着人工智能时代的到来,IT行业受到了越来越多人的重视。软件测试作为把控软件质量必不可少的环节,其重要性可见一斑。

据第三方平台统计,北京软件测试工程师的平均薪资为16.2K,除了一线城市外,随着互联网行业逐渐下沉,在新一线城市、各大省会城市的就业薪资也很可观。

!https://img-blog.csdnimg.cn/e1c27164b2cc48f6ac634c6af74a6f04.png)
△ 数据来源职友集(如侵删)

所以,2023年软件测试还值得入行吗?答案是肯定的。毕竟,优秀的人才什么时候都是紧缺的呀。

3、零基础学软件测试的路线规划

(1)基础部分

这一阶段需要掌握手工测试的相关技能,因此要学习测试基础(计算机基础、DOS命令、HTML、CSS、JS、测试入门)、Linux和数据库(操作系统、Linux安装常用命令、MySQL基础、MySQL高级、Redis数据库)以及功能测试(测试理论、测试用例设计、缺陷管理、Web项目、APP项目测试、Fiddler)。

(2)中级部分

这一阶段需要掌握自动化测试的相关技能,因此要学习Python编程(Python开发环境、Python基础、面向对象、异常处理、模块和包)、Web自动化(Selenium环境、常用API、UnitTest框架、PO模式、数据驱动、日志收集、项目实战)和移动自动化(Appium安装、Appium原理、常用API、Pytest、AllureJenkins等)。

(3)高级部分

这一阶段需要掌握接口测试的相关技能,因此要学习接口自动化(接口基础理论、JMeter常用组件、requests库、mock、框架设计等)、性能测试(性能测试概念、测试方案、常用指标分析、Vugen、Controller、Analysis等)和单元测试和shell编程(单元测试概念、测试流程、测试策略实现、测试报告、shell脚本、常见算法等)。

综上所述,零基础学IT选择软件测试还是相当有前途的

测试工程师—软件质量守护者!

种一颗树最好的时间是10年前,其次是现在!
原地徘徊一千步,抵不上向前迈出第一步!
尝试改变自己和未来,你的人生永远掌握在自己手中!
改变命运,软件测试是你进入IT行业的最佳快车道!

第一阶段 功能测试

学前导读:学习本阶段内容,可全流程功能测试解决方案、Web自动化测试解决方案、数据分离解决方案、自动化测试报告解决方案、日志收集解决方案。

1.2022全网首发、最适合新手的软件测入门到实战教程上线啦!

真正的从入门到精通,包含了基础+项目实战,所有案例实战操作均图文并茂,真正实现一套全通关!

软件测试2022最新视频教程,软件测试基础入门到项目实战(涵盖软件测试基础+黑马头条项目实战)

2.软件测试入门到精通

软件测试是一种实际输出与预期输出之间的审核或者比较过程。软件测试的经典定义是:在规定的条件下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。本课程共5天,针对零基础小白录制。零基础入门的必学课。

软件测试从入门到精通_软件测试基础教程

3. Linux系统2天快速入门

本视频包含Linux操作系统介绍、Linux的常用命令、vi编辑器。学习掌握本阶段内容,可具备Linux项目搭建能力。

Linux系统操作教程2天快速入门linux项目搭建

4. 软件测试MySQL数据库知识精讲+项目实战

本视频包含数据安装,数据表操作、数据操作-增删改查、条件查询、排序、聚合函数、分组、分页、连接查询、自关联、子查询、子查询演练。学习本课程内容,可具备数据库校验能力;还可以快速、规范的掌握数据库增删改查操作。

软件测试工程师必备MySQL数据库,mysql系统精讲+课后练习

第二阶段 Python编程

学前导读:学习本阶段内容,可掌握Python语法, 具备编程能力; 能建立编程思维以及面向对象程序设计思想; 能掌握UnitTest框架管理测试用例。

10天玩转Python软件测试

学习本阶段内容,可掌握Python语法, 具备编程能力; 能建立编程思维以及面向对象程序设计思想; 能掌握UnitTest框架管理测试用例。

Python自动测试教程,python从基础到UnitTest框架管理测试用例

第三阶段 UI自动化

学前导读:ui自动化大体分为web自动化和App自动化,在自动化测试领域中占比很大,经常使用。

1. 软件测试web自动化测试精讲与实战

本课程将教会大家搭建Web自动化和移动自动化测试环境;掌握Web自动化测试流程和脚本编写;掌握移动自动化测试中元素的定位方法、元素操作和手势操作;熟练掌握ADB工具的使用; 掌握PO模式的设计思想,并能够对页面进行封装;掌握数据驱动的实现方式; 能够在实际项目灵活运用自动化的相关技术。

软件测试web自动化测试,Web自动化流程精讲和移动自动化测试环境

2.零基础入门移动自动化——Appium框架

本课程会详细讲解Appium框架,Appium是一个开源的、跨平台的自动化测试框架,该框架适用于Native Application、Mobile Web Application或Hybrid Application的自动化测试。

零基础入门移动自动化测试——Appium框架

3. 轻松教你使用Appium进行IOS真机自动化测试

本套课程,将环境安装的步骤和注意事项呈现给学员,模拟器到真机实操,都进行演示讲解。内容丰富,生动形象,学完即可完成IOS端环境安装及实操。

轻松教你使用Appium进行IOS真机自动化测试

第四阶段 接口自动化

学前导读:接口测试是所有自动化测试应用频率最高部分。此阶段共分成14个部分进行详讲。

接口测试精讲+传智健康实战教程

本教程会涉及HTTP,Postman,Pymysql,requests库,集成UnitTes,Dubbo等诸多工具,最后用传智健康项目进行本阶段项目实战。

4天玩转接口测试,接口重点全解析+传智健康项目实战(包含requests库,集成UnitTes,Dubbo等诸多工具)

第五阶段 性能测试

学前导读:性能测试属于高级测试范畴,对于薪资的提升帮助很大,本阶段视频讲解性能测试环境搭建,JMeter工具的使用,性能测试监控、分析和调优方法。

4天快速入门性能测试

本视频通过性能测试基础理论及JMeter工具的学习;通过轻商城项目实战,带学员掌握性能测试需求分析、性能测试计划、测试用例设计、测试脚本开发、性能监控、性能分析和调优、性能测试报告总结。

性能测试全套教程,4天快速入门性能测试+项目商城实战(含JMeter工具等)

第六阶段 综合项目强化

学前导读:通过微信小程序、金融项目两个实战项目综合强化功能测试、接口测试、性能测试。

1. 微信小程序自动化测试实战

本视频涵盖:微信小程序基础介绍、Ego微商项目介绍、Ego微商项目部署、Ego微商小程序计划篇、Ego微商小程序设计篇、Ego微商小程序执行总结篇、Ego微商小程序接口测试篇、持续集成。

软件测试微信小程序自动化测试实战

2. 软件测试4天搞定金融项目

本视频讲解金融项目功能测试解决方案、真实项目测试体验解决方案、复杂业务接口测试解决方案 接口加解密测试解决方案、数据分离解决方案 持续集成解决方案、自动化测试报告解决方案、高并发测试解决方案。

软件测试4天快速搞定金融项目功能测试实战教程


http://chatgpt.dhexx.cn/article/4cyAMGEC.shtml

相关文章

测试新人如何编写测试用例以及八大要素和设计方法

目录 前言: 测试用例是每个测试新人必会经历的,最近有很多的转行的小伙伴私信凡叔,测试用例怎么写啊,这不就安排上了吗,直接上干货。 【文章末尾给大家留下了大量的福利】 1、测试用例编写依据 2、测试用例的组成元…

测试用例应包含的内容有哪些?

例图: 如图所示测试用例的内容应有以下内容: 项目名称,软件版本,测试环境,设计人,最新更新日期 序号,模块,子模块,用例分类,用例标题,前提条件,操作步骤(输入值),期望结果,实际结果,备注,更新日期,用例级别,评审人 解释: 项目名称:测试的项目名称。 …

测试用例的基本介绍

1.什么是测试用例? 测试用列(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。 2.测试用例的要素 测试用例的标题、测试思路、预设条件、步骤…

测试用例基本内容

为什么需要测试用例 设计测试用例是为了更有效、更快地发现软件缺陷 测试用例具有很高的有效性和可重复性,依据测试用例进行测试可以节约测试时间,提升测试效率 测试用例具有良好的组织性和可跟踪性,有利于测试的管理 什么是测试用例 测试…

测试用例8大要素及额外10小要素【建议收藏】

测试用例八大要素 1.测试用例编号 由字母、字符、数字组合而成的字符串,有唯一性,易识别性。 eg: 1)系统测试:产品编号-ST-系统测试项名-系统测试子项名-编号 2)集成测试:产品编号-IT-集成测试项名-集成测试子项名-编号 3)单元测试:产品编号-UT-单元测试…

测试用例的基本要素和设计方法

作者:爱塔居 专栏:软件测试 作者简介:大三学生,希望同大家一起进步! 文章简介:介绍写测试案例的功能需求测试和非功能需求测试和具体方法:判定表、正交表、等价类、边界值等 文章目录 目录 文章…

测试用例设计的八大要素及ANSI/IEEE 829标准和编写示例

1、测试用例的八大要素 1. 用例编号 和其他编号一样,测试用例编号是用来唯一识别测试用例的编号,要求具有易识别和易维护性,用户可以很容易根据用例编号获取到相应用例的目的和作用,在系统测试用例中,编号的一般格式…

常用八大测试用例设计方法

1、等价类划分(Equivalance Partitioning)测试的思想:将程序的输入域划分为若干个区域(等价类),并在每个等价类中选择一个具有代表性的元素生成测试用例。该方法是常用的黑盒(Blackbox Testing&…

软件测试之用例编写的八大要素

用例编写的八大要素 1、用例编号:产品名-测试阶段-测试项XXX英文(wechat_st_register_001) 2、测试项目:功能模块–子项目 3、测试标题:测试点的细化,一行一个测试点 4、重要级别P1(冒烟&#…

软件测试:测试用例八大要素模板

一、通用测试用例八要素   1、用例编号;   2、测试项目;   3、测试标题;   4、重要级别;   5、预置条件;   6、测试输入;   7、操作步骤;   8、预期输出 二、具体分析通用测试…

测试用例编写八大要素

编写测试用例的8大要素有:用例编号,所属模块,测试标题,重要级别,前置条件,测试输入,操作步骤,预期结果。以及编写测试用例时的注意事项 。 一、用例编号 由字符和数字组合成的字符…

测试用例的设计方法——八大要素

一、测试用例(Test Case): 是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。 用例编号 功能模块 测试点 重要级别 预置条件 测试输入 操作步骤 预期结果 1…

UML 交互概述图

•什么是交互概述图 •交互概述图是将活动图和顺序图嫁接在一起的图 •可以看作活动图的变体,它将活动节点进行细化,用一些小的顺序图来表示活动节点内部的对象控制流 •也可以看作顺序图的变体,它用活动图来补充顺序图 •交互概述图在…

UML-交互图-序列图和协作图

文章目录 1.是交互图2.序列图(Sequence Diagram)/协作图(Collaboration Diagram)3. 序列图构成3.1object(对象)3.2 lifeline(生命线)3.3 message(消息) 4.协作…

UML之交互图(时序图和协作图)

1.交互图: 概念:用来描述对象之间、对象与参与者之间的动态协作关系,以及协作过程中行为次序的图形文档。 作用:通常用来描述一个用例的行为,实现一个用例,完成对系统行为的建模 类型:时序图和协…

UML中的交互图

交互图用来描述系统中的对象是如何进行相互作用的,即一组对象是如何进行消息传递的。 交互图由一组对象和它们之间的关系构成,其中包括:需要什么对象,对象相互之间发送什么消息,什么角色启动消息以及消息按什么顺序发送…

UML 交互图

UML 交互图 (顺序图、通信图、鲁棒图、定时图) 2010-12-23 作者:佚名 来源:网络 交互与交互图 交互的概念 一次交互就是指在特定语境中,为了实现某一个目标,而在一组对象之间进行交换的一组消息所表示…

Axure自定义Echarts交互图

文章目录 一、固定JS代码二、可变代码示例 要想在Axure中载入echarts动态图表,需要利用原件交互动作。具体步骤如下: step1:选择原件 step2:添加载入交互 step3:添加打开链接动作 step4:选择链接外部URL,并写入JS代码 step5:保存并预览 一、固…

【UML】交互图(顺序图、合作图\协作图)

一、交互图 1.交互图用来描述系统中的对象是如何进行相互作用的。即一组对象是如何进行消息传递的。 2.交互主要用于描述协作的动态行为方面 3.当对交互建模时,通常既包括对象(每个对象都扮演某一特定的角色),又包含消息&#…

UML——交互图

交互图用来描述系统中的对象是如何进行相互作用的,即一组对象是如何进行消息传递的。 交互主要用于描述协作的动态行为方面。 对交互进行建模时,通常包括对象(每个对象都扮演某一特定的角色),消息(每一个消…