网站上肯定有很多这样的问题,但是我有一些独特的要求会影响我对测试管理/ QA流程管理系统的选择。这是为了管理测试用例和记录结果,而不是执行实际测试,这将由手动和其他自动化工具完成。


我们正在为网站构建测试,该网站应每天至少会有一些行为上的变化。因此,如果有1,000个测试,则由于一项新功能或设计变更,每天肯定会有至少5个测试失败。我之所以提及它,是因为我不想使用一种假设,即一旦定义了一个测试用例就永远不会改变,或者更改它需要一个正式的审查过程。
我想一次编写一个测试用例,然后记录很多相同结果的变体。一种用于每种设备类型,浏览器,操作系统以及其他版本。例如,“用户注册”主测试用例定义一次,然后每天记录每个浏览器/设备/操作系统组合的结果。
我希望它是基于Web的。还使用某种API让我们的自动化测试工具(主要使用Selenium)对结果进行后测试。


#1 楼

有许多系统可以处理此问题。我对Test Link和TFS都很熟悉,它们都具有API(尽管TFS API有点挑战-以正在研究如何通过API将测试结果发布到TFS的人的身份发言),并且两者都有处理方法需要更改的测试用例。

很大程度上取决于您的预算-Test Link是免费的(就像在开源中一样,在啤酒中一样),TFS则不是(Microsoft Team Foundation Server,如果您不熟悉缩写的话)。 SmartBear的QA Complete是另一个商业工具,可提供您正在寻找的功能。

这些工具(我怀疑还有其他主要商业产品)的工作方式如下:

您定义一个或多个测试环境-涵盖您的设备类型,浏览器,操作系统等。根据工具,您可以定义测试套件,测试计划或测试用例级别所需的环境。用于传达工具的API有所不同,但可以使用。对于TFS,在开始测试之前,需要大量的代码和各种其他依赖项。 Test Link还具有在启动之前需要在工具中设置的依赖项。

对于测试用例更新,通常的安排是测试用例一旦运行就被版本化(即,结果已发布到工具)。理由是,如果必须更改测试用例,则除非保留测试用例本身的历史记录,否则历史结果将无效。更新已更改的测试用例通常是创建一个新版本(并增加测试用例的版本),然后针对该版本运行直到有另一个更改为止。

根据工具的不同,您可以将测试用例分解为可重用的步骤,以最大程度地减少所需的重新版本化。

我知道Team Foundation Server可以通过所谓的“共享步骤”来实现这一点-听起来很像-一个测试用例中的一个或多个步骤可以被多个测试用例使用。 (注意-Team Foundation Server需要使用Microsoft Test Manager来定义测试套件和测试计划-当前,无法通过TFS界面创建这些套件-没有TFS不能使用MTM)。

我经常将一个步骤设置为共享步骤,以便任何测试用例都可以使用它(例如“单击登录按钮”,它不在乎用户凭据是什么) 。您还可以参数化步骤,以便将测试输入到特定字段中的每个不同的值,而不是执行很多步骤,而只需一步即可在该字段中输入“ @value”,并且可以使用以下值定义测试用例或附加的数据文件。

Test Link没有我所知道的那种可重用性。我对其他工具的了解不足,无法提供任何建议。

在测试部测试工具列表的“测试管理”部分中可以找到很多测试管理工具。 (清单很长,您需要在其中进行大量研究)

从好的方面来说,大多数商业工具都提供某种形式的试用。我知道Microsoft为他们托管的TFS提供了一项免费服务(Team Foundation Service),其中包含最新功能集。每个帐户最多可供5个用户免费使用-我不知道其他详细信息。

祝您找到满足您需求的东西。

#2 楼

我想建议www.testlodge.com,这是我一直参与开发的测试管理工具。

根据您的要求:


TestLodge允许您在需要时编辑案例。在编辑时,所有未运行的测试将被更新,但是任何已经有结果的现有测试将保留旧内容。这允许您的测试随着时间的推移而发展。
TestLodge允许您定义测试配置,因此您可以创建浏览器,设备等的列表,并选择应针对哪些浏览器进行测试。
该工具完全基于Web,并且还具有REST API,可用于您要添加的任何集成。