当前位置:网站首页>软件测试与质量学习笔记3--白盒测试
软件测试与质量学习笔记3--白盒测试
2022-07-06 09:13:00 【萍果馅是年糕】
1.白盒测试的两种常用技术:
覆盖测试:在测试过程中,以覆盖某些程序元素为测试目标的测试。
路径测试:从流程图上讲,程序的一次执行对应于从入口到出口的一条路径,针对路径的测试即为路径测试。从广义的角度讲,任何有关路径分析的测试都可以被称为路径测试。
2.白盒测试--基本路径法
在不能做到所有路径覆盖的前提下,如果某一程序的每一个独立路径都被测试过,那么可以认为程序中的每个语句都已经检验过了,即达到了语句覆盖。这种测试方法就是通常所说的基本路径测试方法。
3.控制流图
可简称流图,是对程序流程图进行简化后得到的,它可以更加突出的表示程序控制流的结构。
控制流图中包括两种图形符号:节点和控制流线。
节点由带标号的圆圈表示,可代表一个或多个语句、一个处理框序列和一个条件判定框。
控制流线由带箭头的弧或线表示,可称为边。它代表程序中的控制流。
注意:每个圆圈代表控制流图的节点,可以表示一个或多个语句。圆圈中的数字对应程序中某一行的编号(即可以写多个数字)。箭头代表边的方向,即控制流方向
具体见图片
其中,包含条件的节点被称为判定节点(也叫谓词节点),由判定节点发出的边必须终止于某一个节点,由边和节点所限定的范围被称为区域。
4.图矩阵
图矩阵是控制流图的矩阵表示形式。
图矩阵是一个方形矩阵,其维数等于控制流图的节点数。矩阵中的每列和每行都对应于标识的节点,矩阵元素对应于节点间的边。
通常,控制流图中的结点用数字标识,边则用字母标识。如果在控制流图中从第i个结点到第j个结点有一个标识为x的边相连接,则在对应图矩阵的第i行第j列有一个非空的元素x。
5.环形复杂度及其计算方法
环形复杂度又称为圈复杂度,以图论为基础,为我们提供了非常有用的软件度量。可用如下二种方法之一来计算环形复杂度:
方法1:给定控制流图G的环形复杂度一v(G),定义为
v(G)=E-N+2 环形复杂度=边的数量-节点数量+2
其中,E是控制流图中边的数量,N是控制流图中的节点数量。
方法2:给定控制流图G的环形复杂度一v(G),也可定义为
v(G)= P+1 环形复杂度=判定节点的数量+1
其中,P是控制流图G中判定节点的数量。
6.独立路径
是指程序中至少引入了一个新的处理语句集合或一个新条件的程序通路。
采用流图的术语,即独立路径必须至少包含一条在本次定义路径之前不曾用过的边。
注意:“..."表示后面剩下的路径是可以选择的,原因在于存在循环结构。
7.基本路径测试法测试步骤
·基本路径测试步骤:
1.画出程序的控制流图
2.计算流图G的环路复杂性V(G)
3.确定只包含独立路径的基本路径集
4.根据上面的独立路径,设计测试用例,使程序分别沿上面
的独立路径执行。
边栏推荐
- Yum prompt another app is currently holding the yum lock; waiting for it to exit...
- CSDN question and answer tag skill tree (I) -- Construction of basic framework
- Introduction to the easy copy module
- Solution: log4j:warn please initialize the log4j system properly
- Armv8-a programming guide MMU (2)
- 导入 SQL 时出现 Invalid default value for ‘create_time‘ 报错解决方法
- windows下同时安装mysql5.5和mysql8.0
- CSDN问答标签技能树(二) —— 效果优化
- 软件测试-面试题分享
- A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
猜你喜欢
Opencv uses freetype to display Chinese
Postman Interface Association
Idea import / export settings file
【博主推荐】C#生成好看的二维码(附源码)
Other new features of mysql18-mysql8
windows下同时安装mysql5.5和mysql8.0
35 is not a stumbling block in the career of programmers
CSDN question and answer module Title Recommendation task (II) -- effect optimization
CSDN问答模块标题推荐任务(二) —— 效果优化
【博主推荐】asp.net WebService 后台数据API JSON(附源码)
随机推荐
++Implementation of I and i++
A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
QT creator shape
NPM an error NPM err code enoent NPM err syscall open
引入了junit为什么还是用不了@Test注解
JDBC原理
Global and Chinese market of wafer processing robots 2022-2028: Research Report on technology, participants, trends, market size and share
Use dapr to shorten software development cycle and improve production efficiency
Global and Chinese markets of static transfer switches (STS) 2022-2028: Research Report on technology, participants, trends, market size and share
【博主推荐】C#MVC列表实现增删改查导入导出曲线功能(附源码)
Install MySQL for Ubuntu 20.04
CSDN问答模块标题推荐任务(一) —— 基本框架的搭建
Invalid default value for 'create appears when importing SQL_ Time 'error reporting solution
Solve the problem that XML, YML and properties file configurations cannot be scanned
API learning of OpenGL (2002) smooth flat of glsl
CSDN博文摘要(一) —— 一个简单的初版实现
Ansible practical Series III_ Task common commands
Mysql28 database design specification
Other new features of mysql18-mysql8
Why is MySQL still slow to query when indexing is used?