论文摘要
随着构件的广泛应用,基于构件的软件工程也应运而生,其目标是在一个框架内用即插即用的软件构件——定制构造或者是商业成品(Commercial Off-The-Shelf,COTS)构件——组成应用系统。基于构件的方法使得大型分布式软件系统的开发和维护变得更为简单,可以提高软件的复用性和软件开发效率。但是,复用质量低下的软件构件可能会起到相反的作用,不合理的使用高质量的软件构件也可能带来灾难性的后果。因此需要对构件进行测试。使用软件测试自动化技术提高软件测试的效率已经成为软件测试发展的必然趋势,构件的自动测试也成为一个必不可少的环节。但传统的自动测试技术,由于其设计模式的局限性,已经不能适用于构件的自动测试。因此,迫切需要研究COTS构件自动化测试技术。基于XML的COM构件自动化测试技术是对第三方COM构件进行自动化测试的有效技术。该技术主要包括COM构件测试自动化框架和实现该框架的COM构件自动化测试工具COMCAT(COM Component Automated Test)。整个框架主要由构件测试元数据自动提取与描述、构件测试脚本自动生成、构件测试脚本自动执行、构件测试结果自动验证与记录四个环节组成。XML技术被充分应用到构件测试自动化的各个环节。该框架将面向对象单元测试自动化框架xUnit与数据驱动的测试框架加以结合,并且做了改进。该框架还从构件使用者和测试者的角度设计了内涵丰富的构件元数据,并且针对COM构件,通过访问类型库来自动获取构件结构信息元数据,并用XML描述。该框架还综合运用多种技术辅助实现测试过程的自动化。实验表明,该技术有效、自动化程度较高、投入回报率较高。