当前位置:网站首页>Software testing and quality learning notes 3 -- white box testing
Software testing and quality learning notes 3 -- white box testing
2022-07-06 11:09:00 【Pingguo stuffed with rice cakes】
1. Two kinds of white box test Common technology :
Coverage test : During the test , Tests that aim to cover certain program elements .
Path test : Speaking from the flow chart , One execution of the program corresponds to a path from entry to exit , Path tests are path tests . In a broad sense , Any test related to path analysis can be called path test .
2. White box testing -- The basic path method
On the premise that all paths cannot be covered , If every independent path of a program has been tested , Then it can be considered that every statement in the program has been verified , That is, the statement coverage . This test method is commonly known as Basic path test method .
3. The control flow chart
It can be abbreviated as flow graph , It is obtained by simplifying the program flow chart , It can more prominently represent the structure of program control flow .
The control flow diagram includes two graphical symbols : Nodes and control flow lines .
node Represented by a marked circle , It can represent one or more statements 、 A sequence of processing boxes and A condition decision box .
Control flow line Represented by an arc or line with an arrow , Can be called edge . It represents the control flow in the program .
Be careful : Every circle Representing control flow graph node , It can represent one or more statements . The number in the circle corresponds to the number of a line in the program ( That is, you can write multiple numbers ). The arrow represents the direction of the edge , That is, control the flow direction
See the picture for details
among , Nodes that contain conditions are called decision nodes ( Also called predicate node ), The edge from the decision node must end at a node , The range bounded by edges and nodes is called a region .
4. Graph matrix
The graph matrix is Matrix of control flow graph Representation form .
The graph matrix is a square matrix , Its dimension is equal to the number of nodes of the control flow graph . Each column and row in the matrix corresponds to the identified node , Matrix elements correspond to edges between nodes .
Usually , In the control flow diagram Nodes are identified by numbers , The side is marked with letters . If in the control flow diagram, from i Node to j Nodes have an ID of x The edges of are connected , Then in the corresponding graph matrix The first i Xing di j Column There is a non empty element x.
5. Ring complexity and its calculation method
Ring complexity is also called cycle complexity , Based on graph theory , It provides us with very useful software metrics . The ring complexity can be calculated by one of the following two methods :
Method 1: Given control flow diagram G Ring complexity 1 v(G), Defined as
v(G)=E-N+2 Ring complexity = The number of sides - Number of nodes +2
among ,E Is the number of edges in the control flow graph ,N Is the number of nodes in the control flow graph .
Method 2: Given control flow diagram G Ring complexity 1 v(G), It can also be defined as
v(G)= P+1 Ring complexity = Determine the number of nodes +1
among ,P Is the control flow diagram G Determine the number of nodes in .
6. Independent path
It refers to the program path in which at least a new set of processing statements or a new condition is introduced into the program .
Adopt the terminology of flow graph , That is, the independent path must Include at least one edge that has not been used before defining the path this time .
Be careful :“..." Indicates that the remaining paths are optional , The reason is that there is a circular structure .
7. Basic path test method test steps
· Basic path test steps :
1. Draw the control flow diagram of the program
2. Computational flow graph G The complexity of the loop V(G)
3. Determine the basic path set that contains only independent paths
4. According to the independent path above , Design test cases , Make the program follow the above
Independent path execution .
边栏推荐
- Solution: log4j:warn please initialize the log4j system properly
- The virtual machine Ping is connected to the host, and the host Ping is not connected to the virtual machine
- Ansible practical Series III_ Task common commands
- MySQL完全卸载(Windows、Mac、Linux)
- Leetcode 461 Hamming distance
- Data dictionary in C #
- neo4j安装教程
- [number theory] divisor
- CSDN blog summary (I) -- a simple first edition implementation
- MySQL主从复制、读写分离
猜你喜欢
Deoldify项目问题——OMP:Error#15:Initializing libiomp5md.dll,but found libiomp5md.dll already initialized.
[Thesis Writing] how to write function description of jsp online examination system
Neo4j installation tutorial
Detailed reading of stereo r-cnn paper -- Experiment: detailed explanation and result analysis
引入了junit为什么还是用不了@Test注解
【博主推荐】asp.net WebService 后台数据API JSON(附源码)
Some problems in the development of unity3d upgraded 2020 VR
Installation and use of MySQL under MySQL 19 Linux
CSDN问答标签技能树(一) —— 基本框架的构建
Summary of numpy installation problems
随机推荐
Windows cannot start the MySQL service (located on the local computer) error 1067 the process terminated unexpectedly
Record a problem of raspberry pie DNS resolution failure
Dotnet replaces asp Net core's underlying communication is the IPC Library of named pipes
01 project demand analysis (ordering system)
Other new features of mysql18-mysql8
虚拟机Ping通主机,主机Ping不通虚拟机
Idea import / export settings file
自动机器学习框架介绍与使用(flaml、h2o)
npm一个错误 npm ERR code ENOENT npm ERR syscall open
导入 SQL 时出现 Invalid default value for ‘create_time‘ 报错解决方法
Basic use of redis
数据库高级学习笔记--SQL语句
QT creator shape
Ansible实战系列一 _ 入门
Picture coloring project - deoldify
Error reporting solution - io UnsupportedOperation: can‘t do nonzero end-relative seeks
TCP/IP协议(UDP)
[BMZCTF-pwn] 12-csaw-ctf-2016-quals hungman
MySQL other hosts cannot connect to the local database
CSDN markdown editor