
在历史缘由的影响下, 多数测试人员, 起初所接触的皆是纯粹的功能界面测试, 伴随工作时长的增加, 会接触到一些常用的测试工具, 像抓包工具, 像数据库相关工具, 还像linux相关工具等。
我于大学选择了计算机专业就读, 从而具备了一定程度的编程基础。我的软件测试职业开端如同多数测试人员那般, 起初时在一家涉及电商业务的公司开展有关软件功能的测试。
有人给我留言进行询问, 在一线城市开展功能测试工作, 要是设定一个小目标, 打算获取年薪二十万, 那需要具备什么样的技能呢?
首先, 务必要熟练掌握整个产品的业务流程, 业务乃是基础所在, 如此这般, 鉴于此, 在产品进行快速迭代之时, 不仅能够确保新功能具备完整性, 而且可以迅速回归到原有功能, 且原有功能不会受到任何影响。
然后需要掌握一些常用测试工具来辅助测试:
Web端测试:浏览器开发者工具使用,、控制台、兼容性测试
手机端应用程序测试, 针对安卓系统、苹果操作系统以及苹果平板电脑端, 开展完整流程的测试, 其中涵盖兼容性测试、稳定性测试、流畅度测试, 还有安卓调试桥常用命令。
服务端:掌握接口测试、抓包工具使用、如何校验接口的完整性
Linux:常用shell命令,查看错误日志
在数据库测试当中, 需熟悉数据库表结构, 并且要掌握常用的增删改查sql语句, 以此方便于能够对测试结果进行分析。
常用工具运用, 有SVN/git版本控制工具, 还有应用打包, 包括构建。
换个角度来讲, 要是你获取到一个崭新的产品去测试其功能, 倘若你能够借助数据库的表结构, 进而通过分析系统日志, 以此来迅速地熟悉产品业务, 这就表明你的测试思维以及功能测试能力已然十分出色了。
那会儿, 我掌握了上述技能点, 于公司里, 工作效率得以提高, 变得相对较为轻松, 如此一来, 我便拥有了充足的时间, 去重拾编程语言, 起初用的是java语言, 而后又学习各类自动化测试技术, 那时, 我觉得自动化测试格外有意思, 并且相当神奇, 激发起了我浓厚的兴趣。
尔后发觉语言愈发火爆, 并且我察觉到前来搞自动化以及针对编程基础较为薄弱的测试工程师而言格外适宜。
它还具备可被用于爬虫的功能, 并且通过它也能够编写一些定时执行脚本, 以及数据库脚本, 其效率相当之高。

那时候, 我于公司之中, 获取了领导给予的信任。至于待遇层面情形嘛, 薪金加上年终奖金总计起来, 一年的收入能够抵达二十万之数。
但是, 因当时公司规模状况以及产品存在局限性, 致使自动化测试在公司实战项目中一直没能得到应用。我认为外面的世界极为广阔, 自动化已然流行且愈发普及, 我想要突破自身测试技术瓶颈, 于是我坚决果断地跳槽至一家公司专门从事自动化测试工作。
于是, 我承受住压力, 持续地对自动化测试技能展开系统的学习, 并且还将学来的知识做到了用以致学。
我将公司产品前后端的自动化测试全部落地实现。
使得那些自动化脚本切实变成公司资产, 于每次上线回归之际所带来的收益, 远远超越了我的预期。
并且依据约定时间, 于公司专门组织的技术分享场合, 去呈现展示效果, 那种自刚开始直至完成的过程中所产生的成就感, 极其令人难以忘怀。
后面负责自动化测试团队工作,核心框架搭建
用于学习的技术栈涵盖了语言, 还有RF, 以及见识到先进且主流的容器技术与之相关的持续集成等。
让我见识到技术的魅力,技术功底的提升能让整个人非常自信。
所以, 自动测试给我带来的收益, 不单单是待遇得以提高, 还涵盖了在做自动化测试期间碰到的难题, 解决诸多问题时所运用的思路, 以及技术上的拓展, 进而增长了见识。
经过一系列过程, 最终构建起了一套知识框架体系, 进而获取到了一组能够切实且精准落地的、具有效用的自动化于测试任务方面的方案。

