Android应用自动化测试——理论、工具和实践(上)

发表于:2012-8-30 11:07

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:anthony.wang    来源:51Testing软件测试博客

基于Android平台应用程序的关键字驱动自动化测试

  摘要

  桌面应用程序与浏览器端的自动化测试都已经历了十年的发展,无论是从工具上还是项目管理方法论上都已经趋于成熟。而移动设备端应用程序的自动化测试近两年才刚起步,似乎一切尚处于探讨与研究阶段。但我们似乎已经看到其爆炸性的需求增长势头。可以从这两方面着眼分析:其一,移动应用从数量上和逻辑复杂程度上的增长,以及产品发布周期的紧缩,使得快速回归测试迫在眉睫;其二,安卓系统的开放性造成硬件厂商百家争鸣的局面,设备款式之多,迫使移动应用的兼容性测试提上日程。纵观当前智能手机两大主流阵营iPhone与Android,似乎安卓应用开发商与设备制造商更能体会兼容性测试的切肤之痛。鉴于此,并结合传统桌面系统上的自动化测试经验,我们在此探讨基于Android平台应用程序的关键字驱动自动化测试的可能性,并摸索一条适合在移动应用开发过程日新月异的现实情况中切实有效的实现和实施自动化测试的路子。

  理论基础

  在传统的桌面应用软件与浏览器端应用的自动化测试领域,已经有相当成熟的工具可供用户选择,例如商业工具HP QTPIBM Robot/RFT,Borland SilkTest等;开源工具如Selenium,Watir等。剖析这些工具,它们似乎都有着相同的功能结构:

  ● 对被测应用界面对象/界面元素的捕获与识别,并对其进行管理与操作;

  ● 对于测试脚本的编辑功能与语法解析功能;

  ● 对于测试数据的组织与管理;

  ● 对于脚本执行结果的分析与输出;

  如果细说,还可以牵扯到如脚本录制功能,插件管理功能,与测试管理工具、缺陷跟踪工具的整合等内容,涵盖面相当广泛。但所有这些都是为了一个目的:模拟测试人员行为,达到功能性回归测试的目的。本文尝试从以下最关键的几点来分析自动化测试工具的核心构成部分。

  1、关键字驱动

  关键字测试的主要思路是以面向对象的方式来管理被测应用的对象、对象的相关操作、测试数据以及这些测试数据之间的组合关系。关键字驱动是自动化测试中行之有效的方式,它可以帮助测试工程师更方便的维护测试脚本、构建复杂的业务逻辑测试用例、并节省手工测试的执行时间(尤其是在回归测试阶段)。关键字驱动主要由以下三种元素构成:

  1)被测对象,即被测应用界面上的元素;

  2)针对这些对象的操作,如点击(按钮)、填充(文字)、选择(单选框/多选框);

  3)以及基于这些操作的数值;

  上述三种元素可以描述为以下表格:

对象

操作

数值

文本框

输入

文本值

按钮

点击

选择框

选择

选项值

  或者以面向对象的文法表述为:

  对象.操作(值)

  该语句是关键字驱动脚本的构成基础。

  2、对象库

  对象库是用于储存被测应用程序界面对象(界面元素)的地方。它是关键字驱动测试工具的关键点。有了它,用户可以更容易的维护被测对象、更快速的构建测试脚本。它是如何做到这些的呢?让我们看看下面的结构:

41/41234>
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • 夏末初秋
    2012-12-31 15:27:44

    签名相同的apk可以互相通信?可以详细点吗

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号