我的意思是说,如果我不喜欢编码并且不理解复杂的代码,那么我将能够作为QA幸存下来。还是我需要学习测试自动化来发展自己的职业并在自己的职业中赚钱,就像我在目前的公司中看到的那样,与从事硒webdriver,uft等工具工作的人相比,手动,黑匣子测试工程师的功劳更少?

他们有时会被开发人员嘲笑,他们说他们做的发现缺陷是如此简单。他们说,自动化是必须生存的,这是必须生存的,并且不知道任何自动化工具,您无法进行编程。

我测试基于Web的产品,并且擅长探索性测试,方案测试,进行适当的分析,了解数据库SQL查询并尽力查找功能方面的关键问题,但不要使用编程或工具。我为成功的发布做出了自己的贡献。

我需要成为一名技术测试员来挽救软件行业的工作吗?如果手动测试人员不尽快转向自动化,他们将来会失去他们的价值和工作吗?

评论

您似乎使它非常黑白,而答案可能是灰色阴影。您无需成为开发人员即可进行测试自动化,并且在执行测试自动化时,不必要做唯一的事情。我的一位前同事是一位完全没有软件背景的手动测试仪(他曾经是汽车修理工),但是他能够学习一些编码,以便使生活变得更轻松。这个想法是使重复性任务自动化,因此您可以专注于发现重要的错误。

我公司目前仅雇用手动测试人员。尽管我们确实在不同程度上使用了自动化测试,但是尽管我们希望他们成为测试人员,但目前我们的测试人员并未参与此过程。手动测试人员使用的技能绝对必不可少,即使走上了自动测试的道路也是如此。自动化测试并非绝对必要。

“那些不能做的人,教。那些不能教的人,领导。”在一家公司工作了足够长的时间后,请学习成为经理。您不必知道如何进行自动化,而只需领导那些知道如何进行自动化的人。

在进行工作时,对质量保证方法论很强的做法很有价值,但在简历中并不突出。每当您试图证明自己的学科存在的理由时,您就已经失去了论点。

我不认为世界正在以OP认为的速度变化。总是会有人落后。进行良好的测试很难,而且人们不喜欢做困难的事情,只要他们能够摆脱困境。从第一手的经验中我知道,软件行业足以构成一个友好的环境,公司可以在实际陷入困境之前摆脱严重的纪律,浪费和不良做法。 ...所以振作起来:D

#1 楼

总会有聪明的技术人员不喜欢编码。总是有办法利用他们的才能。

我是编码员。我爱我的手动测试仪。她对世界的看法与我不同,而这正是我所需要的。我讨厌的是手动测试脚本,这些脚本在没有任何自动化的情况下堆积。

解决方案不是要确保每个人都是编码人员。这是为了将手动测试与自动化开发人员配对。

测试是一种技能。我很看重这一点,因为它可以让我快速前进,但要安全。问题是,如果手动测试脚本堆积到需要6个月的时间来发布我们产品的新版本,我们都将失业。

手动测试人员应该能够坐下来产品并以用户将其滥用的方式进行滥用。他们应该拥有最好的工具。他们应记录如何以最佳方式发现任何问题。对于应该创建该测试的自动化版本的自动化开发人员,他们应该重现该问题。

该自动化测试应该很快。应该针对后续版本运行它,但是如果删除了测试的主题,则应该删除它。

如果您作为测试人员所做的全部工作都是通过预先编写的测试脚本运行的,那么您将被滥用。如果您可以坐在新的GUI前面并发现问题,我们的代码猴子就不会想到,那么您就是天赐之物。请继续。

评论


我发现您声称自己是充任可疑的“编码员”。我从来没有一个开发人员喜欢QA ... Shenanigans! :)

– Taegost
17年6月12日在18:59

@Taegost:这取决于。我从初级开发人员转到团队主管再到Scrum管理员,一旦达到团队领导阶段,我就会爱测试人员。当您负责完成故事/任务时,我可以了解您为什么讨厌质量检查,因为它们会增加工作量。当您负责实时站点的正常运行时,您会喜欢质量检查,因为您宁愿让他们发现错误,也不想让用户发现错误。

– slebetman
17年6月13日在5:33

@Taegost我认为“而且我爱我的手动测试仪。她看到的是……”表示OP将他们的工作交给另一个人进行测试。

–腐蚀性
17年6月13日在9:41

看到人们这么想让我感到非常高兴...我从事质量检查和发布管理已经很长时间了,看到开发人员将质量检查视为障碍的情况非常罕见。

– Taegost
17年6月13日在12:34

