评估维度:
- 方便单元测试
- 方便联调测试
谁来测试?
- 开发人员自测
- 测试人员测试
会有哪些测试内容?
- 开发人员
- 功能开发
- 自己调试
- 单元测试
- 一般自己编写单元测试代码
- 接口测试
- 一般自己编写接口测试代码
- 功能转测
- 与其他模块(前端)联调测试
- BVT测试
- 功能开发
- 测试人员
- 功能测试
- 手工测试
- 自动化测试
- 接口测试
- 模块测试
- 场景测试
- 特征测试
- 性能测试
- 稳定性测试
- 兼容性测试
- 发布测试
- 功能测试
可测试性关注点
指软件程序需要提前做哪些设计(功能、接口、流程、模块拆分、日志、统计等等),来配合上述的测试内容的进行:
保障上述测试内容能够正常进行
- 侧重可以做到
- 比如程序是否可以最小粒度(每个接口),支持“接口测试”
- 比如程序是否可以最小粒度(每个模块,每个模块里面的子功能,每个模块里面的子流程),支持“单元测试”“模块测试”
- 比如一些关键数据、内容、状态、统计值等是否可以查看得到,而不是仅存在与程序内存中,支持“自动化测试”“手工测试”
保障上述测试内容能够高效进行
- 侧重可以高效做到,不需要付出较大代价(人力、流程、设备、时间等等)
- 比如一个文件管理系统,测试文件上传功能时,想测试文件是否上传成功
- 可存在如下几种测试方式确认:
- 通过对应的下载功能看是否能够再完整的下载下来,可以人工模拟操作或者模拟前端提交等 - 人工参与判断
- 通过查询对应后台数据库的xxx表的xxx字段等,确认文件已经存储成功 - 进后台
- 通过调用提供的后台文件查询接口,直接查询指定名称、指定ID等的文件是否存在 - 调接口
- 可见“方式3”的代价应该是最小的,且可以集成进自动化完成一个文件上传功能的测试
- 那么提供一个“后台文件查询接口”即是一个有效的针对 “功能性测试” 的 可测试性设计
- 可存在如下几种测试方式确认:
- 比如一个流量处理系统,想测试系统的最大处理带宽能力
- 可存在如下几种测试方式确认:
- 通过外接其他更高性能的设备,桥接在设备外部,进行带宽统计
- 流量处理系统自身提供带宽统计功能,并提供后台统计查询接口,可以直接查询对应处理带宽
- 可见“方式2”的代价较小
- 那么提供一个“带宽统计功能 以及 带宽查询接口”即是一个有效的针对 “性能测试” 的 可测试性设计
- 可存在如下几种测试方式确认:
注:如上关注点也即对于测试性的评估维度