测试理论知识之测试方法

article/2025/9/23 10:26:15

测试方法

软件测试中常用的测试方法有:等价类划分、边界值分析、因果图、场景法、正交试验法

①等价类划分

适用场合:有数据输入的地方,可以使用等价类划分,将大量的数据划分出若干范围,从每个范围中挑选代表数据进行测试,避免穷举,提高测试效率.

等价类方法划分:有效等价类,无效等价类 有效等价类:输入有意义,合理的数据集合; 无效等价类:输入无意义的,不合理的数据集合;

使用步骤:(1)分析需求划分等价类(分为初步划分和细化);(2)将等价类填写到<<等价类表>>中;(3)从每个等价类中至少挑选一个代表数据,编写测试用例,执行测试。

②边界值分析法

适用场合:常用于数据输入的地方,一般作为等价类划分的补充,和等价类划分一起使用

使用步骤:找到有效数据和无效数据之间的分界点,对分界点及其两边的点进行测试.

使用等价类+边界值测试的思路:A.先对有效数据进行测试- 1个测试用例尽可能的将多个控件的有效数据组合起来测(优化)B.再对无效数据进行测试- 无效数据需要单独测试(为了避免屏蔽现象)C.最后对多个无效数据组合测试(适当强化)

举例:

举例:某程序规定:输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型,当此三角形为一般三角形、等腰三角形及等边三角形时,分别作计算用等价类划分方法为该程序进行测试用例设计。

分析题目中给出和隐含的对输入条件的要求:整数、三个数、非零数、正数、两边之和大于第三边、等腰、等边

如果a、b、c满足前四个条件,则输出下列四种情况之一:

  1. 如果不满足“两边之和大于第三边”,则程序输出为“非三角形”
  2. 如果三条边相等且满足条件“等边”,则程序输出为“等边三角形”
  3. 如果只有两条边相等且满足条件“等腰”,则程序输出为“等腰三角形”
  4. 如果三条边都不相等,则程序输出为“一般三角形”

列出等价类表并编号

覆盖有效等价类的测试用例:

a

b

c

覆盖等价类号码

3

4

5

1-7

4

4

5

1-7,8

4

5

5

1-7,9

5

4

5

1-7,10

4

4

4

1-7,11

覆盖无效等价类的测试用例:

a

b

c

覆盖等价类号码

2.5

4

5

12

3

4.5

5

13

3

4

5.5

14

3.5

4.5

5

15

3

4.5

5.5

16

3.5

4

5.5

17

4.5

4.5

4.5

18

3

19

4

20

5

21

3

4

22

4

5

23

3

5

24

3

4

5

25

0

4

5

26

3

0

5

27

3

4

0

28

0

0

5

29

3

0

0

30

0

4

0

31

0

0

0

32

-3

4

5

33

3

-4

5

34

3

4

-5

35

-3

-4

5

36

-3

4

-5

37

3

-4

-5

38

-3

-4

-5

39

3

1

5

40

3

2

5

41

3

1

1

42

3

2

1

43

1

4

2

44

3

4

1

45

③因果图法

适用场合: 界面中考虑控件的组合和限制关系的情况(组合数量较少)

使用步骤:

  1. 找出输入条件的所有组合和限制.
  2. 编写测试用例,每一列对应一条测试用例.
  3. 每组输入条件组合对应的输出结果,画因果图,填判定表(画因果图可以省略)
  4. 找出所有的输入条件(因),和所有的输出结果(果);

举例:

1)找出所有的 输入(因), 编号

(1)投币50元

(2)投币100元

(3)充值50元

(4)充值100元

2)找出所有的输出结果(果) 编号

a、充值成功并退卡

b、提示充值成功

c、找零

d、错误提示,并退卡

步骤1、2就是初步分析需求的过程

把输入、输出的节点画出来,并在判定表中写出判定表的表头

3)在步骤1的基础上分析输入的组合关系和限制关系

(1)限制关系

a、输入1、2互斥(不能同时输入50元和100元)

b、输入3、4互斥(不能同时充值50元和100元)

(2)组合关系

①输入1、3组合

②输入1、4组合

③输入2、3组合

④输入2、4组合

⑤输入1单独

⑥输入2单独

⑦输入3单独

⑧输入4单独

4)在步骤2基础上,分析输出的组合关系和限制关系

(1)限制关系

①a要求b(充值成功要求有成功提示)

②a和d互斥

③b和d互斥

(2)组合关系

①输出a、b必须组合

②输出a、b、c可以组合

③输出c、d可以组合

④输出d单独

步骤3/4时详细分析需求的过程

在因果图中画出输入和输出的限制关系

5)找因果关系:什么样的输入组合会产生什么样的输出组合——列出判定表

(1)输入1、3组合

会产生:输出a、b组合

(2)输入1、4组合

会产生:输出c、d可以组合

(3)输入2、3组合

会产生:输出a、b、c可以组合

(4)输入2、4组合

会产生:输出a、b组合

(5)输入1单独

会产生:输出c、d可以组合

(6)输入2单独

会产生:输出c、d可以组合

(7)输入3单独

会产生:输出d单独

