生活中、工作中使用一款软件的时候,我们很关注、但是又看起来好像从来没关注的是什么?UI?功能全?其他?这个问题换个角度可以理解为,什么方面在好的时候你没感觉,不好的时候简直无法容忍令人发指?
  我觉得是性能。多数软件的性能还算不错,所以我们使用的时候没感觉,但是一但卡顿、性能差的时候,感受是什么大家肯定都有体会。搜狗输入法作为被广大用户喜爱的软件,在测试的过程中,性能是怎么测试的呢?在这里顺便透露一个小秘密,大家看到你的输入法升级了,并不一定是一样的,因为升级包会有很多分支。那么问题来了:数量、分支每天更新很多如何对它们进行性能的测试、监控以及分析的呢?
  大体流程如下:

  测试机器上进行各个版本输入法的测试运行,而每次运行都向指定的数据库查找当天、不同分支的版本信息列表,自动进行查找、下载、安装、打开进程、切出输入法、读取打字数据、将打字的性能数据等等记录、然后重启继续。这一套大概流程都搭建实体机上,对于每一个版本输入法测试前数据的准备、测试后数据的分析报表、邮件发送等等则是另外一套流程。数据准备:由于打字性能平台与打包平台无关,所以要自己去抓取相应数据信息,包括其他输入法的信息也要入库,这里推荐一下python里边的lxml库;而对于报表,可以使用一些JS库进行绘画,推荐百度商业前端数据可视化团队提供的echarts,很强大;
  当然,殊途同归,不管用什么方法,初步的结果都是得到想要的数据,而针对数据的分析处理,如何更好的优化对软件本身的测试,如何更全面的进行,我们后续随着经验的积累会一直进行分享,大家如果有什么感受、启发、疑问等等都可以随时回复我们。