我是具有15年经验的SQA专业人员。我的行业经验是游戏和社交网络移动平台。我是一个非常有成就的团队领导者和导师,也具有少量的部门和项目管理经验。我已经为小型公司建立了新的质量检查部门,并在大型公司中管理多达65位测试人员。换句话说,我的履历相当稳健,而且我的质量保证基础扎实。

但是,我的经验至少是95%的黑匣子。如果我能正确地看到书写内容,则对黑匣子质量检查专业人员的需求正在下降,而对SQE专业人员的需求却不可避免地在上升。我希望看到我的就业机会会随着时间的流逝而不是逐渐减少。

我有机会在接下来的6-12个月内退出工作市场想做一些组合:
-学习一些编程方法
-学习如何使用一些测试自动化工具
-获得SQE实现的概述

I不会参加任何物理课程,但是会有足够的时间阅读,在线课堂学习,也许还会找到一些开源项目进行练习。显然,我认为6到12个月不会使我成为合格的SQE。我的目标不是完全重新开始我的职业生涯,并重新开始成为专门的SQE。但是,如果我能学到足够的语言,可以说自己的话,参加战略会议,担任SQE和其他部门之间的主管联络员,等等……我认为这些技能确实会扩大我的简历。 br />
我不确定我是否应该尝试成为一名通才,全面了解SQE,还是选择Selenium之类的东西(凭空摘出一个例子),然后学习所有可能的知识。我可以看到自己从事合同工作,说进入没有自动化QA流程的公司,并完成所有实施Selenium,培训测试人员,建立协议,在部门之间集成流程等工作。我非常出色东西,我只是不了解Selenium :)。

现在,我才刚刚开始尝试弄清楚我需要学习什么以及如何最好地学习它。太多的信息和太多的缩略词让我在不征求任何指导的情况下提出了自己的想法。目前,我们非常欢迎您提供有关书籍,博客,网站,讨论组,论坛的建议,以及您希望分享的其他建议。

评论

在您当前的工作中,有没有什么潜力可以自动化?那是什么?

@dzieciou我目前没有工作。在接下来的6到12个月,我的情况是我将无法接受任何正式工作。但是,有大量的时间用于学习和自我完善。

那你学到了什么?对于尝试重复您的经历的人,您可能有什么建议?

#1 楼

基于我作为测试员和自动化员的十年经验而得出的一些想法:



学习原理,而不是工具-如果您了解自动化原理以及它的工作方式,比起简单地学习自动化工具,您将处于更好的战略位置。您可能做得比通过Joe Strazzere的博客和Alan Page的博客更深入地了解测试自动化以及测试管理的一些有趣见解。

了解不同的自动化级别和技术-可以执行测试自动化从单元测试(应由开发人员编写并与每个版本一起运行)到各种级别的集成,模块和API测试,再到GUI级测试。如果您了解每种自动化测试的利弊,并且在一个地方选择另一个,则自动化专家将朝您敬拜(也许不是字面上的意思-但必须就此主题进行许多培训,我可以说,获得此奖项的人非常欢迎加入团队。)

了解测试自动化的不同目的-出于多种原因,可能会发生测试自动化。一位了解并了解他们的主管/经理是许多测试人员喜欢与之共事的人-因为他们不必证明“非生产性”的时间是合理的(是的,我已经经历过……)。最常见的是,您将在此处看到的是用于回归测试的功能和基于GUI的自动化。大多数大型工具都针对此目的,并且大多数工具都使用唱片回放作为卖点。这引出我的下一个观点:

记录回放应该委托给最深的地狱-它使脆弱的测试变得难以维护。记录回放如此之大的主要原因是因为它使没有编程背景的人可以轻松快速地创建大量测试。当我使用记录回放时,我仅使用它来获取可以以编程方式操作的对象句柄:我认为这是记录回放的唯一有效用法,而且不错的对象检查工具可以完成相同的工作。

自动化就是编程-对于具有您的经验水平的专业人员来说,这应该是显而易见的,但还是值得重复一遍。自动化是编程,自动化代码需要接受与生产代码相似的检查,代码审查和代码标准级别。当然,它必须停在某个地方,或者您必须进行测试以测试测试代码的测试,但是必须对所有新测试代码进行代码审查并定期对正在运行的测试进行审查。也不要害怕弃用不再相关的测试:自动化是一种资源密集型活动,维护生产中未使用的测试代码会浪费每个人的时间。