(8)输入4单独

会产生:输出d单独

④场景法

适用场合:当需要测试软件的业务流程(逻辑)时,适合用场景法,场景法是基于业务的方法,有测试人员模拟用户在使用软件的各种不同的情况;

场景法划分:基本流和备选流基本流:也叫有效流或正确流,模拟用户正确的操作的过程;备选流:也叫无效流或错误流,模拟用户错误的操作的情景;测试

场景法的使用步骤:

  1. 根据列出场景填写场景表;
  2. 为每个场景编写适当的测试用例(不一定是1:1的)
  3. 分析需求,整理业务流程(逻辑),列出场景;

经过用例的每条路径都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单的路径。备选流用不同的彩色表示,一个备选流可能从基本流开始,在某个特定条件下执行,然后重新加入基本流中(如备选流 1 和 3);也可能起源于另一个备选流(如备选流2),或者终止用例而不再重新加入到某个流(如备选流2 和 4)

举例:计算两个数值的和

1)列出事件

事件:输入数据1

输入数据2

点击'加'按钮

2)分析流程

基本流:输入数据1

输入数据2

点击'加'按钮

备选流1:加数1无效

备选流2:加数2无效

3)场景设计

场景1:基本流

场景2:基本流+备选流1

场景3:基本流+备选流2

场景4:基本流+备选流1+备选流2

4)用例设计

⑤正交试验法

适用场合:对于参数配置类软件,以及兼容性测试时需要考虑各个控件之间的组合情况(组合较多),使用正交试验法选择较少的组合达到最佳的测试效果.

使用步骤:

  1. 选择合适的正交表(确定 m = 控件取值个数, k = 控件数)
  2. 编写测试用例
  3. 完成控件,控件取值对应因子和状态的映射.
  4. 分析需求,列出参与组合的控件以及每个控件的取值

举例:

大学计算机系共2个班级,考试课程想通过“Sex”、“Class”和“Grade”这三个查询条件对计算机课程的成绩分布,男女比例或班级比例进行人员查询:

条件一:根据“Sex”=“男,女”查询

条件二:根据“Class”=“202班,203班”查询

条件三:根据“Grade”=“及格,不及格”查询

1)传统测试方法

基于上述测试需求分析,存在3个被测元素,被测元素我们称为因子,每个因子有两个取值,我们称之为水平(也就是2)。 2^3

传统用例设计方法:则如下(2的3次方=8次);

2)测试用例表格设计如下图所示:

正交试验法优化后用例设计如下图所示


http://chatgpt.dhexx.cn/article/ZMiCE3i3.shtml

相关文章

1.性能测试理论

性能测试理论 1.性能测试基础知识 1.1 为什么要做性能测试 1.1.1.大型系统崩溃事件 1.北京奥运会售票系统崩溃 https://blog.csdn.net/zhangyunbo1116/article/details/1862322?utm_sourceblogxgwz1 2.12306售票系统 3.淘宝双十一下单/秒杀系统 1.1.2.当系统崩溃产生影…

软件测试的基本理论

1.认识软件测试 1.1软件测试的发展 1960年代是调试时期&#xff08;测试即调试&#xff09;1960年 - 1978年 论证时期&#xff08;软件测试是验证软件是正确的&#xff09;和 1979年 - 1982年 破坏性测试时期&#xff08;为了发现错误而执行程序的过程&#xff09;1983年起&am…

软件测试 理论

1.按阶段对测试分类 1.1 单元测试&#xff08;单元&#xff1a;一个独立的功能模块&#xff09; 针对程序的源代码进行测试&#xff08;交付程序之前自己自测一下&#xff09;、 bug 太多&#xff0c;修复率太低&#xff0c;耗时的时候必须要单元测试 1.2 集成测试&#xff0…

05测试理论

测试理论 一、软件相关知识1、什么是软件2、软件生命周期3、测试流程&#xff08;重点&#xff09;4、项目组成员5、软件研发模型&#xff08;软件研发过程&#xff09;6、BUG类型 二、测试基础1、什么是软件测试2、软件测试目的3、软件测试原则&#xff08;经验&#xff09; 三…

测试理论基础

测试基础 1.软件测试的概念 软件测试&#xff08;Software testing&#xff09;:是一种实际输出与预期输出间的审核或者比较过程。 经典定义&#xff1a;在规定的条件下对程序进行操作&#xff0c;以发现程序错误&#xff0c;衡量软件质量&#xff0c;并对其是否能满足设计要…

测试理论----测试设计方法论

【原文链接】 1、测试用例格式 &#xff08;1&#xff09;用例编号&#xff1a;用例的唯一标识&#xff0c;要求具有易识别性和易维护性&#xff0c;能能够根据用例编号识别用例的目的和作用&#xff0c;一般格式为&#xff1a;A-B-C-D 其中 A&#xff1a;一般表示产品或者项…

测试基础理论

一,理清测试相关概念 1,质量 : 实体特性的总和,满足明确或隐含要求的能力 2,软件质量 :软件特性的总和,软件满足规定或潜在用户需求的能力 在1991年软件产品质量评价,国标标准ISO9126中定义是:软件满足规定或潜在用户需求特性的总和。 …

