测试基础知识点

1、测试流程

从产品立项开始,我们内部会开立项会,在立项会中对需求进行评审,制定需求文档,前端人员进行页面设计,开发人员根据需求进行编码,测试需要制定测试计划,对需求进行颗粒划分,不同的测试人员根据自己的任务编写测试用例,然后对用例进行评审,开发提交代码后开始执行冒烟测试,冒烟测试结束后执行测试用例。如果发现bug则体交bug,让开发人员进行修改,修改后二次验收,bug修改正确后关闭该bug,如果没有修正bug,重新打开并追踪bug,项目结束后需要进行编写测试报告

2、测试用例包含了哪些

用例编号, BUGID, 所属模块, 用例标题, 优先级, 前置条件, 操作步骤, 测试数据, 预期结果, 实际结果, 辅助内容, 是否通过, 编写人员, 编写时间, 测试人员, 测试时间, 备注

3、测试计划中包含了哪些

测试目的, 测试资源, 测试范围, 测试风险, 人员分工, 测试策略, 测试准则, 测试进度, 提交测试文档

4、测试缺陷报告含有哪些

缺陷编号, 缺陷状态, 缺陷标题, 重现步骤(复现步骤), 严重程度, 优先级, 缺陷类型, 测试环境

5、开发认为不是bug该如何解决

(1)、告知开发bug的判断依据,同时明确开发说不是bug的理由。

(2)、对开发的理由进行校验,校验依据(参照需求文档或者跟产品经理进行沟通确认)校验结果不是bug,则关闭bug,如果是bug那么提交给开发进行处理,确保产品质量。

6、如何判断一个bug时前段还是后端bug

(1)、通过前端页面操作的时候, 检查是否有接口请求发送。如果没有请求发送, 那么是前端问题

(2)、通过前端操作, 有接口请求发送, 检查请求参数是否有问题。如果请求参数有问题, 那么说明前后端联调过程中, 前端传参错误, 前端问题

(3)、通过前端操作, 有接口请求发送, 请求参数无误, 检查返回的response。如果返回的response有问题, 那么是后端问题

(4)、通过前端操作, 有接口请求发送, 请求参数无误,返回response没有问题, 那么就是前端在解析返回的response时, 解析出现错误, 那么就是前端的问题

7、bug不能复现的时候该怎么办

bug的操作步骤进行记录,然后在不同的测试环境中进行多次的调试,如果还是不能复现该bug,那将该bug进行登记上报给测试组长。然后根据开发文档对bug进行评级,看是否需要修改,如果不能修改则记录在测试报告中,防止后期出现同一bug进行解释说明。

8、测试分类有哪些

按阶段分, 分为单元测试 , 集成测试 , 系统测试 , 验收测试 , 验收测试(Beta测试)又分为α测试(内测)和β测试(外侧) , 回归测试 , Alpha测试

按是否运行程序划分 , 分为静态测试和动态测试

按是否查看源代码划分 , 分为白盒测试和黑盒测试, 黑盒测试又分为: 功能测试和性能测试 , 功能测试又分为逻辑功能测试 , 界面测试 , 易用性测试 , 安装测试 , 兼容性测试 。性能测试又分为,一般性能测试 , 稳定性能测试 , 负载测试 , 压力测试

其他测试又分为: 回归测试 , 冒烟测试 , 随机测试  

9、黑盒白盒灰盒测试的区别

黑盒测试: 纯功能测试,只关心整个软件的边界, 不关心软件系统的内部各个之间是如何协作的

灰盒测试: 介于白盒和黑盒测试之间 , 关心模块与模块之间的交互 , 不关心模块内部实现的细节。对于软件内部模块,灰盒测试依旧把它看成一个黑盒来看待

白盒测试: 使用编程脚本进行测试 , 实现自动化 , 深入了解内部模块的实现细节

 

黑盒测试:也是功能测试,测试中把被测的软件当成一个黑盒子,不关心盒子的内部结构是什么,只关心软件的输入数据和输出数据。

白盒测试:又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是指打开盒子,去研究里面的源代码和程序结果。白盒测试也是接口测试的一种。

灰盒测试:介于白盒测试和黑盒测试之间的一种,灰盒测试多用于集成测试阶段,不仅关注输入、输出的正确性,同时也关注程序内部的情况。功能+接口

10、v模型

用户需求 - 需求分析 - 概要设计 - 详细设计 - 编码实现 - 单元测试 - 集成测试 - 系统测试 - 验收测试

11、HTTP和HTTPS的区别

HTTP协议: 又叫超文本传输协议, 是客户端和服务器请求和应答的标准

HTTPS协议: 是以安全为目标的HTTP通道 , HTTP加入了SSL层 , HTTP的安全基础是SSL,因此加密的详细内容就需要SSL

