我正在构建一个命令行工具,我可以在输入上执行这样的命令:
PROMPT>userName=Seán<CR>
PROMPT>zodiacSign=Virgo<CR>
其中userName是字符串类型,zodiacSign是枚举器类型。
我也有自动完成功能,这样我就可以点击Tab键并获得线索,比如
PROMPT>zodiacSign=C<TAB>
Cancer
Capricorn
PROMPT>zodiacSign=Ca
问题在于我得到越来越多的微妙要求,我发现越来越难以记录到用户故事中。例如,我刚刚收到了要求,如果我点击了回车符合以下内容:
PROMPT>zodiacSign=Can<CARRIAGE-RETURN>
然后,软件应自动完成命令 zodiacSign = Cancer 并执行它,因为它是唯一的选项。
我将进行功能测试以测试每个细微差别。通过这样做,我可以通过我的功能测试演示用户故事。
但是你会推荐哪些方便的工具来存储需求/用户故事,甚至可以将它们链接到功能测试?也许这个工具包括覆盖图。
答案 0 :(得分:3)
谁是要求的受众?如果是开发人员,我会说版本控制系统是存储它们的好地方。 : - )
我建议使用Cucumber或FitNesse。使用测试作为要求是可行的方法。
黄瓜的例子:
Scenario:
If a single match is available and the carriage return is pressed
auto-complete should accept the match
Given valid Zodiac Signs are "Cancer,Capricorn"
When the user enters "zodiacSign=Can<CARRIAGE-RETURN>" at the prompt
Then the shell should auto-complete to "zodiacSign=Cancer"
这是一个完全可执行的测试,可以很好地描述所需的功能。
希望有所帮助!
布兰登答案 1 :(得分:2)
看看FitNesse。它是需求Wiki和功能测试执行框架的组合。
编写需求时,将它们放在一个表中,其中包含样本数据和预期结果。点击“test”,FitNesse解析表,然后拨打电话。很酷。
答案 2 :(得分:2)
FitNesse确实是一种流行的工具,但有些人会认为FitNesse is evil(它可能很容易被滥用,并且会受到numerous issues的影响)。一个好的开源跨平台替代方案是soapUI。
soapUI 可以管理functional testing以及keep track of your system's requirements用例和用户素材,并将其与测试相关联。
它有一个很好的GUI,有什么不是(包括coverage graphs,就像你想要的那样!)。大多数功能都包含在免费版本中。
答案 3 :(得分:2)
根据您的需要,请查看QMetry 它是一个非常完整的工具,允许您定义需求,测试用例,测试场景以及测试场景的启动。 报告也很好,HMI非常用户友好。
希望这个帮助