我一直是一名手工测试人员和文档(测试计划等)。公司软件/IT部门的人员。我没有很大的编程背景,但我想学习编程语言和工具。因此,我正在寻找自动化测试工具和编程语言来学习,这也给我工业优势。
值得注意的几点是:
提前谢谢。
编辑:我认为到目前为止我已经决定选择:
我只需要找出一种好的编程语言,它能给我一个程序员的优势,并且适合多种测试工具(包括Selenium)。可能是Python,Ruby还是Java?
发布于 2010-07-26 18:46:35
哇,这是一个很普遍的问题。我想说的是,在业界迈向测试驱动开发 (或者在代码之前编写测试)模型时,您处于一个很好的位置。
首先,您需要了解单元测试、连续积分和Web。
我将专注于我所知道的领域(.NET,Java,Javascript,构建自动化,Selenium)
HTH
发布于 2010-07-26 23:55:53
至于“产业优势”,这取决于你说的是什么意思。
对于大公司来说,QTP被广泛使用。用QTP学习的东西并不是真正的语言,而是工具本身。对我来说,克服工具细节比学习VBscript更麻烦。如果您考虑性能测试,那么PerformanceCenter可能是您的选择。这里有C作为语言,但与工具相比,与语言相比,还有更多的斗争。在一些公司中,有来自IBM的堆栈,因此Rational软件开始发挥作用(FunctionalTester、机器人、PerformanceTester)。还有一些工具的复杂性需要通过(IBM可以提供帮助)。
在规模较小的公司,Java/C#可能是有益的。在这里,您可以熟悉junit/nunit/TestNG/MSTest。对于are应用程序,Selenium/Watij/Watin/Fit/Fitness/Concordian之类的东西值得一看。如果您有时间看看AutoIT,PowerShell,Python,Fiddler,Jmeter,Abbot,Watir/Cucumber,Sikuli。
还有很多其他的工具,比如WebAii,TestComplete,Twist。其他一些商业工具。通常,你可以为他们进行试验,让他们玩上一两个星期。
一切都取决于你将接触到什么样的项目,以及它将是什么样的公司。
无论如何,在我看来,在某种程度上学习Java/C#就足够了。你不需要成为C#/Java忍者,了解每个库,并且认真学习给定的语言。您可以看到,开发软件不仅仅是了解一种编程语言,而测试自动化不仅仅是了解一种工具/语言(M. Fewster & D. Graham),所以不要对它着迷。如果您可以在QTP中编写脚本(不是记录,而是编程,使用描述性编程,将逻辑分解为库,通过适当的方法完全控制TestResults等),那么与其他工具相比就不会有问题了。您可能需要几周或两周的时间来学习给定语言的基础知识,但这都是为了测试自动化(至少是开始)。你需要更多的经验,了解工具,了解概念,了解不同方法的利弊,在头脑中有更大的认识,而不仅仅是‘我如何用那门语言写这个’(关于这个:D )。
发布于 2010-07-27 00:38:53
这个问题的答案取决于几件事。首先,你在做什么样的测试?测试基于网络的应用程序?测试大型程序的库/组件?GUI测试?测试命令行应用?
在创建脚本/自动化测试工具时,我发现以下功能非常有用:
TCL - TCL可以像批处理文件一样轻松地与命令行进行接口,但是它有一种强大的语言,可以将批处理从水中吹出(包括GUI功能)。如果您正在编写基于Windows的控制台应用程序(要么测试它们,要么用来测试其他的东西),我建议您花时间精简TCL。
AutoIt --这种脚本语言让你可以快速、轻松地与Windows应用程序进行UI交互。它也相当容易学习。如果您想花时间和精力开发一个屏幕刮取实用程序,您可以将它与AutoIt结合起来创建一些相当复杂的测试系统。
在测试编译好的库时,我使用good 'ol C获得了惊人的成功。我将为一个测试应用程序编写基本框架,并创建一个脚本实用程序,它将根据需要运行的测试动态生成其余的代码(我给它一个示例C片段库,它可以用于更复杂的任务)。
红宝石 --当您进行自动化测试时,健壮的脚本语言可以走得很远。无论您需要解析测试日志、生成报表,还是自动生成测试脚本,您熟悉的脚本语言都可以节省大量时间和麻烦。我选择的语言是Ruby,但我公司的其他人更喜欢其他语言,如Perl或Python。语言选择不是太重要,选择一个,并学好它。
根据您正在测试的内容,您还可能在您正在测试的代码中内置了一些测试工具。Java代码有时是用JUnit测试编写的,这里代码可以使用Test::Unit框架等等。这里是多种语言的单元测试框架列表。如果您正在测试的代码是在考虑单元测试的情况下构建的,您将希望学习代码所用的语言,以便您能够利用这些单元测试。
https://stackoverflow.com/questions/3337825
复制相似问题