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

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

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
3月前
|
域名解析 JSON 测试技术
常见移动端APP测试场景
常见移动端APP测试场景
|
5天前
|
XML 数据格式 Python
App测试中,强制等待和隐式等待谁更强?
本文介绍了在自动化脚本中添加等待以确保与应用程序同步的重要性。由于应用响应时间的不确定性,适当等待能防止脚本在操作未完成前继续执行,提高测试稳定性。等待包括强制等待(如`time.sleep()`)、隐式等待(全局设置查找元素的等待时间)和显式等待(根据预期条件等待)。示例代码展示了如何在Python的Appium测试中应用这些等待策略,以优化脚本的可靠性和与应用的同步。
17 0
|
27天前
|
XML 测试技术 数据格式
解决 App 自动化测试的常见痛点
在App自动化测试中,常见挑战包括启动加载慢和弹框干扰。为处理弹框,可以创建一个黑名单列表,遍历并点击消除。使用`handleAlertByPageSource()`方法结合`getPageSource()`判断弹框元素在当前页面的存在性,提高效率。对于首页加载延迟,使用显示等待特定元素如`user_profile_container`,但需注意弹框可能阻止元素定位。因此,结合PageSource判断首页元素和弹框,确保加载完成判断的准确性。通过这样的优化,能更有效地处理自动化测试中的中断问题。
16 1
|
28天前
|
监控 安全 Shell
深入探究App压力测试的关键要点:从零开始学习Monkey
Monkey是Google的自动化测试工具,用于模拟用户随机事件以测试应用的稳定性和压力。它可以在模拟器或设备上运行,通过随机点击发现潜在问题。
24 1
|
1月前
|
测试技术 Android开发
快速上手App自动化测试利器,Toast原理解析及操作实例
`Toast`是Android中的轻量级通知,短暂显示在屏幕任意位置,1-2秒后自动消失,不获取焦点且不可点击。Appium通过uiautomator2在控件树中处理Toast。在测试中,可设置隐式等待,利用XPath或Accessibility ID定位Toast元素进行检测和验证。示例代码展示了如何初始化driver,点击触发Toast,以及如何定位并读取Toast文本。
24 3
|
2月前
|
测试技术 UED
APP交互性如何测试?
APP交互性如何测试?
|
2月前
|
监控 测试技术 Shell
APP的CPU,内存和流量如何测试?
APP的CPU,内存和流量如何测试?
|
2月前
|
监控 测试技术
APP的稳定性测试如何做?
APP的稳定性测试如何做?
|
2月前
|
Web App开发 传感器 Android开发
APP兼容性测试都需要考虑哪些场景?
APP兼容性测试都需要考虑哪些场景?
|
2月前
|
Java 测试技术 API
安卓APP和iOS APP在测试上的区别是什么?
安卓APP和iOS APP在测试上的区别是什么?