白盒测试之基本测试
白盒测试主要测试内容

白盒测试主要测试内容在软件开发过程中,白盒测试是一种至关重要的测试方法。
通过对代码内部结构和逻辑的测试,白盒测试可以有效发现代码中的错误和缺陷,帮助开发团队提高代码质量和系统稳定性。
下面我们将详细介绍白盒测试的主要测试内容:1. 代码覆盖率测试代码覆盖率是评估测试质量的重要指标之一,是指在测试过程中实际执行的代码占总代码量的比例。
通过对代码的覆盖率测试,可以确保测试用例涵盖了代码的所有执行路径,有效减少遗漏导致的问题。
2. 逻辑路径测试逻辑路径测试是通过分析代码中的控制流程,设计测试用例以覆盖各个逻辑分支,验证代码在不同条件下的行为。
逻辑路径测试可以帮助发现代码中的逻辑错误和边界情况,提高代码的健壮性和可靠性。
3. 数据流测试数据流测试是针对代码中的数据传输和处理过程进行的测试。
通过模拟不同的输入数据和数据流转情况,验证代码对数据的处理是否正确,是否存在数据丢失、溢出、循环等问题。
数据流测试可以帮助发现代码中的数据相关的错误,保证系统对数据的正确处理。
4. 边界值测试边界值测试是一种测试技术,通过在输入值的边界处设计测试用例来验证代码的正确性。
边界值测试能够揭示代码在输入数据边界处容易出现的错误,如值溢出、越界等情况,帮助提高代码的容错性和稳定性。
5. 条件覆盖测试条件覆盖测试是一种测试技术,通过设计测试用例以覆盖代码中的各个条件表达式,验证代码在不同条件下的执行路径。
条件覆盖测试可以帮助发现代码中的逻辑错误和判断错误,确保代码在各种条件下都能正确执行。
综上所述,白盒测试的主要测试内容包括代码覆盖率测试、逻辑路径测试、数据流测试、边界值测试和条件覆盖测试等方面。
通过全面而深入的测试,可以有效发现代码中的问题,提高软件质量和开发效率。
白盒测试的基本原理与流程

白盒测试的基本原理与流程白盒测试是一种软件测试方法,旨在检查程序的内部结构和逻辑。
与黑盒测试不同,白盒测试关注于代码的执行路径、逻辑错误和代码覆盖率等。
本文将介绍白盒测试的基本原理和流程。
一、基本原理白盒测试的基本原理是通过对程序的内部结构进行分析,设计测试用例以测试所有可能的执行路径,从而发现代码中的错误和潜在问题。
1. 代码覆盖率白盒测试注重测试用例对代码的覆盖程度。
常用的代码覆盖率指标有语句覆盖、判定覆盖、条件覆盖和路径覆盖等。
通过测试用例,可以评估代码在各种情况下的覆盖程度,发现未执行的代码块和条件分支。
2. 控制流和数据流白盒测试分析程序的控制流和数据流,通过构建测试用例以覆盖不同分支和路径的执行情况,检查程序在各种输入和条件下的行为。
主要包括判定覆盖、条件覆盖和路径覆盖等。
3. 引用关系和依赖关系白盒测试还关注程序中变量之间的引用关系和依赖关系。
通过测试用例,检查变量的定义、赋值和引用等操作是否符合预期,以及是否存在潜在的错误和漏洞。
二、基本流程白盒测试的基本流程包括需求分析、测试计划、测试设计、测试执行和测试评估五个主要阶段。
1. 需求分析在需求分析阶段,测试人员与开发人员和产品经理一起,明确软件的需求和功能。
根据需求分析文档,确定测试的范围和目标,并了解软件的内部结构。
2. 测试计划根据需求分析结果,测试人员制定测试计划。
测试计划包括测试的目标、测试环境、测试资源、测试工具和测试时间等。
同时,要制定测试用例和测试数据,确保测试的全面性和可靠性。
3. 测试设计在测试设计阶段,测试人员根据需求和设计文档,设计测试用例和测试数据。
测试用例应覆盖不同的执行路径和边界情况,并考虑错误和异常处理的情况。
同时,要设计适当的输入和输出数据,模拟真实的使用场景。
4. 测试执行测试执行是将测试用例和测试数据应用到软件中,观察和记录软件的执行结果。
测试人员要按照测试用例的要求,输入测试数据,观察软件的反应和输出结果。
简述白盒测试主要测试方法有哪些

