设计单元测试说明

网友投稿 744 2022-11-15

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

设计单元测试说明

被测单元的输入,包含由被测单元读入的任何外部数据值;

该测试用例实际测试的代码,用被测单元的功能和测试用例设计中使用的分析来说明,如:单元中哪一个决策条件被测试;

测试用例的期望输出结果,测试用例的期望输出结果总是应该在测试进行之前在测试说明中定义。

以下描述进行测试用例设计,书写测试说明的7步通用过程。

1 测试用例设计步骤

1.1 步骤1:首先使被测单元运行

任何单元测试说明的第一个测试用例应该是以一种可能的简单方法执行被测单元。看到被测单元第一个测试用例的运行成功可以增强人的自信心。如果不能正确执行,最好选择一个尽可能简单的输入对被测单元进行测试/调试。

这个阶段适合的技术有:

● 模块设计导出的测试

● 对等区间划分

1.2 步骤2:正面测试(Positive Testing)

正面测试的测试用例用于验证被测单元能够执行应该完成的工作。测试设计者应该查阅相关的设计说明;每个测试用例应该测试模块设计说明中一项或多项陈述。如果涉及多个设计说明,最好使测试用例的序列对应一个模块单元的主设计说明。

适合的技术:

● 设计说明导出的测试

● 对等区间划分

● 状态转换测试

1.3 步骤3:负面测试(Negative Testing)

负面测试用于验证软件不执行其不应该完成的工作。这一步骤主要依赖于错误猜测,需要依靠测试设计者的经验判断可能出现问题的位置。

适合的技术有:

● 错误猜测

● 边界值分析

● 内部边界值测试

● 状态转换测试

1.4 步骤4:设计需求中其它测试特性用例设计

如果需要,应该针对性能、余量、安全需要、保密需求等设计测试用例。

在有安全保密需求的情况下,重视安全保密分析和验证是方便的。针对安全保密问题的测试用例应该在测试说明中进行标注。同时应该加入更多的测试用例测试所有的保密和安全冒险问题。

适合的技术:设计说明导出的测试

1.5 步骤5:覆盖率测试用例设计

应该或已有测试用例所达到的代码覆盖率。应该增加更多的测试用例到单元测试说明中以达到特定测试的覆盖率目标。一旦覆盖测试设计好,就可以构造测试过程和执行测试。覆盖率测试一般要求语句覆盖率和判断覆盖率。

适合的技术:

● 分支测试

● 条件测试

● 数据定义-使用测试

● 状态转换测试

1.6 步骤6:测试执行

使用上述5个步骤设计的测试说明在大多少情况下可以实现一个比较完整的单元测试。

到这一步,就可以使用测试说明构造实际的测试过程和用于执行测试的测试过程。该测试过程可能是特定测试工具的一个测试脚本。

测试过程的执行可以查出模块单元的错误,然后进行修复和重新测试。在测试过程中的动态分析可以产生代码覆盖率测量值,以指示覆盖目标已经达到。因此需要在测试设计说明中需要增加一个完善代码覆盖率的步骤。

1.7 步骤7:完善代码覆盖

由于模块单元的设计文档规范不一,测试设计中可能引入人为的错误,测试执行后,复杂的决策条件、循环和分支的覆盖率目标可能并没有达到,这时需要进行分析找出原因,导致一些重要执行路径没有被覆盖的可能原因有:

不可行路径或条件——应该标注测试说明证明该路径或条件没有测试的原因。

不可到达或冗余代码——正确处理方法是删除这种代码。这种分析容易出错,特别是使用防卫式程序设计技术(Defensive Programming Techniques)时,如有疑义,这些防卫性程序代码就不要删除。

测试用例不足——应该重新提炼测试用例,设计更多的测试用例添加到测试说明中以覆盖没有执行过的路径

理想情况下,覆盖完善阶段应该在不阅读实际代码的情况下进行。然而,实际上,为达到覆盖率目标,看一下实际代码也是需要的。覆盖完善步骤的重要程度相对小一些。最有效的测试来自于分析和说明,而不是来自于试验,依赖覆盖完善步骤补充一份不好的测试设计。

适合的技术:

● 分支测试

● 条件测试

● 设计定义——试验测试

● 状态转换测试

上一篇:web测试最全的功能测试范例
下一篇:软件测试中功能测试流程
相关文章

 发表评论

暂时没有评论,来抢沙发吧~