白盒测试
概念:白盒测试是依据被测软件分析程序内部构造,并根据内部构造分析用例,来对内部控制流程进行测试,可完全不顾程序的整体功能实现情况,即已知软件产品的内部实现过程,可以通过测试证明每种内部操作是否符合设计规格的要求,所有内部成分是否已经过检查。
(2)思想:白盒测试又被称为玻璃盒测试、透明盒测试、开放盒测试、结构化测试、逻辑驱动测试、是基于程序结构的逻辑驱动测试。
(3)测试对象: 函数、算法与数据结构
more >>
努力不一定成功,不努力一定不成功!
1.查看是否安装gdb1
rpm -qa | grep gdb
如果有的话请用以下命令删除1
rpm -e --nodeps+安装包名称
2.安装Texinfo文档系统1
yum install ncurses-devel
3.下载gdb的安装包1
2wget http://ftp.gnu.org/gnu/gdb/gdb-7.6.1.tar.gz
//这里建议将安装包重新放到一个新文件夹,例如/home/download
Select用来实现多路复用输入/输出模型
1.Select系统调用是用来让我们程序监视多个文件描述符的状态变化
2.程序会停在select这里等待,直到被监视文件描述符有了一个或者多个发生了状态改变;
函数原型:1
2#include <sys/select.h>
int select(int nfds, fd_set* readfds,fd_set *writefds,fd_set* exceptfds,struct timeval *timeout);
1.参数ndfs是需要监视的最大的文件描述符值+1。
2.rdset,wrset,exset分别对应需要检测的可读文件描述符的集合,可写文件描述符集合及异常文件描述符集合。
3.参数timeout为结构timeval, 用来设置Select的等待时间。
4.关于fd_set结构:其实这个结果是一个整形数组,更严格的说,它是一个位图,使用位图对应的位来表示需要监视的文件描述符。
系统提供了一组fd_set调用接口,用来操作位图。
more >>
1.利用滑动窗口实现流量控制
一般来说我们希望发送方的发送速率越高,这样数据的传输率可能就变得高一点,但是如果发送方数据传输的过快,接受方可能来不及接收,这就会造成数据的丢失。,所谓流量控制就是让发送方的发送速率不要太快,要让接收方来得及接受。
利用TCP的滑动窗口可以很方便的对流量进行控制
现在假设A向B发送消息,在连接建立时B告诉A我的接收窗口是400,因此发送方的发送窗口不能超过接收方的接受窗口的数值,注意TCP的滑动窗口是字节为单位并不是报文段,现在假设每个报文段大小为100字节。
并且数据段报文序号初始值为1。
more >>
我们都知道,TCP发送的报文段是交付给IP层传送的。但IP层只提供尽最大努力传输,因此是不可靠的,因此TCP必须采用适当的措施才能使两个运输层之间通信变得可靠。
理想的传输条件有以下两个特点:
1.传输信道无差错
2.不管发送方以什么样的发送速率,接收方都能来得及处理发送方发送的消息。
然而实际上并不存在这样理想的传输条件,因此我们必须采用一些必要的措施保证实现可靠传输。
这里我们讨论单方向的发送和接受,设A为发送方B为接收方。A每发完一个分组就等待B收到分组的确认,然后才发送下一个分组。
more >>
TCP虽然是面向字节流的,但TCP传送的数据单元却是报文段,一个TCP报文段分为首部和数据两部分,TCP的全部功能体现在首部各字段作用。
TCP报文段的前20个字节是固定的,后面有4n个字节根据需要而增加的选项(n为整数)。所以TCP首部最小长度为20字节。
more >>
TCP的连接的建立采用客户服务器方式。主动发起连接建立的应用进程称为客户端,被动的等待连接建立的应用进程叫做服务器。
先假定主机A运行的是客户端程序,而B运行的是服务器程序。最初两端的TCP进程都处于CLISED状态。建立三次握手过程如下图:
more >>
缺失模块。
1、请确保node版本大于6.2
2、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
3、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: false raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true