• u******* 下载了资源 国开学习网《农业推广》形考访谈记录答案
  • u******* 购买了资源 国开学习网《农业推广》形考访谈记录答案
  • a******* 下载了资源 2024年春江苏开放大学个人与团队管理050275实践性环节模拟实训(一) 职业生涯规划设计
  • a******* 购买了资源 2024年春江苏开放大学个人与团队管理050275实践性环节模拟实训(一) 职业生涯规划设计
  • u******* 登录了本站
  • u******* 加入了本站
  • 游客 购买了资源 阅读以下材料,回答材料后的问题: 2016年2月以来,广东医科大学发生系列严重腐败案,原党委书记江文富,原党委副书记、校长郑学宝,原党委常委、副校长赵斌等3名校领导及附属医院原院长曾荣被立案审查。 符学三作为广东医科大学纪委书记,对大学存在的问题该发现未发现,特别是执纪审查工作不力,对上级纪委转办的反映附属医院原院长曾荣以权谋私等问题线索未作处置,对违规费用清退监督推动不力。2018年2月,符学三因履行监督责任不力,受到党内警告处分。 就在今年5月,中央纪委刚刚通报了上海市整治医疗卫生系统腐败和作风问题。巡视组共发现处方权监管不到位等问题和隐患77个,实施整改措施107项。针对整治中发现的问题,上海市卫生计生委会同相关部门,遵循“针对性、具体化、可操作、可追责”原则,面向全市各医疗单位推出治理医疗乱象“1+7”规定。 这也意味着,未来公立医院行风建设和廉政管理将受到纪委更加严格的监管,如果相关领导监管不到位,即使未参与腐败受贿案,也会应监管不力被严重处分。“医疗卫生事业事关人民群众的切身利益,对相关违纪违法行为,要坚持以零容忍态度,发现一起,坚决查处一起。”纪委监委有关负责人表示。随着医改逐渐深入,国家反腐利剑出鞘,医药行业无疑将成为严打的重点。 请问: 1、改革开发以来,我国社会出现许多腐败现象,你认为产生腐败的原因有哪些? 2、联系实际谈谈,我国政府应该如何治理腐败?
  • 游客 购买了资源 试述行政监督系统的构成。
  • 游客 购买了资源 结合行政管理过程的相关原理,分析行政决策的含义与特点。
  • 游客 下载了资源 国开学习网电大《设施园艺学》实验报告1答案

江苏开放大学软件测试技术(专)形成性考核作业三

移动App自动化测试

1. 实验目标

² 巩固所学到的软件测试方法和Android自动化测试技术。

² 提高软件测试的实际动手能力。

2. 实验前提

² 了解流行的Android自动化测试工具。

² 具有基础的Java编程能力。

² 选择被测的Android App软件,参考实验指导4-3

3.实验内容

针对被测试的Android app计算器软件,进行功能的自动化测试。

4.实验环境

PC机一台,安装了Java开发环境、Appium自动化测试环境和雷电模拟器。

5.实验过程

² 安装好Appium,安装配置Java开发环境,在雷电模拟器上安装好被测试的App应用。

² 编写测试脚本。

² 运行测试脚本,查看测试结果报告。

6.交付成果

² 测试脚本

² 规范的测试报告(包括测试环境、测试执行过程、Android自动化测试经验和问题的总结)。

Android自动化框架

1. Instrumentation

https://developer.android.com/reference/android/app/Instrumentation.html

Instrumentaion 是Android自带的一个测试框架,是很多其它测试框架的基础,可以在同进程中加载被测组件。它有很多丰富的高层封装,使用者可以使用基于instrumentation的其他框架,避免过多二次开发量。但Instrumentation不支持跨应用,导致基于instrumentation的框架都继承了这个缺点。

2. Robotium

https://github.com/robotiumtech/robotium

Robotium是基于Instrumentation框架开发的一个更强的框架. 对常用的操作进行了易用性的封装. 用于开发功能性、系统和验收测试场景。它运行时绑定到GUI组件。它安装了一个测试用例套件作为在Android设备或仿真器上的应用程序,并提供用于执行测试的真实环境。

优点:容易在最短的时间内编写测试脚本,易用性高。自动跟随当前activity。 由于运行时绑定到GUI组件,所以相比Appium,它的测试执行更快,更强大。 不访问代码或不了解app实现,也可以工作。 支持Activities、Dialogs、Toasts、Menus、Context Menus和其他Android SDK控件。

缺点:不能处理flash和web组件。在旧设备上会变得很慢。 由于不支持iOS设备,当自动化测试同时覆盖 android与iOS的情况时,测试会被中断。没有内置的记录和回放功能.,使用记录功能需要 TestDroid 和 Robotium Recorder 这样的收费工具。

3. UIAutomator

https://google.github.io/android-testing-support-library/docs/uiautomator/

UIAutomator是由谷歌提供的测试框架,它提供了原生Android app和游戏的高级UI测试。这是一个包含API的Java库,用来创建功能性UI测试,还有运行测试的执行引擎。该库自带Android SDK。

优点:它在运行访问不同的进程时,会给JUnit测试案例特权。库由谷歌社区支持和维护。

缺点:仅支持android4.1(API level 16)及以上。 不支持脚本记录。 支持的重点是Java。 你不能获得当前活动或仪表化。目前不支持web视图。 库仅支持使用Java,因此很难和使用Ruby的cucumber混合。如想支持BDD框架,建议使用Java自己的BDD框架,例如Jbehave。