区别: HTTPS协议是由SSL+HTTP协议构建的可进行加密传输 , 身份认证的网络协议 , 要比HTTP协议安全

     HTTPS协议需要申请ca证书 , 免费证书较少 , 一般都需要一定费用

     HTTP是超文本传输协议 , 是文明传输 , HTTPS是具有安全性的SSL加密的传输协议

     HTTP和HTTPS使用的连接方式不同 , 用的端口也不同 , HTTP的端口号是80 , HTTPS的端口号是443

     HTTP的连接方式简单 , 是无状态的 , HPPTS是由SSL+HTTP协议构建的可进行加密传输,身份认证的网络协议要比HTTP协议安全。

12、HTTP的请求方式有哪些

GET , POST , PUT , DELETE , OPTIONS , HEAD , CONNECT , TRACE

13、测试原则有哪些

(1)、缺陷集群性,2/8定律,核心功能占20%,非核心占80%,我们会集中测试20%的核心功能,发现缺的几率会高于80%,因此,遇到的缺陷都会集中20%功能模块里。

(2)、穷尽测试是不可能的,有些功能是无法将所有测试情况逻辑出来的,任何的测试都有结束的时间。

(3)、测试需要尽早介入:为了更好地发现和解决软件中的缺陷。

(4)、杀虫剂悖伦:同样的一个测试用例不能重复执行多次,不然软件会对它产生免疫

(5)、测试显示软件存在缺陷

(6)、测试活动依赖于测试内容,某些测试需要依赖于特殊的环境

(7)、没有错误是好是谬论,任何软件都不可能是完美的

14、get和post的区别

(1)、Get是不安全的,因为在传输过程,数据被放在请求的URL中;Post的所有操作对用户来说都是不 可见的。

(2)、Get传送的数据量较小,这主要是因为受URL长度限制;Post传送的数据量较大,一般被默认为不 受限制。

(3)、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。

(4)、Get执行效率却比Post方法好。Get是form提交的默认方法。

15、Linux常用命令

ls

英文:list 命令路径:/bin/ls 执行权限:所有用户

作用:显示目录文件

语法:ls [-alrRd] [文件或目录]

-a all 显示所有文件,注意隐藏文件,特殊目录.和..

-l(long) 显示详细信息

-R(recursive) 递归显示当前目录下所有目录

-r (reverse) 逆序排序

-t(time) 按修改时间排序

-h 以人类易读的方式显示内容

ll 相当于 ls –l

ll  以长格式显示当前目录下的内容

ll -R /etc  递归显示/etc目录下的所有内容

ll -htr   以易读的方式显示内容,并按照时间的升序排序(从过去到现在)

cd

英文:change directory 命令路径:内部命令 执行权限:所有用户

作用: 切换目录

语法:cd [目录]
/ 切换到根目录

.. 回到上一级目录

. 当前目录

- 显示并打开到上一次操作的目录