简述白盒测试主要测试方法有哪些白盒测试,又称结构化测试或透明盒测试,是一种软件测试方法,其重点是对软件内部结构进行测试。
白盒测试可以检查软件的内部逻辑、数据流和代码覆盖率,以验证软件是否按照设计要求正确运行。
以下是白盒测试主要的测试方法:静态分析静态分析是一种在不运行软件的情况下分析代码的方法。
静态分析可以通过检查源代码、设计文档或需求文档等来发现潜在的错误。
常用的静态分析工具包括代码审查、静态代码分析工具等。
控制流测试控制流测试是一种测试方法,主要关注程序的控制流程,即程序执行的路径。
控制流测试可以通过路径覆盖、语句覆盖、分支覆盖等技术来确保测试覆盖各种可能的路径和条件。
数据流测试数据流测试是一种测试方法,主要关注数据在程序中的传递和变化。
数据流测试可以通过数据定义、使用和传递来检测程序中的潜在问题,例如未初始化变量、数据依赖等。
语句覆盖语句覆盖是一种测试方法,通过执行每个语句至少一次来检查程序的完整性。
语句覆盖可以确保程序的每个语句都被执行到,有助于发现代码中的潜在问题。
判定覆盖判定覆盖是一种测试方法,要求对程序中的判定条件进行测试,从而验证程序在不同条件下的行为。
判定覆盖可以帮助发现程序中可能存在的逻辑错误和条件覆盖不全的问题。
条件覆盖条件覆盖是一种测试方法,要求针对每个条件的真值和假值进行测试,以确保程序对所有条件的覆盖。
条件覆盖有助于检测程序中的逻辑错误和条件判定不全的问题。
以上就是白盒测试主要的测试方法,这些方法可以帮助测试人员全面而有效地对软件进行测试,发现潜在问题并提高软件品质。
白盒测试的内容是什么

白盒测试的内容是什么白盒测试,又称为结构化测试或透明盒测试,是一种测试方法,旨在检查软件系统的内部结构和逻辑,以确保其功能正常且符合预期。
与黑盒测试侧重于功能和用户体验不同,白盒测试关注的是代码的覆盖率和质量,帮助开发人员发现和修复潜在的代码缺陷和漏洞。
白盒测试的主要内容1.代码覆盖率测试–语句覆盖:确保每个代码语句都被执行过至少一次。
–分支覆盖:检查每个控制结构的每个分支是否都被覆盖。
–条件覆盖:测试每个条件语句的每个取值情况。
2.代码质量评估–静态代码分析:通过工具分析代码,查找代码中潜在的错误和不规范之处。
–代码审查:由开发者、测试人员等对代码进行仔细检查,发现潜在问题。
3.单元测试–测试单元:以函数、方法或模块为单位进行测试,验证其功能的正确性。
–覆盖所有路径:确保每个代码路径都被覆盖到,包括正常路径和异常路径。
4.集成测试–测试模块间的交互:确保不同模块之间的接口和数据交换正常工作。
–检查系统整体功能:验证整个系统的功能以及各部分的协调性。
5.性能测试–查找性能瓶颈:通过模拟不同负载下的系统运行来评估系统的性能。
–测量资源消耗:分析系统在不同工作量下的资源消耗情况,如 CPU 使用率、内存占用等。
白盒测试的优势•早期发现问题:白盒测试能够在代码编写阶段就发现潜在问题,有利于早期修复。
•提高代码质量:通过代码覆盖率和质量评估,帮助提高代码质量和可维护性。
•减少后期成本:及早发现并解决问题可以降低软件维护和修复成本。
总的来说,白盒测试是一种全面、深入的测试方法,可以有效地提高软件质量,减少软件项目中的风险和错误。
通过不同的测试内容和方法,白盒测试可以帮助开发团队更好地了解和掌握软件系统的内部结构,从而提供更稳定、可靠的软件产品。
白盒测试的基本路径测试法

