文章会继续更新
目前只针对Android平台的手机的自动化测试所遇到的情况进行讨论
正题
1. 测试数据与测试脚本分离,测试数据要便于后期维护。能够读取外部文件,将文件的数据当作变量进行使用。
比如添加联系人,1000个联系人的信息存放在外部文件内,需要读取,然后使用脚本依次生成
如果支持数据库则更好
2. 所用测试工具需要适用于特定平台。
例如用于测试iOS的自动化测试工具必须要可以在Windows平台运行,因为客户可能没有Mac平台
3.针对多语言的自动化测试,要支持除英文外的其他语种
比如意文,比如简繁中文。
4.针对同一平台的测试,要求测试工具支持不同该系统的所有版本
比如要支持Android1.6到4.0
5.测试脚本要适用于多测试环境,要适用于相同系统的不同手机
比如针对Android,脚本要能在HTC和Samsung及中兴,Wphone上都可以运行
6.要求一台支持多手机同时运行测试
比如一台pc连接5至10台手机同时进行测试(这种情况,我们更倾向于使用7)
7.要求测试脱离PC运行在手机平台,让测试运行在手机上,PC端则只负责发送启动/停止测试的命令及接收测试结果
8.提供测试结果,如果能够提供借口给现有的测试管理平台则更佳
比如要求将测试结果直接传输到QC上,在QC上显示自动化测试结果
9.针对手机端与PC端的操作,待测手机均能做出正确的响应
比如在手机上点击Home或者在PC端UI上点击Home,手机都能够返回到Home界面
10. 能够读取页面的文字,将文字转化成变量供脚本使用,要求不仅要支持Native应用,还要求支持Web页面的文字
比如到About中找到A手机使用的号码,然后将该号码提供给另外B手机,让B打电话给A
11. 如果通过区域截图寻找目标,则要求不论该目标在屏幕什么位置,都应该能够找到
比如将某应用的快捷方式放置到桌面,不论该快捷方式放置在左上角,还是右下角,测试工具都应该可以找到
12. 能够搜索目标字符串,要求不仅要支持Native应用,还要求支持Web页面的文字
比如我想确认当前页面是否存在china这个字符串
13. 要求支持待测设备之间的交互
例如一台PC连两台设备,两台设备之间要求能够互相打电话,发短信
14. 要求同时支持native和web的测试
比如不仅要能够测试计算器,还要求能够测试Android Market
15. 要求可以的话,尽量脱离对坐标的依赖
16. 要求脚本同时支持不同分辨率的设备
例如,支持800*480和960*544以及480*320
17. 获取控件的属性
比如获取特定按钮的底色
TBC...