~ 当前用户的宿主目录(eg:# cd ~用户名 进入某个用户的家目录)

pwd

英文:print working directory 命令路径:/bin/pwd 执行权限:所有用户

作用:显示当前工作目录

语法:pwd [-LP]

-L 显示链接路径,当前路径,默认

-P 物理路径

cd /etc/init.d

mkdir

英文:make directories 命令路径:/bin/mkdir 执行权限:所有用户

作用:创建新目录

语法:mkdir [-p] 目录名

-p 父目录不存在情况下先生成父目录 (parents)

如果目录linux不存在,则报错,使用参数-p即可自动创建父目录。

mkdir linux/test

同时创建多个目录,注意这个c3.txt也是目录,不是文件

mkdir aa/bb/{c1,c2,c3.txt}

cp

英文:copy 命令路径:/bin/cp 执行权限:所有用户

作用:复制文件或目录

语法:cp [–rP] 源文件或目录 目的目录

-r -R recursive 递归处理,复制目录

-p 保留文件属性 (原文件的时间不变)

例如:

cp –R /etc/* .     

cp –R ../aaa  ../../test/

cp –R /ect/service  /root/test/aa/bb

mv

英文:move 命令路径:/bin/mv 执行权限:所有用户

作用:移动文件或目录、文件或目录改名

语法:mv 源文件或目录 目的目录

mv file1 /root/test2/ 如果目录test2 存在, 把file1 移动到test2文件夹下

如果目录test2不存在, 把file1重命名为 test2

rm

英文:remove 命令路径:/bin/rm 执行权限:所有用户

作用:删除文件

语法: rm [-rf] 文件或目录

-r(recursive)删除目录,同时删除该目录下的所有文件

-f(force) 强制删除文件或目录 即使原档案属性设为唯读,亦直接删除,无需逐一确认

rm -rf /aaa/bbb

删除目录时,如果确认删除目录,而不确认删除目录下文件时,目录不会被删除,因为文件还对目录有依赖

注意:工作中,谨慎使用rm –rf 命令。

扩展点:删除乱码文件

一些文件乱码后使用rm -rf 依然无法删除

此时,使用ll -i 查找到文件的inode节点

然后使用find . -inum 查找到的inode数 -exec rm {} -rf \;

就能顺利删除了

touch

命令路径:/bin/touch 执行权限:所有用户

作用:创建空文件或更新已存在文件的时间

语法:touch 文件名

同时创建多个文件

touch a.txt b.txt   

touch {a.txt,b.txt}

创建带空格的文件 eg:touch "program files" 在查询和删除时也必须带双引号

注意:生产环境中,文件名,一定不要加空格

cat

英文:concatenate 命令路径:/bin/cat 执行权限:所有用户

作用:显示文件内容

语法:cat [-n] [文件名]

-A 显示所有内容,包括隐藏的字符

-n 显示行号

cat /etc/services

cat 后面必须跟文件名,不然就会等待标准输入

cat 可用来创建文件:

cat >> a.log

把标准输入的内容追加到日志文件中。 >> 追加 > 覆盖

cat >> a.log < b.log

使用这种方式,可以把b.log文件里的内容追加到a.log中去,必须是文件,>是覆盖

cat>>a.log<<flag

使用这种方式,可以在控制台中输入内容,然后以flag做为输入结束的标识,把控制台中的内容追加到文本中。(用>就是覆盖)

tac

倒着显示文件内容

file

查看文件的类型

查看services文件的类型

file /etc/services

more

命令路径:/bin/more 执行权限:所有用户

作用:分页显示文件内容

语法:more [文件名]

空格或f 显示下一页

Enter键 显示下一行

q或Q 退出

less

命令路径:/usr/bin/less 执行权限:所有用户

作用:分页显示文件内容,与more类似, less可往回查看

语法:less [文件名]

空格或f 显示下一页

enter键 显示下一行

q或Q 退出

pgUP 向上翻页,pgDn 向下翻页

上下箭头 翻行

还可以搜索,直接/关键字,还可以按n(next)查找搜索到的结果

head

命令路径:/usr/bin/head 执行权限:所有用户

作用:查看文件前几行(默认10行)

语法:head [文件名]

-n 指定行数

head -20 /etc/services   

head –n 3 /etc/services

tail

命令路径:/usr/bin/tail 执行权限:所有用户

作用:查看文件的后几行

语法:tail [文件名]

-n 指定行数

-f (follow) 动态显示文件内容

获取一个大文件的部分文件,可使用head或tail命令

head -n 100 /etc/services >config.log

动态监控abc.log日志文件

tail -f abc.log

ln

英文: link 命令路径:/bin/ln 执行权限:所有用户

作用:产生链接文件

硬链接 软连接

语法:

ln -s [源文件] [目标文件] 创建软链接 源文件 使用 绝对路径

ln [源文件] [目标文件] 创建硬链接

创建文件/etc/service的软链接.service.soft

ln -s /etc/service  .service.soft

创建文件/etc/service的硬链接/service.hard

ln /etc/service  /service.hard

软连接类似于windows下的快捷方式

软连接文件格式:

lrwxrwxrwx. 1 root root 13 Jul 20 07:50 service -> /etc/services

  1. 硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接。

13链接文件的长度

格式解析(特征):

1, 软连接的文件类型是 l(软连接),软连接文件的权限 都是 lrwxrwxrwx

2,-> 箭头指向到源文件

真正的权限取决于对源文件的权限

时间值为创建软连接的时间

软连接可以跨文件系统生成

硬链接特征

1,相当于 cp -p +同步更新

2,通过i节点识别,与源文件有相同的idnode节点

3,硬链接不能跨分区,ln /home/test/issuels /boot/test (错误)

4,不能针对目录使用 ln /tmp/ aa.hard (无法将目录/tmp 生成硬链接)

删除软连接

rm -rf symbolic_name 注意不是rm -rf symbolic_name/

rename

批量修改文件名

rename foo foo0 foo?

引用

第一个参数:被替换掉的字符串
第二个参数:替换成的字符串
第三个参数:匹配要替换的文件模式

rename支持通配符,基本的通配符有以下几个:

引用

? 可替代单个字符
* 可替代多个字符
[charset] 可替代charset集中的任意单个字符

rename foo foo0 foo[9]*

把所有rop文件备份

rename  rop  rep.bak   rop*

 

posted @ 2021-06-30 21:53  九千祈  阅读(389)  评论(0)    收藏  举报