关于PWA(Progressive Web App)的一些测试思考

发表于:2018-4-03 13:53

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:贾占峰    来源:51Testing软件测试网原创

  现在app太多了,有的时候把整个手机的空间都占满了。所以,有时候我会清理一下Android手机里那些不常用的app程序,来释放小小的8G手机内存。有一天,突然看到一个新闻,说饿了么可以通过手机网页,免下载直接生成一个桌面应用,而且可以媲美原生的native应用体验,我来了兴趣,马上试用一下。
  用我的华为荣耀3C,打开Chrome浏览器,在地址栏输入https:eleme.me,就打开了饿了么的手机网页,再点击右上角的"更多"按钮,弹出一个对话框,点击"添加到主屏幕",提示添加成功。回到主屏幕,此时出现一个饿了么的图标,跟应用市场下载的一模一样。点击进入程序,嗯,确实和native的体验一样的。哇,还有推送消息,不错嘛!
  作为一个测试人员,只是体验这个程序还是满足不了我的。去研究一下,这个炫酷应用的来龙去脉吧。这种直接从网页加载到手机主屏幕的技术框架是PWA(Progressive Web App),中文名全称:渐进式网页程序。Google公司于2015年提出,不过是在2016年6月才进行市场推广的,目前该技术在国外挺流行的,因为解决了"不用下载应用,但是却可以使用应用"的市场需求。所以,在硬件环境相对恶劣的印度,更加火爆。引用一下Alex Russel的关于PWA技术的一篇博客文中的一句话:"escaping tabs without losing our soul"翻译过来就是"逃避但不失去灵魂",应该说是脱离了原生app,但是却保留了完整的业务功能,可见即可用。
  作为测试工程师,我们应该了解PWA的特性,从而可以针对PWA模式的网页做测试。根据Google的定义,PWA应该具有以下特性:
  1.渐进式属性:任何环境都能运行,包括可以进行降级运行。
  2.响应式属性:什么样的设备都可以使用。
  3.可离线应用属性:基于Service Worker服务,在没网或者弱网的条件下也能打开网页,
  4.类app属性:类似APP的使用体验
  5.持续更新属性:基于Service worker服务,保持网页是持续更新状态
  6.安全属性:https网络服务
  7.可搜索属性:能被引擎搜索到
  8.推送功能:不用打开网页,推送新的消息
  9.可安装属性:不用通过应用商店,就能添加到手机的主屏幕
  10.web连接属性:有一个连接就可以跳转到程序的Web页面
  结合以上的PWA特性,我们考虑针对性的功能测试
  1.针对1.渐进式;2.响应式;3.离线应用这三个特性,属于对硬件和网络环境比较恶劣的情况的测试。我们可以针对性的选择以前的Android老旧机型,平板,在弱网或者断网环境下测试程序,看网页是否正常加载显示。然后可以逐步提高网络环境和硬件,测试加载速度。测试是否逐级渲染等。
  2.针对4.类app属性,可以参考app上的操作,对网页进行操作,是否流畅。如果是从手机桌面进入的程序,程序应显示该是没有URL头部的。
  3.针对5.持续更新属性,应该是像传统web一样,支持热更新,及时展示新内容。包括在原有页面刷新和重新进入web页面刷新。
  4.针对6.安全性,可以用市场上有的一些安全扫描工具加自行抓包进行测试。保证程序和数据安全。
  5.针对7.可搜索属性,利用手机端的各个搜索引擎,可以搜索并打开程序。
  6.针对8.推送功能,利用后台设置,不打开网页收取推送信息。
  7.针对9.可安装属性,测试各个主流Android厂商手机的安装并打开功能。
  8.针对10.web连接属性,可以从网络连接和安装的程序里测试打开网页功能。
  以上是功能测试的内容,但是对于这个PTA的网页,因为它是可以放置在手机桌面的,像一个客户端,但是又不是app的客户端,那这个PWA网页在手机上的CPU和内存的性能测试如何进行呢?我遵循app客户端的性能测试思路,找到了办法。
  1.首先用 adb shell dumpsys meminfo  命令,我找到了这个PWA网页的进程,因为其实它还是运行在Chrome的浏览器上,所以进程是两个基于chrome的:
  com.android.chrome:sandboxed_process0 (pid 8119)
  com.android.chrome:privileged_process0 (pid 7232)
  2.利用adb shell dumpsys activity activities 命令,找到这个PWA程序的activity,基于Chrome浏览器运行的:
  com.android.chrome/org.chromium.chrome.browser.webapps.WebappActivity
  根据上面找到的1.进程名,2.Activity,就可以展开这个PWA程序的对Android机器的CPU和内存等等其他的性能测试。
  再给大家介绍一个PWA应用的网址,https://pwa.rocks/,其中有很多有趣的应用,大家可以打开玩玩。
  国内因为PWA技术是Google的,所以现在还不如国外那样流行。但是PWA可以满足用户的几个关键需求:可以搜索到,可见即可用,用完即走,重复使用也方便,是一个又轻又快的应用技术,发展前景十分广阔。2018可能会是PWA应用在国内大发展的一年,让我们一起期待吧!

相关推荐:《51测试天地—原创测试文章系列(四十八)》
版权声明:本文出自51Testing原创,51Testing软件测试网及相关内容提供者拥有内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号