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

上一篇 / 下一篇  2018-04-02 11:21:07 / 个人分类:博为峰原创技术文章

现在app太多了,有的时候把整个手机的空间都占满了。所以有时候我会清理一下Android机里那些不常用的app程序,来释放小小8G手机内存。有一天,突然看到一个新闻,说饿了么可以通过手机网页,免下载直接生成一个桌面应用,而且可以媲美原生的native应用体验,我来了兴趣,马上试用一下。

用我的华为荣耀3C,打开Chrome浏览器,在地址栏输入https:eleme.me就打开了饿了么的手机网页,再点击右上角的“更多”按钮,弹出一个对话框,点击“添加到主屏幕”,提示添加成功。回到主屏幕,此时出现一个饿了么的图标,跟应用市场下载的一模一样。点击进入程序,嗯,确实和native的体验一样的。哇,还有推送消息不错嘛

作为一个测试人员,只是体验这个程序还是满足不了我的。去研究一下,这个炫酷应用的来龙去脉吧。这种直接从网页加载到手机主屏幕的技术框架是PWA(Progressive Web App)中文名全称:渐进式网程序。Google公司于201年提出,不过是在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应用在国内大发展的一年,让我们一起期待吧


TAG:

 

评分:0

我来说两句

日历

« 2024-04-20  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 33919
  • 日志数: 43
  • 建立时间: 2018-01-25
  • 更新时间: 2018-11-09

RSS订阅

Open Toolbar