为何开发与测试老掐架?
在现实中,很多测试团队和开发团队的关系扑所迷离,因为种种原因,测试与开发常常互撕掐架,但到最后他们谁也离不开谁,这种相爱相杀的关系持续至今,至于其中的原因,开发与测试本身也说不清道不全。下面列举一些常见的现象。
情景一
测试:开发开发,程序又崩溃了,你来看看!
开发过来,漫不经心地点了几下,答道:没有什么问题啊,你操作的问题吧?
测试:不会的,你看,我是这样,那样…..操作的。
开发:重现不了啊,你想办法重现,重现了再叫我,我事有点多。
测试:……
测试员通常由于无法复现崩溃现场,导致发生崩溃问题后,不能引起开发的重视,往往被一带而过。那么产品上线后,程序崩溃一旦发生于用户身上,就没有机会再给你去对用户说:你操作有问题。
那么来找到我们做测试的一部分用户,就是看重我们能够在崩溃分析中较为轻松地为他复现崩溃现场,这样在与开发沟通以及对于崩溃问题的修复上都能有非常大的帮助,也就大大避免了情景一种无奈的对话发生。
情景二
测试:谁把我的测试手机拿走了?
开发:在这儿,我这边需要用一下!
测试:我们现在也急着要用啊,你们需要就去申请一个嘛,别老来占我们的设备。
开发:在等等,马上就好了,别着急。
测试:……
不知道看官们有没有这样的共鸣——公司极度缺乏手机资源。但是想必大家都明白,在APP的开发、迭代测试过程中,手机资源是非常重要的,而又由于成本的考量,“没有手机”已经成为很多移动互联网企业最大的障碍。这样的话,自然在开发、测试过程中存在大量的阻碍与矛盾。
那么要解决这样的矛盾冲突,势必不能期望企业自发地去购置手机来弥补资源的匮乏,这种情况下,求助于手机资源充足的测试第三方便成为了一个必经之路。这样一来,在极大地节省购机成本下,也能保证开发与测试工作的顺利进行,这方面的矛盾自然而然能够化解。
情景三
开发:测试,我们代码写完了,你们赶紧拿去测。
测试A:…….
测试B:这每次就这么丢给我们测,也是醉了。
测试C:没办法,发布计划里从不给我们预留测试时间,只有加班赶工咯!
测试A、B:……..
这种情况,估计各位已经见怪不怪了。不必多言,一般企业没有谁喜欢自己的产品推迟上线,那么投入在开发环节的精力与资源肯定是测试望尘莫及的,但产品的质量却又是其在市场立足的基础,将测试时间压缩甚至是去除,无疑是把产品推向死亡,这种不可调和性也正是测试与开发间矛盾的引发点。
那么要解决时间分配问题,笔者认为由于企业各种成本的考量,测试这一环节始终无法被分配大量的资源,既要满足上线时间,又要保证产品质量,寻求优质的第三方测试服务依旧是一条很好的出路,企业只需要把精力放在产品的研发进度上,主要的测试流程便可以放心交给第三方,测试员只需要进行一些必要的人工测试,最终兼具效率与质量,测试与开发间的矛盾也能够由此化解。
正如温伯格技术思想三部曲中《颠覆完美软件:测试必须知道的几件事》所说:没有完美的软件,光靠开发或者测试都不可能铸就一款优质的产品。其实,笔者认为开发和测试拥有共同的目的:生产高质量软件。具体说,每一个产品、项目、版本都有明确的目标,这些目标是属于开发和测试的,是大家的。我们把共同的目标牢记在心,摆在首位,我们还要想着别人所做的一切,都是针对软件本身,都是在为目标而努力,在一些难以调和的方面,大可以交给优质第三方来帮助你们解决,这样开发与测试各行其职,就容易从当下的泥沼中超脱出来,求同存异共同前进。
国内移动测试服务有很多:
TestBird:基于全球首创的对象识别技术,TestBird可以为客户提供深入到移动App&游戏内部所有功能的深度解析能力。TestBird建立了云手机、云测试和云分析三大测试平台,通过自助App功能测试、远程真机调试、真机兼容性测试、真人体验测试、 真人压力测试和崩溃分析等产品,为移动应用提供从研发到上线再到运营的一站式质量管理服务,帮助移动应用企业建立完善的质量管理体系,全面提高移动应用的DAU、留存率以及付费情况。
百度MTC:百度移动云测试中心,支持Robotium脚本,提供兼容测试、性能测试、遍历测试、安全漏洞扫描。另外它也提供一个众测功能。
腾讯bita:由腾讯推出的真机自动化测试服务,主要面向Android开发者。官方号称有1000+台设备供测试。能够进行测试应用的自动登录,并进行兼容测试、遍历测试、性能测试、功能测试、稳定性测试。
阿里MQC:全称为阿里移动质量中心,是阿里巴巴淘测试下的一个产品。支持Robotium框架编写的脚本对应用进行测试。它一个比较有特色的地方是支持HTML5的真机测试,开发者可提交一个URL,以检测页面在不同设备的上的渲染和性能问题。