@Taegost我认为质量检查是我的代码必须满足的众多受众之一。 QA可以帮助我的一项技能就是学习足够的编码,以便我可以向他们展示自动脚本,向他们介绍这些脚本,并使他们有信心退出自动版本等同于手动版本。我的梦想是使质量检查从重复测试中解放出来,使他们可以专注于创建新测试。

–candied_orange
17年6月13日在14:14

#2 楼

测试自动化永远不能代替手动测试。


一个经典的论点是测试自动化永远不会捕获可以通过手动探索性测试捕获的随机错误。
我有两个同事过去不了解任何编码技能和讨厌的编码,但是他们是非常出色的手动测试人员,能够捕获其他人无法遇到的错误。 />

好消息是,已经有很多努力使测试自动化变得更简单。无需任何编码技能,就可以学习和应用记录重放测试自动化。例如,Selenium IDE,Ranorex和TestCompelte不需要任何编码技能即可进行测试自动化。
如果您对上面提到的记录重放测试自动化套件感到满意,则可以升级到更多面向脚本的测试套件。例如。使用Selenium WebDriver而不是Selenium IDE进行自动化。

我个人的建议是:自动化和手动测试不是致命的敌人。


测试人员,并且您正在与开发人员紧密合作,因此有很多学习编码的机会。在IT行业中,学习编码永远不会受到伤害。
IT公司以编码dojo或code jam的形式提供内部培训课程,它们是了解最新编码实践的好机会。


评论


@Davor是的,如果您想花费更多的时间在非常具体的,主要是一次性使用的任务的自动化上,而不是手动执行。或想发明非常非常好的通用AI。

–user11153
17年6月12日在12:13

@Davor当然,您可以手动执行的所有操作都可以编写脚本,但是需要编写脚本。让我们考虑一个您不会预料到的错误,也许是简单的css剪切,确保可以获取矩形并检查剪切,但是概率表示您并未为此测试应用程序中的每个文本。手动测试人员会看到它,而不管他当前正在使用哪个测试用例,脚本只会检查我们要求它检查的内容。

–丹尼尔(Daniel)
17年6月12日在13:15

@Davor-您手动执行的许多操作不应编写脚本。您可以使任何东西自动化。但是在企业中,您必须始终考虑价值与成本。

–乔·斯特拉泽(Joe Strazzere)
17年6月12日在13:32

@Davor编写脚本的时间通常比编写脚本要多得多。自动化是一种劳动,不是宗教。当a)它是可自动化的并且b)手动执行它使我烦恼时,我会实现自动化。

–哈珀-恢复莫妮卡
17年6月12日在14:34

您无法通过脚本检查不良的用户体验。

–David Cain
17年6月13日在17:19

#3 楼


手动测试人员可以在不学习自动化的情况下在软件行业中生存吗? />
让我扩展一下这个思想。


当然,您可以成长为从事手动测试的专业人士,只需探索新技术和方法,并测试各种产品行业和领域。尝试不同的工具和工作流程。这可以!但是,我认为下一步必须是测试自动化。

回归。如果测试人员记录了要在手动测试方案中重现的步骤,而不是编写针对问题的自动测试,然后依赖于这样的事实,那就是将来,该特定方案将针对该版本的每个新版本进行手动处理。产品,此过程最终将失败。相反,如果测试人员针对该问题编写自动化测试,并且该测试每天执行一次,或者作为发布前或构建后过程的一部分执行,则在这里避免回归的可能性更大。

人为因素。通常,尤其是作为发布后的步骤,需要对部署的应用程序进行高层检查。手动执行此操作会带来“人为因素”。如果您忘记检查最终损坏的应用程序的某些部分怎么办?自动化测试的“遗忘”机会较低至0,并且会按照编程的要求逐行遵循。

人为偏见。人类倾向于有意见。机器(好吧,我现在不确定)—自动测试将严格按照说明进行操作,人类可能会提出自己的意见。例如,您在测试场景中对单词的解释可能与编写者不同。

更快的反馈。自动化测试提供了更快的反馈,在持续集成和交付过程中发挥着重要作用。

手动测试可能很无聊。我记得只有手动测试的时候。而且,我还记得在逐步遵循测试场景时有动力困难,最终导致我跳过或在精神上调整了我有信心的一些步骤。我记得自己很容易从手动测试中分心,不愿意从一开始就重新开始,假装跟随场景不间断。不要告诉我您从未做到过:)

负载测试。通常,您不能手动进行负载/压力测试。

验证测试。假设您输入了一些自定义验证规则。通常,使用自动化测试来检查此输入的多个值会更容易,更具描述性和更快。

