在今天的博文中,博主希望给大家分享一本博主同事黄勇的最新利作:《移动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
推荐书籍 -《移动App测试的22条军规》的更多相关文章
-
SaaS公司融资的「22条军规 」(转)
编者按:本文是SaaS教父Jason Lemkin的一篇分享.他在文章中分享了他不投资一家公司的22条理由,希望对打算融资和正在融资的你有所启发. 为何有的早期创业公司能成功融资,而有的公司融资却屡遭 ...
-
《第22条军规》Catch-22
也许我们能注意到,英语里“军规”和“圈套”是同一个词. <第二十二条军规>是约瑟夫·海勒的代表作,小说以第二次世界大战期间驻扎在皮亚诺扎岛上的一支美国飞行队为背景,描写飞行员约瑟连(YOY ...
-
APP界面设计之页面布局的22条基本原则
移动 APP 页面布局(Layout)是我们设计 app 界面的时候,最主要的设计任务.一个 app 的好与不好,很大部分取决于移动 APP 页面布局的合理性. 下图为 APP 最原始的布局模型. 页 ...
-
摘抄——读《大话移动APP测试 Android与IOS》
用了两天读完了<大话移动APP测试 Android与IOS>,由于刚开始接触移动测试,技术型的篇章只能先放过了o(╯□╰)o,有以下内容觉得很有必要时不时的看看,来反思自己的工作,自勉!! ...
-
《大话移动APP测试:Android与iOS应用测试指南》
<大话移动app测试:android与ios应用测试指南> 基本信息 作者: 陈晔 出版社:清华大学出版社 ISBN:9787302368793 上架时间:2014-7-7 出版日期:20 ...
-
App测试
(1)App独特测试点: 客户端兼容性测试:系统版本.不同深度定制的rom.屏幕分辨率.中断测试.安装.卸载.升级.对其他程序的干扰等 需要的一些工具: appnium / lr / jmeter ...
-
APP测试流程
1 APP测试基本流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间.正式测试前先向 ...
-
APP测试 - android os6,7 新增特性测试
背景 android os6,7推出后,公司的APP在市场上面反映的一些问题.初始方案在7月份已经整了一份,但是邮件发出大部分同学都看不到,这里在博客里面整理后再在部门内邮件发出来. android ...
-
App测试全(转自鲁德)
1.App测试流程 1.1流程图 1.2测试周期 测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间. 1.3测试资源 ...
随机推荐
-
邻接表的广度优先遍历(java版)
到 0 的权是 91 到 2 的权是 31 到 3 的权是 61 到 4 的权是 7 2 到 0 的权是 22 到 3 的权是 5 3 到 0 的权是 33 到 4 的权是 1 4 到 2 的权是 2 ...
-
01 Linux入门介绍
一.Linux 初步介绍 Linux的优点 免费的,开源的 支持多线程,多用户 安全性好 对内存和文件管理优越 系统稳定 消耗资源少 Linux的缺点 操作相对困难 一些专业软件以及游戏支持度不足 L ...
-
[MySQL] 常用SQL的优化--18.4
这里介绍下,Insert.Group By等SQL语句的优化方法: 1.大批量数据插入 当load命令导入数据的时候,可以进行适当的设置提高导入速度. 1.1 对于MyISAM表,可以先禁用非唯一索引 ...
-
《Genesis-3D开源游戏引擎--横版格斗游戏制作教程07:UI》
概述: UI即User Interface(用户界面)的简称.UI设计是指对软件的燃机交互.操作逻辑.界面美观的整体设计.好的UI设计不仅可以让游戏变得更有品位,更吸引玩家,还能充分体现开发者对游戏整 ...
-
17.1.1.6 Creating a Data Snapshot Using Raw Data Files 创建一个数据快照使用 Raw Data Files
17.1.1.6 Creating a Data Snapshot Using Raw Data Files 创建一个数据快照使用 Raw Data Files 如果数据库是大的, 复制raw 数据文 ...
-
一个js爬虫
1. 第一个demo 2. configs详解——之成员 3. configs详解——之field 4. configs详解——之site, page和console 5. configs详解——之回 ...
-
POJ 1995 Raising Modulo Numbers
快速幂取模 #include<cstdio> int mod_exp(int a, int b, int c) { int res, t; res = % c; t = a % c; wh ...
-
QWT与QT Designer
QWT是一套非常不错的开发库,它能结合QT开发,做出非常好的曲线,刻度,表盘等效果来. qwt的下载以及动态链接库的编译等这里就不做介绍了.在源码目录下可以找到designer目录,其中有插件的源码 ...
-
c++11 改进设计模式 Singleton模式
关于学习 <深入应用c++11>的代码笔记: c++11之前是这么实现的 template<typename T> class Singleton{ public: stati ...
-
linux centos7最小化安装桥接模式网络设置、xshell、xftf
一.网络连接设置1.桥接模式 使用电脑真实网卡,可以和自己的电脑连接,也可以和外部网络连接2.NAT模式 使用wmware network adapter vmnet8虚拟网卡,可以和自己的电脑连接, ...