当前位置:网站首页>软件测试与质量学习笔记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.根据上面的独立路径,设计测试用例,使程序分别沿上面
的独立路径执行。
边栏推荐
- Solve the problem that XML, YML and properties file configurations cannot be scanned
- 安全测试涉及的测试对象
- [recommended by bloggers] C # generate a good-looking QR code (with source code)
- Kubernetes - problems and Solutions
- Mysql21 user and permission management
- CSDN question and answer module Title Recommendation task (II) -- effect optimization
- csdn-Markdown编辑器
- MySQL18-MySQL8其它新特性
- [BMZCTF-pwn] 12-csaw-ctf-2016-quals hungman
- 引入了junit为什么还是用不了@Test注解
猜你喜欢

CSDN Q & a tag skill tree (V) -- cloud native skill tree

MySQL主從複制、讀寫分離

Redis的基础使用

PyCharm中无法调用numpy,报错ModuleNotFoundError: No module named ‘numpy‘

La table d'exportation Navicat génère un fichier PDM

CSDN问答标签技能树(一) —— 基本框架的构建

MySQL20-MySQL的数据目录
![[reading notes] rewards efficient and privacy preserving federated deep learning](/img/c3/5e88277b5024885d5ceeaa0de14b27.jpg)
[reading notes] rewards efficient and privacy preserving federated deep learning

CSDN question and answer module Title Recommendation task (II) -- effect optimization

API learning of OpenGL (2003) gl_ TEXTURE_ WRAP_ S GL_ TEXTURE_ WRAP_ T
随机推荐
NPM an error NPM err code enoent NPM err syscall open
Global and Chinese markets of static transfer switches (STS) 2022-2028: Research Report on technology, participants, trends, market size and share
Ansible实战系列二 _ Playbook入门
API learning of OpenGL (2002) smooth flat of glsl
Introduction to the easy copy module
机器学习--人口普查数据分析
There are three iPhone se 2022 models in the Eurasian Economic Commission database
API learning of OpenGL (2001) gltexgen
MySQL20-MySQL的数据目录
Esp8266 at+cipstart= "", "", 8080 error closed ultimate solution
Postman Interface Association
La table d'exportation Navicat génère un fichier PDM
Have you mastered the correct posture of golden three silver four job hopping?
CSDN question and answer tag skill tree (II) -- effect optimization
Valentine's Day is coming, are you still worried about eating dog food? Teach you to make a confession wall hand in hand. Express your love to the person you want
MySQL completely uninstalled (windows, MAC, Linux)
A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
MySQL 20 MySQL data directory
Deoldify项目问题——OMP:Error#15:Initializing libiomp5md.dll,but found libiomp5md.dll already initialized.
Global and Chinese market of transfer switches 2022-2028: Research Report on technology, participants, trends, market size and share