参加MTSC2018后的感受

2018-07-26  本文已影响0人  tuochao

  前不久去参加了在北京举行的MTSC2018(第四届中国移动互联网测试开发大会:http://www.test-china.org/),虽然不是以讲师的身份,但听完以后仍然有很多收获。参加会议的主要是各大互联网公司的测试架构师,高级测试工程师,高级测试开发工程师等,议题内容涉及线上数据收集,质量体系建设,新一代的测试工具,自动化测试架构,测试平台搭建,专项测试,AI与loT等新领域的测试技术等等。我没有全部听完,就听过的内容整理下来主要有以下几个趋势:
  1. 收集线上数据和用户行为,监控产品环境,以此来分析线上问题,还原问题现场,指导测试场景和测试策略,这已经成为各大互联网公司的普遍技术实践。
  由于这届大会主要针对移动互联网产品,也就是我们俗称的手机app,所以产品的使用环境复杂多变,使用的机型也是数不胜数,在研发环境内基本不可能覆盖到所有测试场景。而且很多线上问题也是由用户反馈回来的,缺乏详细准确的描述,在研发环境又无法复现,也就无法得到有效的解决。基于此,很多公司都开发自己的线上数据收集和分析系统,例如这次百度和腾讯都分别介绍了自己的方案:通过灰度发布,埋点等方式收集线上数据和用户行为,通过大数据,消息中间件,弹性计算等技术构建数据处理和数据存储的能力,通过一定的算法来分析和提取数据中的业务逻辑,用户行为等信息,还原用户操作现场,监控产品环境,衡量测试的覆盖度,甚至可以通过一些算法来智能生成测试用例,指导后续的测试策略。
  这些实践与TW技术雷达中QA in Production的理念不谋而合,强调最大可能拉近QA与真实用户的距离,使产品环境透明化,可见化,提高测试的精准度和覆盖度,减少测试的随机性和盲目性。
  2. 各大公司对于测试平台和工具非常重视,测试工作向平台化,系统化,集中化发展。
  在我听过的议题中,超过一半以上的议题都是各大互联网公司在介绍自己的测试平台。可以说,一个成熟的互联网公司如果没有测试平台,那是不可想象的。通过构建测试平台,大量的测试基础工作:例如搭建环境,准备数据,准备测试设备,自动化测试执行和调度,问题记录,质量分析等等,都可自动快速完成,极大减少了QA执行测试和编写自动化测试的成本,测试速度越来越高,以便满足移动互联网产品快速迭代的要求。
  值得一提的是,在这次大会中来自网易游戏团队的工程师介绍了他们开发的新一代UI自动化测试解决方案:AirtestProject,只需要鼠标选择对应的图像或者控件,这个工具就可以自动生成对应的定位脚本。支持基于UI层的图像识别Diff,类似与Web程序的视觉回归测试,对比不同的版本的界面,检查是否有变动。支持操作的录制回放,支持跨平台的控件识别。
  对于测试工具,目前流行的做法是把公司内开发的各种各样的测试工具统一管理,提供类似于App Store的功能,方便把一个人的成果在整个公司内分享,减少重复工作量。有些公司的测试平台还提供了测试工具即插即用的功能。
  从这些议题中可以看出,软件测试的执行工作已经越来越多的由机器来代替,自动化测试所占比重越来越大,编写自动化测试的成本也越来越低,测试基础架构和测试平台的设计开发工作成为软件测试的重中之重。
  3. 软件测试领域与DevOps领域的广泛集成。
  以上的两点趋势,除了移动端产品对软件测试的要求外,我认为一个重要的原因是DevOps的发展给了软件测试极大的支持,使得收集线上数据,监控产品环境,构建大规模的测试平台等方案能够落地实施。在各大公司介绍的测试平台中,持续集成和Jenkins等工具几乎是必备配置,而Docker, Kubernetes等容器化技术更是成为热点,被广泛应用于准备测试环境,调度测试执行等场景,很多议题就是在介绍DevOps的技术如何应用到软件测试中。
  从另一方面来看,出现这样的趋势也是必然的。传统的软件测试仅仅限于发现软件中存在的问题,随着敏捷理念的流行,软件测试的领域扩大到如何有效的保障产品质量。而DevOps理念和技术的发展给软件质量带来了深远的影响,QA有了更加丰富的手段来提高测试效率,控制版本合入和发布,监控线上环境等等,能够有效的保障软件质量。在将来,QA和DevOps的结合应该会越来越紧密,而具备DevOps技能的QA也会更加受欢迎。
  4. 高新领域的软件测试技术层出不穷,软件测试向更广的领域发展。
  限于时间关系,这方面的议题我只听了一小部分。但是基于听过的话题以及其他议题PPT的内容,能明显的感受到高新领域软件测试技术的发展。例如已经有不止一个议题在介绍AI和人工智能算法在软件测试中的应用,以此来指导测试策略的设计,减少人工分析的工作量。精准测试也是这次会议的一个热点话题,通过统计代码变更记录并做Diff处理,分析每次变更影响的功能范围,提供测试用例的执行建议,提高执行测试的精准程度。并且通过分析所执行用例的代码覆盖率,来进一步指导后续的测试,持续提高测试的精准度。
  随着互联网软件的发展,软件测试的领域也在不断扩大,在这次会议中还出现了物联网,人工智能算法,微信小程序等领域的测试方法介绍。
  以上这些发展趋势也直接影响了软件测试从业者的职业发展。我认为,在未来测试执行的成本将越来越低,需要人介入的阶段越来越少,只会使用工具执行测试或者只会编写自动化测试的人员没有出路,将被逐步边缘化。因为在高度成熟的测试平台支持下,这些工作变得非常容易,甚至在不远的将来会被机器完全替代,这也对QA提出了更多在代码能力,工具开发,平台建设,DevOps,质量保障等方面的要求。将来更需要的测试从业者将为以下几类角色:

上一篇下一篇

猜你喜欢

热点阅读