热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

阿里7年测试经验,从只会“点点点”到现在测试开发,写给想学习自动化测试的朋友

7年测试从业经验,这篇文章将汇集自动化测试所需知识,拒绝标题党,水文。让所有想学习提升技术的能从文中获取有价值的知识。在这个吃技术的IT

 7年测试从业经验,这篇文章将汇集自动化测试所需知识,拒绝标题党,水文。让所有想学习提升技术的能从文中获取有价值的知识。

在这个吃技术的IT行业来说,我之前每天做的是最基础点点点的功能测试工作,但是随着时间的消磨,我产生了对自我和岗位价值和意义的困惑,然后就开始学习python,java,学着搞自动化测试,不过说实话,自学的话很容易陷入迷茫。

在入门阶段,要有很强的自制力,后面学会了一些皮毛,跳槽去了阿里,平常比较好学,加班或者没什么项目做的时候都会自己看书,学敲代码,被领导赏识,派去总部核心技术团队学习了一个礼拜的ui自动化,是有专人带,然后回来就把公司app的自动化交给了我,这才算是真正入门自动化了

这仅仅是一个开始,在后来半年的时间里,我几乎把所有职场新人可能犯的错误都犯了个遍。架构师让我把最新开发出来的软件测试完,我闷头搞了两周,也没有得出任何结论;本来安排好的开发计划,由于我临时要回去写论文,搞得经理措手不及;参加项目座谈会,全程“打酱油”……那段时间,自己也很苦恼,几乎每天晚上11点多才走,很累很辛苦,但依然拿不到想要的结果。

蓦然回首,软件测试风风雨雨的这几年,自己从一个职场小白逐步成长为一名软测专家。我也荣幸在阿里的蚂蚁集团测试开发项目组工作过5年,搭建过platuo测试框架,thrift测试框架,自动化测试平台,这也是让我熟悉了python3,java,vue,陆陆续续也是在上市公司从0到1搭建过自动化测试框架,保障过亿级流量服务的质量工作。我发现测试团队中的很多同学在不停地重复犯着自己当年类似的错误。他们并不是不努力,到底是哪里出了问题?经过一段时间的观察与思考后,我想我找到了答案。那就是:我们大多数同学在工作中缺乏原则的指导。原则,犹如指引行动的“灯塔”,它连接着我们的价值观与行动。


每个人都应该有自己的原则,当我们需要作出选择时,一定要坚持以原则为中心。但是在现实生活中,我们往往缺少对原则的总结,对于很多人来说这是一门“只可意会不可言传”的玄学,是属于测试老司机的秘密,其实不然。“追求极致”是阿里的价值观。作为一名测试技术人员,我们应该如何践行呢?下面希望能够给大家带来一些启发,更好地指导我们的行动。


自动化测试一些问题

在学习自动化之前,大家需要先明确自动化测试是啥?

自动化测试是将人为测试情形转化为机器执行的过程。一般说来,测试用例设计后,由测试员根据测试用例中描述的规则一步步地进行测试,得到测试结果和预期结果的行为。在这里过程中,为了更好地节省人力、时间或硬件资源,提升测试效率,便加入了自动化测试的基本概念。从自动化测试的概念便可以看出学习自动化测试的重点:设计程序,也就是编写代码。

自动化测试的意义?

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

测试金字塔

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

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

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

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

单元测试,就是代码测试阶段。

接口测试,可以进行的测试工作有接口测试、接口性能测试等。

UI阶段,业务功能测试、界面显示等测试。对应上面的测试内容,自动化测试的学习方向或者切入点一般有以下几类:

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

自动化测试的类型分为两种

1)自动化性能测试;2)自动化功能测试。

性能测试主要是使用测试工具,Loadrunner、Jmeter等,对软件进行压力测试、负载测试、强度测试等等,因为这些无法用手工进行代替,所以必须自动化。

自动化功能测试:包括单元测试、接口测试、UI测试。主要是编写代码、脚本,让软件自动运行,发现缺陷,代替部分的手工测试。但一般只有大的项目才需要进行自动化,中小型项目不推荐使用自动化测试。

目前企业对自动化测试需求越来越多。测试人员想要在未来有更好的发展,非常需要通过掌握自动化技术来增加自己有竞争力。

自动化测试方向该如何走(学习路径)?


一、学习一门脚本语言

目前世界排名靠前的语言Java\Python。都是企业的需求语言,而随着python语言的全名普及化,应用在人工智能、大数据等热门领域,更是让python受到公司青睐。 


二、掌握一些前端的知识

作为一个自动化测试攻城狮,总是需要做很多的元素定位,那么元素定位,我们急需要学习前端的一些基础知识。


