太原网站定制,东莞企业画册设计制作公司报价,建一个网站要多少钱,今天福州头条新闻每一次微信的动作都是商机#xff0c;而随着微信应用号的即将面世#xff0c;微信应用号的开发和测试又会成为一股新的风向。 其实经常有人问到微信服务号或者微信订阅号怎么测试的相关内容#xff0c;可能总觉得比较缺乏技术含量不太想说#xff0c;这次看了下应用号… 每一次微信的动作都是商机而随着微信应用号的即将面世微信应用号的开发和测试又会成为一股新的风向。 其实经常有人问到微信服务号或者微信订阅号怎么测试的相关内容可能总觉得比较缺乏技术含量不太想说这次看了下应用号就把所有问题都统一起来一起说一下吧。 架构 做测试首先应该从整体看起来架构体系决定了测试的思想。微信的整个开发都基于下面几个东西。 1.开发者信息 首先是开发者ID包括Appid和AppSecret两个内容在微信开发者上设置的。一个用来唯一标示应用类似于用户名另外一个是登陆的类似密码的东西。 2.接口 接口测试测试工具对于应用来说第一件事情就是通过前面的用户名appid和密码appsecret来获取token令牌。 在后续的请求中使用令牌来完成令牌有点cookie或者sessionid的概念应该也有超时的控制 3.前端页面 微信提供了一个前端调试工具微信Web开发者工具其实你也可以认为是一个chrome的定制版 在企业号、公众号这类的开发都是在这个平台上实现的。 4.交互 整个交互过程可以这样理解通过微信的公开接口来获取一些微信用户的信息以及关键交互而额外的内容是需要在自己服务器上实现的。 可以这样理解微信上来登陆获取用户信息把用户信息作为参数传送给自己应用的登陆部分并且绑定用户的一个UID从而实现的微信账号和应用账号的绑定。 如何测试 在聊过上面4点架构内容以后测试的内容就可以来说了。 1.功能测试 A.如果做基本功能可能就不需要知道appid和appsecret了这样的测试可以理解成没什么技术含量的点点过程。真的要深入测试那么包含从微信接口上获取数据到自身系统的部分检查下是不是数据过来了过来的对不对高级点可以抓一下包看一下普通点就看数据库。 B.适配兼容由于是H5的内容在不同浏览器上和手机分辨率上仍然存在适配问题。 C.手机的一些专项测试基本可以不要考虑因为是H5的内容所以大多数问题也解决不了的。 2.非功能测试 这块可以谈的东西比较多包含性能、接口、自动化。 2.1性能测试 性能问题主要有两个点 A.微信接口的性能 这个不归你管你也不用测因为微信自己有个规范来限制超时和连接数所以系统在别人那边你做不了啥。 B.自己系统的性能 虽然你要从微信的接口上拿数据但是最终的处理还是会回到自己的系统上所以这块的性能测试会比较重加上微信的交互体系决定了什么都要去服务器上问对服务器上接口的负载是很高的一旦某一个请求或者某一个业务的请求出现点性能问题可能就会功亏一篑。 那么要读微信接口的内容怎么办做个Mock服务器就是必须的了要么缓存掉微信服务器返回的数据要么自己做个假的mock应答。 2.2 接口测试 由于所有的内容其实都是所谓的微服务所以对于这些服务的接口测试是十分重要的前面性能的问题解决了接口的问题自然也就解决了。 可以说接口测试是所有测试中最重要的基本保障测试。 2.3 自动化测试 H5的自动化就涉及到浏览器端和手机端几乎就是robotium/appiumwebdriver的天下。个人觉得意义不大因为接口都测好了而微信业务也相对简单手工跑跑就差不多了。如果非要顶上一个遍历的概念我还是觉得走monkey这类纯坐标体系的也许更好点验证下是不是对应的请求都发出来了即可。 应用号 到这里为止其实都在谈企业号那么我们的主题不是应用号么 接着来说下应用号根据云层最近看到的文章和相关介绍应用号是一个平行于企业号的东西应用号的开发和企业号很像但是有些区别比如 可以看到开发UI的代码并不是H5的基本标签而是换了一套微信自己的标签体系可以这样认为微信为大家定制了一套UI控件Frame来解决以前H5某些无法实现的功能而这些东西可能是基于Hybrid模式的就是非完全H5的内容而是基于微信体系的控件体系的。 类似于微软WPF中的XAML将布局转化到xml事件执行走JS体系自己的容器完成了布局到CSS的挂接至于是不是生成一个源生的控件还是一个特殊封装的控件就要等结果出来了。 从开发人员的角度就是我靠又要从B/S体系换回到C/S体系了DOM这套不要折腾了。 对测试人员来说其实变化不大因为本来也不需要知道实现这层是怎么做UI的更多关心的是控件或者按钮能不能用和服务器交互怎么样从某些角度来说对测试是几乎透明的。 应用号测试 那么应用号测试的变化在什么地方呢 A.调试可能会麻烦点看微信怎么给平台。因为基于微信自己的体系如果要非要在线调试就麻烦了。也就是说以前可以开个网页调试跟踪现在要在线了除非微信给你一个集成好自身体系的开发工具。 B.微信自己的坑因为是基于微信的控件及某些模块体系如果它自己做的有问题那么你是无能为力的所以只能躺着等微信改。以前貌似也这样至于应用号是不是做的更好了一点就不得而知了。 C.自动化能不能做不知道最终微信这套内容下来的体系是怎么样的是标准hybird还是自己再封装的。工具是不是能有效的识别到内部的对象或者微信会不会给一个自己的自动化体系 ps.貌似以后是css定位的天下了id没用了xpath估计也危险了。 微信小程序是一个平台对于开发人员来说缩短了开发周期降低了开发难度APP开发又要失业一堆人了而对于测试来说UI和基本交互可能出现的问题会进一步减少对技术测试接口性能的要求会进一步提升甚至在调试工具上可能也会越来越多的要求测试介入。 在这点上有没有能力拿到AppID和Appsecert可能就是普通测试和高级测试的关键区别吧。 内容转载自公众号 云层天咨 了解更多