当前位置:网站首页>软件测试与质量学习笔记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.根据上面的独立路径,设计测试用例,使程序分别沿上面
的独立路径执行。
边栏推荐
- 数数字游戏
- Record a problem of raspberry pie DNS resolution failure
- Data dictionary in C #
- Some notes of MySQL
- API learning of OpenGL (2002) smooth flat of glsl
- Some problems in the development of unity3d upgraded 2020 VR
- [BMZCTF-pwn] 11-pwn111111
- Invalid default value for 'create appears when importing SQL_ Time 'error reporting solution
- API learning of OpenGL (2003) gl_ TEXTURE_ WRAP_ S GL_ TEXTURE_ WRAP_ T
- Esp8266 at+cipstart= "", "", 8080 error closed ultimate solution
猜你喜欢

基于apache-jena的知识问答

Asp access Shaoxing tourism graduation design website

图像识别问题 — pytesseract.TesseractNotFoundError: tesseract is not installed or it‘s not in your path
![[recommended by bloggers] C # generate a good-looking QR code (with source code)](/img/5a/1dbafe5a28f016b815964b9b37c9f1.jpg)
[recommended by bloggers] C # generate a good-looking QR code (with source code)
![[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 (I) -- Construction of basic framework

Data dictionary in C #

Mysql21 user and permission management

Opencv uses freetype to display Chinese

windows下同时安装mysql5.5和mysql8.0
随机推荐
Generate PDM file from Navicat export table
Principes JDBC
CSDN-NLP:基于技能树和弱监督学习的博文难度等级分类 (一)
Copie maître - esclave MySQL, séparation lecture - écriture
Detailed reading of stereo r-cnn paper -- Experiment: detailed explanation and result analysis
一键提取pdf中的表格
API learning of OpenGL (2002) smooth flat of glsl
Have you mastered the correct posture of golden three silver four job hopping?
Ansible实战系列二 _ Playbook入门
连接MySQL数据库出现错误:2059 - authentication plugin ‘caching_sha2_password‘的解决方法
CSDN question and answer module Title Recommendation task (I) -- Construction of basic framework
IDEA 导入导出 settings 设置文件
软件测试-面试题分享
导入 SQL 时出现 Invalid default value for ‘create_time‘ 报错解决方法
A brief introduction to the microservice technology stack, the introduction and use of Eureka and ribbon
Solve the problem that XML, YML and properties file configurations cannot be scanned
Classes in C #
QT creator shape
API learning of OpenGL (2001) gltexgen
【博主推荐】asp.net WebService 后台数据API JSON(附源码)