第一天
什么样的算bug?
• –软件未达到产品说明书中已标明的功能。(不应该有的)
• –软件出现了产品说明书中指明不会出现的错误。(出现不应该的错误)
• –软件功能超出了产品说明书指明的范围。(超出范围)
• –软件未达到产品说明书虽未指出但应达到的⽬标。(未达到隐性的要求)
• –软件测试员认为软件难以理解,不易使⽤,运⾏速度缓慢,
或者最终⽤户认为该软件使⽤效果不好。(使用效果不好)
什么是docker
Docker 将应用程序与该程序的依赖,打包在一个文件里面,改文件包括了所有打包得应用程序的所有依赖,像数据库等;直接运行改文件,就可以让程序跑起来,从而不用再去考虑环境问题。可以为将程序和运行环境依赖封装在一个文件中,这样使用时,简化安装调试的过程,方便运行和调用。
去仓库把镜像拉到本地,然后用一条命令把镜像运行起来,变成容器。
docker架构图
docker和linux命令
启动Docker服务
systemctl start docker
设置开机自动启动
systemctl enable docker
显示指定工作目录下之内容
ls
通过ssh协议远程连接服务器主机
ssh root@ip
通过 uname -r 命令查看你当前的内核版本
uname -r
root权限更新Yum包(linux命令不熟悉的同学本文建议使用root权限登陆安装docker,省去很多不必要麻烦)
yum update
设置Yum源:
安装 yum-utils , 使用 yum-config-manager 工具设置Yum源, 后面两个是 devicemapper驱动依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
使用阿里源访问
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查看所有仓库中docker版本,并选择特定版本安装:(此处我们查看社区版 docker-ce)
yum list docker-ce --showduplicates** | sort -r
安装docker (此处我们安装社区版 docker-ce)
yum install docker-ce (这样写默认安装最新版本)
docker pull 地址把程序从远程拉到本地
docker run是在本地把拉到本地的image(镜像)在容器中运行
-p 3000(对外端口,在浏览器上访问的):3000(程序自带的端口不需要改)
协议
通过fiddler抓包 对数据进行分析
HTTP 协议
一、超文本传输协议
Web 服务器和浏览器通过 HTTP 协议在 Internet 上发送和接收消息。HTTP 协议是一种请求-
应答式的协议——客户端发送一个请求,服务器返回该请求的应答。HTTP 协议使用可靠的 TCP
连接,默认端口是 80。HTTP 的第一个版本是 HTTP/0.9,后来发展到了 HTTP/1.0,现在最新的
版本是 HTTP/1.1。HTTP/1.1 由 RFC 2616 定义(pdf 格式)。
本文只简要介绍 HTTP 1.1 的相关知识,但应该足以让你理解 Web 服务器和浏览器发送的消
息。如果你要了解更多的细节,请参考 RFC 2616。
在 HTTP 中,客户端/服务器之间的会话总是由客户端通过建立连接和发送 HTTP 请求的方
式初始化,服务器不会主动联系客户端或要求与客户端建立连接。浏览器和服务器都可以随时中
断连接,例如,在浏览网页时你可以随时点击“停止”按钮中断当前的文件下载过程,关闭与 Web
服务器的 HTTP 连接。
1.1 HTTP 请求
HTTP 请求由三个部分构成,分别是:方法-URI-协议/版本,请求头,请求正文。下面是一
个 HTTP 请求的例子:
GET /servlet/default.jsp HTTP/1.1
Accept: text/plain; text/html
Accept-Language: en-gb
Connection: Keep-Alive
Host: localhost
Referer: http://localhost/ch8/SendDetails.htm
User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 98)
Content-Length: 33
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
userName=JavaJava&userID=javaID
请求的第一行是“方法-URI-协议/版本”,其中 GET 就是请求方法,/servlet/default.jsp 表示
URI,HTTP/1.1 是协议和协议的版本。根据 HTTP 标准,HTTP 请求可以使用多种请求方法。例
如,HTTP 1.1 支持七种请求方法:GET,POST,HEAD,OPTIONS,PUT,DELETE,和 TRACE。 在 Internet 应用中,最常用的请求方法是 GET 和 POST。
URI 完整地指定了要访问的网络资源,通常认为它相对于服务器的根目录而言,因此总是以
“/”开头。URL 实际上是 URI 一种类型。最后,协议版本声明了通信过程中使用的 HTTP 协议的
版本。
请求头包含许多有关客户端环境和请求正文的有用信息。例如,请求头可以声明浏览器所用
的语言,请求正文的长度,等等,它们之间用一个回车换行符号(CRLF)分隔。
请求头和请求正文之间是一个空行(只有 CRLF 符号的行),这个行非常重要,它表示请求
头已经结束,接下来的是请求的正文。一些介绍 Internet 编程的书籍把这个 CRLF 视为 HTTP 请
求的第四个组成部分。
在前面的 HTTP 请求中,请求的正文只有一行内容。当然,在实际应用中,HTTP 请求正文
可以包含更多的内容。
1.2 HTTP 应答
和 HTTP 请求相似,HTTP 应答也由三个部分构成,分别是:协议-状态代码-描述,应答头,
应答正文。下面是一个 HTTP 应答的例子:
HTTP/1.1 200 OK
Server: Microsoft-IIS/4.0
Date: Mon, 3 Jan 1998 13:13:33 GMT
Content-Type: text/html
Last-Modified: Mon, 11 Jan 1998 13:23:42 GMT
Content-Length: 112
<html>
<head>
<title>HTTP 应答示例</title></head><body>
Hello HTTP!
</body>
</html>
HTTP 应答的第一行类似于 HTTP 请求的第一行,它表示通信所用的协议是 HTTP 1.1,服务
器已经成功地处理了客户端发出的请求(200 表示成功),一切顺利。
应答头也和请求头一样包含许多有用的信息,例如服务器类型、日期时间、内容类型和长度
等。应答的正文就是服务器返回的 HTML 页面。应答头和正文之间也用 CRLF 分隔。