三、数据库的学习

数据库是这个行业每一个从业者都应该学习的,不管是前端、后台、还是测试、项目经理、产品经理、运维人员都需要很明确的熟悉数据库相关操作,作为一名测试,更应该熟悉数据库的增删改查等命令。


四、web自动化测试

这个阶段的学习,大家应该更多的从以下两点去掌握。

1.如何从手工测试转为自动化测试工程师

2.如何通过自动化测试技术为企业的测试工作提高效率,降低成本,增强测试的充分性和完整性。


五、移动端自动化测试

手机端APP自动化测试,在业务基本稳定时,也是势在必行的一件事情。手机端自动化测试的技术还在不断的发展过程中。这个阶段的学习,是分基础、中级、高级的三个阶段的进行深入浅出的学习。


六、接口测试

这个阶段提供了各种不同协议,不同类型的接口项目,大家只有利用学习内容进行接口测试的实战。不光只是完成接口测试,而是要掌握全套的接口测试工作流程:1.接口需求测试分析;2.设计接口测试用例;3.使用工具开展接口测试;4.针对复杂接口编写代码进行接口测试;5.接口测试框架设计及实现;6.完成接口测试的持续集成。


七、性能测试

这个阶段的学习,从性能需求分析开始,到脚本设计实现,业务性能场景设计,性能故障定位以及性能优化都有实际的案例和项目进行实际操练。

上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系,完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,古人说的好“不积跬步,无以至千里。”等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。



资源分享

下方这份完整的软件测试视频学习教程已经上传CSDN官方认证的二维码,朋友们如果需要可以自行免费领取 【保证100%免费】

​这些资料,对于想进阶【自动化测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源免费分享


推荐阅读
  • Python 数据可视化实战指南
    本文详细介绍如何使用 Python 进行数据可视化,涵盖从环境搭建到具体实例的全过程。 ... [详细]
  • Python错误重试让多少开发者头疼?高效解决方案出炉
    ### 优化后的摘要在处理 Python 开发中的错误重试问题时,许多开发者常常感到困扰。为了应对这一挑战,`tenacity` 库提供了一种高效的解决方案。首先,通过 `pip install tenacity` 安装该库。使用时,可以通过简单的规则配置重试策略。例如,可以设置多个重试条件,使用 `|`(或)和 `&`(与)操作符组合不同的参数,从而实现灵活的错误重试机制。此外,`tenacity` 还支持自定义等待时间、重试次数和异常处理,为开发者提供了强大的工具来提高代码的健壮性和可靠性。 ... [详细]
  • 本文详细介绍了如何在 Django 项目中使用 Admin 管理后台,包括创建超级用户、启动项目、管理数据模型和修改用户密码等步骤。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 从0到1搭建大数据平台
    从0到1搭建大数据平台 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 如何有效防御网站中的SQL注入攻击
    本期文章将深入探讨网站如何有效防御SQL注入攻击。我们将从技术层面详细解析防范措施,并结合实际案例进行阐述,旨在帮助读者全面了解并掌握有效的防护策略。希望本文能为您的网络安全提供有益参考。 ... [详细]
  • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
  • 作为软件工程专业的学生,我深知课堂上教师讲解速度之快,很多时候需要课后自行消化和巩固。因此,撰写这篇Java Web开发入门教程,旨在帮助初学者更好地理解和掌握基础知识。通过详细记录学习过程,希望能为更多像我一样在基础方面还有待提升的学员提供有益的参考。 ... [详细]
  • MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案
    MySQL 8.0 MGR 自动化部署与配置:DBA 和开源工具的高效解决方案 ... [详细]
  • Linux下MySQL 8.0.28安装指南
    本文详细介绍了在Linux系统上安装MySQL 8.0.28的步骤,包括下载数据库、解压数据包、安装必要组件和启动MySQL服务。 ... [详细]
  • DAO(Data Access Object)模式是一种用于抽象和封装所有对数据库或其他持久化机制访问的方法,它通过提供一个统一的接口来隐藏底层数据访问的复杂性。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • Python 伦理黑客技术:深入探讨后门攻击(第三部分)
    在《Python 伦理黑客技术:深入探讨后门攻击(第三部分)》中,作者详细分析了后门攻击中的Socket问题。由于TCP协议基于流,难以确定消息批次的结束点,这给后门攻击的实现带来了挑战。为了解决这一问题,文章提出了一系列有效的技术方案,包括使用特定的分隔符和长度前缀,以确保数据包的准确传输和解析。这些方法不仅提高了攻击的隐蔽性和可靠性,还为安全研究人员提供了宝贵的参考。 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
author-avatar
求道金林
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有