您将是一个更加自信的测试人员。如果您具备测试自动化技能,那么它将增强您对所提供工作和质量的信心-您将知道,由于编写了自动化测试,因此所捕获的错误将不会投入生产。

而且,不要忘记拥有自动化技能也会增加您在市场上的价值。

#4 楼

简短的答案:这取决于,但我认为:是。

长答案:这取决于...取决于公司,项目和业务。

作为高级测试分析师,您拥有使一位出色的测试人员如此宝贵的所有必要优势。除了您提到的内容之外:


领域专业知识
(从测试的角度来看)分析技能


您就是那个在(需求和分析阶段)尽早发现缺陷的人,仅仅是因为您可以估计对产品的功能影响,也许您已经指出了一些漏洞或缺失的路径。



现在,如果我要经营一个IT部门,我肯定会希望有人这样。在职业方面,作为手动测试人员,您最好的选择是晋升到测试协调/辅导的角色。即使您不喜欢编码,理解基本概念也足以管理包含自动化程序的测试团队的计划和预算。如果您仍然是测试分析师,则您的薪水至少应与具有类似经验的职能分析师的薪水相等(我再次认为)。 '不是在泛化或试图冒犯任何人;-)。 )。


如果这些人必须编写测试方案并充实功能细节,我会有些担心,而让您编写方案和数据。


它们(逐个屏幕地)自动(仅/主要)自动执行满意的路径。比你的浅。手动测试某些东西,记录所有缺陷并尝试打破每个领域:这些东西确实为您提供了全面而持久的知识。仅单击“保存”就不会自动执行屏幕。



此外,IT部门的FTE数量和使用的SDLC也相关。假设一家公司只有七个开发人员,那么您将是敏捷项目方法中的唯一测试人员。如果雇主希望所有测试任务仅由您执行,那么您将没有资格(由于自动化)。但是,如果它们确实是跨功能的,则可以与开发人员合作:确定方案并由他为它们编写代码。上述内容的相关性受到您的野心和地区的限制:您想继续为当前的雇主工作吗?您是愿意在其他地方工作(会得到更多的赞赏,但必须从头开始学习业务),还是考虑咨询或自由职业?每个选项都提供不同的机会。

#5 楼

在接下来的五到十年内,您可能会没事的,但是我认为在此之后,我们的编程实践可能会变得如此精致,以至于您将难以捕捉产品经理,设计师,项目经理, Scrum主管,文学士和开发人员本身。 。 。更不用说客户提出的“ requirebug”了,但是质量保证工程师永远找不到,因为在典型的快速瀑布式环境中,他们与客户之间没有互动。

现在,出售自动化软件工具的公司表示,质量检查工程师应该学习某种形式的自动化,或者开始考虑切换到敏捷环境中出现的另一个角色,例如产品经理或Scrum管理员。 />
产品经理可以担任许多QA工程师所喜欢的“主题专家”职位,本质上是以需求形式AAANNND编写测试用例。 。 。如果您喜欢这种东西,仍然可以手动进行测试。

如果您具有技术思想,另一个有趣的角色是网络安全。您可能已经拥有追求这一不断发展的领域所需的许多技能。

话虽这么说,我想在短期内,将会有一些公司坚持进行动手测试。我在这些角色中遇到的问题是:

1)我的同事们希望我成为所有产品的中小型企业。并且有很多产品。最终,我跟不上。

2)我感到自己并没有在扩展我的知识库,而那些实现自动化的同事则提高了技能并得到了提升。

3)开发人员,有时甚至是其他所有人,确实希望我对所有内容进行质量检查。一个数据库开发人员指责我懈怠,因为他忘了为特定客户端部署后运行脚本。一位平面设计师让我检查小册子上的姓名拼写。客户和客户经理对我有些讨厌的客户服务实习生感到困惑。

4)像拼图一样编写的,无需维护,不受人欢迎的,混乱的回归测试(并且在弃用该功能后通常会浮动数年)使WEEKS得到了彻底的回归。

5)开发人员修复错误的速度比我编写错误的速度快。四舍五入。阅读设计博客,提高语法和写作技巧,沉浸于网页设计中以适应残障人士的需求,了解Api的知识,并参加项目管理课程。明天的手动工程师将在与计算机科学相关的各种不同领域中拥有强大的知识基础。

#6 楼

从我的角度来看,智能手动测试仪比自动化测试工程师更具生产力和重要性。

为什么?由软件开发人员自己完成,以...


单元测试
集成测试
UI自动化测试


从实际用户的角度来看,测试+错误通常比其他任何角度都重要。
开发人员倾向于根据自己的体系结构知识和新兴的前沿案例编写测试,而忽略了那些是由子系统的交互作用和实现细节(这是非常重要的,并且不能由测试工程师实际完成)引起的。

