Python 测开28期 - WL - 学习笔记 - 测试技术体系

测试技术体系

软件测试分类

按开发阶段分类

  • 单元测试:按照最小模块代码进行测试
  • 集成测试:小模块组装集成后进行测试
  • 系统测试:所有功能进行测试
    • 功能测试:保证业务功能正常使用
    • 兼容性测试:不同的软硬件环境下都要正常使用
    • 性能测试:响应时间、系统资源利用情况 (如 CPU、内存等)、系统容量–并发等、稳定性-持续性测试
    • 安全测试:协议测试、防火墙、操作系统漏洞、网关、网络攻击 (如sql注入等)
  • 验收测试:上线前的验证测试
    • α 测试:内测版本,测试环境
    • β 测试:公测版本,生产环境

按是否查看代码分类

  • 白盒测试:查看所有代码
    • 研究产品内部的源代码和程序结构
    • 单元测试就算白盒测试的一种
  • 黑盒测试:不看任何代码
    • 又称数据驱动测试
    • 完全不考虑程序内部结构和内部特性
    • 注重于测试软件的功能需求
    • 只关心软件的输入数据和输出数据
  • 灰盒测试:只看部分代码

按测试执行方式分类

  • 静态测试:代码走查、文档评审等
  • 动态测试:需要程序跑起来

按是否手工执行划分

  • 手工测试:人工执行进行测试
  • 自动化测试:通过编码执行测试用例

其他分类

  • 冒烟测试:程序核心业务测试
  • 回归测试:bug 修复后的测试、老功能回归测试
  • 随机测试:随机操作测试
  • 探索性测试:根据人工经验,探索更深层的随机测试行为进行测试

分层测试体系

自动化分层测试体系

  • 70% 单元测试:Unit Tests
  • 20% 服务测试:Service Tests
  • 10% 用户界面测试:UI Tests

单元测试方法

  • JAVA
    • JUnit:自带框架
    • TestNG
  • Python
    • unittest:自带框架
    • pytest

接口测试

  • 接口全称:Application Programming Interface,简称API
  • 是针对软件对外提供服务的接口的输入输出进行测试
  • 检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性

接口测试方法

  • Charles、Fiddler:抓包工具
  • postman、Apifox:接口测试工具
  • Jmeter:接口功能测试、接口性能测试
  • loadRunner:性能测试
  • python:Requests、HttpRunner,测试库与框架
  • Java:HttpClient、RestAssured,测试库与框架

UI 测试

UI 测试方法

  • 手工方法:人工查看、操作
  • 自动化方法:web—selenium, app—appium