软件测试模型篇

简介: 决策表通常由四部分组成。条件桩(列出了问题的所有条件。除了问题的先后次序有特定的要求以外,通常在这里列出的条件先后次序都无关。)条件项(针对乔建庄给出的条件列出的所有可能取值。)动作桩(给出问题规定可能取得操作,这些操作排列顺序一般没什么约束,但为了便于阅读,也可以适当的进行排序。)动作项(和条件装紧密相关,在条件中的各种曲子情况下应采取的动作)


开篇


哈喽!大家好,这篇我们来看看软件测试。

首先什么是软件测试呢?软件测试的目的是啥?

软件测试技术是对软件产品进行验证和确认的活动过程,其目的是尽快尽早发现软件产品中存在的诸问题,包括错误、缺陷以及用户预先定义需求的不一致性等。

 

软件测试的生命周期有哪些呢?

问题定义-需求分析-系统设计-编码实现-软件测试-运行维护
软件测试用时间占开发阶段的百分之45%。

 

软件测试模型

V模型

在软件测试方面,V模显示最广为人知的模型。如图所示。V模型的过程从左到右,描述了基本的开发过程和测试行为。V模型的价值在于它非常明确的标明了测试过程中存在不同的级别,并且清楚地描述了这些测试阶段和开发过程间间各个阶段的对应关系。

image.png

W 模型

W 模型的模型由 Evolutif 公司提出,相对于V模型,W模型更科学。W模型强调的是测试,伴随着整个软件开发的周期。而测试对象不仅仅是程序需求、功能和设计同样也要测试,测试与开发是同步进行的,从而有利于更早的发现问题。如图所示。

image.png

X模型

X模型也是对V模型的改进。X模型针对提出对单独的程序片段进行互相分离。编码和测试此后通过频繁的交接,通过集成最终合成可执行的程序。

image.png

H模型

H模型中软件测试过程活动完全独立,贯穿于整个产品的周期与其他流程并发进行。某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早进行,并且可以根据被测试物的不同而分层次进行。

H模型揭示了一个原理,软件测试是一独立的流程,贯穿与产品的整个生命周期,与其他流程并发。运行模型,指出软件测试要尽早的准备,尽早的执行。

image.png

测试用例 = 输入 + 输出 + 测试环境。

image.gif

测试方法

按照测试方法划分为:白盒测试、黑盒测试、灰盒测试

白盒测试

白盒测试也称结构测试或逻辑驱动测试。白盒测试是指一个应用代码的内部逻辑知识。既要覆盖全部的代码,分支、路径、条件的测试,也要检验程序中每条通路是否能够按照预定的要求正确工作。保护它的功能,白盒测试的主要方法有逻辑驱动、基路测试等

黑盒测试

黑盒测试通常理解为我不需要了解程序代码如何实现,我只需要知道。程序出错在哪个地方?站在用户的角度上。黑盒测试着重于程序外部结构,不考虑内部逻辑结构,主要针对于软件界面和软件功能进行测试。

灰盒测试

灰盒测试是介于白盒测试和黑盒和测试之间的测试,灰盒测试关注与输出对于输入的正确性。灰盒测试结合了白盒测试和黑盒测试的要素。它考虑了用户端、特定的系统知识和操作环境。

黑盒测试流程如图所示。

image.png

黑盒测试方法种类

等价类划分

等价类划分,把程序输入与划分成若干个不相交的子集,称之为等价类。所谓等价类是指输入域的某个子集合,所有等价类的并集便是整个输入域。

等价类分为两种情况,有效等价类(是有意义的,合理的输入数据所构成的集合)和无效等价类(是不合理或无意义的输入数据所构成的集合)。

举一个例子:

一个学生允许选修5 ~ 8门课。而5 ~ 8门就是有效等价类。小于五门或者是超过八门则是无效等价类。


等价类测试的分类

弱组合形式测试用例仅需满足有效等价类的完全覆盖。

在这里假设f实现一个程序。输入变量 X1 和 X2 的边界以及边界内的区间。

a <= X1 <= d ,区间为[a, b), [b, c), [c, d]

e <= X2 <= g,区间为[e, f], [f, g]

那么X1的有效等价类:[a, b), [b, c), [c, d]

那么X1的无效等价类:(负无穷, a), (d , 正无穷)

那么X2的有效等价类:[e, f], [f, g]

那么X2的有效等价类:(负无穷, e), (g , 正无穷)

那么弱一般等价类的测试。至少需要三个测试用例,即可以满足等价类的测试要求。如图所示。

image.png

强组合形式:测试用例不仅满足对有下列完全覆盖,而且应覆盖所有等价类的组合。

强表示测试用例需要覆盖两个输入所有效的加类可能的组合。X一有三个有效等价类,xa有两个有效等价类,因此至少需要六个等价测试类才能满足强一般等价类的测试要求,即3×2。

image.png

一般等价类测试只考虑有效等价类。

健壮等价类测试考虑有效、无效等价类

在这里我们举个例子,这里举一个三角形问题

三角形问题的等价类。如图:

image.png

覆盖无效等价类测试用例,如图:

image.png


边界值方法

边界值我们可以理解为某一个条件下接近于边缘的规则。举一个例子。一个文本与允许输入1~255字符。那么1和255个字符是属于合法期间。也是边界值。也可以加入254个字符作为合法测试。