自动化测试心得:
自动化测试没用的误解?:
自动化是测试工程师一个永恒的话题,关于有人经常问到我:
对于"自动化测试真的能够提升效率吗? 我认为不可以"这种说法, 我觉得这属于对于自动化测试意义的最为严重的误解。
对于一个知识, 就像自动化, 你若觉得它没什么用, 其原因在于你自己不会。然而你不会的那些事物, 常常在你那里属于雷区。
那么, 我们究竟为何又得去开展自动化测试呢? 我觉得其中最大的意义所在便是, 针对测试人员的能力予以固化。
脚本能够体现测试人员的测试方式, 凭借脚本, 将原本存在于人员身上的能力, 转化为组织的资产。
比如:造测试数据,跑大量数据库脚本,页面服务监控等
自动化测试脚本, 可使不同团队, 即便是那些对该功能毫无了解的人, 也能够借助测试脚本来分享这般能力, 这方才是自动化的意义所在。

关于测试开发
而后有一个机缘巧合的情况, 朋友跟我推荐了一家金融公司, 让我去做测试开发, 我要负责开发公司定制化的东西, 是什么呢, 是测试质量平台。
这对我而言同样是一项挑战, 是全新的领域, 测试开发于一线城市极为受欢迎, 那时的待遇相较于初级、中级开发工程师而言要更高。
到岗之后, 要顶住压力, 持续地进行系统学习, 学习测试开发技能, 并且要做到学以致用。技术架构所采用的是前后端分享, 其中包括后端开发框架Flask, 前端框架vue, 还有组件等。
做了几年测试开发, 真切地领略到, 测试开发等同于测试全周期的工作, 其中涵盖产品功能业务熟悉。
要对设计测试平台的需求, 进行平台前端到后端的研发, 再对平台开展自我测试, 然而还要给测试部门里几十号人, 去做推广, 培训他们使用产品, 以及进行运营。
所以, 测试开发存在一个大前提, 那就是功能测试经验要丰富, 对于接口自动化, 要非常熟练, 对于UI自动化, 同样要非常熟练, 不然的话, 极其难以开展测试开发工作。
目前, 测试平台项目的研发已然完成, 并且处于开源状态, 有兴趣的朋友能够去进行下载。

测试行业的现状
如今测试行业的趋向表现为, 你要是去面试任何一个级别的测试工程师, 人家都会问你会不会自动化测试, 所以自动化测试已然成为必备技能, 并非加分项了。
就是说, 能够运用开源的测试工具, 这可并不足以在公司实现涨薪, 或者跳槽到一线的互联网大厂。毕竟真正的企业, 其自动化测试的落地, 必然是由一个团队来进行操作的。
当你对这些开源框架熟练掌控使用之后, 你会发觉, 有些框架之间彼此是存在着相通之处的, 所以, 鉴于这些开源框架, 我们去打造一个归属于自身的测试框架。
能够依照公司实际的测试需求, 自行去封装适配项目的测试框架, 使其落地且具备实用性。构建起自身的技术体系, 获取到一套能够落地且有效的自动化测试方案, 从而实现从青铜转变为王者的跨越。
需让我们自动化团队, 把更多精力放置于测试用例设计之上, 从而达成提高产品质量之目的, 以及提升效率之目的。

那么如何来全面的学习自动化测试呢?
一、熟知那些基本了的基础的语法方面的规则, 从各个方位去提升编程这一技能, 具备面向对象的思维。

二、全面把控元素定位的特定技巧, 熟悉POM设计模式, 了解关键字驱动, 知晓数据驱动, 具备WebUI自动化测试技能。

三、全方位把控元素定位技能,掌握小程序自动化技能的具体操作, 还要把握APPUI自动化测试技能, 且这些技能要全面地掌握。

四、对于库的HTTP协议接口自动化测试技能, 要全面予以掌握, 其中涵盖接口测试, 还有Dubbo接口测试。

五、具备自动化持续技能的掌握本领, 能够使得自动化用力脚本得以运行, 进而产出报告, 还能自动化发送邮件, 达成全流程持续集成自动化这一要义, 并且可独立搭建接口、UI 测试框架。

接口与UI框架整合一体化、场景关联应用,简历自己的技术体系

七、扩展,提升职业技术深度

项目实战

一份软件测试工程师发展方向知识架构体系图, 是我为大伙整理出来放在上面的。期望大家依照这个体系, 在三至四年内达成这样一个体系的搭建。能够讲, 这个进程会令你痛苦到极点, 可只要你熬过来了。往后的生活便会轻松许多。正所谓凡事开头都困难, 只要跨出了那第一步, 你就已然成功了一半, 等完成之后再回首这段历程时, 你必定会感触颇深。
如若你不打算再度去经历那种在自己学习之时, 寻觅不到相关资料, 又没有人能够为你解答所遇问题, 仅仅坚持了几天就选择放弃的这般感受的情形的话, 那就能够去关注我, 进而一同展开讨论。
加油吧,测试员!路就在脚下,成功就在明天!
未来的你肯定会感谢现在拼命的自己!