我们有大量的自动化测试,这些测试是我们持续集成流程中的一部分。这很好并且可以按需运行,但是我们错过了测试管理工具的好处,例如
用测试用例映射需求
获得需求的测试覆盖范围
将测试案例/测试结果与问题联系起来
–轻松地重新测试已报告的固定问题
,依此类推。简而言之,这是一种有关测试管理工具的好东西。
所以我一直在尝试找到一种工具,但似乎我发现的所有工具都主要支持手动测试和/或仅支持手动测试有限的自动化测试支持。
测试用例的重复
我们现在已经用自然语言(通过http://gauge.org)定义了一堆测试用例。我想将它们集成到TMT中,而不是再定义它们,以避免重复测试用例并维护它们的两个(或更多)副本。
我们的测试用例位于git中,我拥有找不到从git导入测试用例的工具。
自动化结果
所有TMT都提供了一种以直观的方式(用于手动测试)添加结果的工作流。找不到支持自动化的工具,例如从该工具触发测试并检索结果。
所有这些都很令人沮丧,我不能认为只是我在与之抗争。有没有人有使用自动测试工具的任何经验?
请不要简单地发布链接;请提供有关特定工具为何起作用以及该工具如何帮助我解决上述问题的详细信息。
#1 楼
在进行自动化测试时,我一直对测试管理工具保持警惕,尤其是自BDD问世以来。我使用过的每一个软件,都因不可靠或不灵活而引起了重大问题,一旦您不得不开始进行外部测试,那么它就会失败。我的测试理念是始终使事情尽可能简单,这涉及到选择工具和过程。
映射要求
如果您良好地使用BDD,则应该从PO中获取用于定义测试要求的功能文件;如果这些不好,那么您应该考虑改进此过程。我发现3个amigo会话确实可以帮助您解决此问题,并有机会在做出更大的承诺之前完善您的需求。自动化测试几乎不可能正确执行,因为它们通常将多个组件结合在一起,所以覆盖率实际上仅适用于单元测试,您可以从进行测试的调度员那里进行计数。我发现需要覆盖率分析的地方将其添加到Jenkins工作中。如果需要在覆盖范围内做任何更大的事情,可以使用声纳法,但这可能会产生误导。
结果报告
只要您可以在XUnit中输出结果这样就可以合理地显示历史测试结果。我发现新的Jenkins蓝色海洋用户界面是获得大部分功能的简便方法。大多数CI工具都具有插件,这些插件会帮助您,但不会像完整的TMT那样受到限制。
评论
感谢您的评论。注意事项1.制图要求。关于可追溯性,能够自动将需求映射到测试用例。这样就很容易了解为什么在需求发生变化时测试用例存在并能够做出反应。对于2.测试覆盖率,我不希望得到一个%的数字(例如单元测试),而是希望获得一个总体概述,其中有多少个测试用例满足了一项要求(甚至可能没有)。对于3,我同意您的看法,例如詹金斯...谢谢你
–emersoncod
18年4月9日在11:30
如果您仔细地编写bdd测试,则可以创建可重用的参数化步骤,这些步骤可以从许多测试中调用,这样,您的功能通常只会更改参数。如果特征文件不够清晰,您的特征文件可以包含描述其用途的注释
–阿米亚斯(Amias)
18年4月9日在13:40
#2 楼
我已经处理过两个示例-Atlassian Suite(Jira)和VSTS(Microsoft)在这两个系统中,我都有功能和故事,并且在板上有门票。当工单开始工作时,我会创建一个分支,然后是“拉取请求”,然后工单将合并。
所有这些工作都通过两种方式联系在一起:
票务管理系统中从Story到Pull Request的链接
手动链接到代码通过将故事编号/标识符放在所有分支名称的开头并在git中提交消息来实现级别的工件。
我将此系统称为审计师梦dream以求的合规性,因为它可以将所有这些系统链接在一起,并跟踪代码以进行业务变更以进行测试。
工具并检索结果。”我不太了解,但是我知道的是,使用上述系统,您可以链接票证和代码推送以在CI环境中自动运行测试并显示结果,并将其作为运行的devops管道的一部分测试并推广成功的代码。
Atlassian Suite:https://www.atlassian.com/
VSTS:https://www.visualstudio.com/team- services /
Atlassian是我个人的最爱,原因有很多,我在这里不作详细介绍(强烈的意见,但意见不多)。
评论
Atlassian Suite(Jira)+1,它们具有非常灵活的方式来与其他外部工具连接。
– Vishal Aggarwal
18年4月20日在11:10
#3 楼
您可能想让Squash Test工具套件更近一些。有很多组件:Squash TM(测试管理)。它提供了您所有要求的TMT,等等。有一个在线演示可以尝试。
Squash TA(测试自动化)。它是自动化测试框架。它没有提供另一个测试机器人,但是它集成了同类最佳的开源机器人,例如Selenium,Sahi,SoapUI等),以及一个插件结构来调用其他机器人和测试工具(UFT,Ranorex,Neoload等)。 )。 Squash TA基于Jenkins,并使用VCS(Jenkins认可的任何人)存储自动化脚本。不知何故,您可能会将其视为自动化专家的“ Linux发行版”。
Squash4Jenkins是一个Jenkins插件,只要结果为JUnit格式即可将自动测试结果推回到Squash TM。 >
在Squash TM内,您可以将测试用例声明为自动化,并选择预定义的工具和用于运行自动化测试的现有脚本(例如Squash TA ;-)。然后将结果推回TM。
最后,您可能会获得有关测试活动的报告,其中包括手动和自动测试。
HTH。
评论
您的TMT和自动化工具/框架是什么,您面临的具体问题或错误是什么?否则范围太广...所有主要的TMT都提供了公共API,可以根据自定义要求将其与外部组件集成。
@VishalAggarwal我没有TMT,因为我正在寻找一个。就像我说的,我们使用Gauge作为测试框架。我还指出了我遇到的问题(粗线),即测试用例的重复和测试结果的处理。我知道TMT提供了公共API,但我不会为需要满足我的要求而购买的工具付费,只是为了能够使用公共API
为了透明起见,尽管这是一个不错的话题,但它似乎仍吸引着密切的投票:sqa.stackexchange.com/review/close/22899
值得注意的是,除非您希望将git中存在的测试的版本历史记录导入工具中,否则您实际上不需要能够从git中导入-您正在寻找一种可以从您可能使用的任何格式的基于文本的文件中导入。格式本身是重要的细节,而不是它们在git中。