聊聊前端如何玩测试

缘起


在听了大佬们布道之后,我一直在纠结要不要写这个内容,两个原因吧,第一个是感觉这个前期投入太多,产出都在后期。第二个原因,对绝大部分中小厂来说,可能还是测试小哥点点点容易。后来为啥决定写了,还是想着造福大家,回馈社区,大家不管用不用的上,增长点知识也是好的。

前端搞测试的意义


这里有两个问题,测试该不该由前端来搞呢?前端如何合理搞测试?其实小编观点,前端搞测试是可以的,测试同学可以轻松点,现在也有很多前端测试工具,可以使用。那么前端同学搞了测试,是不是意味着测试同学就被卷了呢,答案是不一定。前端同学做了很多测试的活,但是有些活的必须要测试同学处理的,所以前端搞测试,最多只是公司里面测试同学的人数减少,但是不能完全替代测试同学。并且前端搞测试,是前端同学对自己代码负责的另外一种表现。小编依稀记得,最早工作的公司,那里的没有测试的,开发,产品,运营同学就是测试,因为很多小厂预算有限,可能没有测试岗位,正如以前的一句话,人人都是产品经理,也可以是人人都是简单测试。换而言之,用户都可以看成测试。
第二个问题,前端如何合理搞测试。大家都知道开发同学开发的时候,其实是有盲区的,很难方方面面俱到。这个时候,可能需要测试同学来帮开发同学找出问题根源。我们再来说说测试种类,大致可以分为,单元测试、接口测试、UI测试这三类。开发同学如果有时间精力的情况下,可以做做单元测试,确保代码覆盖率。接口测试这个么,其实一般是后端同学完成的,也可以交给测试同学。最后就是ui测试了,这个就是测试图像化界面中的流程和功能了,也就是我们熟悉的ui同学经常做的点点点测试。
再简单聊下接口测试:

  • 功能测试:接口是否按照设计文档实现
  • 逻辑业务测试:接口之间调用先后顺序,是否会对逻辑业务产生影响
  • 异常:传参异常,数据异常
  • 接口性能:接口单次调用的响应时间、返回数据量等
  • 安全性测试:敏感信息是否加密,唯一识别码等测试

关于自动化测试


有了上面的概念普及,我们才能聊自动化测试。单元测试、接口测试、UI测试其实都可以使用自动化测试,自动化测试其实也可以节省测试资源,减少企业成本,提高效率。
自动化测试工具有很多,简单普及下吧:

  • appium:mobile和app使用
  • MiniTest:用来测试小程序和小游戏
  • AirTest IDE: Cross platform UI automation IDE
  • cyPress.io
  • Selenium
  • Playwright
  • httpRunner:用于接口测试

开发同学通过写脚本测试,等到积累了大量的脚本实例后,后期通过复用积累下来的实例,开发能在开发阶段发现自己代码漏洞,节省测试资源,甚至赋能测试。

智能遍历测试


手工测试,也就是点点点,大家会觉得浪费测试资源,自动化测试,除了能积累测试化用例,后期产生大量的价值外,大家可能觉得前期搭建和中后期维护需要大量的时候,觉得麻烦。那么大家来看看智能遍历测试吧。
智能遍历测试有自动化测试的优点,除了前期搭建学习费点时间,后面完全可以积累自动化模型,也不需要维护代码,简单易用。
智能遍历工具:

  • monkey
  • 百度改造的smart_monkey
  • 腾讯的newmonkey
  • Android App Crawler
  • appcrawler
  • macaca/nosmoke
  • fastbot

如何提高效率


前端如何做,才能提高效率?不能因为前端来搞这个,降低了企业的整体效率。小编简单总结了下:

  • 图片diff比较,简单来说就是ui测试中,把同一路由下,同一页面两个版本比较,看看哪些地方不同,再按照不同的地方进行专门测试,减少测试同学的工作量。
  • 造号工具,这点其实大佬讲的很好,因为要模拟很多场景,测试同学往往是手动改账号内容,那么如果通过造号工具,制造一堆账号,是不是大量的节省了测试同学的时间。
  • mock数据,链路拦截,这个是用于接口测试的,具体可以参考axios的拦截器
  • 自定义手写eslint插件,这个其实是为了保证公司代码的规范性和增加一些自己的规则,也算是减少修改代码,赋能测试吧。

尾声


当很多人还在点点点的时候,少部分人以及在玩自动化测试了,更多的一小戳人在以及开始玩智能遍历了。这就是技术领域不同人的态度和区别,你把工作当成工作,那么只能随波逐流,你想学习进步,那么你可以比大部分人走的远,你想做出成就,那么你就有机会成为那一小戳人。
美好的科普时光总是这么短暂,我们下期见!

猜你喜欢

转载自blog.csdn.net/zjscy666/article/details/128241366