移动应用的测试策略与测试架构
制定测试策略(什么时候测什么)
我将移动测试分为三种类型,分别是基础测试、进阶测试和产品测试,其中基础测试是产品能正确并快速交付的基本保障,扩展测试主要是为了增强软件系统的健壮性,而产品测试主要是通过产品角度以及用户角度去思考而进行的测试。下面分别列举了常见的三种类型测试。
基础测试
- 功能测试 (Function Test)[1] 。
- 集成测试(Integration Test )
- 单元测试(Unit Test)
- 契约测试(Contract Test)[2]
进阶测试
- 兼容测试(Compatibility Test)
- UI视觉测试(UI Visual Test)
- 性能轮廓(Profiling)
- 安全测试(Security Test)
- 异常测试(Exception Test)[3]
- 猴子测试(Monkey Test)
- 安装、升级和卸载测试(Install、Upgrade and Uninstall Test)
- 耐久测试(Endurance Test)
- 耗电测试(Power Consumption Test)
- 流量测试(Network Traffic Test)
- 其他硬件功能专项测试[4]
产品测试
- 易用性测试(Usability Test)
- A/B测试(A/B Test)
- 产品在线测试(Product Verification Test or Product Online Test)
- 用户测试(Customer Test)[5]
制定测试架构(被测系统,测试策略实施的架构关系)
通过测试优先级表,我们获得了简易版的测试策略,然后就应该制定测试架构了。由于嵌入式软件的特殊性,其测试架构也与常规的桌面系统和服务器系统有一定的区别。下图为针对上面样列测试策略相对应的功能测试架构:
这里只指明了功能测试,其他的可以自动补充。
通过这个架构图,可以比较系统以及直观的了解各种类型测试的分布、关系和测试系统的架构等。