前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >功能测试工程师的自动化学习之路

功能测试工程师的自动化学习之路

作者头像
吾非同
发布2020-10-23 15:23:48
3560
发布2020-10-23 15:23:48
举报
文章被收录于专栏:吾非同吾非同

绝大多数测试同学都是从功能测试做起的,工作忙忙碌碌,每天在各种业务需求学习和点点中度过,过了好多年发现自己还只是一个功能测试工程师。

随着移动互联网的发展,从业人员能力的整体进步,软件测试需要具备的能力要求越来越高,打开招聘网站,90%的招聘都会有如下这一条。

至少熟悉一门编程语音,自动化测试XX年经验。

所以,越来越多的测试工程师开始迷茫,不管是被动的还是主动的,这个时代需要我们不断学习去保持自己的竞争力,因为互联网红利越来越少,你的水平高低,决定了你在公司的价值,也决定了你未来职业选择的优势,而学习自动化是你不得不选择的一条路。

在学习自动化之前,我们需要明确自动化测试是什么?

自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较。

自动化测试的主要目标是提高测试效率,降低项目成本,而不是完全取消手工测试。

自动化测试的意义?

  • 提升效率,减少重复工作:勿容置疑,最大的意义就是提高测试效率,手工测试的最大问题在于,面对快速迭代,无法快速完整的执行冒烟用例。
  • 节省人力成本**:执行测试脚本可以实现无人值守,不限时间的测试。从而让测试人员可以做更多有意义事情,比如探索性测试等。
  • 保证每次测试的完整性和一致性
  • 发现更多隐藏问题:手工测试无法验证系统的稳定性、可靠性等,需要通过工具等自动化手段,对系统进行压力测试、稳定性测试等。

如何选择自动化测试的方向?

测试金字塔

测试金字塔自上而下依次是UI测试、接口测试、单元测试。越到高层影响的范围越大,需要的成本越高。

在《google 测试之道》一书,对于google产品,70%的投入为单元测试,20%为集成、接口测试,10% 为UI层的自动化测试。

越底层的自动化测试效率越高,价值越高。

测试金字塔中我们可以了解到,从下到上每个阶段对应的测试内容:

  • 单元测试,就是代码测试阶段。
  • 接口测试:可以进行的测试工作有接口测试、接口性能测试等。
  • UI阶段:业务功能测试、界面显示等测试。

对应上面的测试内容,自动化测试的学习方向或者切入点一般有以下几类:

  • UI自动化测试
  • 接口自动化测试
  • 代码测试(单元测试)
  • 性能测试
  • 其它专项测试
  • 综合以上能力进阶为测试开发工程师。

前期的技能准备

  • 掌握一门门编程语言,不需要多深入,常用语法及概念,理解编程思想,推荐python,其次java。
  • 已经有一定的软件测试基础理论,如测试用例编写、HTTP协议等。
  • 了解Javascript, CSS、xml、html的知识。
  • 环境搭建能力及编程工具使用。

选择好自己的自动化切入点之后,如何学习自动化测试?

  1. 首先google、百度上看一些博客或者教程,测试自动化测试工具如何使用,常用的测试框架有哪些。
  2. 先模仿再创新,从网上或者公司已有的自动化代码中学习,找一个简单的项目开始实践。
  3. 可以从github上学习优秀的自动化测试案例代码。
  4. 多敲代码,多思考,搞清楚每行代码的意义。
  5. 构建持续集成。
  6. 学习测试平台开发能力,能够独立开发测试平台。

自动化测试不是万能的,手工测试的必要性

首先,自动化测试的投入并不低,所以对于项目是否需要做自动化测试,以及做什么类型的自动化测试都需要进行评估。

其次,自动化测试涉及的测试范围有限,一般是项目的核心业务、主功能或者执行重复度较高的用例,并不能百分之百的覆盖所有测试用例,并且很多测试项必须人工检查,比如页面的布局、特殊的业务逻辑判断等。

最后,自动化测试只是一种手段,测试实施的本质是人,自动化只是一种补充,多种手段用,才能更好更全面的提升产品质量。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 吾非同 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
持续集成
CODING 持续集成(CODING Continuous Integration,CODING-CI)全面兼容 Jenkins 的持续集成服务,支持 Java、Python、NodeJS 等所有主流语言,并且支持 Docker 镜像的构建。图形化编排,高配集群多 Job 并行构建全面提速您的构建任务。支持主流的 Git 代码仓库,包括 CODING 代码托管、GitHub、GitLab 等。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档