评论


我从Joe Strazzere的博客中挖掘了许多其他与自动化相关的博客,我从中选择了8个来开始关注,谢谢。您的Alan Paige链接已损坏(它是Page not Paige)。该线程的未来读者应该访问Angryweasel.com/blog以获取该链接。

– Tod Hostetler
15年1月27日在20:56



@TodHostetler-谢谢您的更新-我将编辑我的答案以更正链接和名称。不幸的是,工作中的Web过滤过于热情,并阻塞了Alan的博客。

–凯特·保罗(Kate Paulk)
15年1月28日在11:48

#2 楼

您已经有了扎实的基础,并拥有对质量检查和专业技能的深刻理解。如果您可以通过在测试自动化方面拥有更多技术技能和专业知识来补充这一点,那么您将在就业市场上拥有非常有价值(稀有)的资料。

根据我与许多优秀人才的经验如果有机会合作,我建议您从以下几个方面着手:


在战略层面上了解自动化。您如何设定切合实际的目标?组织在愿景/政策,流程和角色方面需要什么?需要哪些知识和技能?什么是技术限制?
广泛的工具知识。如果有可能,请尝试使用一些不同的工具来了解当前市场上的情况。开源工具(Selenium,JMeter)和商业工具。理想的软件包将包括用于测试管理的工具(例如HP ALM),测试用例生成,测试数据管理,自动测试执行和性能测试。
编程。不只是写几行代码,而是真正的交易。以我的经验,这通常是一个真正的瓶颈,而且经常被低估。我建议您遵循一门大学水平的编程课程,这不仅要学习一门语言,而且还要教您数据结构,算法等方面的基础知识。
现实生活中的经验。确保获得一些实践经验,最好与经验丰富的导师一起工作。这肯定会加快您的学习速度。
选择您的重点。要么熟练使用特定的工具(硒?),要么特定的问题域等。要学的东西太多了,如果您不集中精力,那么您将永远不会超出基础知识。

祝你好运!

评论


请记住,“大学级编程课程”听起来有些吓人,我有6到12个月的时间要做。一个例子可能会有所帮助:我完成了一个为期两年的平面设计课程。同一所学校提供了为期两年的摄影课程。作为为期2年的GD计划的一部分,提供了6个月的摄影入门。不足以让您成为一名专业摄影师,但作为一名GD,您还可以谈论行话,了解所涉事务和可能发生的事情,与专业摄影师合作等。如果可以推荐QA Automation的类似产品,会是理想的。

– Tod Hostetler
2015年1月27日在21:19



一个四分之一系统中的两个入门编程课程将花费六个月的时间,并且将教给您大约70-80%的知识,成为一个体面的程序员,以编写测试自动化的目的。我同意大部分建议,但不同意“选择重点”,而不仅仅是“编写测试自动化”,甚至“专注于一个技术堆栈来启动”。测试受益于知识广度,而不是深度,IME。在学习过程中,请尝试为过去手动测试过的各种问题编码测试解决方案,以便更好地利用以前的经验。

– Ethel Evans
15年1月30日,0:55

#3 楼

这是一个很好的问题。我曾多次减速以加速。我建议保持一种核心力量,并在其他方面不断发展。

设置学习目标并确定编码练习


用于基本Web服务的编码,编写单元测试代码
Java编程基础-数据结构,基本程序练习
TestNG的基础知识,使用Appium来测试移动应用程序,使用Selenium来测试Web应用程序
自动化框架设计的基础知识
NOSQL的基础知识,大数据与RDBMS的结合

书籍
简化Selenium-使用Java和Selenium RC进行自动化Web测试-http://www.compendiumdev.co.uk/selenium/

您是公认的团队合作者,人事经理。这些练习的目标是“知识如何运作”就足够了。为了帮助您设计/审查,您需要继续学习!

#4 楼

因此,您可能会更多地适应自动化的主角,而不是自动化工程师。虽然拥有出色的技术经验是很棒的,但是您应该比实践更了解原理。

开发原理

学习一些不同编程的基础。购买一些比任何一种特定语言都更着重于原则的开发书籍。由于您不太可能经常“陷入代码深渊”,因此您可能会更负责咨询不同的合作伙伴并解释您的立场,并确保项目的长期目标如期进行。

自动化原理

