首先谈一下APP自动化测试面临的一些局限性?
答:测试业务的不明确性,APP逻辑复杂,界面的跳转变化随时间变化。
测试本身的不确定性,如不定时弹窗问题。
测试环境不稳定性,主要是网络的稳定性。
测试接口的局限性,以功能强大的UiAutomator(不考虑Appium)为例。非标准控件无法捕捉,Web界面无法抓取,中文输入(可以用UTF-7输入法来实现)。
PC和测试Devices间ADB连接的不稳定性。
APP自动化控制工程架构的选择问题?
答:(1) 测试粒度的选择,粒度选择为较小的单步操作,则会造成测试步骤冗长,维护复杂,但也会使得测试过程清晰明了;如果选择一系列有特定意义的操作为粒度,
好处是可以通过方法调用实现代码复用,缺点是一个地方出错则会影响所有相关的测试,对测试脚本的稳定健壮性要求很高。
(2) 是否需要自己写一套简单的测试管理控制架构,首先写一套简单的这个东西是不会费很多代价的。首先编写新的测试执行控工程,建议使用Json文件配置执行
方式,根据DeviceID实现多机器并行测试。如果不想自己写,建议使用Robot Framework,其支持IDE和Shell两种启动执行方式。
(3) 控制工程架构的报告模块,建议采用Html样式的测试报告。报告对测试执行的细节要有很好的体现,对测试失败的节点要很明显体现,对LOG亦要有很好的保
存,同样报告也要做到简单明了。
APP自动化工程部署?
答: 建议使用开源的Jenkins部署测试项目,具体就不细说了。
APP自动化工程的稳定性很大依赖于测试脚本的稳定性,而APP脚本的稳定性依赖于脚本的编写和自动化测试用例的设计。
自动化测试脚本的编写稳定性,依赖于统一的严正的编写标准和严密的测试逻辑。
自动化测试用力的设计,建议由有自动化脚本编写经验的同学来设计,以提高自动化测试用例的设计质量,提升自动化测试脚本开发速度和开发质量。