【软件测试】软件测试基础理论

软件测试基础理论 黑盒测试、白盒测试、灰盒测试 &#xff08;1&#xff09;黑盒测试 黑盒测试 又叫 功能测试、数据驱动测试 或 基于需求规格说明书的功能测试。该类测试注重于测试软件的功能性需求。 采用这种测试方法&#xff0c;测试工程师把测试对象看作一个黑盒子&…

软件测试 - 功能测试(测试理论+用例设计)

一、测试理论基础 1.软件的定义 软件&#xff1a;是计算机程序、程序所用的数据以及有关文档资料的集合 软件分为 系统软件 和 应用软件 系统软件&#xff1a;是生成、准备和执行其他程序所需要的一组文件和程序&#xff0c;比如&#xff1a;操作系统 应用软件&#xff1a;计…

测试理论概述

一、测试基础 1、什么是测试&#xff1f; 弄清楚产品实际功能与需求的差别的过程。 2、软件测试的目的&#xff1a; 根本目的是检验产品是否满足用户的需求。除此之外&#xff0c;可细分为三个层面&#xff1a; (1)证明&#xff1a;证明软件可用 (2)检测&#xff1a;发现缺陷&…

测试理论总结(一)

1.你是如何把控、推进测试流程的&#xff1f; 首先&#xff0c;测试之前&#xff0c;我会做好测试计划、测试人力分配、工作量的估算、测试策略、测试风险评估等&#xff1b;其次&#xff0c;测试中&#xff0c;我会尽量严格按照测试计划来执行&#xff0c;如果实际测试中出现…

超详细的测试理论基础知识

测试理论基础知识 文章目录 一、软件的定义与分类1、软件定义2、软件分类&#xff08;1&#xff09;按照功能划分&#xff08;2&#xff09;按照技术架构划分 二、软件测试的定义及目的1、定义&#xff1a;2、目的 三、软件测试流程四、V模型&#xff08;重点&#xff09;1、软…

测试基本理论-看这篇就够了

软件测试(Software Testing)&#xff1a;在规定的条件下对程序进行操作&#xff0c;以发现程序错误&#xff0c;衡量软件质量&#xff0c;并对其是否能满足设计要求进行评估的过程。 一、软件的分类&#xff1f; 1、按照功能划分&#xff1a; 【系统软件】&#xff1a;如操作…

测试理论基础(重点)

软件测试的原则 1. 只能证明软件存在问题&#xff0c;不能把证明不存在问题 2. 不能进行穷尽测试&#xff0c;应该分类别测试 3. 测试工作尽早介入&#xff0c;降低修复成本 4. 缺陷存在集群现象&#xff0c;二八原则&#xff1a;20%的模块中存在80%的缺陷 5. 测试依赖环境 6.…

sql左连接出现重复数据

情况说明&#xff1a;只需左表数据&#xff0c;右表数据只作为条件存在&#xff0c;左表数据与右边有1&#xff1a;n关系&#xff0c;左连接出现重复数据 原因分析&#xff1a;由于1&#xff1a;n关系&#xff0c;右边数据连接后处于隐藏状态&#xff08;类似&#xff09;&…

sql 左连接数据出现重复

数据出现数据重复问题&#xff0c;排查后发现竟然是&#xff0c;这里用简单demo举例&#xff0c;项目SQL不便展出~ 目录 一、简化举例 二、查询结果 一、简化举例 1、表aa 2、表bb 二、查询结果 1、无条件查询 2、左连接查询 右表数据有重复时&#xff0c;连接关系如下 111122 …

sql 左连接行数增加本质

sql 左&#xff0c;右&#xff0c;内连接 转载自:http://323229113.blog.163.com/blog/static/2185362820070172553209/ 感谢作者. 相信做数据分析的朋友,对数据库都比较敏感,作为一名数据分析人员,我们处理数据时总会遇见各种各样的问题,包括连接方式的选择,今天和大家分享一下…

SQL(左连接,右连接,内连接)

连接(Join)&#xff1a;SQL语句采用JOIN的目的是关联两张及两张以上的表。 连接的使用方式&#xff1a;表1 Join 表2 On 关联条件 1 左连接&#xff08;Left Join&#xff09; 左连接&#xff08;Left Join&#xff09;&#xff1a;多表拼接时&#xff0c;以左边的表为基准&a…

SQL语句理解左右连接和where

这里以左连接 left join 为例&#xff0c;说明 on 后面的条件与 where 后面条件的区别 创建测试表&#xff1a;TAB_1、TAB_2 create table TAB_1 as (select c as A,d as B,3 as C,4 as D from dualunion allselect a as A,b as B,1 as C,2 as D from dual); create table TA…

sql的内连接、左连接、右连接

多表联查时&#xff0c;有些数据没有对应另一个表的数据&#xff0c;即对应为空。 內连接&#xff1a;仅选出两张表中互相匹配的记录&#xff0c;有对应为空的则筛选出去&#xff0c;这些数据就不会被搜索出来。内连接是两个表中都必须有连接字段的对应值的记录&#xff0c;数…