软件测试用例设计

软件测试


浏览:1236 次

测试用例是为特定目的而设计的一组测试输入、执行条件和预期结果。测试用例是要执行的最小实体。简单地说,测试用例是设计一个场景,其中软件程序必须能够正常运行并实现程序设计的执行结果。统软云是一家专业的软件外包开发公司,欢迎交流合作。

1黑盒测试和白盒测试

黑箱测试:给定产品的功能设计规范,可以对其进行测试,以证明每个实现的功能是否满足要求。白盒测试:如果知道产品的内部工作过程,可以进行测试,以证明每个内部操作是否符合设计规范要求,以及是否所有内部组件都经过了检查。

合理的测试策略是将这两个测试元素结合起来。我们可以通过使用黑盒测试的特定测试用例设计方法来设计一个相当严格的测试,然后使用白盒测试方法来检查程序的逻辑结构,以补充这些测试用例。

白盒测试方法包括语句覆盖、决策覆盖、条件覆盖、决策/条件覆盖、条件组合覆盖和路径覆盖。黑箱测试方法包括等价类划分、边界值分析、因果图分析、错误测试、状态图、场景法等。

2白盒测试用例设计

白盒测试侧重于测试用例的执行程度或程序(源代码)的逻辑结构。完整的白盒测试是执行程序中的每个路径。然而,对于带有循环的程序,完整的路径测试并不实用。白盒测试的特点:根据软件设计规范进行测试,严格检查程序的内部细节,针对特定条件设计测试用例,并对软件的逻辑路径进行覆盖测试。

报表覆盖范围是结构覆盖范围的最低要求。语句覆盖率要求设计足够的测试用例,以便程序中的每条语句至少可以执行一次。可以从源代码中直观地获得测试用例,而无需细分每个决策表达式。由于这种测试方法只针对程序逻辑中显式存在的语句,因此无法测试隐藏的条件和可能的隐式逻辑分支。(省略隐藏的逻辑分支)

决策覆盖要求必须编写足够的测试用例,以便每个判断至少有一个“真”和“假”的输出结果。确定覆盖率几乎是语句覆盖率两倍的测试路径,当然,它具有比语句覆盖率更强的测试能力。类似地,决策覆盖与语句覆盖一样简单,可以在不细分每个决策的情况下获得测试用例。大多数决策语句通常由多个逻辑条件组成(例如,决策语句包含AND、OR、CASE)。如果您只判断整个最终结果而忽略每个条件的值,那么您将不可避免地错过部分测试路径。(缺失组合判断中的一些条件值)

条件覆盖需要设计足够的测试用例,以便确定中的每个条件都可以获得各种可能的结果,即每个条件至少一次为真,一次为假。为了实现条件覆盖,需要足够的测试用例,但条件覆盖不能保证覆盖。条件覆盖只能确保每个条件至少一次为真,而不考虑所有决策结果。

决策/条件覆盖率要求设计足够的测试用例,以便决策中每个条件的所有可能结果至少出现一次,并且每个决策本身的所有可能的结果也至少发生一次。决策/条件覆盖符合决策覆盖标准和条件覆盖标准,弥补了它们的不足。决策/条件覆盖标准的缺点是不考虑条件的组合。

多条件覆盖需要设计足够的测试用例,以便每个决策中所有可能的条件结果组合至少发生一次。多个条件覆盖标准满足决策覆盖、条件覆盖和决策/条件覆盖标准。改变的决策/条件覆盖范围需要设计足够的测试用例,以便决策中每个条件的所有可能结果至少出现一次,每个决策本身的所有可能的结果也至少出现一个。并且每个条件都可以独立地影响判断结果。缺点是测试用例的数量线性增加。