我正在寻找一种编程语言,推荐给考虑自学软件测试的朋友。我有一个对学习软件测试感兴趣的朋友,我坚信,如果今天的测试人员不想在几年后达到一个玻璃天花板(或者成为超级明星探索性测试者),他们绝对必须具备自动化技能。。。但并不是每个人都希望成为超级明星的压力)。
我不能看我自己的经历,因为我读了4年的CSE学位,面向的是开发人员,而且我的教育还不够轻。我想要一些相对容易学到的东西,这将使测试人员在开发良好的、可维护的自动化方面付出最大的代价。
我知道Ruby被用于几种测试工具-- Watir和Cucumber --使用Selenium、WatiN或Watir的工具会更好。对于开发人员来说,本地最喜欢的两种语言似乎是Java和C#,她将在本地工作。无论她学到什么,都需要有良好的资源,让初学者在编程自学,无论是书籍,在线教程,或在线社区。一些不太昂贵的学习可能是首选(‘免费IDE是可用的,有很好的免费教程和信息学习’是理想的)。另外,很难用不好的代码来编写代码,因为我希望她能够避免脆弱的、不可维护的测试。她有很强的学习积极性,所以一种非常有用的语言需要6个月的努力才能达到实用水平,这比她在一个月内可以使用的一种稍微有用的语言更可取。同时,她花在学习编程上的任何时间都是她花在练习探索性测试或学习其他伟大测试技能上的时间--所以轻松学习确实很重要。
而且,我也意识到,编程是一个很小的一部分,是一个很好的测试。我只是对自学其余的测试技能有了更好的掌握,因为我自学了这些领域,可以传授对我有用的东西,或者我希望自己知道的东西。我不想让任何人认为我相信只要学会编程,你就能学会成为一名优秀的测试人员;相反,自从我作为一个程序员开始测试以来,我只是对作为测试人员开始编程的最简单方法没有很好的把握。
发布于 2011-08-23 14:17:42
我的经历正好相反:我先学会了一些编码,然后成为了一名测试人员。我的建议是,任何编程/编码经验都有利于测试。只要您能够更好地理解应用程序在您面前正在做什么,您就可以更好地测试它。另外,特定的工具和语言在使用和普及中来来去去:从长远来看,学习基础知识将相当成熟。
编程语言有各种形状和大小,但有一些共同之处(通常),所以看得更多是好的。此外,如果她愿意学习,那么更大的想法,如面向对象的编程,web和命令脚本,编程风格和代码重用将是有帮助的。当然,要看像Python或Perl这样的脚本语言:它们对于日常测试任务来说是必不可少的。
至于具体的建议,Python是一种很好的语言。它很容易获得,并且与平台无关,这从长远来看是很棒的。它还拥有一些成熟的测试工具(鼻子、单元测试)和大量其他库和工具(用于HTML处理的BeautifulSoup、Selenium工具)。它还有一个很好的帮助社区和简单明了的语法。出于类似的原因,我也听说过Ruby的优点,也许测试工具(特别是Watir)更加成熟。我最近学到了一点C#,而且它也很好。
发布于 2011-08-23 18:58:17
我不认为任何特定语言比任何其他语言更好或更糟糕,尽管我将(从经验中)说,从Java或任何其他“无指针”语言转到有指针的语言并不是一种愉快的体验。
除此之外,自动化和编码的重要部分是认识到代码需要解决的问题,并能够用一系列逻辑步骤来表达解决方案。
面向对象和数据驱动是处理驱动这些步骤的数据的好方法,但核心是找到自动化必须与之交互的部分,以及逻辑处理。
我在这里的建议是选择得到大量支持和广泛应用程序的东西,确保学习逻辑结构(如果-否则,案例陈述,各种循环类型等等),而且它不会影响到目前最常用的语言是什么。
我是以这种方式学习编程的,我从没有遇到过学习新语言的困难(我首先学习了Java,然后是使用HTML的Javascript,其他各种脚本语言,VBScript和ASP.NET,我目前正在使用Delphi的脚本风格)
发布于 2011-08-29 21:18:40
我建议采取一种稍微不同的方法。与其最初关注某一特定语言,我建议将重点放在编程概念上。
一些好书包括卡洛·盖齐的编程语言概念,或伊丽莎白·德雷克的“编程前奏:概念与设计”。(另一本伟大的书是由Charles著的C Sharp键编程。)它使用C#教授编程概念。)
如果有人学习了基本操作的语义,以及数据类型、控制结构、程序设计和数据结构的基本知识,那么学习特定语言就会简化为学习该语言的语法。
仅仅通过学习如何在另一种语言中重复单词,你就不会学会思考或理顺想法。
https://sqa.stackexchange.com/questions/1674
复制相似问题