1、按开发阶段分类
- 单元测试(模块测试):针对软件设计中的最小单位(如函数、类等)进行正确性检查的测试工作。
- 集成测试(组装测试):在单元测试的基础上,将所有程序模块进行有序的、递增的测试,重点测试不同模块的接口部分。
- 系统测试:将整个软件系统视为一个整体进行测试,包括功能、性能以及软件所运行的软硬件环境。
- 验收测试:
- α测试(内测版本):通常在软件开发者内部交流,也可能部分发布给专业测试人员,该版本软件的bug较多,不适合普通用户安装。
- β测试(公测版本):对所有用户开放的测试版本。
2、按测试目的分类
- 功能测试:检查软件是否按设计规格正确执行其预定功能。
- 性能测试:评估软件在各种负载条件下的响应时间、吞吐量、稳定性等。
- 安全测试:确保软件不受未经授权的访问、数据泄露或其他安全威胁。
- 兼容性测试:验证软件在不同操作系统、浏览器、设备和硬件配置上的兼容性。
- 用户界面(UI)和用户体验(UX)测试:检查界面是否直观易用,用户体验是否顺畅。
3、按测试方法分类
- 黑盒测试:测试人员只关注软件的输入和输出,不考虑内部代码结构。
- 白盒测试:测试人员对软件的内部代码结构进行测试。
- 灰盒测试:综合黑盒和白盒测试的特点,测试人员既关注外部输入输出,也关注内部代码结构。
4、其他分类方式
- 按照测试覆盖范围分:例如回归测试、全面测试、冒烟测试等。
- 按照测试控制分:例如静态测试、动态测试等。
- 按照测试执行者分:例如专业测试人员测试、开发人员自测、用户参与测试等。
- 按照测试状态分:例如静态测试、动态测试中的代码调试、网络测试等。