复习思路是软件测试涵盖的各方面内容,包含但不限于功能、性能、安全、SQL基本知识等,在查找相关资料的时候,简单做了总结(别人的链接)并分享出来。
功能测试
1、八大黑盒测试的方法
参考文章:八大黑盒测试方法总结
等价类划分法:有效等价类/无效等价类
边界值分析法
错误推测方法
因果图方法
判定表驱动分析方法
正交实验设计方法
功能图分析方法
场景设计方法
2、web端和app端
网页端
移动端(来源:软件测试52讲 茹炳晟 第20讲)
- 交叉事件测试:手工测试;真机;例如:APP运行时接听电话
- 兼容性测试:IOS/Android
- 流量测试:执行业务;后台运行;安装包本身
- 耗电量测试:没有执行/密集执行时,后台运行的耗电量
- 弱网测试:无网络/3G/4G/5G/WI-FI,复杂网络环境下的质量
- 边界测试:系统内存占用>90%/95%;时区切换
面试题:web测试和app测试的区别?
思路,
1、相同点:从功能测试流程来说,一样是需求-测试计划-设计用例-执行用例-测试报告的流程
2、不同点:从架构来说,web是基于B/S架构(基于浏览器),app是基于C/S架构(基于客户端),可以从架构上分析两者的区别,例如性能测试的侧重点;安全测试因素;兼容性;app独有的卸载安装升级等专项测试内容。
web(B/S架构) | app(C/S架构) | |
---|---|---|
功能测试 | 无区别,测试流程一致 | 无区别,测试流程一致 |
性能测试 | 偏重服务器端的性能,负载测试、压力测试 | 客户端和服务器端的性能都需要关注 |
安全测试 | 目录设置:正确设置目录 SSL:使用SSL进行安全传送,确定是否有相应的替代页面 登录:验证系统阻止非法的用户名/口令登录 日志文件:注意验证服务器日志是否正常 脚本语言:脚本语言是常见的安全隐患 | 反编译性, 数据安全, 键盘安全, 通信保密性及安全策略等方面的验证 |
兼容性测试 | Google/Firefox/360/Edge等主流浏览器 | IOS/Android(不同手机品牌);屏幕尺寸;分辨率 |
专项测试 | 无 | 1. 安装卸载升级 2. 交叉事件测试 3. 流量测试 4. 耗电量测试 5. 弱网测试 6. 边界测试 |
参考文章:
3、接口测试
- 功能实现:检查不同参数的数据请求时,接口返回的数据是否与接口文档描述一致
- 健壮性(容错性):传递错误类型/字符超长/空数据/特殊字符等与接口规范不符的能否正常处理
- 参数边界值:数据超出了接口规定范围,或者数据足够大或者为负数时能否正常处理
- 异常:返回非200、超时、延时
- 性能:接口处理和响应数据的时间、并发
- 安全性:密码是否明文、支付/登录类接口是否加密显示(验证加密规则)
自动化测试
UI自动化
接口自动化
性能测试
1、常用性能指标
参考文章:【性能测试】性能测试之性能测试指标详解
一 系统性能测试指标
1.1 响应时间
1.2 并发
1.3 点击量/点击率
1.4 吞吐量/吞吐率
1.5 TPS/QPS
1.6 PV/UV
二 Linux服务器性能指标
2.1 CPU使用率
2.2 内存占用率
2.3 系统平均负载
2.4 磁盘IO
2、常用的性能测试工具
参考文章:10大主流性能测试工具,总有一款适合你
Apache JMeter(开源免费)
3、性能测试的基本流程
流程: 【需求调研】→【测试准备】→【测试执行】→【测试报告】→【测试总结】
参考文章:一个完整的性能测试流程
安全测试
空缺
数据库
Oracle和MySql的区别?
回答参考文章:Oracle与MySQL的区别 以及优缺点
计算机基础知识
http(hyper text transfer protocol)和https的区别?
http | https |
超文本传输协议 | 以安全为目标的http通道 |
通过TCP,端口号80 | SSL加密传输协议,端口号443 |
无状态,明文传输 | 需要CA证书 |
只需三次握手 | 三次握手+SSL握手 |