了解如何实现自动化是主要的关键。学习Selenium很棒,但是如果您的系统在中间件层上使用API​​,那么了解SoapUI可能是更好的重点。了解如何自动化,如何自动化以及使用哪种工具可能是您可能学到的最重要的东西。可悲的是,这只能在一定程度上伴随经验。如果本来可以很容易维护的API自动化构建的错误类型的构建,则很难维护的基于GUI的自动化系统将导致这种体验。

TOOLS TOOLS TOOLS

如果您雇了一个承包商,而他试图用螺丝钉砸,我想您会开除他。使用正确的工具完成正确的工作是关键。知道虽然SoapUI可以进行基于Web的测试,但这样做并不明智,这一点至关重要。知道虽然Record和Playback脚本可能为您提供喘息的机会来构建可维护的Automation框架,但很有用,但是对这些脚本的期望过高可能会很快使您失业或没有员工。知道在不同情况下最好使用什么可能是自动化世界中最困难的任务。工具在不断变化和调整,所有这些都在特定的地方存在。学习它们,了解它们,永不停止学习。

在哪里学习


关于SQA中常见问题的丰富资源
API测试资源
面向对象的编程概念C#/ Java

学习您可以找到的有关许多不同工具的基础知识


评论


问题-“购买一些比任何一种特定语言都更着重于原理的开发书籍”-任何特定建议?进一步的问题-听起来您似乎建议我最好从“测试金字塔”的起点向下钻取到自动GUI,以便学习最好,但是要始终牢记它的局限性,然后再进一步钻入“服务”,最后钻入“单元”测试。我完全理解这不一定是可以在现实世界中使用的方法,但是您是否建议这是非技术人员学习的最佳载体?

– Tod Hostetler
15年1月27日在21:35

可悲的是,没有书,因为我通常无法从书中学到东西。至于GUI下降方法,因为您最有可能了解GUI级别,因此它可能最适合您的需求。下一步可能是API和数据层/数据库测试。

– Paul Muir
15年1月27日在21:39

我建议朝另一个方向-单元测试。 UI测试是要做到最好的最具挑战性的测试学科之一,并且需要对面向对象编程IME有扎实的理解。

– Ethel Evans
15年1月30日,0:57

#5 楼

首先,我建议您浏览此人的博客并在他的网站上进行所有练习。

评论


您提供的特定链接无济于事,但我在屏幕快照中发现了Dave Haeffner的名字,并进行了一些谷歌搜索,将我带到了该链接davehaeffner.com。正在寻找与我类似的答案的该线程的未来读者应访问该站点,然后在右下方查找Selenium Bootcamp选项卡。我很确定这就是djangofan试图指出的方向。

– Tod Hostetler
15年1月27日在21:43

#6 楼

您真的有很好的经验,如果您正确学习自动化工具,那就太好了。

我应该学习以下工具:

1-Selenium IDE [使用firefox的基本硒硒插件来记录和验证事物]

2-Selenium Web驱动程序[使用它可以编写自己的自动脚本]

3-Jmeter [它可以使您做到最好负载/压力测试]

以上都是完全开源的,并且具有使几乎所有内容都自动化的强大功能。

一些有用的链接:

1 -Selenium Web驱动程序

2-Selenium Web驱动程序从基础到高级

3-Jmeter

自动化将极大地帮助您重复任务轻松快捷。它还将节省您的时间,精力和人力资源。

#7 楼

请不要忘记www.udemy.com,因为它是一个很好的资源,而且教学结构也很好。

现在稍微翻一下,如果您必须教别人如何做,那么Tod Hostetler将从何处开始?成为合格的质量检查经理,因为我似乎越来越多地要求具有开发背景的技术质量检查经理。干杯。

评论


第二段似乎是一个问题,而不是答案

–user246
15年1月25日在13:07

#8 楼

我不知道SQE是什么(软件质量工程师?),但是如果您想在白盒方法方面变得更好,请学习编程。 Python和Ruby是众所周知的编程语言,对于您是否打算使用Selenium WebDriver进行自动化构建,这两种方法都很有用。一旦您熟悉编程(或同时),就开始学习WebDriver。

构建团队和构建工具或自动化需要非常不同的技能。一个并不比另一个更好。如果您非常擅长团队建设,并且拥有稳定的机会,那么这就是在团队建设中变得越来越好的原因。