不需要手动测试仪,或者是时候进行自动化了



不,当然需要手刹。但是,每年对它们的需求将越来越少。工资水平将很快达到顶峰,并且从单调的任务中将呕吐出来。如果您希望保留质量保证并成长为自动化工程师(开发人员?),那么下面的文本适合您。

我是谁?


让我们先认识你。我的名字叫亚历山大(Alexander),从事测试已经15年了。他从开发开始,进入测试,是手刹,现在是自动化工具。我测试了台式机,UI,移动应用程序,API,进行了负载测试以及许多与质量检查有关的有趣事情。我将简要地告诉您如何建立自我测试的职业,学习的知识以及从哪里开始。是的,我缺少一些东西,但是我的建议只是我经验的反映,而不是最终的真理。

以前是什么手动测试员


曾经更好。大约15年前,该行业才刚刚开始。公司开始了解测试的重要性,并开始聘请测试人员。简而言之,主要(并非总是如此!)对测试人员的要求是轻量级程序员或不熟悉程序员的专家,以及对测试基础知识的了解。也许前面的句子会使您感到困惑,但是稍后我将对其进行解释。

测试人员本身分为手刹和自动化。惠普的产品可用于自动化,Selenium,脚本语言。用手测试了手刹,并编写了测试文档。

时间流逝,手刹与自动化合并为一个分支。而且,在我看来,自动化已成为主导。现在,我将告诉您如何成为AQE(自动化质量工程师)。

您需要知道什么才能开始?


测试理论。这是必要的。测试类型,测试文档,知道并能够应用测试设计技术。并探索测试金字塔。也许其中的所有内容都不是很清楚,但是随着时间的流逝,它会在所有的荣耀中彰显出来。

原则上,Savin的书“ Testing Dot Kom”和YouTube上的二十个小时适合开始。



阅读书籍,审查YouTube,有手动测试经验。现在,让我们尝试走向自动化,在那里变得更加有趣。

神话


“质量保证工作是IT相对容易的切入点之一,”
“自动测试很快就会消失。通常,这些都是程序员不足的
“我是测试人员,而不是开发人员,我们不需要知道/不应该/不需要”,

我在互联网上找到了前两个声明。我听到了第三场直播。如果您想在自动化方面达到较高的水平,则不要同意这些神话。这将是艰难,漫长而有趣的。您的知识应该在程序员的水平上。在大多数情况下,甚至还有更多-您仍然需要了解和应用测试理论。
这种神话从何而来?从以上的角度来看,我认为-手动测试仪曾经是什么。测试人员是轻量级程序员(否)。

我想我可以证明这一点。您知道测试人员/管理人员/开发人员吗?问他们一年中发现了多少次自动测试(强)?我想那几个,单位。我们公司一年内扫描了20名候选人,并雇用了一名。中间。

您可以尝试在Signora AQE接受采访。“我们是测试人员,而不是开发人员,我们不需要知道这一点”已经行不通了。开发人员将根据测试理论采访您。因为现代化,功能强大的自动化系统是成熟的开发人员。

选择编程语言


不是很重要。在全球范围内,编程语言彼此相似,在您的职业生涯中您会了解一些。如果您了解这些基础知识,那么很快就会过渡到新语言。
首先探讨基本概念:数据类型,类,数组,循环,字符串操作,函数,OOP。在您使用特定语言之后。

在2020年,为了开发自动测试,我将研究这些语言(我记得这是基于我的经验,而不是操作说明):

JavaScript非常适合测试UI。在测试中迅速发展。 JS框架正在积极取代Selenium

Java,这是俄罗斯最受欢迎的自动化语言。因此,从历史上看,很多职位空缺。

蟒蛇输入速度最快的语言。语言是“简单”的,易于阅读和学习。

并且必须了解这是很长的时间,必须有耐心。取决于4个月到一年的培训强度。

设计模式


设计模式描述了设计程序时解决常见问题的典型方法。

我最近听到的是这样的话:

“我们需要强大的中间人,他们可以抽出并理解我们的测试。我们已经对它们有所了解。”

当您拥有一个3-2页的网站时,一切都会变得简单,快速,美观。但是,如果您有一个同时进行ui / api / mobile / e2e测试的项目,并且所有这些编写时都没有模式,那么在90%的情况下,这将变成垃圾(抱歉)。

知道Page Object是件好事,但是世界上还有许多有用的模板可以简化开发。您越早解决此问题,将来的问题就会越少(这是在早期阶段发现bug的方式,然后更便宜地进行修复)。

这是阅读链接

