欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~
本文由腾讯移动品质中心TMQ发表于云+社区专栏
背景
随着移动设备和系统的碎片化程度越来越高以及复杂的移动网络情况, 兼容性测试以及远程真机测试的重要性越来越突出。根据远程测试机/人员与开发者间的合作方式,可以分为以下几种服务:云测试服务、内测服务以及众测服务,相应的平台支持如下图。
云测试平台
云测试平台提供了远程租用真机的服务,通常是利用自动化框架来实现真机上的脚本自动化运行,或远程租用真机人工测试,或真人真机测试。由于Android端设备的种类众多,云测试服务在Android端应用广泛。国内外都提供了多种云测试平台。
1、Pefecto
Pefecto将真实移动设备放到cloud端 , 并提供通过web/Eclipse插件的形式进行访问与测试。同时,Pefecto开放了基于selenium的第三方API:MobileDriver,支持自动化测试人员通过Eclipse访问Perfecto上的真机设备,通过MobileDriver远程识别与调用被测应用,快速实现自动化,并与 RQM结合实现对devops的支持。测试脚本可以跨平台(Android/iOS/Blackberry...)执行。
2、LessPainful
LessPainful提供了一个多设备平台自动化测试的服务。用户上传应用(*.apk)和用Cucumber编写的测试文件,选择测试运行需要的设备配置,最后测试将自动执行并生成测试报告。它支持的设备包括Garmin Asus,几款HTC,LG,Samsung Galaxy,Sony Xperia和Motorola Motodefy。
3、TestDroid
Testdroid是由Bitbar公司推出的手机应用测试的云端服务。TestDroid云端提供了200多种机型,你可以选择你需要的测试机型进行适配测试。 通过Testdriod的测试,还能收集CPU运转以及内存使用情况,从而帮助工程师们提高应用的表现性能,和以防内存被过多占用。此外,用户还可以选择测试机型的语言测试环境,避免由于跨语言导致的潜在漏洞。Testdriod还有一项app爬虫功能,类似于网页爬虫,对你的应用高频次地查看并同时进行图像输出,来模拟真实的浏览过程。TestDroid应用了Robotium /MonkeyRunner生成系列工具,但需要有被测应用的源代码。
4、Testin
Testin云测试平台是一个基于真实终端设备环境,基于自动化测试技术的7x24云端服务。Testin在云端部署了300多款1000多部测试终端,并开放这些智能终端给全球移动开发者进行测试,开发者只需在Testin平台提交自己的App应用,选择需要测试的网络、机型,便可进行在线的自动化测试,无须人工干预,自动输出含错误、报警等测试日志、UI截图、内存/CPU/启动时间等在内的标准测试报告。支持Android与iOS,业务较为全面。
5、百度MTC
MTC是百度云面向移动和web开发者提供的服务,能够满足一般的测试需求,包括当前的热门机型,还支持云端客户端回放。它还提供一个云众测服务,就是开放者上传App,百度提供给用户下载测试,然后将反馈收集返回给开发者。
6、腾讯优测
腾讯优测试专业化的移动云测试平台,为广大开发者提供移动应用一站式测试服务与解决方案。提供缺陷分析、应用测试、云手机等主要功能,用户通过平台上传安装包,就可进行全面的兼容性和性能测试,还并可以在线使用多台云端真机,满足更多开发和测试需要。腾讯优测真机实验室目前已配备上千款手机,覆盖市面98%主流机型,7*24小时在线运行,覆盖亿级用户。构建的数万个适配问题特征库,可以快速准确定位问题。
7、阿里MQC
MQC是阿里移动质量中心推出的真机测试服务的云平台,拥有大量热门机型,提供7x24全天候服务。MQC可以涵盖Android、iOS、YunOS、H5等不同的平台体系,主要服务阿里系和阿里内部如手淘、天猫、聚划算、支付宝等App。
8、易测云
易测云由国内知名软件公司东软出品,是一个专业为移动APP产品提供适配测试、性能测试、遍历测试、功能测试等多种服务的真机自动化云测试平台,主要为所有移动APP产品的开发者和测试者、以及需要定制化服务的企业级用户,提供安全、专业、高效、易用的自动化云测试服务;强大的录制脚本插件;详细实用的测试报告;以及简单人性化的操作体验。
关于云测试平台对比分析的文章已经很多,这里不作赘述。
众测平台
众测的目的是利用大众的测试能力和测试资源,在短时间内完成大工作量的产品体验,第一时间将体验结果反馈至平台,再由平台管理人员将信息搜集,交给开发人员;同时是从最前端用户拿到的第一手信息,就能从用户角度出发,改善产品质量。
1、uTest
uTest是一家来自以色列的创业公司,该公司主要的业务是通过自己构建的一个全球测试员网络为开发人员和技术公司提供软件测试以帮助这些开发人员更好的找到并解决软件中的问题。拥有来自200多个地域国家超过15万专业测试人员。根据测试人员数量的不同,收费也各异,最低499美元,最高可达1999美元。uTest提供了uTest课堂提供了专业软件测试者授权课程的学习使用方法,还提供了工具平台供测试人员提交测试工具或对已有工具评分。总之,uTest给专业测试人员提供了一个社区的氛围。很多大公司都在使用uTest的服务,包括谷歌、微软、Groupon、AOL和BBC等。要想参与uTest测试任务,需要注册并提供详细的测试环境,比如测试机型、测试工作经验、软硬件环境等信息,便于uTest高效分配任务。
2、腾讯tesly
腾讯众测是腾讯公司开发的一款基于众包概念的平台。支持应用、游戏、H5混合应用等。
多种产品形态,具有Bug探索、产品调研、数据收集和产品评测四种业务模式。
3、百度众测
http://test.baidu.com.cn/crowdtest
百度众测也是众包模式的典型应用,它将企业产品的相关测试工作交由网络社区大众来完成。百度众测是百度公司开发的众包在软件和产品测试上面的延伸。百度众测“隶属”百度质量部,是一个使广大的互联网用户能够第一时间体验到百度的新产品,从用户体验的角度出发,对百度的新产品提出改进建议,以及各种bug反馈,以便于百度公司及时地改善产品质量。目前,百度众测包括“外部用户测试平台”,“内部员工测试平台”和“开发者平台云众测”。注册用户达到1500万。
4、testin
为开发者提供一种完全开箱即用、按需付费的SaaS服务,不仅提供了测试规划、功能测试、兼容性测试、可用性测试、Beta测试等测试服务,开发者还可以直接使用Testin众测平台的Bug管理、用例管理、项目管理、崩溃监控等在线工具,帮助中小开发者无需招聘专业的测试团队也可以轻松将应用质量管理好。
5、乌云众测
乌云众测是另一种众测类型,是在专业性很强的领域——安全领域深入的一种众测模式,它对众测人员的专业性要求很高,俗称“白帽子”。在乌云众测,企业可在短时间内组建虚拟的安全团队,通过邀请顶尖白帽子模拟黑客对网站、系统或产品进行测试,企业可迅速排查各种安全隐患。同类型的众测公司还有漏洞盒子、Sobug白帽众测,他们是目前国内最大的三家安全众测平台。
众测平台总结:
众测平台可以分为三种类型, 一种是大众任务型, 主要利用数量来收集数据或模拟特殊情境,如不同网络环境等, 百度众测和腾讯bugly都属于这一类; 第二类是以具有专业知识的测试人员来定向完成任务的模式, 这类的代表是国外的uTest和国内的Testin;第三类是应用于对测试人员专业度要求更高的某类业务——目前主要是安全业务——的模式, 著名的乌云众测、漏洞盒子、Sobug白帽众测就是利用白帽子的“攻”的水平来实现“防”的目的的。
内测平台
内测平台允许开发者选择合适的测试人员,并允许其与测试人员进行沟通。IOS应用分发多采用这种方式,以苹果收购的TestFlight为代表。这种模式操作起来稍微繁琐,如果是iOS应用的话需要制作特殊的内测版本,获取内测设备的UDID并制作证书,并且有100人的人数限制。
1、TestFlight
https://developer.apple.com/testflight/
TestFlight提供了iOS App测试分发服务,它主要解决的是iOS应用测试分发困难问题,可向指定的人分发应用,双方需要注册TestFlight账号,以及下载TestFlight App,即可在App里测试应用。TestFlight已被苹果收购,因此其UDID证书限制人数可达到1000人。
2、HockeyApp
HockeyApp是以TestFlight的替代者的身份出现的,其集成了TestFlight的所有优点,同时增加了自己的一些亮点功能,比如支持更多的平台,服务稳定性也比TestFlight高,并且能够通过SDK方式帮助开发者获取必要的测试信息。HockeyApp被微软收购,是收费应用。
3、Fir.im
Fir.im全名Fly It Remotely ,是一个为移动开发者服务,针对应用开发内测阶段,提供应用托管分发,崩溃分析以及反馈收集等一系列帮助开发者提高开发测试效率服务的平台。它提供了开放API,开发者可以将fir.im集成到开发流程中。此外,fir.im还提供了指令工具CLI, 日志查看工具LogGuru、崩溃分析工具BugHD和网速测试等工具。Android端还提供了AndroidStudio插件,方便Android开发者上传应用。
4、蒲公英
蒲公英也提供了面向IOS和Android平台的内测托管和任务分发服务,同样提供开放API。 它提供了移动端SDK用于应用内测数据收集分析、版本更形提示、数据分析统计等多种功能。除此之外,它还提供了专家测试的选项,提供人工遍历测试,IOS审核加速等服务。并且,蒲公英提供了测试管理的平台,使得开发者在单平台上做到收集内测用户问题并得到问题分析。
5、Bugly
Bugly 是腾讯对外开放使用的移动应用崩溃检测服务,同时支持iOS和Android平台。移动开发者在自己的App中接入Bugly的SDK后,就能在应用崩溃后获得信息上报。目前还推出了内测分发服务,但还没有提供收集用户测试结果的方法。
内测平台总结:
国内的内测平台都还属于起步阶段,更多应用场景在于帮助IOS应用快速发布。
远程移动测试平台正在向综合云测、众测、内测甚至远程数据收集工具的方向发展,比如国内领先的Testin平台,在云测、众测攻占城池之后,也推出了内测平台https://pre.im/。蒲公英平台则在内测的基础之上,将bug管理融入平台。
读者互动环节
你工作中还有用到其他测试平台吗,期待你能给大家分享一下。
问答
如何并发JUnit测试?
相关阅读
Android单元测试
kafka安装与测试
性能测试知识总结
【每日课程推荐】机器学习实战!快速入门在线广告业务及CTR相应知识
此文已由作者授权腾讯云+社区发布,更多原文请点击
搜索关注公众号「云加社区」,第一时间获取技术干货,关注后回复1024 送你一份技术课程大礼包!
海量技术实践经验,尽在云加社区!