2. 单元测试用例及用例设计
    了解了单元测试的任务,下面介绍测试用例,测试用例也是单元测试的核心,决定你的单元测试是否成功。测试用例的核心是输入数据。预期输出是依据输入数据和程序功能来确定的,也是说,对于某一程序,输入数据确定了,预期输出也可以确定了,至于生成/销毁被测试对象和运行测试的语句,是所有测试用例都大同小异的。
    单元测试测试用例一般采用逻辑覆盖法和基本路径法进行设计。
    2.1. 逻辑覆盖法
    逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计技术,这一方法要求测试人员对程序的逻辑结构有清楚的了解。逻辑覆盖可分为:语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖与路径覆盖。
    1. 语句覆盖是设计若干个测试用例,运行所测程序,使得每一可执行语句至少执行一次。
    2. 判定覆盖是设计若干个测试用例,运行所测程序,使得程序中每个判断的取真分支和取假分支至少经历一次。
    3. 条件覆盖是设计若干个测试用例,运行所测程序,使得程序中每个判断的每个条件的可能取值至少执行一次。
    4. 判定--条件覆盖是设计足够的测试用例,使得判断中每个条件的所有可能取值至少执行一次,同时每个判断的所有可能判断结果也至少执行一次。
    5. 条件组合覆盖是设计足够的测试用例,运行所测程序,使得每个判断的所有可能的条件取值组合至少执行一次。
    6. 路径测试是设计足够的测试用例,覆盖程序中所有可能的路径。
    2.2. 基本路径法
    基本路径测试法是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出基本可执行路径集合,从而设计测试用例的方法。设计出的测试用例要保证在测试中程序的每个可执行语句至少执行一次。基本路径测试法包括以下5个方面:
    1. 程序的控制流图:描述程序控制流的一种图示方法。
    2. 程序环境复杂性:McCabe复杂性度量;从程序的环路复杂性可导出程序基本路径集合中的独立路径条数,这是确定程序中每个可执行语句至少执行依次所必须的测试用例数目的上界。