在今天的博文中,博主希望给大家分享一本博主同事黄勇的最新利作:《移动App测试的22条军规》。黄勇是ThoughtWorks资深敏捷QA和咨询师。对于我来说,和黄勇在一起的工作的这个项目,是我至今所一直怀念的那种少有的项目。黄勇在团队中以资深QA的团队协调能力和专业技能,不仅保障了项目的交付质量,同时也能很好的协调从客户到开发中的各个环节。
移动互联网的兴起
在当今世界,移动互联网已经兴起了,它距离我们大家,已经不再那么遥远了,已经开始慢慢的融入了我们的生活之中。特别在最近两年,BAT这等巨头在移动互联网的扩张和斗争层起不穷,微信和支付宝的市场之战,滴滴、快滴、Uber的快速崛起,我们的生活也被些日星月异的移动App所改变。
特别在今年笔者的感触比较深,笔者维护着国内Angular中文社区群。某一天,作为日常惯例上线QQ群,为大家解决一些技术问题。当我帮助某某同学解决完他的问题的时候,突然,他向我发起私聊窗口,问笔者要支付宝账号,希望给笔者支付宝红包来感谢笔者的帮助。不禁的深叹:我们的消费观念已经改变了,我们开始选择了移动互联网,开始接受了网上消费。到这里这件事还没有完成,随后笔者将此感触消息发到了自己朋友圈。在满是“赞”的同时,笔者也陆续收到总共32元人民币的红包,都是为了感谢笔者“双狼说”的文章或者是平时的技术帮助。再次不禁的感慨万千:移动互联网已经来到了我们的身边,并且也在改变着我们的生活!
《这是一个属于移动App开发者的时代》
下面是摘自同事《移动App测试的22条军规》中:来自Testin云测 联合创始人、CEO 王军的书序《这是一个属于移动App开发者的时代》:
一年前,当我陪同Google董事会主席施密特先生在中关村海龙市场考察时,面对蓬勃发展的移动互联网和不确定的未来格局,施密特说到“移动App开发者将是未来的核心”。回想移动互联网的发展不过只有几年的历史,但以移动App为核心的创新正在影响着我们的现在,并且改变人类的未来。
人们的吃、喝、购物、旅游、用车、医疗健康的方方面面,我们花的每一分钱,可能都会跟移动App有关。虽然现阶段移动互联网和传统经济仅仅结合更于紧密的是移动游戏、电商、O2O,但随着技术的进步、创业者的创新,移动互联网与传统经济的接触将更为紧密,可穿戴、医疗、支付或者是所有的钱包。人类经济发展到现在位置,GDP或者是实体经济,是围绕着过去的现金和信用卡而支撑的体系,如果现金、信用卡被移动App颠覆了,我们所有的一切未来只是一个ID,只是手机上一个App,那这个信托责任是多么的巨大。伴随着传统互联网的发展,过去几十年在传统的IT建设上投资的钱,已经不是千万美金、数亿美金来算,是一个庞大的固定资产,而APP开发者三年前可能还是一个屌丝,就是无业的,或者是刚进校门的,可能几年之后就成长为一个承担人们数亿、数十亿资产管理的平台。作为软件,App不存在bug是不可能的,开发者的责任就是要在App发布前竭尽所能进行全面的测试,发现App是否存在隐患,判断支付的时候会不会崩溃,确保用户体验至少是可以接受的,还有没有让用户使用不爽的地方,这是App开发者必须承担的责任。
历史上第一个”Bug”诞生至今已有70年,期间经历了第三次工业革命、信息革命。现在,移动互联网已经无所不在。软件测试的重要性随着信息技术的发展,越来越被人们重视。功能测试、性能测试、压力测试、安全测试、用户体验测试,许多的专业词汇涌现出来。
测试在云端?移动App爆发所带来的碎片化困扰着开发者,于是我们在2011年创立了专门向移动App开发者提供云测试和质量管理的服务平台Testin云测,把传统的测试从本地搬到了云端。开发者在App中集成专用的测试SDK,一旦用户使用App时发生崩溃。SDK会把崩溃的堆栈信息,App版本等信息上报到云端。堆栈信息能够定位到出现崩溃的文件、类名、函数名、代码行,开发者在云端根据崩溃的堆栈信息能够快速定位并修复问题。
移动App测试的重要性?移动互联网的产品讲究的快,产品开发也是快速迭代的模式。我们很难像传统测试那样花费半年或者几个月的时间去测试整个系统。那云端测试恰好就帮助我们在既保证产品快速发布的情况下,又能够把控好产品的质量。开发者可以在完成基础的测试工作后将产品发布市场,一方面通过市场完善产品的能力;一方面在用户使用的过程中收集并修复产品的Bug,类如微信就经常进行灰度发布。
移动App测试的难度?云端测试一直以来存在几个难题:1、各类App或游戏的开发语言不统一,收集用户的崩溃信息较难;1、上报的堆栈信息因混淆或者语言本身因数,内容辨识度较低,很难定位问题;3、信息量太大,没有很好的去重。经过多年发展,崩溃分析用户性能管理能够跨平台支撑Cocos2d-x、Unity3d引擎,Java、C、C++、Objective-C、JavaScript、Lua、C#等不同编程语言。崩溃的堆栈信息更是通过符号化能力,清晰地将不可读的内容符号为出现崩溃的文件、类名、函数名、代码行。同一崩溃的去重是提高开发者工作效率的重要因素,通过对不同崩溃堆栈直接函数的调用关系判断及每日过亿条崩溃数据的分析。崩溃分析SDK不断总结、优化自身的去重算法。举个例子,一个崩溃可能在1万个用户终端出现过。云端可以判断出是同一块代码导致的,这种场景在传统测试中很难去分析。
如今,移动App的开发者越来越多,开发工具、引擎的发展迭代也在加快,App开发极为快速,而成本却在逐步降低。但移动App作为软件,传统的软件工程测试方法与质量体系,在飞速增长的移动App开发模式和生态体系中很难有效地发挥作用,《移动App测试的22条军规》的实战建议实用、简明、有效,将帮助开发者在激烈竞争的环境下能够脱颖而出,能更好地创新并快速发展。
《移动App测试的22条军规》
本书的在线购买或试读地址为:http://item.m.jd.com/ware/view.action?wareId=11730286&from=timeline&isappinstalled=0