如果您仍然无法解决此主题,请寻求开发人员的帮助。因此,我们与开发人员一起对项目进行了多次迭代改进。

我还建议您阅读《 Head First》一书。设计模式。弗里曼·埃里克(Freeman Eric),罗伯逊·伊丽莎白(Robson Elizabeth)。

选择哪个操作系统?


不重要。现在这是一个习惯问题,请使用对您方便的东西。如果现在有这样的选择,那么我将选择一个类似UNIX的系统。与她的经验在劳动力市场上受到赞赏,而且问题更少。

测试框架


框架(eng,framework-结构,framework)-关于组合系统组件的体系结构,结构和方法的一组决策,这些决策可应用于许多类似任务。

现在我们接近测试了。每种语言都有出色的框架。对于JS,它是Cypress,Nightwatch,Puppeteer等。Java具有Selenide,Python具有pytest标准。到时研究它们。他们的文件是海上的。

时间到了,当然,在那之前,您需要对模式的主题有充分的了解,然后自己开发框架。

git和审查


Git(发音为“ git”)是一个分布式版本控制系统。
您的代码需要存储在某个地方。有这个。 Git是事实上的标准。
这里的学习过程可以这样构建: 在github.com上
安装git
Register
阅读文档
打开YouTube,查找课程并进行学习。

要登录,您将需要学习少量git命令:
克隆,添加,推入,拉入,存储,提交,状态,变基,签出。在一周内,您将学习和掌握它。主要做法。

审阅代码是用于共享知识,查找错误和“愚蠢”错误以及检查代码的强大工具。起初,他们的检查频率要比您高,但是随着时间的流逝,您将开始审查其他人。尝试将评论视为帮助和发展自己。每个人都有错误和错别字。



还有什么要学的?


CI / CD持续集成/持续部署。

CI / CD的主要目标是最大程度地减少错误,加快组装速度并提高最终产品的质量:



Read

Docker是一个旨在在容器中开发,部署和运行应用程序的平台;

Read

HTTP是用于在网络上交换数据的协议。也许您可以在不知道HTTP的情况下编写UI测试,但是没有要测试的API。有了这些知识,问题的定位就会更快。

Read

xpath是一种用于查询XML文档元素的语言。

链接到备忘单

SQL是用于管理关系数据库和处理数据的标准计算机语言。SQL用于查询,插入,更新和修改数据。

阅读

此列表继续存在,但我将在此处停止。

在哪里获得知识?


Youtube
主题论坛
书籍
编程
课程测试自动化课程

我专门划分了编程课程和测试自动化课程。最好从第一个开始。在第二门课程中,您将学习自动化,并且对开发的“正确性”视而不见。最好奠定基础,然后转向自动化。

值得节省学费吗?我可以读书/阅读文章/观看YouTube,而不选择付费课程吗?没有。当然,如果可能的话。课程中有导师,这将大大加快学习速度。为您发明了许多应提高技能的任务。唯一的办法就是明智地选择教师。阅读评论。

PS我经历了所有事情:书籍,YouTube,文章和课程。这些课程对我来说是最好的,这是发展的飞跃。也许您会有不同的方式。

参考文献


自动
测试 论坛(几乎所有内容都在这里)automation-testing.info用于测试t.me/js_for_testing
质量检查的js-t.me/qa_automation自动化工具
认真的t.me/serious_tester测试人员
如果您还没有这样做,请添加至书签,这是必须具备的。 stackoverflow.com

为什么我写这个


最近,我在一次会议上,一位发言者谈到了他在使用测试自动化方面的经验。他的公司得出的结论是,要找到开发人员并从他们那里进行AQE容易,而不是很难找到不会带来长远期望收益的自动测试仪。原因是自动测试在开发中没有足够的知识(模式,库知识)。在某些方面,我同意他们的观点。我确信有人会认为我描述了对超级测试人员或测试中的开发人员(测试中的软件开发人员)的要求。随着scrum的发展,当开发人员/分析师/测试人员之类的事情消失时,我们成为工程师和团队的平等成员,其目标是发布产品/为sprint开发功能。在这种情况下,对自动测试的要求将不断提高,并且T型专家将在市场上受到赞赏(vc.ru上的文章)。这样的人不仅可以清楚地定位问题,还可以解决问题(例如,在前面)。这就是未来。

结束


正如我之前所写,学习过程并不容易。要进入专业,AQE将需要花费+-一年。关于如何进行培训的文章很多,但我要指出两点:

  1. 知道如何放松和休息。
  2. 实践。选择网站,项目。在它们上编写测试,测试API。将您的代码保存在github上,打电话给朋友,同事进行审查。

祝好运

All Articles