总而言之,一个好的手动测试人员着重于开发人员通常不会轻易发现的方面,因为这将要求他们将观点从对实施细节的深入了解转移到最终用户的观点。

测试自动化工程师可能会被开发人员编写的改进的自动化测试所代替,因为他们(应该)在实施基于可重复模式(即可以编码)的测试方面更好。

作为SaaS产品的开发人员,我花了2美分,并采用了大量的开发最佳实践。

#7 楼

这是学生在小学和高中提出的一个问题。 “我真的需要了解这些东西吗?”和“这何时将应用于现实生活?”。

简单的回答是,您很可能无需做任何编程就可以逃脱。但是,对这个主题有足够的了解,以便能够与有经验的人打交道,这可能是非常有价值的。例如...即使您不喜欢编码,但了解编码方式会告诉您通过for loop创建线程中的多个帖子,如果程序员发胖,则可能导致第一篇或最后一篇文章出现错误。手指一个数字。您会知道x/0会破坏东西...或unicode可能会破坏东西。您对代码的工作原理了解得越多,对极端情况以及在何处查找问题的了解就越多。创建的文件应进行记录和自动化,以便可以在下一个发行版中对其进行更有效的测试。一种算法。
如果您正在使用创造力来发现要测试的事物的新的有趣问题,那么您将无法替代它,除非AI能够复制相同类型的创造力。

#8 楼

自动化测试只是编程。编程并不适合每个人,但是如果您可以进行数据库SQL查询,那么您确实有足够的思维定势,因此可以根据需要学习编程。

这可能只是选择语言的问题那将是一个很好的选择。脚本语言是为此角色设计的,Python是其中最流行的语言。即使您不想深入利用Selenium WebDriver来实现浏览器自动化,它也可以使许多文件改组任务,文本解析任务,查询数据库等自动化。

因此您可以保留手动测试仪,但是如果您探索当前舒适范围之外的区域,您的职业将会受益。认真地看一下Python,您会喜欢的。

#9 楼


手动测试人员可以在不学习自动化的情况下在软件行业生存吗?



可能没有。

随着现代软件世界的发展对于连续部署模型,所有测试应自动化。是否喜欢。随着敏捷运动的发展和质量成为团队合作的精神,开发人员将尝试尽量减少移交。开发人员可以执行开发过程中的任何手动测试。如果我是CTO或开发经理,我也希望我的开发人员也成为出色的测试人员。您不应将测试推迟到流程结束之前,因为它不是可选的。但是,这确实需要教会开发人员新技能,以便从用户角度对产品进行评论。

非编码质量

如果您是测试人员并且您不喜欢编码我将结合使用Scrum Master角色和软件质量管理。您可以关注流程,结构和功能质量,并指导团队如何通过保持高质量来改善周期。这需要一些技术背景,但是不需要编程。我喜欢教练技术卓越实践,包括自动化。成为软件质量专家并提供一些咨询。

手动测试

长期以来,一些公司仍会使用传统的测试方法。我知道有些养老基金有很多手动测试员。他们将拥有很多年的时间。就像仍然需要COBOL编程器一样,在您的一生中也将需要手动测试专家。由于没有新人接受培训,您甚至可能获得更高的报酬。不过,您可能需要搬到这样的公司。

#10 楼

首先,我想告诉您,您在团队中扮演着非常重要的角色。您提到的技能(探索性测试,场景测试,适当的分析和SQL知识)实际上对于成功的项目至关重要。
我知道在某些情况下由于缺乏适当的分析而在测试过程中遗漏了一些方案。

就您而言,我必须说这只是为了实现它(自动化)而已。
您也将在此方面取得成功。出现了与手动测试仪和自动化测试仪需求有关的问题。
我认为对手动测试仪的需求将逐渐减少。自动执行回归测试,之前由手动测试人员负责。并且正在努力使手动测试人员正在执行的更多手动工作自动化。

因此,是的,智能手动测试人员将始终存在并保留工作。因为我不认为100%自动化测试是一个好主意,甚至也不可行。

但是,随着自动化测试仪需求的增加,整体自动化程度将会提高。这将对手动测试仪的需求产生不利影响。

对于您来说,我建议您开始学习自动化。因为如果您使用SQL并理解逻辑,并且还擅长识别业务场景,那么我相信您会轻松选择它所需要的自动化和编程概念。在箭袋中又有一个箭头(自动化)是错误的。 :-)

#11 楼

