- 博客(29)
- 收藏
- 关注
原创 测试用例设计方法
测试用例的定义测试用例(Test Case)是为特定的目的而设计的一组测试输入、执行条件和预期的结果,以便测试某个程序路径或核实是否满足某个特定需求。通过大量的测试用例来检验软件的运行效果,它是指导测试工作进行的依据。测试用例(Test Case)是为了高效率地发现软件缺陷而精心设计的少量测试数据。实际测试中,由于无法达到穷举测试,所以要从大量输入数据中精选有代表性或特殊性的数据来作为测试数...
2019-11-20 19:03:30
1281
原创 软件测试分类
按开发阶段分类单元测试又称模块测试,针对软件设计中的最小单位程序模块,进行正确性的测试工作。单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行独立进行单元测试。集成测试又叫组装测试,通常在单元测试的基础上,将所有程序模块进行有序地、递增的测试。重点测试不同模块的接口部分系统测试指的是将整个软件看成一个整体进行测试,包括对功能、性能、以及软件所运行的软硬件环境进行测试。系...
2019-11-20 15:29:16
323
原创 谈谈你对面向对象的理解
面向对象是相对于面向过程而言的。面向过程语言是一种基于功能分析的、以算法为中心的程序设计方法;而面向对象是一种基于结构分析的、以数据为中心的程序设计思想。在面向对象语言中有一个有很重要东西,叫做类。面向对象有三大特性:封装、继承、多态。...
2019-05-21 17:53:23
520
原创 对缺省参数的理解
缺省参数指在调用函数的时候没有传入参数的情况下,调用默认的参数,在调用函数的同时赋值时,所传入的参数会替代默认参数。*args 是不定长参数,他可以表示输入参数是不确定的,可以是任意多个。**kwargs 是关键字参数,赋值的时候是以键 = 值的方式,参数是可以任意多对在定义函数的时候不确定会有多少参数会传入时,就可以使用两个参数。...
2019-05-21 17:41:43
2479
原创 模块和包
模块在Python中,模块是搭建程序的一种方式。每一个Python代码文件都是一个模块,并可以引用其他的模块,比如对象和属性。包一个包含许多Python代码的文件夹是一个包。一个包可以包含模块和子文件夹。...
2019-05-17 22:40:00
127
原创 Python里面如何生成随机数
random.random():生成一个0-1之间的随机浮点数。random.uniform(a, b):生成[a,b]之间的浮点数。random.randint(a, b):生成[a,b]之间的整数。random.randrange(a, b, step):在指定的集合[a,b)中,以step为基数随机取一个数。random.choice(sequence):从特定序列中随机取一个元素...
2019-05-17 16:25:42
954
原创 常用的Python标准库有哪些
os操作系统,time时间,random随机,pymysql连接数据库,threading线程,multiprocessing进程,queue队列第三方库:django,flask,requests,virtualenv,selenium,scrapy,xadmin,celery,re,hashlib,md5常用的科学计算库:Numpy,Scipy,Pandas...
2019-05-17 16:24:06
4387
原创 read、readline、readlines的区别
read:读取整个文件。readline:读取下一行,使用生成器方法。readlines:读取整个文件到一个迭代器以供我们使用。
2019-05-17 16:09:59
736
原创 Python2中range 和xrange的区别
两者用法相同,不同的是range返回的结果是一个列表,而xrange的结果是一个生成器,前者是直接开辟一块内存空间来保存列表,后者是边循环边使用,只有使用时才会开辟内存空间,所以当列表很长时,使用xrange性能要比range好。...
2019-05-17 16:05:19
753
原创 OSI七层模型理解
OSI中的层 功能 TCP/IP协议族 应用层 文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNSRIP,Telnet 表示层 数据格式化,代码转换,数据加密 没有协议 会话层 解除或建立与别的接点的联系 没有协议 传输层 提供端对端的接口 TCP,UDP 网络层 为数...
2019-05-16 17:24:15
633
原创 HTTP常见请求头
Host (主机和端口号)Connection (链接类型)Upgrade-Insecure-Requests (升级为 HTTPS 请求)User-Agent (浏览器名称)Accept (传输文件类型)Referer (页面跳转处)Accept-Encoding(文件编解码格式)Cookie (Cookie)x-requested-with :XMLHttpRequest ...
2019-05-16 15:19:22
880
原创 HTTP请求方法
GET:请求指定的页面信息,并返回实体主体。POST:向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。PUT:从客户端向服务器传送的数据取代指定的文档的内容。DELETE:请求服务器删除指定的页面。HEAD:类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头。CONNECT:HTT...
2019-05-16 15:17:09
310
原创 HTTP和HTTPS区别
HTTP和HTTPS的区别主要如下:https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。http的连接很简单,是无状态的,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的...
2019-05-16 15:07:53
269
原创 为什么客户端在TIME-WAIT状态必须等待2MSL的时间
为了保证客户端发送的最后一个ACK报文段能够达到服务器。 这个ACK报文段可能丢失,因而使处在LAST-ACK状态的服务器收不到确认。服务器会超时重传FIN+ACK报文段,客户端就能在2MSL时间内收到这个重传的FIN+ACK报文段,接着客户端重传一次确认,重启计时器。最好,客户端和服务器都正常进入到CLOSED状态。如果客户端在TIME-WAIT状态不等待一段时间,而是再发送完ACK报文后立即...
2019-05-16 15:03:38
2592
原创 三次握手、四次挥手
三次握手首先客户端向服务器发送一个请求建立连接的数据包。服务器收到客户端发送的数据包后,向客户端返回一个确认连接的数据包和一个请求建立连接的数据包。客户端收到服务器发送的数据包后,向服务器返回一个确认连接的数据包,开始建立连接,进行数据传输。四次挥手首先客户端向服务器发送一个请求断开连接的数据包。服务器收到客户端的数据包后,向客户端返回一个确认断开的数据包。同时服务器会发送一个...
2019-05-16 14:48:02
185
原创 HTTP协议状态码
100-199:服务器成功接收部分请求,要求客户端继续提交其余请求才能完成整个处理过程。200-299:服务器成功接受请求,并已完成处理过程。300-399:为完成请求,客户需要进一步细化请求。400-499:客户端请求有错误。500-599:服务器出现错误。常用状态码:200:OK请求成功。301:所有请求页面已永久转移到新的URL。302:所有请求页面已经临时转移到新的U...
2019-05-16 14:28:42
245
原创 POST和GET请求的区别
POST请求的过程:浏览器请求TCP连接(第一次握手)服务器答应进行TCP连接(第二次握手)浏览器确认,并发送POST请求头(第三次握手,这个报文比较小,所以HTTP会在此时进行第一次数据发送)服务器返回100 continue响应浏览器开始发送数据服务器返回200 OK响应GET请求的过程:浏览器请求TCP连接(第一次握手)服务器答应进行TCP连接(第二次握手)浏览器...
2019-05-16 14:06:51
197
原创 怎么是实现强行关闭客户端和服务器之间的连接?
在socket通信过程中不算循环检测一个全局变量(开关标记变量),一旦标记变量变为关闭,则调用socket的close方法,循环结束,从而达到关闭连接的目的。...
2019-05-16 13:42:09
5317
原创 UDP、TCP客户端服务器socket套接字创建过程
UDP发送/接受数据创建(客户端)创建客户端socket套接字发送/接收数据关闭套接字绑定端口号(服务器)创建服务端socket套接字绑定端口号接受/发送数据关闭套接字TCP客户端创建客户端socket套接字连接服务器发送数据给服务器接收服务器发送的消息关闭套接字服务器创建服务器socket套接字bind绑定IP和Port端口号listen使套...
2019-05-16 12:24:50
3221
1
原创 多线程竞争、锁、互斥锁、死锁、GIL
多线程竞争同一个进程里线程是数据共享的,当各个线程访问数据资源时会出现竞争状态,数据几乎同步会被多个线程占用,造成数据混乱。锁Python提供的对线程控制的对象。锁的好处:确保了某段关键代码只能由一个线程从头到尾完整地执行锁的坏处:阻止了多线程并发执行,包含锁的某段代码实际上只能以单线程模式执行,效率就大大地下降了由于可以存在多个锁,不同的线程持有不同的锁,并试图获取对方持有的锁...
2019-05-15 17:31:28
782
原创 并发和并行的理解
并发任务数多于CPU核数,通过操作系统的各种任务调度算法,实现多个任务"一起"执行。(实际总有一些任务不在执行,因为切换速度相当快,只是看上去一起执行)例如:线程。实现并发的库:multiprocessing并行任务数少于CPU核数,任务是真正的一起运行。例如:进程。实现并行的库:threading...
2019-05-15 16:21:37
939
原创 进程、线程、协程
进程、线程、协程进程一个运行的程序就是一个进程,进程是系统资源分配的最小单位,拥有自己独立的内存空间,多个进程之间的资源是独立不共享的。线程线程是调度执行的最小单位,不能独立存在,依赖于进程存在,一个进程内最少存在一个线程,这个线程称之为主线程,一个进程内所有线程是资源共享的。协程是一种轻量级的线程,调度完全由用户控制,当某个线程出现耗时操作时,就会调度系统切换另一个线程。...
2019-05-15 16:06:59
154
原创 TCP和UDP区别及优缺点
UDPUDP是一个面向无连接的通讯协议,UDP数据包括目的端口号和源端口号信息优点:速度快、操作简单、要求系统资源较少、通讯不需要连接、可以实现广播发送。缺点:在传递数据前不与对方建立连接、接收数据不发送确认信号、发送端不知道发送的数据是否被正确接收、不重复发送数据、不可靠。TCPTCP是一个面向连接的通讯协议,通过三次握手建立连接,通讯完成时四次挥手优点:数据传递时又确认、窗口、重传...
2019-03-06 16:49:36
294
原创 socket简介
什么是socketsocket:简称套接字,是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的.例如我们每天浏览网页、QQ 聊天、收发 email 等等创建socket在 Python 中 使用socket 模块的函数 socket 就可以完成:import socketsock...
2019-03-06 14:53:00
232
原创 测试基础
测试定义通过手工或者工具对“被测对象”进行测试操作,从而验证实际结果和预期结果之间是否存在差异 测试原则 测试证明软件存在缺陷 不能执行穷尽测试 缺陷存在群集现象 某些测试需要依赖特殊的环境 测试应尽早介入 杀虫剂现象 不存在缺陷谬论 测试级别 单元测试[UT:unit test]:在软件测试中单元指的是...
2019-02-14 10:15:01
212
原创 vim基础操作
三种基本工作模式命令模式插入模式末行模式基础操作进入插入模式:i:插入光标前一个字符I:插入行首a:插入光标后一个字符A:插入行末o:向下新开一行,插入行首O:向上新开一行,插入行首进入命令模式:ESC:从命令行模式进入命令模式移动光标:h:左移j:下移k:上移l:右移M:光标移动到中间行L:光标移到屏幕最后一行行首G:移动到指定行,行号+Gw:向...
2019-02-10 17:58:39
123
原创 Linux基本命令
Linux基本命令(一)序号 命令 对应英文 作用 1 ls list 查看当前文件夹的内容 2 pwd print work directory 查看当前所在文件夹 3 cd change directory 切换文件夹 4 touch touch 创建文件 5 mkdir ...
2019-02-10 17:55:11
140
原创 Linux基础命令、日志存放、软连接和硬链接、find和grep、重定向、查看端口
1.怎么利用Linux的基本命令区分文件和文件夹?ls -F文件夹后添加"/"文件后添加"*"2.日志以什么格式,存放在哪里?日志文件是以文本格式存放在"/var/log/“目录下,后缀名是”.log"3.Linux查看某个服务的端口?netstat -anp | grep service_nameps -aux | grep service_name 4.ubunt...
2019-01-23 20:00:16
1539
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人