需要关于如何编写测试用例的建议

问题描述:

我已经开始编写一些测试用例,我非常感谢这里的一些建议。我必须在INI文件中更改一些XML标记。 比方说,我有一个XML属性可以是“TRUE”或“FALSE”。 这个属性可以应用到两个不同的标记需要关于如何编写测试用例的建议

<TestOneDir name="xxx" att="TRUE"/> 
<TestOneDir name="xxx" att="FALSE"/> 
<TestTwoDir name="xxx" att="TRUE"/> 
<TestTwoDir name="xxx" att="FALSE"/> 

这两个标记都是相同的测试脚本中。我编写了测试用例来分别测试每个条件,但我想知道是否应该测试合并条件,如TestOneDir为true并且TestTwoDir为false。

测试不是黑色和白色,所以回答你的问题是“它取决于”。通常组合可能会导致在测试各个参数时看不到的问题,但您必须评估这种情况的可能性,以及是否值得为此进行测试。您必须始终限制测试用例的数量,但这只是问题的出处。

这些条件是相关的还是独立的?你相信组合可能会导致问题吗?将来是否需要重构这个?如果系统在这种情况下不工作会发生什么最坏的情况?如果添加这些情况,测试的运行需要多长时间?

我不是测试专家(尽管“测试”在我的官方职位 - 不问),但通过测试,您希望确保完整的代码覆盖范围:也就是说,所有测试的组合应该确保您的程序可以遵循的每个执行路径都被采纳。您可以获得的工具将向您显示测试“代码覆盖率”的范围。

但是,如果您只是想对您的代码进行黑盒测试,那么它有助于将您的程序缩减为数学关系:定义的输入和相应的预期输出,然后它只是生成输入的问题(分为等同类)对于程序域的范围,然后将程序的输出(抽象意义上)与预期输出进行比较。

就你而言,你真的没有在你的问题中提供很多细节。你没有描述你的程序做了什么,你准确测试了什么,甚至没有描述你为什么要用XML而不是代码来声明测试。为了获得更多帮助,我需要更多的信息和细节。

+0

在任何非平凡的软件中,100%的路径覆盖率(通过程序的每条可能路径)实际上(并且通常在理论上)不可能实现。您可能正在考虑行覆盖率(每行被执行)或可能的条件覆盖率(所有布尔条件评估为true和false)。 – Edu 2012-07-30 06:46:14