在公司写了一个测试程序,用于测试一个库。库的本身是硬件无关的,但它的运行逻辑需要连接设备。因此测试程序的主要工作是模拟设备的各种行为,并测试在这些行为下库能否正确处理。测试用例的特点是需要配置的行为在单个测例中较多,但在不同测例中的差异不大。因此设计了存放通用配置的文件,每个测例的配置项继承该文件,并做必要的修改。具体的XML描述如下:
<testcase id="1" desc="测试用例配置文件的示例">
<!--测试输入参数-->
<test_parameter>
</test_parameter>
<!--期望结果-->
<expected_result>
</expected_result>
<!--配置-->
<config base="common_config.xml">
<sub_config id="xxx">
</sub_config>
<config_xxx>
</config_xxx>
</config>
<testcase>
整个文件分成三部分:测试参数、期望结果和配置。这三项比较好理解,比如:设备的某些指标上限为4,需要处理的事物的该指标为5,则设备应该报告不能处理该事物。这句的描述依次包含了配置、测试参数和期望结果。
配置项属性base=”common_config.xml”,存放通用配置,<sub_config>和<config_xxx>可以对通用配置做修改。
此外每一个配置项需要设置隐式(<config_xxx>)或显式(<sub_config id=”xxx”>)的id,方便在测试用例中重新赋值。