移动测试基础 从 0 构建自动化测试平台 (一) 之技术选型

K米测试 · 2017年05月02日 · 最后由 K米测试 回复于 2017年05月02日 · 4082 次阅读

关于金飞

一直有一个梦想,做一款属于测试自己的产品。进入测试行业其实是一个偶然,一个偶然的机会从研发转向了测试,当时这个决定轰动了测试部门,后面影响了整个测试部门,一个会开发的测试,从那个时候开始了不断的测试探索之路,大致过程:会基础的 C/C++--->不懂测试的测试员--->不懂测试的测试开发--->不懂测试的测试组长--->不懂测试的自动化测试主管---->不懂测试的测试管理者 (现在的我)。其实在自动化测试的探索过程中,了解了非常多的自动化测试工具、测试思想,很多的工具都认为是非常不错的,希望能够集成在一起,发挥每个工具的价值,而就在此时,BAT 非常迅猛的开始了自动化测试平台的推出,最早应该是 itestin,后来才有了 BAT 的产品,试用了他们的产品,我认为是挺好的,但是有个问题就是要收费,这个是我一直都无法接受的,为此我就想拥有一个自己的自动化测试平台,K 米测试平台。

我的初衷

做一款属于测试自己的产品。

技术选型

初步的一个思路:前端页面展示、后端数据处理、DB 保存数据内容。这个选型过程算是比较坎坷的,原因是没有什么编程语言是我非常擅长的,在日常的开发过程中最熟悉的算是 Shell 了,显然不合适,接着就是 python,在自动化产品测试中有用到过,但是并没有系统的学习过,当然 python 用于主要的后台数据处理和项目执行过程是不二的选择,因为非常多的自动化测试工具都是用 python 实现的。
初识 STF:在 infoQ 的测试分享内容上,偶然听见了携程测试项目负责人讲解移动自动化测试的方案,说到如何在线管理移动设备时,提到 STF(SmartPhone Test Farm),在 MP3 里面无论如何都没能听到他说的到底是什么,在看到 PPT 的最后一页,添加了他为微信好友,没想到很快就得到了他的回复。用了一段时间开始了 STF 的安装过程,又是一段坎坷的历程;了解这是一款开源的产品后,第一时间找到了 STF 的源码,这是我一贯的作风,先看源码;当时还是很震惊的,源码里面没有一个 html 文件,从 README 里面了解到这块产品时用 Node.js 实现,DB 是用 rethinkdb,前端页面是 Jade 模板引擎实现,非常完美的一款产品,借鉴 STF 的经验,我毅然选择了 Node.js 作为前端实现,模板引擎使用 Jade(现在更名为 Pug),数据库使用 rethinkdb。
最终确定测试平台的技术栈:

前端

  • node.js
  • pug(jade 更名为 pug)
  • html+css+js

后端

  • python

DB

  • rethinkdb

模仿害人不浅

之前有了解过移动测试平台的产品,做的比较快的算是 BAT 了,我当时萌生了这个测试平台的想法到落地,我大概用快半年的时间,但是 BAT 基本上用了不到一个月的时间就全面铺开了,也许他们也是预谋了很久😀,而且全部都集成了 STF,也就是远程调试功能,对 STF 的功能做了二次开发,这也许就是大厂商的优势吧。

百度的:MTC-移动云测试中心

阿里的:MQC-专业的移动应用测试

腾讯的:UTEST-高效的测试选择

那么问题来了,该模仿谁呢,分别试用了这 3 家的产品,最终做出了选择了阿里的产品,原因是发现阿里的测试报告里面技术含量比较高,其实最初用的是百度,但是后面发现阿里的更屌的样子,就中途倒戈了,无论哪个都一样,我自己很清楚,具体的实现技术我已经有了,主要是来一个长的比较好看的前端,就像找一个长得比较好看的妹子撑撑门面,还是因为我不了解前端的内容,我需要将重点放在后端技术实现上,前端直接拿过来用就好了,认为是没有技术含量的,当时想想还觉得非常的得意😏,但是后面的结果让我痛苦不堪🙈,满满的全是血和泪,远远没有想象的那么简单,还不如自己写一个丑一点的前端呢,为此填补了大量的坑,以为不要学习 html、js、css,实际一样都没有逃过去,简单总结下:没有捷径,唯有从点滴开始。

这一段时间接触了:node.js、python、rethinkdb、html、js、css,很多时候语法都混乱了,到现在也乱😑,但最终还是挺过来了,不为别的,只因为有梦。
基本框架落成

基础的框架算是搭建完成了,接下来就需要往里面填充内容了,今天是五一,就先写到这里,后面还有更多精彩的内容,未完待续……

来一张撑门面的前端:

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 1 条回复 时间 点赞
恒温 屏蔽了此话题:宣传贴? 05月02日 08:25

@Lihuazhang 原创文章,没有任何宣传的意图,最近有人想了解云测试平台的构建,思考良久后打算整理一些自己的思路。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册