白盒测试的基本路径测试法一、白盒测试的主要测试方法1、代码检查法2、静态结构分析法3、静态质量度量法4、逻辑覆盖法5、基本路径测试法(应用最广泛)6、域测试7、符号测试8、Z路径覆盖9、程序变异二、基本路径测试法1、定义:基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。
设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。
2、基本路径测试法的基本步骤1) 程序的控制流图:描述程序控制流的一种图示方法。
2)程序圈复杂度:McCabe复杂性度量。
从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。
3) 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果.4) 准备测试用例:确保基本路径集中的每一条路径的执行.3、基本路径测试法的工具方法1)图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。
三、程序的控制流图控制流程图是描述程序控制流的一种图示方法。
圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句流图只有二种图形符号:图中的每一个圆称为流图的结点,代表一条或多条语句。
流图中的箭头称为边或连接,代表控制流。
任何过程设计都要被翻译成控制流图。
1、根据程序流程图化成控制流图在将程序流程图简化成控制流图时,应注意:1)在选择或多分支结构中,分支的汇聚处应有一个汇聚结点.2)边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。
如下页图所示:如果判断中的条件表达式是由一个或多个逻辑运算符(OR,AND, NAND,NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。
例如:1 if a or b2 x3 else4 y对应的逻辑为:独立路径:至少沿一条新的边移动的路径2、实例说明基本路径测试法的步骤:第一步:画出控制流图流程图用来描述程序控制结构。
白盒测试的基本原理和流程

白盒测试的基本原理和流程白盒测试是一种软件测试方法,旨在验证和评估软件系统的内部结构和实现。
通过深入了解程序代码和系统架构,白盒测试可以检查程序的内部逻辑,确保程序的功能和性能满足设计要求。
本文将介绍白盒测试的基本原理和流程。
一、白盒测试的基本原理白盒测试基于以下几个基本原理:1. 程序代码可见性:白盒测试需要分析和理解程序的内部代码。
这需要测试人员具备一定的编程和代码阅读能力,以便能够深入了解程序的实现细节。
2. 内部逻辑测试:白盒测试关注程序的内部逻辑,例如条件语句、循环结构和错误处理等。
通过针对这些内部逻辑进行测试,可以发现潜在的逻辑错误和漏洞。
3. 覆盖率检查:白盒测试旨在实现对程序代码的全面测试,通过检查测试用例对代码的覆盖情况,可以评估测试的全面性和有效性。
二、白盒测试的流程白盒测试的流程通常可以分为以下几个阶段:1. 需求分析和设计:在这个阶段,测试团队需要与系统开发人员和业务方进行密切合作,了解系统的需求和设计,并据此制定测试计划和策略。
2. 单元测试:单元测试是白盒测试的第一阶段,主要针对程序的最小单元——函数或方法进行测试。
通过编写测试用例,测试人员可以验证每个单元的功能和正确性。
3. 集成测试:集成测试是对系统各个组件的整体测试,例如不同模块之间的接口和交互。
在这个阶段,测试人员需要检查系统的整体功能和一致性。
4. 系统测试:系统测试是对整个软件系统的测试,重点是验证系统能否满足整体业务需求和性能要求。
在这个阶段,测试人员需要编写全面的测试用例,并进行功能、性能和稳定性等方面的测试。
5. 安全测试:安全测试是白盒测试的一个重要环节。
在安全测试中,测试人员需要检查系统是否容易受到恶意攻击,并评估系统的安全性和防护能力。
6. 缺陷跟踪和修复:在测试过程中,测试人员会记录并报告发现的缺陷。
开发人员会根据测试人员提供的信息进行缺陷修复,并周期性地发布更新版本。
7. 性能优化:在白盒测试的最后阶段,测试人员会对系统性能进行评估和优化。
白盒测试-基本路径法

⽩盒测试-基本路径法⼀、定义基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执⾏路径集合,从⽽设计测试⽤例的⽅法。
⼆、基本路径测试的步骤1)画出程序控制流图(前提是已经有了程序流程图)2)计算环路复杂度3)导出独⽴路径(可执⾏路径)4)设计测试⽤例三、认识控制流图1、描述程序控制流的⼀种图⽰⽅法,控制流图中只有2种图形符号:结点:标有编号的圆圈表⽰控制流线或边或连接:以箭头表⽰2、各种语句结构的控制流图3、认识什么是区域区域:边和结点圈定的区域叫做区域。
封闭区域+开放区域4、如果判断中的条件表达式是由⼀个或多个逻辑运算符(OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为⼀系列只有单条件的嵌套的判断。
If(a>1 and b<2){…}If(a>1){If(b<2){…}}(a)流程图四、环形复杂度的计算有以下三种⽅法计算环形复杂度:a)流图中封闭区域的数量+1个开放区域=总的区域数=环形复杂度b)给定流图G的环形复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;c)给定流图G的环形复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。
五、举例1)画出程序控制流图2)计算环形复杂度a)流图中封闭区域的数量+1个开放区域=总的区域数=环形复杂度3个封闭区域+1个开放区域=4b)给定流图G的环形复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;V(G)=E-N+2=11-9+2=4c)给定流图G的环形复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。
V(G)=P+1=3+1=43)导出独⽴路径注:因为环形复杂度为4,所以有四条独⽴路径PATH1:1-11PATH2:1-2-3-4-5-10-1-11PATH3:1-2-3-6-7-9-10-1-11PATH4:1-2-3-6-8-9-10-1-114)设计测试⽤例(略)。
白盒测试技术(基本路径测试法)

