专栏首页吾非同功能测试工程师的自动化学习之路

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

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

随着移动互联网的发展,从业人员能力的整体进步,软件测试需要具备的能力要求越来越高,打开招聘网站,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. 学习测试平台开发能力,能够独立开发测试平台。

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

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

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

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

本文分享自微信公众号 - 吾非同(hellotesters),作者:吾非同

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-24

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 软件测试初认识(三)

    完成对最小的软件设计单元模块的验证工作。对代码风格和规则、程序设计和结构、业务逻辑等进行静态测试。

    吾非同
  • 神秘的探索性测试?

    探索式测试(Exploratory Testing,简称ET)是一种自由的软件测试风格,强调测试人员同时展开测试学习、测试设计、测试执行和测试结果评估等活动,...

    吾非同
  • 软件测试初认识(四)

    软件测试工作正式实施以前,对测试资源、测试时间、测试风险、测试策略、测试范围等方面的分析和规划,保证有序有效的实施测试工作。

    吾非同
  • 43种常见软件测试分类

    我们每个人在测试过程中都会遇到几种类型的测试。我们可能听过一些,也许已经做了一些工作,但是并不是每个人都了解所有测试类型。

    FunTester
  • 符合架构的测试

    程序你好
  • 增效、降本,云测试成为经济复苏加速器

    有序完成复工的企业们发现,在注定不太容易的2020年,要更好地活着,谋求进一步发展,除了政府政策扶持,在运营层面增加效率、降低成本成为绕不过去的话题。

    曾响铃
  • 网上看到的面试题,我忍不住吐槽....

    张树臣
  • 国内最开明路测法规将出炉,广州在用行动召唤无人车企落地

    量子位
  • 测试分析设计总结

    Tester_Jun
  • A/B测试

    在营销活动中,A / B测试能用于优化落地页,为其吸引更多流量,并将这些流量转化为有效线索。据统计,A/B测试能为B2B企业的落地页新增30%~40%的线索,电...

    Ptengine

扫码关注云+社区

领取腾讯云代金券