论文部分内容阅读
随着构件技术的迅速发展,基于构件的软件开发在软件行业也占据着越来越重要的地位,它已经成为软件公司提升其软件生产率以及软件质量的有效方法。同时,对开发出的构件进行测试也变得越来越重要。构件以其良好的封装和信息隐藏等新特性,为基于构件的软件开发带来了巨大的帮助,但是却不利于测试用例的生成,这也导致对构件进行测试的难度增加,构件使用者(复用者)很难应用传统的软件测试技术对构件进行测试。另外,开发出的构件是否有效保存,即存储的构件有没有被黑客或者其他人员恶意修改等也成为构件复用需要解决的难题。因此,开发出一个好的基于构件的软件测试工具也成了保证构件质量以及提高构件可复用性的必要手段。本文针对构件测试和构件复用中所遇到的上述问题,结合近年来日益成熟的数据完整性检查机制,实现了支持数据持有性证明的构件测试工具。论文主要工作如下:(1)分析构件测试工具的系统和功能需求,为了即满足测试人员对构件的测试需求又满足对构件的数据持有性证明的需求,对支持数据持有性证明的构件测试工具进行设计,提出系统模型,将整个系统划分为测试驱动、测试平台以及构件库管理三个模块,并设计了数据库存储测试用例文件以及构件信息。(2)针对Ateniese等人提出的数据持有性证明方案中标签生成以及验证时效率较低等缺点,引入MD5哈希算法来计算数据块的哈希值,并生成对应同态标签,以及通过默克尔哈希树(Merkle Hash Tree,MHT)数据结构来存储数据块的哈希值,便于验证时快速匹配到挑战数据块对应的哈希值。(3)对设计的支持数据持有性证明的构件测试工具给予实现。本文实现的支持数据持有性证明的构件测试工具较好的解决了构件使用者所面临的问题,用户在测试驱动模块生成测试所需的文件,通过测试平台以可视化界面对具体构件进行单一测试,通过构件库管理系统可实现对构件的查询、更新以及数据完整性检查等操作。对国民经济以及社会发展具有一定的理论意义和实用价值。