4. Espresso

https://google.github.io/android-testing-support-library/docs/espresso/index.html

Espresso是Google的开源自动化测试框架。相对于Robotium和UIAutomator,它的特点是规模更小、更简洁、API更加精确、编写测试代码简单、容易快速上手。因为是基于Instrumentation的,所以不能跨App。

5. Calabash

https://github.com/calabash

Calabash是一个适用于iOS和Android开发者的跨平台app测试框架,可用来测试屏幕截图、手势和实际功能代码。Calabash开源免费并支持Cucumber语言,Cucumber能让你用自然的英语语言表述app的行为,实现BDD(Behavior Driven Development,行为驱动开发)。 Cucumber中的所有语句使用Ruby定义。

优点:有大型社区支持。列表项简单,类似英语表述的测试语句支持在屏幕上的所有动作,如滑动,缩放,旋转,敲击等。跨平台开发支持(同样的代码在Android和iOS设备中都适用)。

缺点:测试步骤失败后,将跳过所有的后续步骤,这可能会导致错过更严重的产品问题。测试耗费时间,因为它总是默认先安装app。 需要Calabash框架安装在ios的ipa文件中, 因此测试人员必须要有iOS的app源码。 除了Ruby,对其他语言不友好。

6. Appium

http://appium.io/

Appium是一个开源的、跨平台的自动化测试工具,支持IOS、Android和FirefoxOS平台。 通过Appium,开发者无需重新编译app或者做任何调整,就可以测试移动应用,可以使测试代码访问后端API和数据库。它是通过驱动苹果的UIAutomation和Android的UiAutomator框架来实现的双平台支持,同时绑定了Selenium WebDriver用于老的Android平台测试。开发者可以使用WebDriver兼容的任何语言编写测试脚本,如Java, OC, JS, PHP,Python, Ruby, C#,Clojure 和Perl语言。

7. Selendroid

https://www.gitbook.com/book/lihuazhang/selendroid/details

Selendroid 是一个基于Instrumentation的一个框架. 完全兼容Webdriver协议。 Selendroid 可以在模拟器和实际设备上使用,也可以集成网格节点作为缩放和并行测试。

8. Robolectric

http://robolectric.org/

Robolectric 是一款Android单元测试框架,但它并不依赖于Android提供的测试功能,它通过实现一套JVM能运行的Android代码,然后在unit test运行的时候去截取android相关的代码调用,然后转到Robolectric实现的代码(shadow objects)去执行这个调用的过程。因此它不像模拟器或设备需要dexing(Android dex编译器将类文件编译成Android设备上的Dalvik VM使用的格式)、打包、部署和运行的过程,大大减少了测试执行的时间。Pivotal实验室声称使用Robolectric可以在28秒内运行1047个测试。

除了实现Android里面的类的现有接口,Robolectric还给每个Shadow类额外增加了很多接口,可以读取对应的Android类的一些状态。比如它为ImageView提供了getImageResourceId()方法,测试者可以通过getImageResourceId()接口来确定是不是正确显示了期望的Image。

9. RoboSpock

http://robospock.org/

RoboSpock是一个开源的Android测试框架,它提供了简单的编写BDD行为驱动开发规范的方法,使用Groovy语言,支持Google Guice库。RoboSpock合并了Robolectic和Spock的功能。

10. Cafe

http://cafe.baidu.com/#panel1

Cafe是百度出品的一个基于Robotium的测试框架,它提供了跨进程的测试解决方案。

11. Athrun

http://code.taobao.org/p/athrun/wiki/index/

Athrun 是taobao出的一个移动测试框架,它支持Android和IOS。Android部分是基于Instrumentation,在Android原有的ActivityInstrumentationTestCase2类基础上进行了扩展,提供了一整套面向对象的API。 IOS上的自动化测试包括注入式自动化框架AppFramework,和基于录制的自动化框架Athrun_IOS, InstrumentDriver。

12. 其他

其他自动化框架还有应用于稳定性测试的Monkey系列(Monkey, Monkeyrunner, MonkeyTalk), 其中MonkeyTalk 支持iOS 和 Android,它可以为应用进行真实的,功能性交互测试。MonkeyTalk 提供简单的 “smoke tests”,复杂数据驱动的测试套件。MonkeyTalk 支持原生,移动和混合应用,真实设备或者模拟器。MonkeyTalk 使得场景捕获非常容易,可以记录高级别,可读的测试脚本。还有适用于浏览器自动测试的Selenium WebDriver,可以真实测试用户行为,用户交互如触摸、手指滚动、长按等,还支持HTML5的一些特性,比如本地存储、session存储、应用缓存等。而CTS则是应用于兼容性测试的自动化工具, CTS大部分是基于Junit和仪表盘技术编写的。还扩展了自动化测试过程,可以自动执行用例,自动收集和汇总测试结果。CTS采用XML配置文件的方式将这些测试用例分组成多个测试计划(plan),第三方也可以创建自己的plan。

总结(Android)

各个测试框架的继承关系如下,继承关系决定了有些框架的先天优势或先天不足. 在实际应用中可以集成多个框架。

资源下载
下载价格10
点点赞赏,手留余香 给TA打赏
支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性

站点公告

开放大学课程作业辅导,有需要扫码加微信

显示验证码

社交账号快速登录

微信扫一扫关注
扫码关注后会自动登录