一、OSI七层模型
应用层 :文件传输,电子邮件,文件服务,虚拟终端 TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet
表示层 :数据格式化,代码转换,数据加密 没有协议
会话层 :解除或建立与别的接点的联系 没有协议
传输层 :提供端对端的接口 TCP,UDP
网络层 :为数据包选择路由 IP,ICMP,RIP,OSPF,BGP,IGMP
数据链路层 :传输有地址的帧以及错误检测功能 SLIP,CSLIP,PPP,ARP,RARP,MTU
物理层 :以二进制数据形式在物理媒体上传输数据 ISO2110,IEEE802,IEEE802.2
二、你们公司的测试流程
产品提出需求后,开立项会进行讨论需求制定需求文档,开发根据需求文档进行编
码,测试人员需要根据需求文档进行编写测试计划,以及对应的测试用例编写,用
例编写结束后,进行用例评审,开发提交代码后执行冒烟测试,冒烟测试通过后执
行过程中出现bug进行提交bug,并对bug进行追踪。bug关闭后我们做测试总
结,提交对应的测试报告
三、你们公司用例评审都哪方参与了
不同公司要求是不同的。有的是按项目进行评审,需要所有项目人员(产品,研发,测试)都参与用例评审;
也有按部门评审的,评审工作仅仅在测试部门进行,由同事互审,或者测试组长评审。
四、功能测试与接口测试区别
功能测试和接口测试的区别在于,功能测试侧重点在于前端ui界面,数据展示,业务逻辑操作等,接口测试侧重点在于,后端返回的数据是否正确,接口是否正常。
五、测试环境是在什么系统(什么是软件测试环境)
测试环境是指测试运行其上的软件和硬件环境的描述,以及任何其它与被测软件交互的软件,包括驱动和桩。测试环境是指为了完成软件测试工作所必需的计算机硬件、软件、网络设备、历史数据的总称。
六、用例怎么保证覆盖全面
测试用例覆盖度一般是从以下几方面衡量的:
1)测试需求的覆盖:保证所有需求都已经设计用例
2)测试特性的覆盖:保证所有不同类型已覆盖,如:功能测试,性能测试等
3)平台与层次的覆盖:保证所有平台有用例覆盖,不同层次都有设计用例,如业务层、接口层等
一般通过用例评审来完善用例,也可通过代码覆盖度工具(Java平台比较多,如JaCoCo)来检测用例的覆盖是否完整
七、编写用例从哪些方面考虑
1、复用率:如果随着产品不停得升级,需要设计的详细些,追求一劳永逸;仅使用一两次,则没有必要设计的过于详细;
2、项目进展:项目时间如果允许可以设计的详细些,反之则能执行即可;
3、使用对象:测试用例如果供多人使用,尤其让后参加测试的工程师来执行,则需要设计的详细些。
八.测试报告编写过么,包括什么
测试项⽬的背景、测试范围和测试策略、测试环境、测试开始和结束条件、进度安排,测试组织,以及与测试有关的⻛险等⽅⾯的内容
九.接口测试怎么做的
由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。
–也可以用 接口自动化来实现,就是用代码实现,框架和UI自动化差不多,发送请求用断言来判断。
十.bug生命周期
新建 确认 解决 重新验证 关闭 重新打开
BUG的生命周期,就是一个BUG被发现到这个BUG被关闭的过程。
生命周期中缺陷状态:新建-->指派-->已解决-->待验-->关闭
发现BUG-->提交BUG-->指派BUG-->研发确认BUG-->研发去修复BUG-->回归验证BUG-->是否通过验证-->关闭BUG
如果待验的BUG在验证时没有解决好,我们需要重新打开--指派—已解决—待验,循环这个过程。
中间其他状态:拒绝、延期等
十一.软件测试的目的
发现软件的缺陷与漏洞,对软件的质量进行评估,提高软件的质量
十二.性能测试怎么做的
性能测试准备
搭建性能测试环境
性能测试脚本开发
性能测试脚本执行
结果分析与调优
测试报告与结果跟踪
负载测试: 找到系统稳定时(或满足性能需求下)的最大吞吐量;(要有响应时间、成功率的限制,比如定义:99.9%的响应时间必需在1ms之内,平均响应时间在1ms以内,100%的请求成功)
稳定性(通过浸泡测试soak test): 以系统稳定时的最大吞吐量(或满足性能需求时的最大吞吐量),长时间对系统进行测试,已检查系统是否稳定
压力测试: 找到系统极限值,系统瓶颈(系统崩溃临界值)(要求:响应时间可以变慢,但系统不能崩溃;)
十三.性能测试关注的指标
测试人员关注(单次业务相关指标):
并发用户数
响应时间:TP(百分比分布统计)
吞吐量:tps/qps
错误率
十四.性能测试的指标是根据什么对比的(响应时间和谁对比的):
性能测试关注被测对象的时间特性、资源利用特性、稳定性。
十五.Linux命令
--查看进程
ps -ef |grep python
--查看指定进程号
ps -ef |grep 进程名
--查看80端口被谁占用
ps -ef |grep 80
--包含“text”文件怎么查找
https://blog.csdn.net/u012327100/article/details/38081371
--包含“text”文本怎么查找
https://blog.csdn.net/u012327100/article/details/38081371
--创建 层级目录树
mkdir -p Project/{a,b,c,d}/src
--vi用过吗,怎么用的
https://blog.csdn.net/xie_xiansheng/article/details/78413306
--说你自己知道的常用命令
https://blog.csdn.net/m0_46422300/article/details/104645072
十六.数据库 知识
-- 创建数据库
Create database 2005c
-- 使用数据库
use 2005c
-- 查询所有数据库
show databases
-- 删除数据库
drop database 2005c
-- 显示创建数据库的sql语句
show create database 2005c
-- 对数据表操作
-- 创建表
create TABLE student(id int ,name varchar(20),sex char(2))
-- 查询所有表的
show tables
-- 查询创建表的语句
show create table student
-- 修改 修改表名 修改字段名(id name sex)
--查看表结构
desc 表名
--MySQL修改字段类型
alter table 表名 modify column 字段名 类型
-- 添加字段名
alter table student add phone varchar(20)
-- 删除字段
alter table student DROP phone
-- 修改表名
alter table student RENAME to st
-- 删除表
drop table st
-- DML:数据库操作语言
-- 增单条数据
insert into student (id,name,sex) values(1,'张三','男')
-- 适用于全字段增加的时候 可以省略字段名
insert into student values (2,'李四','男')
-- 适用于对单独的字段名增加
insert into student (name) values ('王五')
-- 增加约束体条件后 auto_increment
insert into stu (name,sex) values ('赵六','女')
insert into stu (name,sex) values ('田七','女')
-- 批量增加数据
insert into stu(name,sex) values('司徒八','女'),('诸葛酒' ,'男')
-- 修改
-- 修改数据
-- 条件修改
update stu set name = '黄埔嘉鸿' where id = 2
-- 批量修改
update stu set name = '黄埔嘉鸿'
-- 删除
-- 条件删除
delete from stu where id = 1
delete from stu
十七.测试用例——搜索框
功能测试
1.搜索内容为空,验证系统如何处理
2.搜索内容为空格,查看系统如何处理
3.边界值验证:在允许的字符串长度内外,验证系统的处理
4.超长字符串输入,系统是否会截取允许的长度来检验结果
5.合法的字符串长度后,加空格验证检索结果
6.多个关键字中间加入空格,逗号,tab验证系统的结果是否正确
7.验证每种合法的输入,结果是否正确
8.是否支持检索内容的复制、粘贴、编辑等操作
9.是否支持回车键搜索
10.多次输入相同的内容,查看系统的检索结果是否一致
11.特殊字符、转义字符、html脚本等需要做处理
12.敏感词汇,提示用户无权限等
13.输入的内容是否支持快捷键操作等
14.只能输入允许的字符串长度等
15.输入链接是否正确跳转,
16.搜索的历史纪录是否显示在下面
17.搜索内容有没有联想功能
18.是否可以输入数字,英文,中文
19.是否可以混合输入数字英文中文
20.输入拼音也可以进行检索
21.语音搜索的内容是否匹配
22.断网时,无法搜索
23.进行图片搜索时可以选择拍照或从相册中选取图片进行搜索
24.如果从相册中选取图片进行搜索,图上的大小是否有限制,最大为多少
25.搜索框边上有相机图片,便于图片搜索
26.点击清空历史记录,搜索框是否会清空历史记
27.能否识别图片中的内容
28.点击搜索,显示搜索界面
界面测试
1.查看UI是否显示正确,布局是否合理
2.是否有错别字
3.搜索结果显示的布局是否美观
4.已查看的结果链接,链接的颜色要灰化处理,
5.结果数量庞大时,页面的分页布局是否合理
6.界面的颜色搭配是否合理
安全性测试
1.脚本的禁用
2.SQL的注入,检索SQL SELECT语句等
3.敏感内容的检索是禁止的
4.特殊字符的检索
5.被删除、加密、授权的数据,不允许被查出来,6.是否有安全设计控制
兼容性测试
1.多平台Windows,mac
2.移动平台android,ios
3.多浏览器火狐、chrome、IE等
性能测试
1.搜索页面的链接打开速度的时间
2.搜索出结果消耗时间
3.弱网时搜索的响应时间
4.不同网速下搜索时的响应时间3g,4g,WIFI
易用性
1.有联想功能
2.搜索内容与搜索结果的匹配程度
3.支持拍照搜索,语音搜索
19.朋友圈点赞——测试用例
功能测试
1.是否可以点赞
2.取消点赞
3多次点赞会出现什么情况
4.多人点赞时的顺序是否按照时间顺序进行排列
5.点赞是否显示头像和名称
6.点赞之后能否进行评论
7.点赞之后退出该页面,再次进入朋友圈点赞消息是否还存在
8.多用户点赞,再次打开朋友圈是是否可以按照顺序看到是谁谁谁赞了我
接口测试
1.点赞之后相同好友是否收到提示信息
2.相同好友处的提示信息是否按照时间顺序
3.相同好友处的点赞是否显示头像和名称
兼容测试
1.电脑端和手机端是否都可以进行点赞和取消点赞功能
2.不同的移动端是否都可以行点赞和取消点赞功能(包括苹果,安卓)
可用性测试
1.弱网的时候进行点赞是什么情况
2.网络断开时是否可以点赞
3.用户点击点赞几秒后可以看到点赞成功,取消同理
4.多用户同时给我点赞时,我是否可以全部接收到提示消息
安全性测试
1.点赞是否会泄漏微信用户相关信息
20.百度网址——测试用例
功能性测试:
可以包括,但不限于以下几个方面:
链接测试:链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回等。
提交功能的测试。
多媒体元素是否可以正确加载和显示。
多语言支持是否能够正确显示选择的语言等。
界面测试:
可以包括但不限于一下几个方面:
页面是否风格统一,美观
页面布局是否合理,重点内容和热点内容是否突出
控件是否正常使用
对于必须但为安装的空间,是否提供自动下载并安装的功能
文字检查
性能测试:
一般从以下两个方面考虑:
压力测试;负载测试;
数据库测试:
要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。
安全性测试:
1 基本的登录功能的检查
2 是否存在溢出错误,导致系统崩溃或者权限泄露
3 相关开发语言的常见安全性问题检查,例如 SQL 注入等。
4 如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持
兼容性测试:根据需求说明的内容,确定支持的平台组合:
浏览器的兼容性;操作系统的兼容性;软件平台的兼容性;数据库的兼容性
开展测试,并记录缺陷。合理的安排调整测试进度,提前获取测试所需的资源,建立管理
体系(例如,需求变更、风险、配置、测试文档、缺陷报告、人力资源等内容)。
定期评审,对测试进行评估和总结,调整测试的内容。
21.给一个web端或者是app端你如何展开测试?
web:
功能性测试
可以包括,但不限于以下几个方面:
链接测试。链接是否正确跳转,是否存在空页面和无效页面,是否有不正确的出错信息返回。
提交功能的测试。
多媒体元素是否可以正确加载和显示。
多语言支持是否能够正确显示选择的语言等。
界面测试
可以包括但不限于一下几个方面:
页面是否风格统一,美观
页面布局是否合理,重点内容和热点内容是否突出
控件是否正常使用
对于必须但未安装的控件,是否提供自动下载并安装的功能
文字检查
性能测试
压力测试;负载测试;强度测试
数据库测试要具体决定是否需要开展。数据库一般需要考虑连结性,对数据的存取操作,数据内容的验证等方面。
安全性测试:
基本的登录功能的检查
是否存在溢出错误,导致系统崩溃或者权限泄露
相关开发语言的常见安全性问题检查,例如SQL注入等
如果需要高级的安全性测试,确定获得专业安全公司的帮助,外包测试,或者获取支持
兼容性测试
根据需求说明的内容,确定支持的平台组合:
浏览器的兼容性;
操作系统的兼容性;
软件平台的兼容性;
数据库的兼容性
app
- 安装卸载
安装卸载路径是否能自己选择,在不同操作系统下(Android、ios)安装是否正常,能正常运行,安装的文件及文件夹是否写入了指定的目录里,安装来自不同来源的(应用宝、360助手)下是否正常。
卸载是否删除所有相关的文件
2.功能测试
运行、应用的前后台切换、免登录、数据更新、离线浏览、App更新、定位、启动相机服务。。根据软件说明看看提供的功能是否能正确并如设计的一样正常运作。
3.客户端性能测试
一个app不仅仅表现在功能上,还要看在不同操作系统下,以及中低端机上的性能表现,
关于App性能测试,我们主要关注的参数有:CPU、内存、耗电量、流量、FPS(画面每秒传输帧数/刷新率)。同时也需要关注一下App安装耗时和启动耗时。
- 服务器性能测试
服务器性能测试,主要包含单机容量测试和24小时稳定性测试。
单机容量测试,可以检测到单机服务器在90%的响应时间和成功率都达标的前提下,能够承载多少用户量。
使用特定游戏模型压测24小时,服务无重启,内存无泄漏,并且各事务成功率达标。
- UI测试
测试用户界面(菜单、对话框、窗口)等布局,文字正确,页面美观,操作友好,符合行业标准,易操作。
- 兼容性测试
在不同品牌手机上的安装、点击、卸载、运行。
在不同操作系统上的安装、点击、卸载、运行。
与本地及主流App是否兼容
7.安全测试
检测是否容易被外界破解,是否存在被恶意代码注入的风险,软件权限、安装与卸载安全、数据安全、通讯安全、人机接口安全性。
22.说出你常用的adb 命令(15个)和 monkey命令 (5个)
adb:
1.链接设备-- adb connect
2.查看当前链接的设备-- adb devices
3.开启服务-- adb start-server
4.关闭服务-- adb kill-server
5.安装软件-- adb install apk路径
6.覆盖安装-- adb install -r apk路径
7.卸载软件-- adb uninstall 包名
8.卸载软件保留配置和缓存文件-- adb shell pm uninstall -k 包名
9.查看系统应用包名-- adb shell pm list package -s
10.查看第三方应用包名-- adb shell pm list package -3
11.列出所有APP包名-- adb shell pm list packages
12.电脑文件传输到移动端-- adb push 电脑路径 移动端路径
13.移动端文件传输到电脑-- adb pull 移动端路径 电脑路径
14.查看adb命令帮助信息-- adb help
15.讲日志实时的输出到本地文件-- adb logcat -v time > D:/log.txt
monkey:
https://blog.csdn.net/cxq234843654/article/details/47153345
23.web端测试和app端测试的相同点和不同点
https://www.jianshu.com/p/a5de34fe497a
24.charles 抓取移动端的步骤 和进行响应断点的步骤 以及如何进行模拟404的步骤
抓包工具charles抓移动端
Charles的使用——打断点
charles模拟接口404/403