zxuanzi 2012-02-03
前面谈到了项目级质量保障体系的基本架构建设情况,这里再深入的说说项目级质量保障体系的测试用例体系建设过程。
我们开发的是大型嵌入式软件,从软件测试角度来说,在项目级一般应该包含单元测试、集成测试和系统测试三部分。但是实际上根据各个软件项目组的不同情况,各个项目组的项目级质量保障体系在实际建设过程中不完全一样。
因为在公司以前只有系统测试,因此最开始各项目组从最熟悉的角度和接受程度最高的就是各个项目领域的系统测试,但是系统测试天生有环境消耗大,人力投入大的特点,项目组引入之后虽然对领域基本功能的防护有一定帮助,但是系统测试环境复杂,维护成本大,而且系统测试用例建设投入成本大,很快项目组在进度压力、环境压力、人力压力下就逐步放弃。
在引入系统测试失败之后,我们结合开发项目组的实际情况,选择了从IT角度进行突破。为什么选择IT呢?经过前面系统测试环境复杂导致接受度低的经验,我们特意选择了可以直接在开发环境中开展IT测试的IT支撑环境,而且IT测试用例构建基本采用软件编码的方式,与开发人员本身的技能模型基本一致,接受度一下高了很多。
那为什么不选择UT呢?UT虽然对代码的控制力度更好,但是因为前面没有UT的积累,整个数百万行的遗留代码导致各个项目组都很畏惧,而且虽然UT代码控制力度好,但是在我们的系统中因为系统比较复杂,又没有积累,UT需要大量的桩支撑才能开展。而且,以前在UT试点中,因为片面强调代码覆盖导致开发人员对于UT测试有很深的误解,UT投入很大,但是因为开发人员对着代码实现UT,UT的效果一直不好。
现在,在初步完善了IT体系之后,结合IT体系对于流程基本功能和接口控制力度强,对于具体逻辑实现控制力度弱的特点,我们才结合软件质量分级开始逐渐在核心模块的新增代码中推行UT防护,进一步提升前端的质量控制力度,实现了对新增特性的较为完备的前端质量防护。