2.3.2 自动测试的规划
2.3.2.1 自动测试的级别
从软件的构成来考虑,分三级构造测试工程:
● 模块单元级:基本的软件单元
● 板级:由多模块组成的单板软件
● 系统集成级:由模拟测试软件和单板软件组成
这三个级别的测试是互相补充的关系。每日构造进行三个级别的测试,这样就比较完整了。
2.3.2.2 测试代码的管理
要实现每日构造并进行自动测试,必须将测试代码也提升到被测代码同等的地位,纳入CC的管理。在CC上的目录结构如下所示:
BoardSWS
-BoardTest \\板级测试工程目录,包含测试用例代码以及板级测试工程
-SystemTest \\系统集成级工程目录,不含测试用例,仅含工程
-SCMM
-UnitTest \\模块单元级测试目录,包含该级测试用例以及测试工程
-SCMM源码
-Cunit \\模块单元级测试用Cunit文件
-其他模块
-Cunit \\板级测试用Cunit文件
SimuRNC
-SystemTest \\系统集成级测试工程目录,包含测试工程和测试用例
-SimuRNC源码
-Cunit
基于这样的目录结构,发布代码和测试代码在CC中纳入同一个VOB管理比较方便。这样一来,测试代码和发布代码执行相同的CC-CQ关联策略。也就是说,修改测试代码也需要和CQ关联。
2.3.3 自动测试的执行
自动测试由版本室完成。自动测试执行分为四个步骤:
● 同步CC的文件到本地
● 编译各测试工程(VC环境),输出编译结果文件
● 执行编译结果,输出测试执行结果文件
● 将编译结果导入
notes
上述步骤都是通过编写一个BAT文件挂在WINDOWS的“任务计划”中每日自动完成。
附:
BAT文件(DBS模块)
编译结果 (DBS模块)
测试执行结果(DBS模块)
2.3.4 自动测试的目标
依附于每日构造机制,自动依序运行三个级别的自动测试,测试产生的结果输出到文本文件。然后通过自动分析脚本提取该文件中没有通过的用例信息,发送邮件通知相关责任人进行分析处理。如此做到“日事日毕”,将故障扼杀在萌芽状态,保证代码质量的稳定。