热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

【金阳光测试】深入解析Android自动化测试——Android自动化系列(一)——金阳光2013年4月发布

在过去的四年中,Android自动化测试框架与工具经历了显著的发展,逐渐趋于成熟。自第一代自动化架构问世以来,已历经多次迭代,本文将重点探讨从第三代到第四代自动化测试框架的演变过程及其技术特点。

        Android自己主动化測试框架和工具在四年多的发展日趋成熟。

从五年前的第一代自己主动化架构演进到眼下第四代(本系列讲座第7篇后将具体剖析第三代和第四代自己主动化框架)从曾经最早谷歌推崇的monkey随机測试工具到点触流自己主动化工具monkeyrunner、MonkeyTalk。基于元素识别的自己主动化框架sikuli、seeTest、iTest、基于控件识别的Robotium、SL4A。这三种技术各有千秋。基本上如今做出的自己主动化框架都是整合或者改动了以上这些免费的自己主动化框架:比方中兴通讯的EasyTest3.0(眼下应用层自己主动化測试的先驱和王者,基本上能够对80%以上用例实现自己主动化。有非常多自家的核心技术,比方远程监控、一套脚本控制a b c三台机器三方通话。来回切换,不须要人工干预,智能设置断点。自己主动化下载版本号、双台终端无线虚拟屏幕互相映射、脚本自己主动分配样机…难怪去年亏损28亿还没有倒下)、华为终端的自己主动化框架(据说是在风河公司自己主动化框架下自己在填坑。哎,世界500强的华为人才都死绝了吗?)、东舟软件自己主动化SmartRobot(从曾经A模式和B模式打Patch包,到如今三种技术完美整合。有时候小公司还是非常牛逼的)、印度博思软件的自己主动化框架(对monkeyrunner进行二次封装。形成自己脚本语言,没有什么创新)、美国风河公司的:windtest managerment(这个太强大了,从底层驱动、芯片的自己主动化。对硬解码、软解码自己主动化、包含上层的framework框架自己主动化,能够白盒自己主动化,也能够黑盒系统功能自己主动化)、包含眼下出来的測试云Itestin、腾讯无线的QQdriver自己主动化框架。

都逃不出以上三种核心技术(这三种核心技术介绍会在第4篇和第5篇具体剖析)

        自己主动化測试细分为黑盒自己主动化測试和白盒自己主动化測试(第3篇会具体介绍白盒自己主动化測试):我们熟知的压力測试、可靠性測试、负载稳定性測试、功能性測试都属于黑盒測试范畴;而白盒通常是单元測试、接口測试、持续的集成測试(也叫冒烟測试)、某系性能測试都能够用白盒測试来进行。

由于白盒測试要求測试project师编码能力较强,非常多中小型公司无法真正落实和开展。据笔者了解也仅仅有百度、企鹅、阿里真正花精力去做。尽管前期投入较大,可是中后期才会日渐收益。

        自己主动化測试难点不在于一个操作流程和过程(也就是脚本可以依照用例去执行)。假设有一天你的自己主动化脚本能帮你解决手工问题,那么你不过达到了第一代自己主动化水准。由于一个完整的自己主动化框架须要解决的问题至少有三:1.各种业务逻辑是否已正确实现2.各种业务约束是否正确实现3.各类特殊的数据是否可以正确处理。

聪明的同事一看就知道,须要添加验证点,彻底解放人工去推断。是的。

以上说的三个自己主动化框架已经包括了这些功能。所以说市面上眼下框架至少是第二代自己主动化框架以上。可是实际上測试复杂度远远超乎想象,比方眼下我们部门项目app測试需求有:

     1)    内存是否泄漏?

     2)    稳定性是否过关

     3)    对系统和应用程序兼容性怎样?

     4)    多程序,多进程交是否正常?

     5)    软件的容错机制怎样?

     6)    数据的完整性、唯一性、正确性是否已经通过測试?

     7)    系统及数据的安全性是否已通过測试?

     8)    软件的易用性是否满足用户的  需求…………………

       第二代自己主动化框架非常多手段显得力不从心,并且加上脚本移植问题、工作流程脚本共享、协同工作、生成报告等和工作流程相关的一系列问题,自己主动化框架部署和调整往往花时间比手工測试还要多一些,这些种种问题造成自己主动化框架无法普及和推广。

       无论前途有多么险恶,道路多么曲折。