尽管价值水平可能会因行业而异,但手动测试总会有价值。我的背景是嵌入式固件,它与硬件紧密结合。我们的大多数质量检查工作都是手工完成的,因为有太多事情您无法合理地自动化(进行更改,交换硬件组件等)。高质量的手动测试比ace编码器更有价值,后者可以自动执行任何操作,但会遗漏许多问题。您始终可以与面向编程的同事合作,将您的手动测试转换为自动测试。有些公司甚至正式将质量检查分为两组:一组进行手动测试并生成测试计划,另一组采用这些测试计划并创建自动测试脚本(每组尽其所能以达到最佳结果)。

#12 楼

该行业的发展趋势是学习编码的好主意。有了所有不同的语言,工具和免费资源,没有比现在更好的时间了。您无需成为高级编码员,只需学习如何编写自动化测试,这就会减轻您的工作量。

适应变化的能力是一种竞争优势。我还认为,学习编码对于长期的心理健康很有帮助。学习新技能和保持头脑新鲜远比让大脑消沉看电视更有益。

#13 楼

“如果我不喜欢编码并且不了解复杂的代码,那么我将能够以质量检查的方式生存下来”:
答案:是的。诸如可达性测试之类的区域根本不需要自动化。同时,每个国家/地区都在其法案中引入了可访问性规则和法规,因此可访问性工程师在最近的手动测试人员中扮演着越来越重要的角色。

PS:依靠手动测试技能,并非如此从2012年开始,大多数一般质量检查职位都依赖于自动化,因此可以切换到任何组织。
'我需要学习测试自动化以提高职位和在我的职业生涯中的支出吗? ,黑箱测试工程师所获得的荣誉要少于从事硒Webdriver,uft等工具工作的工程师?' QTP在2006-2011年期间很出名,硒从2012年开始很出名,并且趋势一直在cypressio上。 :有关赛普拉斯硒的免费课程

'我需要成为一名技术测试员才能挽救软件行业的工作吗?'
答案:是的,那就推荐了。 ISTQB测试自动化工程师是针对您的经验的最佳途径。 (教学大纲参考资料)
'如果手动测试人员不尽快转为自动化,将来会失去他们的价值和工作吗?'
答案:这是100%的神话,根本不是真的。请参阅第1.1节中的“有史以来最佳自动化软件测试书籍”之一,其中指出进行手动测试的前景广阔。在此处阅读第1.1节:
https://books.google.co.uk/books/about/Advanced_Selenium_Web_Accessibility_Test.html?id=pTCPDwAAQBAJ&printsec=frontcover&source=kp_read_button&redir_esc=y#v=onepage&q&f=false


#14 楼


我测试基于Web的产品,并且擅长进行探索性测试,方案测试,进行适当的分析,了解数据库SQL查询并尽力查找功能方面的关键问题,但是不使用编程或工具。 br />
我想知道如何在没有工具的情况下访问数据库...我认为您已经使用了很多工具,也许您对此并不了解。

我需要成为技术测试员来挽救我在软件行业的工作?

软件行业从定义上讲几乎就是技术,因此拥有技术技能不会损害您的职业。您说:

...我擅长进行探索性测试

您需要考虑到探索被测试产品的技术方面是,也许应该是,更全面的探索的一部分。如果您认为自己是探索性测试仪,但同时又避开了技术测试,那么对我来说,这听起来不算是一个好策略。这甚至听起来像是一个矛盾。

您需要弄清的是:

测试自动化
工具支持的测试

编号1 )就是您所说的。所有那些使用Selenium编写测试代码的测试自动化专家,而并非如此。就个人而言,我认为没有这些技能对于在测试行业中生存是必要的。但是,我认为2)是在测试行业中生存所必需的。技术在不断发展,没有工具就无法提高效率,或者没有工具甚至无法完成某些任务。
让我们考虑这个示例:您很可能会使用一些协作工具(例如Jira等)在其中填充错误等。您能想象没有它的情况吗?也许这不是那么明显。让我们对其进行迭代。假设您正在测试一个Web应用程序。您能想象没有浏览器中的DevTools对其进行测试吗?我不是因为感觉盲目。您能想象没有HTTP代理进行测试吗?然后,您如何在输入字段上有效地测试前端与后端验证?另一个示例可能是测试应用程序如何处理大量数据。您是否逐项手动添加所有数据?我希望不会,希望您效率更高,并编写一个代码段为您生成并保存数据。这不是完全编程,但是您仍然需要这样做才能在探索性测试中发挥作用。
您知道我要去哪里吗?如今,没有工具的测试甚至可能是不现实的。因此,前进的唯一方法就是拥抱它们,学习其中的一些,探索其他的东西,看看它们可以为您带来什么价值。

#15 楼


增值增值,成为有价值的东西。