2010-11-15 83 views
2

我们开发了多种产品,并且已经对它们进行了大量的单元测试和全自动功能测试。问题在于那些测试不会频繁运行,只需由开发人员手动或在发布新版本之前手动运行。寻找“测试执行管理器”软件来管理自动化测试

我正在寻找一个“测试执行管理器”的软件,这将使:

  • 定义测试套件为我现有的测试的集合;
  • 在我们的测试实验室的多台机器上执行测试套件;
  • 收集结果呈现他们很好;
  • 保留测试执行历史和结果

大多数“测试解决方案”我发现专心“的编写自动化测试”(我们已经有工作),或密切配合软件开发等方面的整合,像定义需求和提交错误(我们已经并且不想改变)。

  • 任何人都可以推荐一个简单而灵活的软件来完成上述操作而不强制特定的开发过程吗?
  • 我虽然在使用(或滥用)Hudson CI为此。 Hudson已经可以运行测试,收集结果并且定期或者由于代码提交而呈现它们;但它不是为测试套件定义而设计的。任何有经验的哈德逊用户对此建议的任何意见都会被赞赏。
+0

这将有助于如果其排定你更多地解释了你的测试。他们是如何实现的(什么语言,框架?) – 2010-11-17 13:09:17

+0

我有在C++中实现的单元测试(使用CxxTest)和在python中实现的自动化应用程序测试,没有任何特定的FW。测试通常在ESX的虚拟机中运行,或者在物理机器上手动运行。此外,我有夜间编译和CI哈德森和所有代码是在SVN管理。 – 2010-11-25 19:05:22

回答

4

首先,我们的开发人员不允许在没有运行单元测试的情况下检入代码。我们还运行一个CI服务器(Hudson),它在提交之后构建并运行单元测试。我们正在努力实现夜间构建的功能测试。

你说你的开发人员测试软件?这是一件坏事。至少让而不是的开发人员熟悉代码来测试您的应用程序,否则您可能会忽略一些错误,因为他们的存在已被开发人员编写代码所排除。此外,谁写的功能测试?开发人员再次?你应该让你的学士写他们。永远记住,四只眼睛看到两个以上。

因此,毕竟,我认为,单元测试将始终在将代码签入SCM之前运行。以下主要针对功能测试。

简单的解决方案:

  • 您可以随时创建脚本来捆绑你的测试(批处理或shell脚本在运行单个测试)。
  • 测试套件的执行实际上是哈德森
  • 收集和呈现效果的目的之一,就是哈德森是什么
  • 见上面,可哈德森来完成,而不滥用它。

一个很好的解决方案:

难道你看像IBM Rational Quality Manager工具?根据您使用的测试工具,您可能希望使用不同的测试管理工具。 Oracle也为它提供了一个工具。不要误以为这些工具相当昂贵,而且提供的方式比您想要的要多。从谷歌的一点点帮助,你应该找到适合你需要的东西。我的关键词是“集中测试管理”。

如果您使用FitNesse进行功能测试。您可以在FitNesse中定义套房,我认为套房可以成为更大套房的一部分。 FitNesse绝对保留历史测试数据。测试可以从命令行运行,使您可以运行ant或maven的测试。

如果使用单元测试框架为您的功能测试也可以运行他们作为每夜构建的一部分,并使用您的CI服务器(哈德森或巡航控制或......)

+1

我们也在每次提交时都运行UT,现在想要爬到下一个级别,每天晚上都会运行一些基本的功能测试,并且每周都会运行一个完整的功能测试套件。 Indid,我们的开发人员也开发了自动化测试;你关于让一个独立的开发者编写测试的说明是正确的,我们应该对此更加明确。 我现在面临的选择是在快速芯片解决方案之间,它将使用哈德森进行测试管理,或者查看更复杂和完整的解决方案。所以我试图从那些有效的人那里得到这个词。我明白你会去哈德森。 谢谢! – 2010-11-25 19:14:32

+0

我不推荐哈德森本身。这就是为什么我提到RQM,它可以管理RFT,RPT和其他工具。在你的情况下,听起来你已经写好了测试,只需要对它们进行分组(批处理/ shell脚本),以及在不同服务器上分发和启动它们的方法(例如Hudson)。你也想收集结果并以一种很好的方式呈现它们(例如Hudson)。如果你有预算,你可能会更好,现成的解决方案(希望更快实施)。你自己写的测试(假设:不是标准输出格式),需要在两种情况下进行整合。 – 2010-11-29 21:13:51

+0

Upvote for **开发人员不得在没有运行单元测试的情况下检入代码** – 2012-08-30 07:35:44

相关问题