引来无数高手和英雄共同模式和开展。建立适合自己公司的自己主动化框架。在众多比較成功的经典的自己主动化框架面前。我们惊叹人类无穷无尽的智慧和毅力。

       在这些成功的自己主动化框架面前(第6讲会具体介绍经典的企业级自己主动化框架)。这些专家已经攻克了智能手机80%以上的測试用例。虽然技术上已经解决。可是推广运用自己主动化取代人工非常多公司转化測试用例不到30%(原因会在兴许讲座剖析)。基本上做到的由:基本功能、菜单遍历、压力、性能、可靠性、并发測试、随机測试等。

        这里分享一个用自己主动化測试代替人工的设想:

如果6个组。每一个组5个人。每一个组不同项目,每一个项目得进行两个全面測试版本号和三个回归測试版本号。一个全面測试版本号得7个工作日,一个回归測试版本号5个工作日。

       1.版本号測试前每一个组必须得做预測试(开发自測也算)

       2.每一个组的全面測试版本号(前两个)必须得做压力測试:比方app压力、通话压力

       3.每一个组会測试出许很多多概率性问题(包含待跟踪)。无法在本次版本号中复现(操作次数大于30次才可能复现)

       4.每一个组无法每天晚上或者每一个周末都加班

       5.忘记抓log和找不到开发想要的路径和信息

        总结:自己主动化測试的长处是把每天须要反复劳动的操作变成机器自己主动执行。把測试员从繁重劳动中解脱出来,去做一些经验性操作和复杂操作。

        这次技术分享就到这里,请随时关注下一篇:android自己主动化測试预备知识---基于控件核心技术探讨。

附:

      金阳光自己主动化资料+视频:
     1.官网:http://www.goldensunshine.cc/
     2.关注我新浪微博:金阳光woody
     3.百度搜:金阳光 測试,找到金阳光老师视频
     4.很多其它最新视频在qq群:212260449更新

     5.资料csdn博客:http://blog.csdn.net/haorenmin2008

     6.金阳光微信公众账号:搜索金阳光自己主动化

 

 


推荐阅读
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 360SRC安全应急响应:从漏洞提交到修复的全过程
    本文详细介绍了360SRC平台处理一起关键安全事件的过程,涵盖从漏洞提交、验证、排查到最终修复的各个环节。通过这一案例,展示了360在安全应急响应方面的专业能力和严谨态度。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了Java编程语言中的核心概念和常见面试问题,包括集合类、数据结构、线程处理、Java虚拟机(JVM)、HTTP协议以及Git操作等方面的内容。通过深入分析每个主题,帮助读者更好地理解Java的关键特性和最佳实践。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 在维护公司项目时,发现按下手机的某个物理按键后会激活相应的服务,并在屏幕上模拟点击特定坐标点。本文详细介绍了如何使用ADB Shell Input命令来模拟各种输入事件,包括滑动、按键和点击等。 ... [详细]
  • Hadoop入门与核心组件详解
    本文详细介绍了Hadoop的基础知识及其核心组件,包括HDFS、MapReduce和YARN。通过本文,读者可以全面了解Hadoop的生态系统及应用场景。 ... [详细]
  • 探讨如何通过编程技术实现100个并发连接,解决线程创建顺序问题,并提供高效的并发测试方案。 ... [详细]
  • Explore a common issue encountered when implementing an OAuth 1.0a API, specifically the inability to encode null objects and how to resolve it. ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 深入理解Cookie与Session会话管理
    本文详细介绍了如何通过HTTP响应和请求处理浏览器的Cookie信息,以及如何创建、设置和管理Cookie。同时探讨了会话跟踪技术中的Session机制,解释其原理及应用场景。 ... [详细]
  • 数据库内核开发入门 | 搭建研发环境的初步指南
    本课程将带你从零开始,逐步掌握数据库内核开发的基础知识和实践技能,重点介绍如何搭建OceanBase的开发环境。 ... [详细]
  • 网络攻防实战:从HTTP到HTTPS的演变
    本文通过一系列日记记录了从发现漏洞到逐步加强安全措施的过程,探讨了如何应对网络攻击并最终实现全面的安全防护。 ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • RecyclerView初步学习(一)
    RecyclerView初步学习(一)ReCyclerView提供了一种插件式的编程模式,除了提供ViewHolder缓存模式,还可以自定义动画,分割符,布局样式,相比于传统的ListVi ... [详细]
author-avatar
快乐皇妃800
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有