测试技术体系
软件测试分类
按开发阶段分类
- 单元测试:按照最小模块代码进行测试
- 集成测试:小模块组装集成后进行测试
- 系统测试:所有功能进行测试
** 功能测试:保证业务功能正常使用
** 兼容性测试:不同的软硬件环境下都要正常使用
** 性能测试:响应时间、系统资源利用情况 (如 CPU、内存等)、系统容量–并发等、稳定性-持续性测试
** 安全测试:协议测试、防火墙、操作系统漏洞、网关、网络攻击 (如sql注入等) - 验收测试:上线前的验证测试
** α 测试:内测版本,测试环境
** β 测试:公测版本,生产环境
按是否查看代码分类
- 白盒测试:查看所有代码
** 研究产品内部的源代码和程序结构
** 单元测试就算白盒测试的一种 - 黑盒测试:不看任何代码
** 又称数据驱动测试
** 完全不考虑程序内部结构和内部特性
** 注重于测试软件的功能需求
** 只关心软件的输入数据和输出数据 - 灰盒测试:只看部分代码
按测试执行方式分类
- 静态测试:代码走查、文档评审等
- 动态测试:需要程序跑起来
按是否手工执行划分
- 手工测试:人工执行进行测试
- 自动化测试:通过编码执行测试用例
其他分类
- 冒烟测试:程序核心业务测试
- 回归测试:bug 修复后的测试、老功能回归测试
- 随机测试:随机操作测试
- 探索性测试:根据人工经验,探索更深层的随机测试行为进行测试