但如果输入0个字符和256个字符。那么就是非法区间。

再举个例子。在C语言里面有一个十个元素的数组。那么赋值的时候用for循环输入“ for(int i = 1; i <= 10; i ++) ”来赋值的话,那么很明显下标超限。这就是典型的边界值问题(越界)。

边界值分析测试方法

我们这里有两个变量,X1和X2二程序,其中X1属于a、b区间,X2属于c、d区间,那么边界值分析利用输入变量的最小值、稍大于最小值,区间任意值、最大值和稍最大值。那么两个变量程序的输入空间和两个程序的边界值分析程序的用例图如下。

image.png

那么两个变量程序的健壮性测试用例。

image.png

决策表方法

什么决策表?

决策表,也叫判定表。在所有的功能性测试方法中,基于决策表的测试方法被认为是最严格的,因为决策表具有逻辑严格性。

决策表通常由四部分组成。条件桩(列出了问题的所有条件。除了问题的先后次序有特定的要求以外,通常在这里列出的条件先后次序都无关。)条件项针对乔建庄给出的条件列出的所有可能取值。)动作桩给出问题规定可能取得操作,这些操作排列顺序一般没什么约束,但为了便于阅读,也可以适当的进行排序。)动作项和条件装紧密相关,在条件中的各种曲子情况下应采取的动作)

image.png

表中有两条或者多条规则具有相同的动作,并且在条件下之间存在着极为相似关系即可。设法将其合并。

如图所示,两条规则合并成一条。

image.png

决策表的测试方法

首先还是三角形问题

1. 列出所有的条件和动作桩

条件桩

C1: a, b, c 构成三角形

C2:a = b?

C3:a = c?

C4:b = c?

动作桩

A1:非三角形

A2:不等边三角形

A3:等腰三角形

A4:等边三角形

A5:不可能

2. 确定规则的个数

3. 列出所有的条件桩和动作桩

4. 填入条件项

5. 填入动作项

6. 简化决策表

如图所示。

image.png

这里很明显看出决策比较最突出的优点是它能把复杂的问题按照各个可能的情况一一列出。简明和理解,同时可以避免遗漏。

(求关注)持续更新中……

相关文章
|
2月前
|
人工智能 搜索推荐 测试技术
模拟试错(STE)法让7B大模型测试超GPT-4
【2月更文挑战第24天】模拟试错(STE)法让7B大模型测试超GPT-4
41 1
模拟试错(STE)法让7B大模型测试超GPT-4
|
2月前
|
传感器 算法 计算机视觉
基于肤色模型和中值滤波的手部检测算法FPGA实现,包括tb测试文件和MATLAB辅助验证
该内容是关于一个基于肤色模型和中值滤波的手部检测算法的描述,包括算法的运行效果图和所使用的软件版本(matlab2022a, vivado2019.2)。算法分为肤色分割和中值滤波两步,其中肤色模型在YCbCr色彩空间定义,中值滤波用于去除噪声。提供了一段核心程序代码,用于处理图像数据并在FPGA上实现。最终,检测结果输出到&quot;hand.txt&quot;文件。
|
2月前
|
测试技术
模型驱动测试:引领软件质量的新潮流
模型驱动测试:引领软件质量的新潮流
24 2
|
5月前
|
分布式计算 测试技术 Spark
通过Langchain实现大模型完成测试用例生成的代码(可集成到各种测试平台)
通过Langchain实现大模型完成测试用例生成的代码(可集成到各种测试平台)
752 0
|
4月前
|
机器学习/深度学习 搜索推荐 算法
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
推荐系统离线评估方法和评估指标,以及在推荐服务器内部实现A/B测试和解决A/B测试资源紧张的方法。还介绍了如何在TensorFlow中进行模型离线评估实践。
205 0
|
25天前
R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
R语言估计多元标记的潜过程混合效应模型(lcmm)分析心理测试的认知过程
|
1月前
|
人工智能 搜索推荐 算法
人工智能,应该如何测试?(七)大模型客服系统测试
这篇文稿讨论了企业级对话机器人的知识引擎构建,强调了仅靠大模型如 GPT 是不够的,需要专业领域的知识库。知识引擎的构建涉及文档上传、解析、拆分和特征向量等步骤。文档解析是难点,因文档格式多样,需将内容自动提取。文档拆分按语义切片,以便针对性地回答用户问题。词向量用于表示词的关联性,帮助模型理解词义关系。知识引擎构建完成后,通过语义检索模型或问答模型检索答案。测试环节涵盖文档解析的准确性、问答模型的正确率及意图识别模型的性能。整个过程包含大量模型组合和手动工作,远非简单的自动化任务。
257 0
|
1月前
|
机器学习/深度学习 人工智能 文字识别
|
6月前
|
机器学习/深度学习 人工智能 数据可视化
【网安AIGC专题10.19】论文4:大模型(CODEX 、CodeGen 、INCODER )+自动生成代码评估:改进自动化测试方法、创建测试输入生成器、探索新的评估数据集扩充方法
【网安AIGC专题10.19】论文4:大模型(CODEX 、CodeGen 、INCODER )+自动生成代码评估:改进自动化测试方法、创建测试输入生成器、探索新的评估数据集扩充方法
303 1

热门文章

最新文章