控制流图的组成: 1. 节点:以标有编号的圆圈表示。可代表一个或多个语句、一
个处理框序列和一个条件判定框(假设不包含复合条件)。包 含条件的节点被称为判断节点,分支的汇聚处应该有一个汇 点。, 2. 控制流线或弧:以箭头表示,又称为边。 3. 边和结点圈定的区域叫做区域,当对区域计数时,图形外的 区域也应记为一个区域。
之
1
▪ 1.白盒测试技术概念以及方
法
▪ 2.基本路径测试法
重点
▪ 步骤
▪ 实现
黑盒
X=2
?
y=4
白盒
X=2 y=2x
y=4
白盒测试以源代码为基本对象,是对软件的过 程性细节做细致的检查,允许测试人员利用程序内 部的逻辑结构及有关信息,设计或选择测试用例, 对程序所有逻辑路径进行测试,通过在不同点检查 程序状态,确定实际状态是否与预期的状态一致。
2.计算环路复杂度,又称为圈复杂度
❖ 案例分析
3.列出程序中形成的基本路径集合
路径1:4-14 路径2:4-6-7-14 路径3:4-6-8-10-13-414 路径4:4-6-8-11-13-414
❖ 案例分析
4.推导出可以确保集合中每条独立路径都被执行的 测试用例。
2
1
4
3
分析控制流图:
1. 节点数: 9 2. 判断节点数: 3 3. 边数: 11 4. 区域数: 4
程 序 流 程
控 制 流 图
图
程序的环路复杂性给出了程序基本路径集中的 独立路径条数,这是确保程序中每个可执行语句至 少执行一次所必需的测试用例数目的上界。
程序环路复杂性计算方法(三种):
(1)流图中区域的数量对应于环形复杂度; 4. (2)给定流图G的环形复杂度V(G),定义 为V(G)=E-N+2, E是流图中边的数量, N是流图中节点的数量。 V(G)=11-9+ 2. (3) V(G)=P+1, P是流图G中的判定节 点数。 V(G)=3+1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
白盒测试之基本路径测试法
发布时间: 2008-3-06 17:30 作者: 未知来源: 网络转载
字体: 小中大| 上一篇下一篇| 打印| 我要投稿| 推荐标签:白盒测试
白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。
其中运用最为广泛的是基本路径测试法。
基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。
设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。
在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例。
包括以下4个步骤和一个工具方法:
1. 程序的控制流图:描述程序控制流的一种图示方法。
2. 程序圈复杂度:McCabe复杂性度量。
从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行一次所必须的测试用例数目的上界。
3. 导出测试用例:根据圈复杂度和程序结构设计用例数据输入和预期结果。
4. 准备测试用例:确保基本路径集中的每一条路径的执行。
工具方法:
图形矩阵:是在基本路径测试中起辅助作用的软件工具,利用它可以实现自动地确定一个基本路径集。
程序的控制流图:描述程序控制流的一种图示方法。
圆圈称为控制流图的一个结点,表示一个或多个无分支的语句或源程序语句
流图只有二种图形符号:
图中的每一个圆称为流图的结点,代表一条或多条语句。
流图中的箭头称为边或连接,代表控制流
任何过程设计都要被翻译成控制流图。
如何根据程序流程图画出控制流程图?
在将程序流程图简化成控制流图时,应注意:
n 在选择或多分支结构中,分支的汇聚处应有一个汇聚结点。
n 边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域也应记为一个区域。
如下页图所示
n 如果判断中的条件表达式是由一个或多个逻辑运算符(OR, AND, NAND, NOR) 连接的复合条件表达式,则需要改为一系列只有单条件的嵌套的判断。
例如:
1 if a or b
2 x
3 else
4 y
对应的逻辑为:
独立路径:至少沿一条新的边移动的路径
基本路径测试法的步骤:
o 第一步:画出控制流图
流程图用来描述程序控制结构。
可将流程图映射到一个相应的流图(假设流程图的菱形决定框中不包含复合条件)。
在流图中,每一个圆,称为流图的结点,代表一个或多个语句。
一个处理方框序列和一个菱形决测框可被映射为一个结点,流图中的箭头,称为边或连接,代表控制流,类似于流程图中的箭头。
一条边必须终止于一个结点,即使该结点并不代表任何语句(例如:if-else-then结构)。
由边和结点限定的范围称为区域。
计算区域时应包括图外部的范围。
画出其程序流程图和对应的控制流图如下
第二步:计算圈复杂度
圈复杂度是一种为程序逻辑复杂性提供定量测度的软件度量,将该度量用于计算程序的基本的独立路径数目,为确保所有语句至少执行一次的测试数量的上界。
独立路径必须包含一条在定义之前不曾用到的边。
有以下三种方法计算圈复杂度:
流图中区域的数量对应于环型的复杂性;
给定流图G的圈复杂度V(G),定义为V(G)=E-N+2,E是流图中边的数量,N是流图中结点的数量;
给定流图G的圈复杂度V(G),定义为V(G)=P+1,P是流图G中判定结点的数量。
第三步:导出测试用例
根据上面的计算方法,可得出四个独立的路径。
(一条独立路径是指,和其他的独立路径相比,至少引入一个新处理语句或一个新判断的程序通路。
V(G)值正好等于该程序的独立路径的条数。
) ü路径1:4-14
ü路径2:4-6-7-14
ü路径3:4-6-8-10-13-4-14
ü路径4:4-6-8-11-13-4-14
根据上面的独立路径,去设计输入数据,使程序分别执行到上面四条路径。
o 第四步:准备测试用例
为了确保基本路径集中的每一条路径的执行,根据判断结点给出的条件,选择适当的数据以保证某一条路径可以被测试到,满足上面例子基本路径集的测试用例是:
举例说明:
例:下例程序流程图描述了最多输入50个值(以–1作为输入结束标志),计算其中有效的学生分数的个数、总分数和平均值。
步骤1:导出过程的流图。
步骤2:确定环形复杂性度量V(G):
1)V(G)= 6 (个区域)
2)V(G)=E–N+2=16–12+2=6
其中E为流图中的边数,N为结点数;
3)V(G)=P+1=5+1=6
其中P为谓词结点的个数。
在流图中,结点2、3、5、6、9是谓词结点。
步骤3:确定基本路径集合(即独立路径集合)。
于是可确定6条独立的路径:
路径1:1-2-9-10-12
路径2:1-2-9-11-12
路径3:1-2-3-9-10-12
路径4:1-2-3-4-5-8-2…
路径5:1-2-3-4-5-6-8-2…
路径6:1-2-3-4-5-6-7-8-2…
步骤4:为每一条独立路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次。
1)路径1(1-2-9-10-12)的测试用例:
score[k]=有效分数值,当k < i ;
score[i]=–1, 2≤i≤50;
期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。
2)路径2(1-2-9-11-12)的测试用例:
score[ 1 ]= – 1 ;
期望的结果:average = – 1 ,其他量保持初值。
3)路径3(1-2-3-9-10-12)的测试用例:
输入多于50个有效分数,即试图处理51个分数,要求前51个为有效分数;
期望结果:n1=50、且算出正确的总分和平均分。
4)路径4(1-2-3-4-5-8-2…)的测试用例:
score[i]=有效分数,当i<50;
score[k]<0,k< i ;
期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。
举例说明:
例:下例程序流程图描述了最多输入50个值(以–1作为输入结束标志),计算其中有效的学生分数的个数、总分数和平均值。
步骤1:导出过程的流图。
步骤2:确定环形复杂性度量V(G):
1)V(G)= 6 (个区域)
2)V(G)=E–N+2=16–12+2=6
其中E为流图中的边数,N为结点数;
3)V(G)=P+1=5+1=6
其中P为谓词结点的个数。
在流图中,结点2、3、5、6、9是谓词结点。
步骤3:确定基本路径集合(即独立路径集合)。
于是可确定6条独立的路径:
路径1:1-2-9-10-12
路径2:1-2-9-11-12
路径3:1-2-3-9-10-12
路径4:1-2-3-4-5-8-2…
路径5:1-2-3-4-5-6-8-2…
路径6:1-2-3-4-5-6-7-8-2…
步骤4:为每一条独立路径各设计一组测试用例,以便强迫程序沿着该路径至少执行一次。
1)路径1(1-2-9-10-12)的测试用例:
score[k]=有效分数值,当k < i ;
score[i]=–1, 2≤i≤50;
期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。
2)路径2(1-2-9-11-12)的测试用例:
score[ 1 ]= – 1 ;
期望的结果:average = – 1 ,其他量保持初值。
3)路径3(1-2-3-9-10-12)的测试用例:
输入多于50个有效分数,即试图处理51个分数,要求前51个为有效分数;
期望结果:n1=50、且算出正确的总分和平均分。
4)路径4(1-2-3-4-5-8-2…)的测试用例:
score[i]=有效分数,当i<50;
score[k]<0,k< i ;
期望结果:根据输入的有效分数算出正确的分数个数n1、总分sum和平均分average。
连接权为“1”表示存在一个连接,在图中如果一行有两个或更多的元素“1”,则这行所代表的结点一定是一个判定结点,通过连接矩阵中有两个以上(包括两个)元素为“1”的个数,就可以得到确定该图圈复杂度的另一种算法。