冒烟测试是自由测试的一种,是对软件的基本功能进行测试,由开发人员与测试人员共同执行,测试对象是每一个新编译的需要正式测试的软件版本。目的是确认软件的基本功能正常,保证软件系统能正常跑起来,可以进行后续的正常测试工作的进行,如果最基本的测试都有问题了,就直接打回开发部了,所以正式交付的测试版本,必须先通过冒烟测试的考验。
回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误的一种测试方法。回归测试是指重复以前的全部或部分的相同功能测试。新加入测试的模块,可能对其他模块产生副作用,因此要进行某些程度的回归测试。回归测试的重心,是以关键性模块为核心。
单元测试又称模块测试、逻辑测试或结构测试,是针对软件设计的最小单元------程序模块或功能模块,进行正确性检验的测试工作。其目的在于检验每个程序单元能够正确实现详细设计说明中的模块功能、性能、接口、和设计设计约束等要求,发现各个模块内部可能存在的各种说明。
回归测试的范围:
(1)测试所有修改或修正过的功能模块;
(2)测试与被修改的模块相关的模块;
(3)测试所有新增加的功能模块;
(4)测试整个系统。
修改量很大怎么测试不是很理解这个问题,然后搜了一些提高回归测试效率的答案。
快速进行回归测试的最佳方法之一是使回归测试的简单场景转换成自动化用例。我们可以创建一系列回归测试脚本,并应在每次修改到这部分逻辑时对该脚本进行部分修改和审查,以确保其覆盖到修改的地方。
针对集装箱的数据,对于大量的数据,人工进行直接清洗速度会很慢,因此开发一些自动化清洗工具对批量数据首先进行自动清洗,然后再进行人工审核并清洗,可以很大程度上提高效率。
根据收集到的需求,工具主要实现了以下功能
统计数据信息(总占用空间、数量、损坏图片数);
去除已损坏图片,
去除模糊图片,
去除相似图片,
机动车车色分类。
最后再人工标注。
HTTP 请求方式一共有 9 种,分别为 POST 、GET 、HEAD、PUT 、PATCH 、 OPTIONS 、DELETE 、CONNECT 、 TRACE 。其中前三种 POST 、GET 、HEAD 是 HTTP 1.0 定义的,后六种 PUT 、PATCH 、 OPTIONS 、DELETE 、CONNECT 、 TRACE 是 HTTP 1.1 定义的。
一、POST 请求
POST :表示向指定资源提交数据,数据包含在请求头中。有可能导致新的资源建立或原有资源修改。 POST 请求是 HTTP 请求中使用最多的一种请求方式。
二、GET 请求
GET :表示请求指定的页面信息,并返回实体内容。
三、HEAD 请求
HEAD :类似于 GET,只不过返回的响应体中没有具体内容,只有报文头,用于获取报文头。
四、PUT 请求
PUT :从客户端向服务器传送的数据取代指定的内容,即向指定的位置上传最新的内容。
五、PATCH 请求
PATCH :对 PUT 方法的补充,用来对已知资源进行局部更新。
六、OPTIONS 请求
OPTIONS :返回服务器针对特殊资源所支持的 HTML 请求方式 或 允许客户端查看服务器的性能。
七、DELETE 请求
DELETE :请求服务器删除 Request-URL 所标识的资源。
八、CONNECT 请求
CONNECT :HTTP 1.1 中预留给能够将连接改为管道方式的代理服务器。
九、TRACE 请求
TRACE :回显服务器收到的请求,主要用于测试和诊断。
POST 请求与 GET 请求区别:
- 本质区别
POST :向服务器传送数据
GET: 向服务器获取数据- 请求参数形式
POST : 附在正文中
GET: 拼接在URL上,多个参数之间用 & 隔开,如果参数是中文值,则会转换成诸如%ab%12的加密16进制码。- 请求数据大小限制
POST : 正文没有长度限制,表单所能处理的长度在100k(不同协议不同浏览器不一样)
GET: URL长度有限制,在 1024K 左右(不同协议不同浏览器不一样)- 安全性
POST : 相对 GET 安全,但是如果不使用 HTTPS,报文正文仍是明文,容易被人截获读取。
GET: URL上可见传输参数,所以安全性极低。一般用来传输一些公开的参数信息,解析也方便。- 浏览器后退,刷新是否重新请求
POST : 是
GET: 否- 是否能被收藏为书签、是否被缓存、参数是否被保留浏览器历史
POST : 否
GET: 是- 对数据类型的限制
POST : 没有限制,也允许二进制数据。
GET: 只允许 ASCII 字符- 编码类型
POST : application/x-www-form-urlencoded 或 multipart/form-data
GET: application/x-www-form-urlencoded
pplication/x-www-form-urlencoded 是浏览器默认的编码格式
1、https协议需要到CA申请证书,一般免费证书较少,因而需要一定费用。
2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl/tls加密传输协议。
3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
4、http的连接很简单,是无状态的;HTTPS协议是由SSL/TLS+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
SSL:(Secure Socket Layer,安全套接字层),位于可靠的面向连接的网络层协议和应用层协议之间的一种协议层。SSL通过互相认证、使用数字签名确保完整性、使用加密确保私密性,以实现客户端和服务器之间的安全通讯。该协议由两层组成:SSL记录协议和SSL握手协议。
SSL/TLS协议的基本过程(TLS1.2)
1.客户端向服务器端索要并验证公钥。
2.双方协商生成"对话密钥"。
3.双方采用"对话密钥"进行加密通信。
关系型数据库
Mysql数据库 (美国,甲骨文公司)
Oracle数据库 (美国,甲骨文公司)
Sql Server数据库 (美国,微软公司)
DB2数据库 (美国,IBM公司)
Access数据库 (美国,微软公司)
PostgreSQL数据库(美国,加州大学伯克利分校)
SqLite数据库( 一个团队 )
OceanBase数据库(中国,阿里巴巴)
GaussDB数据库(中国,华为)
TDSQL数据库(中国,腾讯)
DM数据库 (中国,武汉达梦数据库公司)
国产的其他数据库忽略,给个链接你们
非关系型数据库(NoSql数据库)
Redis数据库 [划分:键值存储数据库]【用作缓存 / 持久存储】
Memcached数据库 [划分:键值存储数据库]【用作缓存 】
MongoDB数据库 [划分:文档存储数据库]
CouchDB数据库 [划分:文档存储数据库]
Couchbase数据库 [划分:文档存储数据库]【CouchDB 与 Membase 合并后的】
HBase数据库 [划分:列存储数据库]
Neo4j数据库 [划分:图形存储数据库]
db4o数据库 [划分:对象存储数据库]
BaseX数据库 [划分:xml存储数据库]
事务一般是指将一系列sql操作封装在一个单元中,要么完全的执行,要么完全的不执行。如增删改查
答案
1、测试用例编号;2、测试项目;3、测试用例标题;4、重要级别;5、预置条件;6、测试输入;7、操作步骤;8、预期结果。
答案
1、进入文件:vim 文件名
eg #vim /etc/httpd/httpd.conf
2、查找待修改内容位置 :
(1)shift+“:”,使文件变成可查询状态
(2)输入 / +查询内容 (eg 查询Directory参数,即 /Directory)
eg 找到Directory参数,注释掉Require all denied添加Require all granted
3、找到位置后修改:按键盘 i 键 即变成可编辑状态
4、修改文件内容后退出:按ESC键
5、保存修改:
(1)shift+“:”,使文件变成可查询状态
(2)输入 wq!
6、不保存修改:
(1)shift+“:”,使文件变成可查询状态
(2)输入 q!
git checkout branchName;git clone git命令学习
一、Numbers(数字型)
Python 3支持int、float、bool、complex(复数)。数值类型的赋值和计算都是很直观的,就像大多数语言一样。内置的type()函数可以用来查询变量所指的对象类型。
二、Strings(字符串型)
Python 具有单一的字符串类型str,字符串用单引号(‘ ’)或双引号(“ ”)括起来,同时使用反斜杠()转义特殊字符。
三、List(列表)
List(列表) 是 Python 中使用最频繁的数据类型。列表是写在方括号之间、用逗号分隔开的元素列表。
四、Tuple(元组)
元组(tuple)与列表类似,不同之处在于元组的元素不能修改。元组是写在小括号之间、用逗号隔开的元素列表。
五、Sets(集合)
集合(set)是一个无序不重复元素的集。基本功能是进行成员关系测试和消除重复元素。可以使用大括号或者set()函数创建set集合,注意:创建一个空集合必须用 set() 而不是 { },因为{ }是用来创建一个空字典。
六、Dictionaries(字典)
字典(dictionary)是Python中另一个非常有用的内置数据类型。字典是一种映射类型(mapping type),它是一个无序的键 : 值对集合。关键字必须使用不可变类型,也就是说list和包含可变类型的tuple不能做关键字。在同一个字典中,关键字还必须互不相同。
其中不可变类型为number、string、tuple,可变类型为:list、dict、set
浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。
深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。
答案