最全的软件测试面试题

1.熟悉软件测试流程,能够独立完成软件测试相关工作。

软件测试流程:首先由公司高层进行立项,产品给出产品说明书,需求人员进行需求分析,接着进行需求评审,
(参加人员:项目组里的人,产品,需求,研发,测试),开发进行概要设计和详细设计,测试人员根据需求文档编写测试用例,测试用例评审,如果改动较大的话还要进行二次评审。评审完成后开发进行编码,测试进行部署测试环境进行测试,首先进行冒烟测试(主功能),然后进行功能测试,遇到bug利用禅道进行跟踪记录,开发进行修改,测试进行验证,然后进行回归测试,然后进行验收测试,最后将各个文档交给运维人员进行部署上线。(交给运维人员的一般有,需求文档,测试报告,前后端代码包,版本号等等)

2.灵活运用各种方法编写测试用例。

等价类划分,边界值,场景法,正交表,错误推测,因果图,判断表

1.等价类划分:注册密码长度在618位数字字母注册:有效等价类:618数字和字母组成的,无效等价类: 小于6位,大于18位,6~18纯数字,纯字母,特殊符号,空格等

2.边界值:注册密码长度6~18位可以选取5,6,18,19位进行边界测试

3.场景法:ATM取款机取钱,梳理流程:插入合法的卡-输入正确密码-输入合法金额-余额充足-ATM金额充 足-取款;插入不合法的卡-退卡;插入合法的卡-输入错误密码-提示输入密码;等

4.错误推测:手机拨号失败:考虑可能是手机没有卡,手机欠费,手机没有信号,手机通讯服务有问题 等

5.因果图和正交表:投币买饮料:投入不同的硬币,选择不同的饮料,最终给你返回硬币和饮料

3.测试用例模板

用例编号,用例模块,用例标题,前置条件,优先级,操作步骤,输入数据,预期结果,实际结果

4.缺陷报告模板

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

5.禅道的缺陷报告

缺陷报告中包含:所属产品,所属模块,所属项目,指派人员,截至日期,bug类型,测试环境,bug标题,严 重程度,优先级,重现步骤(操作步骤,预期结果和实际结果)

6.测试报告模板

测试目的,测试依据,测试范围,测试环境,实际进度,几轮回归测试 ,遗留缺陷 ,等级,如何解决,测试结论

7.接口测试模板

用例编号,所属模块,用例功能,请求方式,请求头,请求体,请求路径,请求参数,预期结果,实际结果

8.测试计划模板

测试背景,测试目的,确定测试范围,制定测试策略,测试资源安排,人员的分配,时间安排,风险评估

Postman

接口流程

拿到后端开发提供的接口文档,分析接口中的功能,请求方式,请求头,请求参数(参数是否必填,类
型,长度,是否唯一等),编写接口测试用例,最后使用postman工具进行接口测试

1.全局变量

通常情况下,我们共同使用的部分可以存放在全部变量里,调用的时候只需要{ {变量名}}即可,适用全部的接 口

2.接口关联

将第一个接口设置断言,拿到返回体内容转成json对象,通过json表达式提取想要的值,将这个值设置全局 变量,在第二个接口中使用{ {变量名}}代替,实现接口关联

// 获取响应体的文本内容
var resbody = responseBody;
console.log(resbody)
// 转成json对象
var jsonobj = JSON.parse(responseBody)
// 通过json表达式提取值
var pro = jsonobj.result.province
pm.globals.set("prodes", pro);

3.断言

用于预期结果和实际结果的对比

Tests响应断言的几种方式 :

(1)Status code:code is 200 (校验响应头是否包含某个值)

(2)response body:contains string (校验返回结果中是否包含某个字符串)

(3)response body:Json value check (校验返回结果中某个字段是否等于某个 值)

(4)response header:content-type header check (校验响应头是否包含某个值)

(5)response time is less than200ms (校验响应时间是否少于200ms)

(6)response body:Is equal to string (校验返回结果中是否等于该字符串)使用少

4.用例的批量执行

将测试数据保存本地,一次性进行运行,在参数里面的数据文件值和取全局变量一致,使用{ {}},在断言里面 取数据文件的值使用:data.字段名

5.接口自动化测试

我在公司使用的是postman,newman和jenkins做接口自动化测试 首先将接口填充在postman中调试导出脚本(.json脚本) 安装nodejs和Newman,最近在dos命令中通过newman命令执行生成测试报告(newman命令:newman run 脚本.json -r html --reporter-html-export html路径) 最后在Jenkins中新建项目,设置定时任务时间,在调度任务中添加window 命令(Newman命令),最后定时 执行任务生成测试报告

协议

Web测试和APP测试相同点:
•设计测试用例时,依然都是依据边界值分析法、等价类划分等
•需要检查界面的布局、风格和按钮等是否简洁美观、是否统一等
web和app测试,单从功能界面测试来说,没有什么差异。有差异的主要是以下几点:
•结构:
web端,是B/S架构的,服务端有修改的话,客户端会同步更新
app,是C/S架构的,如果服务端有修改的话,客户端必须更新,核心版本的客户端都要重新回归测试
•性能指标:
web端:响应时间、CPU、内存、吞吐量
app:响应时间、CPU、内存、吞吐量、手机流量、手机电量
•兼容
web端:浏览器兼容;PC端的操作系统(windows、mac、linux)
app:手机操作系统(安卓、ios、windows);手机型号;分辨率(手机屏幕大小)
•相对于web,app有一些专项测试
中断测试(来电、信息、其他应用)
弱网络测试、网络切换测试
安装、更新、卸载
•自动化测试工具
app:appium
web:selenium
•界面操作
web端:屏幕放大缩小等
app:手势、手机横屏竖屏、触控等测试
•安全测试
web:敏感信息泄露、跨站脚本、sql注入
app:访问通讯录、相册、相机

网络的七层协议

物理层:物理接口规范,传输比特流,网卡是工作在物理层的。

数据层:成帧,保证帧的无误传输,MAC地址,形成EHTHERNET帧

网络层:路由选择,流量控制,IP地址,形成IP包

传输层:端口地址,如HTTP对应80端口。TCP和UDP工作于该层,还有就是差错校验和流量控制。

会话层:组织两个会话进程之间的通信,并管理数据的交换使用NETBIOS和WINSOCK协议。QQ等软件进行通讯因该是工作在会话层的。

表示层:使得不同操作系统之间通信成为可能。

应用层:对应于各个应用软件,应用程序。

三次握手,四次挥手

三次握手
1.客户端向服务端发送
  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值