论文部分内容阅读
软件测试是软件质量保证的重要手段,在软件整个生命周期中发挥着越来越重要的作用。随着现代社会的飞速发展,用户对软件质量的要求越来越高,软件质量问题表现得日益突出,软件测试规模也日益增大。手工测试的重复性使人产生厌倦的心理,而且重复测试使工作量倍增。此外,手工测试还存在准确性差的问题,尤其是面对大量的数据需要检查时,人工进行比较和搜索不仅存在效率问题,而且容易出错,测试覆盖面偏低。手工测试的诸多缺点,促进了自动化测试技术的发展。但是自动化测试不可能完全代替手工测试,由此产生了何时使用手工测试、何时采用自动化测试、怎样将手工和自动化测试有效的结合等问题,因而迫切需要研究一种方法来指导自动化测试的应用。本文研究了软件测试技术和自动化测试方法,并在深入分析软件测试流程的基础上提出了软件测试运行规划方法。该方法的切入点是合理划分出软件测试流程各个阶段中只能使用手工测试的过程和需要实施自动化测试的过程,以确定自动化测试在整个软件测试流程中的引入时机,以及手工测试和自动化测试的合理配合与协同实施。本文以软件测试运行规划为研究思路,分析了软件测试流程中的三个主要阶段,即测试分析阶段、测试设计阶段和测试实施阶段。深入研究了各测试阶段中可以代替手工测试工作的自动化测试工具的设计和实现方法,其中采用了一系列关键技术,包括测试用例多级生成、测试用例原语的表达与生成、交易链的生成、脚本转换器的设计和实现方法等。测试用例多级生成机制分别由业务表述层、对象模型层、剧本层、抽象数据层、用例表达层、测试脚本层来多级协作实现测试用例的生成,本文分别为各层设计和实现了相对应的自动化测试工具。通过研究测试用例的表达与生成方法,以及脚本转换器的设计和实现方法,将被测系统中输入的测试数据以自动化的形式生成测试用例原语,设计并实现了将测试用例原语转化成自动化测试脚本的脚本转换器,以便于将测试用例转换成自动化测试脚本,从而避免了采用人工方法编写测试脚本或者通过工具来录制测试脚本。本文通过对上述内容的分析和研究,设计实现了与各测试阶段相应的自动化测试工具,即测试分析工具、测试设计工具和测试实施工具。并在此基础上实现了金融行业软件测试自动化测试工具平台。通过实际的银行核心业务系统软件测试的应用,验证了构成该自动化测试平台的三类软件测试工具具有良好的应用价值。