基础知识总结——测试知识【二】

1、软件测试的生命周期:

  • 单元测试
    • 对具有独立功能的代码块进行测试
  • 冒烟测试
    • 大概的功能测试是否正确
  • 集成测试
    • 将代码块集成,主要检查模块之间的接口是否正确
  • 系统测试
    • 整个功能性能是否都满足需求设计
  • 验收测试
    • 保证软件准备就绪,满足用户线需求

2、黑盒测试:

  • 测试用例设计
    • 等价类
    • 边界值
    • 因果图
  • 测试方法:
    • 功能测试
    • 性能测试
    • 安全性测试
    • 易用性测试
    • 可靠性测试
    • 自动化测试
      • web自动化测试(UI自动化)
      • 接口自动化测试

3、白盒测试

  • 静态分析法:
    • 控制流分析
    • 数据流分析
    • 信息流分析
  • 动态分析方法
    • 判定-分支覆盖
    • 判定-条件
    • 条件覆盖
    • 条件组合
    • 路径覆盖

4、测试过程

  • 需求分析
  • 设计测试方案
  • 设计测试用例
    • 功能测试用例、接口测试用例
  • 搭建测试环境
  • 执行测试
    • 单元测试、接口测试、功能测试、验证BUG、回归测试、兼容性测试
  • 测试报告

5、禅道缺陷管理

基础知识总结——测试知识【二】

6、通用测试用例

基础知识总结——测试知识【二】

7、测试用例设计方法

基础知识总结——测试知识【二】

8、性能测试

基础知识总结——测试知识【二】

性能分类:

  • 负载测试:
    • 通过逐步加压的方法,达到既定性能阈值的目标;
    • 阈值的设定值应该小于某一个值,比如:cpu使用率小于80%
  • 压力测试:
    • 通过逐步加压的方法,使得系统的某些资源达到饱和,甚至失效的状态
    • 什么条件下能把系统压崩溃
  • 并发测试:
    • 同一时间内,多个虚拟用户同时访问同一个模块、同一个功能
    • 测试方法:设置集合点
  • 容量测试:
    • 在数据库层面,获取数据库的最佳容量的能力,也叫:容量预估
    • 测试方法:在相同的并发用户,不同的基础数据量下,观察数据库的处理能力
    • 获取数据库各项性能指标
    • 在所有性能测试做完之后,未来业务可能飞速发展,同样一百个用户,一个表中有100条数据和1000条数据,数据库的性能会有所不同;
  • 可靠性测试:
    • 稳定性测试,疲劳测试
    • 系统在高压环境下,长时间的运行系统是否稳定;
    • CPU使用率在80%以上,7*24小时运行,系统是否稳定
    • 比如:内存泄漏问题,运行的时间过长可能出现问题
  • 异常测试:
    • 系统架构方面的测试
    • 在负载均衡架构中,测试宕机,节点挂掉等

性能指标:

  • 事务、TPS、请求响应时间、事务响应时间、并发、吞吐量、点击率
  • 事务:
    • 从客户端发起的一个或多个请求,到客户端接收到从服务器返回的响应
    • (这些请求组成一个完整的操作)
    • 银行转账:农行200转到邮政,农行减少200邮政增加200,一个事务包含多个请求
  • TPS(transaction per s)
    • 每秒钟系统能处理的事务数
  • 请求响应时间:
    • 从客户端发起一个请求开始,到客户端接收到从服务器返回的响应。整个过程所耗费的时间。
  • 事务响应时间:
    • 事务响应时间主要针对用户角度而言,
    • 如:转账成功,一共多久时间
  • 并发定义:
    • 并发总有时间差,1毫秒1微妙也会存在
    • 并发是一个时间范围:1秒内发起多少个用户
    • 并发举例:
      • 多用户在一个系统上同一个操作:大家对同一个商品秒杀
      • 多用户在系统上进行不同操作:大家针对不同商品进行秒杀,商品浏览
    • 并发用户数:
      • 同一单位时间内:对系统发起请求的用户数量
  • 吞吐量
    • 一次性能测试的过程中网络上传输的数据量的总和,网络占满
  • 吞吐率
    • 单位时间内网络上传输的数据量
    • 吞吐率 = 吞吐量/传输时间
  • 点击率:
    • 每秒钟用户向服务器提交的请求数
    • web端特有的一个指标,每秒中用户总共在页面上进行多少次点击
    • 特例:一次点击鼠标的操作后,客户端有可能向服务器发送多次请求;
  • 资源使用率:
    • 针对硬件:对不同系统资源的使用情况:cpu、内存,IO

9、移动端测试

基础知识总结——测试知识【二】

基础知识总结——测试知识【二】

10、web端测试

基础知识总结——测试知识【二】

11、web和APP的区别

  • 1.系统架构方面:

web项目,一般都是b/s架构,基于浏览器的
app项目,则是c/s的,必须要有客户端,用户需要安装客户端。
web测试只要更新了服务器端,客户端就会同步会更新。App项目则需要客户端和服务器都更新。

  • 2.性能方面:

web页面主要会关注响应时间
而app则还需要关心流量、电量、CPU、GPU、Memory这些。
它们服务端的性能没区别,都是一台服务器。

  • 3.兼容方面:

web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统的方向的兼容 ,所以web测试不必考虑安装卸载

app测试是基于客户端的,则要看分辨率,屏幕尺寸,还要看设备系统。
所以app测试则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景。包括安装时的中断、弱网、安装后删除安装文件
此外APP还有一些专项测试:如网络、适配性。。。

APP测试特点

(除了按需求说明书外的 功能测试 之外还需要进行如下测试)

1: 适配性测试(也叫兼容性测试,不同的安卓版本,不同厂商,不同手机品牌)

2: 不同网络测试 (2G网络/3G网络/4G网络/WIFI网络)

3; 在线升级测试

4: 中断测试(电话、短中消息打扰)

5: 耗电量测试

6: 弱网测试(信号差,信号屏蔽实验室)

7: 安装卸载 (C/S)

8: 流量测试

12、接口测试

基础知识总结——测试知识【二】

13、接口自动化的目的

基础知识总结——测试知识【二】

13.1 为什么要做接口测试

  • 更容易实现持续集成
    • 什么是持续集成?
      • 多个开发的模块之间集成起来、测试各个模块能否通过验证,再集成
  • 自动化测试落地性价比更高,比UI更稳定
  • 大型系统更加复杂,系统间模块越来越多
  • BUG更容易定位,降低研发成本,提高效率

14、系统测试类型

基础知识总结——测试知识【二】

基础知识总结——测试知识【二】

基础知识总结——测试知识【二】

基础知识总结——测试知识【二】

15、安全性测试

基础知识总结——测试知识【二】