Android手机提供的打断事件与以往手机有着一些机制上的不同,当然也有很多跟以前一样的机制。所以我们要从他的应用程序打断机理出发,定制我们的系统测试用例的打断事件。
我们可以定制一个应用,打印所有继承的methods,然后用这些打断实验这些接口被调用,假设开发人员处理不好这些接口的话,可能会出问题的角度来达到覆盖测试。
如果要做好这个测试需要我们队Activity的lifecycle非常熟悉才行。这我已经在前文说过。
打断事件一般分为系统基本打断事件
1. Home键回home app,当前测试的应用就会放到后台处于stop状态,当然如果开发人员改了接口我们也会看到不同的东西。
2. 长按Home键,切换应用程序
3. Back键
还有一种是Interaction interruptions:
1.(语音/普通)SMS/MMS
2. 弹出的Alarm闹铃
3.来电(接听/拒绝/建立)
4. Bluetooth的pair请求
5. Bluetooth的文件发送接收请求窗口
在正常的业务流程,我们不会检查这些,而这些我们的开发人员自己也会做到,所以在测试过程中很难以发现更多的问题了。如果加上这些检查,我们的测试覆盖应该是非常全面的而且实践证明也是非常有效的。
我们可以定制一个应用,打印所有继承的methods,然后用这些打断实验这些接口被调用,假设开发人员处理不好这些接口的话,可能会出问题的角度来达到覆盖测试。
如果要做好这个测试需要我们队Activity的lifecycle非常熟悉才行。这我已经在前文说过。
打断事件一般分为系统基本打断事件
1. Home键回home app,当前测试的应用就会放到后台处于stop状态,当然如果开发人员改了接口我们也会看到不同的东西。
2. 长按Home键,切换应用程序
3. Back键
4. 长按Power键,调出关机窗口
5.Power键锁屏,再按power键解锁
6. 改变手机方向7. 内容冲突检测(content provider)
8.通过程序历史记录单访问已经释放的(即使的)应用,比如蓝牙传送程序,删除APN再去编辑它等等。
还有一种是Interaction interruptions:
1.(语音/普通)SMS/MMS
2. 弹出的Alarm闹铃
3.来电(接听/拒绝/建立)
4. Bluetooth的pair请求
5. Bluetooth的文件发送接收请求窗口
6. 低电信息提示窗口
7. 低内存
8. 充电器插拔
9. USB线/耳机/充电器插拔
10. SD卡插拔
11. 电池移出
在正常的业务流程,我们不会检查这些,而这些我们的开发人员自己也会做到,所以在测试过程中很难以发现更多的问题了。如果加上这些检查,我们的测试覆盖应该是非常全面的而且实践证明也是非常有效的。