选型宝访谈:什么是APP测试的正确打开方式?

在今天的移动互联网时代,信息系统移动化成为企业CIO/CTO们最关心的话题之一。虽然移动化有很多路径,但相对来说,开发原生APP仍然是性能和体验最佳的一种方式。

但是,开发APP并非易事,尤其是其测试过程,常常令人崩溃。一方面,APP的版本更新速度越来越快,另一方面,APP要适配的机型越来越繁杂。每一次版本升级,开发或测试人员都要针对各种机型,做功能、性能、安全等一系列测试……

李维良(主持人)

在移动互联网时代,开发APP是企业信息系统移动化的重要途径。那么,一款APP的开发过程是怎样的?

王慧慧

对于身处移动互联网时代的企业来说,开发APP已经不是需不需要的问题,而是如何做得更快、更好的问题。

与开发PC软件类似,开发手机APP也要经历需求分析、原型设计、编码、测试、交付等过程。但是,二者也存在着巨大的差别,比如:手机APP的使用人数更多,需求变化更快,APP的版本升级更频繁,交付周期更短等等。因此,在APP的开发过程中,我们会面临更多的挑战。比如说,我们不可能等到市场需求全部稳定下来才去开发,也不可能等到APP全部开发完成才去测试。每次版本升级,留给我们的测试时间可能只有一两天,甚至几个小时。

因此,开发移动APP,无论对开发测试人员来说,还是对开发测试工具来说,都需要具有天生的敏捷特性。

李维良

在APP的开发过程中,测试处于什么样的地位呢?测试通常包括哪几部分?难点在哪里?

王慧慧

测试是移动应用开发的必要环节,是保证APP的正确性、完整性和安全性,提高APP质量的重要手段。

APP测试,通常要包含功能测试、性能测试(负载测试)、网络测试、安全测试等内容。在测试方式上,又分为手工测试和自动测试等。

APP测试的难点在于,我们通常要在很短的时间内,完成功能、性能、安全等全方位的测试。我们要面对Android、iOS、Windows Phone等多种手机操作系统,要适配大量的手机型号和硬件规范。而且,由于用户多,更新快,测试人员需要同时维护同一款APP的多个版本。

王慧慧

熟悉测试工具的朋友可能都知道,HPE的测试产品源自Mercury公司。在并入HPE之前,Mercury就是软件质量保证工具开发商中的绝对领导者。

HPE的软件测试和质量保证类工具,被统一纳入到了应用生命周期管理(ALM)之下,其中主要包括:

功能测试:
UFT(Unified Functional Testing);
性能测试:

LoadRunner、Diagnostics、Performance Center;

应用安全测试:

WebInspect、Fortify;

虚拟化:

Networking Virtualization(NV)、Service Virtualization;

移动应用测试:

Mobile Center。

在DevOps越来越深入人心的今天,我们还推出了面向“开发测试者”的解决方案,帮助他们实现更敏捷、更快速的持续开发测试、持续发布部署和持续运维管理。

随着移动互联网时代的到来,我们也致力于将传统的软件测试工具与移动应用开发相结合,并推出了Mobile Center这样的集成化APP测试工具。

王慧慧

我先给大家讲一个从客户那里看到的真实场景。这个客户为了做手机APP的兼容性测试,特意找了一间机房,然后买了非常多的移动设备,放在里面。测试时,工程师们需要在每一部手机上安装同一款APP,还没等全部装完,第二天,新的APP版本又来了……

如果使用Mobile Center,再结合UFT这样的自动化工具进行测试,情况就会大为不同。在Mobile Center上,我们只需要指定一款APP,指定单一的测试脚本,再指定要测试的移动设备,无论这些设备是多是少,是真实手机还是模拟器,所有分发和测试工作都可以自动完成。

根据我们一个用户的统计数据,使用Mobile Center后,可以将APP的测试时间,从原来的4天缩短到2个小时,这是一个非常大的飞跃。

这只是自动化功能测试的一个例子,实际上,Mobile Center在性能测试、安全测试、网络测试等多个方面,都能为用户带来助益。

李维良

请您为大家介绍一下,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在真实机型上的性能表现,并获得详细的测试报告。

李维良

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还可以通过某种方式,将真实世界的网络情况记录下来,并在需要时回放和模拟。

李维良

谢谢Aella的分享!

上一篇:mvc中json格式的使用方法示例


下一篇::ireport出现分页空白的解决方案