写在前面
在今天的移动互联网时代,信息系统移动化成为企业CIO/CTO们最关心的话题之一。虽然移动化有很多路径,但相对来说,开发原生APP仍然是性能和体验最佳的一种方式。
但是,开发APP并非易事,尤其是其测试过程,常常令人崩溃。一方面,APP的版本更新速度越来越快,另一方面,APP要适配的机型越来越繁杂。每一次版本升级,开发或测试人员都要针对各种机型,做功能、性能、安全等一系列测试……
下面,就让我们一起来听,选型宝首席架构师李维良与Aella的精彩对话吧。
李维良(主持人)
在移动互联网时代,开发APP是企业信息系统移动化的重要途径。那么,一款APP的开发过程是怎样的?
王慧慧
对于身处移动互联网时代的企业来说,开发APP已经不是需不需要的问题,而是如何做得更快、更好的问题。
与开发PC软件类似,开发手机APP也要经历需求分析、原型设计、编码、测试、交付等过程。但是,二者也存在着巨大的差别,比如:手机APP的使用人数更多,需求变化更快,APP的版本升级更频繁,交付周期更短等等。因此,在APP的开发过程中,我们会面临更多的挑战。比如说,我们不可能等到市场需求全部稳定下来才去开发,也不可能等到APP全部开发完成才去测试。每次版本升级,留给我们的测试时间可能只有一两天,甚至几个小时。
因此,开发移动APP,无论对开发测试人员来说,还是对开发测试工具来说,都需要具有天生的敏捷特性。
李维良
在APP的开发过程中,测试处于什么样的地位呢?测试通常包括哪几部分?难点在哪里?
王慧慧
测试是移动应用开发的必要环节,是保证APP的正确性、完整性和安全性,提高APP质量的重要手段。
APP测试,通常要包含功能测试、性能测试(负载测试)、网络测试、安全测试等内容。在测试方式上,又分为手工测试和自动测试等。
APP测试的难点在于,我们通常要在很短的时间内,完成功能、性能、安全等全方位的测试。我们要面对Android、iOS、Windows Phone等多种手机操作系统,要适配大量的手机型号和硬件规范。而且,由于用户多,更新快,测试人员需要同时维护同一款APP的多个版本。
李维良
与传统的APP测试方式相比,Mobile Center带来了哪些新的变化?
王慧慧
我先给大家讲一个从客户那里看到的真实场景。这个客户为了做手机APP的兼容性测试,特意找了一间机房,然后买了非常多的移动设备,放在里面。测试时,工程师们需要在每一部手机上安装同一款APP,还没等全部装完,第二天,新的APP版本又来了……
如果使用Mobile Center,再结合UFT这样的自动化工具进行测试,情况就会大为不同。在Mobile Center上,我们只需要指定一款APP,指定单一的测试脚本,再指定要测试的移动设备,无论这些设备是多是少,是真实手机还是模拟器,所有分发和测试工作都可以自动完成。
根据我们一个用户的统计数据,使用Mobile Center后,可以将APP的测试时间,从原来的4天缩短到2个小时,这是一个非常大的飞跃。
这只是自动化功能测试的一个例子,实际上,Mobile Center在性能测试、安全测试、网络测试等多个方面,都能为用户带来助益。
李维良
Mobile Center支持哪些手机操作系统?可以连接哪些机型?
王慧慧
除了支持Android和iOS,Mobile Center也支持微软的Windows Phone,基本涵盖了目前所有主流的手机操作系统。
Mobile Center除了可以连接大量的真实手机,也可以管理手机模拟器,从而做到了对移动设备的真正集成。
李维良
Mobile Center的技术架构和安装部署方式是怎样的?
王慧慧
Mobile Center的技术架构简单而灵活,安装部署也非常容易。
Mobile Center软件可以安装在一台Windows或Linux操作系统的计算机上,做为单一的Web服务器。各种真实的移动设备,既可以通过USB Hub,连接在服务器上,也可以通过“连接器”软件,挂接在客户端或专门的计算机上。通过连接AWS的Amazon Device Farm,我们还可以使用公有云上的移动设备。通过这种灵活的分布式架构,我们理论上可以连接无数个移动设备。
客户端通过WebSocket与服务器进行连接,并借助UFT、LoadRunner、Sprinter、BPM、LeanFT等工具,完成APP的各类测试。
李维良
请您为大家介绍一下,Mobile Center是如何实现功能测试的?
王慧慧
功能测试包括自动测试、手工测试等几种方式。通过Mobile Center与UFT的集成,我们可以快速高效地完成APP的自动化功能测试。使用UFT,我们可以将APP的操作过程录制下来,并形成一个测试脚本。这个脚本可以通过Mobile Center,自动分发到需要测试的设备上面,并自动完成测试。如果APP的版本改变了,我们只需要重新录制一次,或对录好的脚本做少量修改,就可以快速完成新一轮测试。
Mobile Center还可以和Sprinter集成,实现APP的手工测试。与传统的手工测试相比,这种新的手工测试可以将测试人员的每一个动作自动记录下来,并生成解释性的文档,供自己或其他技术人员参考。这样一来,原本不透明的手工测试,就变成了一个可管理、可追踪的测试过程。
另外,Mobile Center还可以连接Ubertesters这样的众测平台,分发众测任务,并收集测试结果。公司内部的测试人员毕竟是有限的,而众测则可以借助更广泛的人群,实现更真实的手工测试。
李维良
那么,在Mobile Center上,怎样实现性能测试呢?
王慧慧
Mobile Center可以和LoadRunner集成,实现高效的性能测试。做为一款经典的测试工具,LoadRunner可以通过协议仿真的方式,模拟高并发的使用情况。在LoadRunner与Mobile Center集成之后,测试人员可以进一步看到APP在真实机型上的性能表现,并获得详细的测试报告。
李维良
APP的安全性,是大家非常关心的问题。在这方面,Mobile Center能为我们带来哪些帮助?
王慧慧
移动应用安全是一个非常广泛的话题,而Mobile Center则专注于代码安全。在这里,我有一个好消息告诉大家,那就是:Mobile Center的客户,可以免费获赠我们的Fortify软件。
Fortify是市场占有率第一的代码安全扫描工具,它可以扫描分析代码的安全漏洞,并按漏洞的危险程度排序,再生成安全报告。通过自动更新扫描引擎和规则库,Fortify可以应对最新的、针对APP的安全威胁。
李维良
Mobile Center的开放性如何?能否与第三方的测试工具集成?
王慧慧
Mobile Center致力于打造一个完全开放的移动应用测试生态圈。比如,现在非常流行的开源测试框架Appium,就可以和Mobile Center无缝地集成在一起。Appium的脚本,可以不加修改地在Mobile Center上运行。
通过Mobile Center的扩展服务,用户可以使用安全扫描、情感分析、众测、AppPulse、App X-Ray等多种功能。通过REST API,用户还可以进行个性化开发。
李维良
通过Mobile Center,用户能否实现网络测试呢?
王慧慧
手机的移动特性,使我们经常面临非常复杂的网络环境。据统计,APP的相应时间,超过70%是消耗在网络通信上。因此,Mobile Center为APP的网络测试提供了强大的支持。
通过网络虚拟化(Networking Virtualization NV)模块,Mobile Center可以模拟真实世界的各种网络情况,包括传输延迟和数据包丢失等,从而为APP的网络测试提供支持。Mobile Center还可以通过某种方式,将真实世界的网络情况记录下来,并在需要时回放和模拟。
李维良
与市场上同类的测试工具或云测平台相比,Mobile Center有哪些创新和优势?
王慧慧
Mobile Center不是凭空而来的一个产品,它是HPE在软件测试领域多年耕耘和积累之后的必然产物。HPE在功能测试、性能测试、安全测试等方面,都有成熟的技术和产品,它们可以和Mobile Center无缝集成,共同为APP测试提供强大的支持。
Mobile Center的另一个优势,是它覆盖了移动应用开发的整个生命周期。从APP上线之前的功能测试、性能测试、安全测试和网络模拟,一直到上线之后的性能监控和体验分析, Mobile Center都能提供强有力的支持。
Mobile Center是移动互联网时代的新型测试工具,虽然它有独特的工作方式,但不应该游离于IT质量管理、软件质量控制这一大的框架之外,而HPE的产品和解决方案,则可以为这一框架提供完整和全面的支持。
李维良
谢谢Aella的分享!
原文地址:https://blog.51cto.com/14440256/2423601