有些事,做错后的代价是高昂的,何不测试一下先?

来源:互联网 发布:网络语木的意思 编辑:程序博客网 时间:2024/05/17 07:36

  Testin 2.0所交付的,是一个具备深度学习能力的大数据挖掘系统,该系统可以通过测试流程,自动记录Bug的分布情况,并能对测试流程进行管理。

  Testin CEO王军说,测试本身分为两个过程:发现问题和杜绝错误。听到这句话时,笔者的第一感觉是,测试很重要。

  而事实也是如此。

  应用程序产生测试需求,是从软件被引入NASA航天飞机研究开始的。在这之前,软件仅在某些专业行业小范围应用。而自从被应用到航天领域后,软件才开始被人们看作是一项“工程”,这种变化导致的最直接结果是,人们觉得应该找到一些工具和方法来规避软件可能出现的错误,因为对于航空航天领域来说,错误的代价是高昂的。

  Testin简史

  既然测试很重要,Testin作为关注应用测试的公司,又是如何做好测试这件事的呢?

  Testin还没有成立前,王军在一家公司做测试工作,每天早上9点到晚上10点都要做一件事情——在每个测试终端上把一个应用程序重复几百遍地运行,并得出测试结果交付给客户。



Testin CEO王军



  2008年,SaaS模式大行其道,这也意味着软件测试可以正式作为一项服务交付给客户,Testin也是从这个时间点开始了创业历程。

  2011年,Testin做了一件事情,就是通过各种途径收集来各种各样的手机,目的是为了帮助开发者省去测试设备购买的成本。那时,客户选择Testin的服务,仅是因为Testin拥有更多的测试设备。

  2013年,Testin的在线自动化真机实验室在市场上获得了巨大成功,而同时Testin也意识到,不能只从测试本身解决用户交付兼容性的问题。

  “从此Testin不光关注整体移动终端的测试,也开始着手尝试与芯片架构企业的沟通,比如同ARM、英特尔等公司的合作。后来,又发现仅解决芯片的接口性能问题还不够,还必须同操作系统企业沟通,于是Testin又开始同谷歌、苹果、微软进行密切频繁的沟通和交流,这些交流使得Testin的测试架构可以保持与各大操作系统版本的演进节奏同步。”王军如是说。

  在这一过程中,Testin也获得了更多、更强大的合作伙伴的支持,比如联想。

  “Testin和联想合作成立了在线自动化测试平台,联想的明星机K900的测试就是在这个平台上进行的,K900上市后引起了不小的轰动,在电影《北京遇上西雅图》中,汤唯在帝国大厦的顶楼上就是用这款手机玩自拍。”王军说。

  同时,越来越多的游戏开发商也开始关注Testin,因为Testin同软件、操作系统引擎的深度合作,使得游戏开发厂商能够在第一时间接触到最新的系统版本,由此能够更早地发现游戏产品在最新版本操作系统中的运行问题。

  当然,Testin也希望通过对新兴技术的快速响应,去引领移动互联网服务潮流。

  前不久,Testin、ARM和大朋VR联合建立了一个移动VR云测试中心。因为王军预感到,软件测试已经不再局限于移动终端层面,衣服、鞋、床、车,甚至马桶,在未来都可能会成为智能装备,这让Testin有机会帮助开发者节省更多的时间、资源去解决测试问题。

  “1.0”是起点

  在2.0版本发布前,毫无疑问Testin取得的成绩理所当然归功于1.0版本。但应用程序的用户、开发者,乃至整个移动互联网市场的需求变化,会推动测试生态持续演进。所以,虽然1.0版本功勋卓著,却仍存在优化与改进的空间。

  在1.0版本的运营时期,Testin发现了一些问题。

  第一个问题,Testin发现,在国内任何一个应用程序开发团队在测试环节都未实现足够的移动终端机型覆盖。覆盖问题在2013年以前并不重要,因为2013年以前被用户在手机上重度使用的应用程序并不多。而后来,应用程序的数量大幅增加,用户获得应用程序的成本却变得更低,这导致用户迁移到另一个应用程序的成本也不断降低。如果一款应用程序在用户的手机上出现哪怕非常细微的体验问题,都会很轻易地被用户删除,而测试终端的覆盖是保证体验的关键。

  第二个问题,异常测试环境复杂且构建困难。Testin曾经遇到一家综合了银行、保险、证券业务的金融行业客户,该客户提出的测试要求是,在北京火车站等十几个地标建筑物的3楼以上大堂、地下室,以及高铁和地铁内完成应用程序的测试。对于客户来说,提出这样的测试要求是很合理的,因为该客户的业务需要保证应用程序的稳定性,但要构建出上述测试环境的困难可想而知。

  第三个问题,有的应用程序缺陷是隐形的,只有在特定使用环境下才能出现。

  第四个问题,应用程序代码行数越来越多,导致测试工作负担加重。

  第五个问题,应用程序各项指标的要求在不断提升。

  第六个问题,应用程序出现崩溃、闪退和意外后,测试需要帮助救援,这也是Testin的工作目标之一。

  上述问题在2.0版本中能够被解决么?

  测试要“一站式+智能”

  Testin 2.0所交付的,是一个具备深度学习能力的大数据挖掘系统,该系统可以通过测试流程,自动记录Bug的分布情况,并能对测试流程进行管理。

  “我们正致力于让所有App的测试需求在Testin都能被‘一站式’地得到满足。”王军如是说。而所谓一站式测试服务,就是指Testin能够帮助开发者在应用程序整个生命周期中,包括需求跟踪、静态测试、动态测试、测试管理、团队协作、Bug管理与分析,以及最后的Bug跟踪和救援的机制等阶段整体化地完成测试工作。

  比如,在应用程序开发内测阶段,2.0版本实现了两件事。一是构建了一个可跨安卓和iOS的内测分发平台,二是实现用户可针对某一款机型进行远程调试和测试。

  而在内测时期,主要完成对应用程序功能、性能和兼容性的测试,当这些测试完成后,应用程序就会被发布。在应用程序发布以后,用户仍旧需要判断“空难”是不是真的会发生。并且,如果“空难”发生,还要实现快速定位Bug位置,以及尽快实施救援——修改Bug和发布最新版本更新。

  更重要的是,Testin 2.0从某种意义上来看是一个能够深度学习的智能大数据挖掘系统,帮助用户全面承担应用程序质量管理工作。比如,Testin的智能缺陷管理平台在测试的过程中,可以自动地记录Bug的缺陷分布,以及Bug处理的流程管理。

专注企业级报道,影响信息化决策。中国计算机报关注IT行业技术和应用,聚焦新市场、新模式、新应用。欢迎关注中国计算机报微信,或是作者微信号,让我们一起畅谈产业巨变!

原创粉丝点击