自动化测试构建方法技术

技术编号:2861144 阅读:157 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种自动化测试构建方法,其中,该方法包括:得到最新的被测试对象、得到最新测试程序、生成运行测试程序列表、运行相应的测试程序得到运行输出结果、生成原始出错测试程序列表、将该出错测试程序列表导入缺陷管理系统、生成测试构建报告并将测试结果输出、对相应的缺陷状态进行修改、在下一次测试构建过程开始时生成新的运行出错测试程序列表的步骤。采用以上步骤的自动化测试构建方法,使得缺陷的发现和修复后的验证都能自动完成,提高了开发和测试的效率,保证了一个开发团队共享统一的代码源,使得集成测试的效率大大提高,保证了执行过程的可靠性和缺陷定位的准确性,同时为产品的质量提供可供参考的依据。

【技术实现步骤摘要】

本专利技术涉及计算机
,特别涉及计算机环境中运行的软件管理过程领域,具体是指一种。
技术介绍
测试构建是通过自动化的方式进行软件的测试。如果这个构建过程是每日执行一次就是日构建(Daily Build)或者叫做每日集成,如果是每日多次就叫做持续集成。一般的软件开发流程通常是,一个项目被分解后分配任务,由不同的人负责不同的软件部件,在开发完成之后,再把各人的部件整合起来,形成完整的软件,但是这种做法在实践中却有很多问题。首先,这种方式适合开发人员之间工作彼此没有交集的情况,以前这种现象很常见,但是现在,随着软件规模的扩大、分工合作的加深,开发人员间的相互依赖程度越来越高,这种清晰的职责划分已经变得越来越难了。其次,在软件集成时,往往会出现各种各样的问题,可是却很难发现到底问题在哪里。似乎每个人的代码都没有问题,但结合到一起就出现大量的问题。所以日构建就将平时难得一见的集成工作转换成频繁进行的一件工作,从而使得复杂的集成变成了一件简单的工作。通过以天集成,排除缺陷(Bug)就变成一件很容易的事情了。测试构建的目的是为了发现缺陷,并可以在以后的测试构建中验证修复的缺陷。在现有技术中,关于测试构建过程、缺陷管理等都有记载,但这几个部分在现有技术中都相对独立集成。测试构建技术是软件质量保证的一个重要部分,是对产品的自动测试过程。在公知的技术中有关于测试构建的知识和有关于测试构建过程的流程,其中实现测试构建的一个基本前提是构建必需与版本控制系统结合;对于缺陷管理系统,在公知的技术中一般是一个相对独立的系统;对于项目管理系统,在公知的技术中一般也是一个相对独立的系统。现有测试构建的过程,因为和缺陷管理系统是独立进行的过程,这样每当在测试构建中的测试程序发现缺陷时,这个缺陷需要另外记录和管理,同时为了保证每次的测试构建只发现新问题,在原有的测试构建过程中需要手动使得已发现缺陷并且尚未修复的测试程序停止运行。当缺陷被修复后,缺陷的管理者会通知测试构建人员,再手动将那个发现缺陷的测试程序加入到下一次的测试构建中,下一次测试构建过程会进行对这个缺陷修复情况的验证,如果还有问题就又需要重复如上的操作。如上的流程都是手动的,对操作者来说,将会是非常繁重的工作。同时,在现有的缺陷管理系统中,由于其是一个自封闭的系统,只能记录、跟踪和管理被用户手动填写到系统中的缺陷,当缺陷被修复后,只能通过用户来将这个缺陷修复的状况报告出来,因此不能实现与测试构建过程的互动,不能自动导入测试构建中发现的问题,不能将修复的缺陷自动加入到测试构建过程中去验证。因此,现有技术中缺陷管理系统、项目管理系统与测试构建过程相对独立的问题,使得自动测试过程和缺陷管理系统之间的信息共享和传递无法实现,不能自动的解决软件过程中发现的缺陷和验证修复的缺陷,而且也不能自动实现测试程序和被测试对象的对应的问题。
技术实现思路
本专利技术的目的是克服了上述现有技术中的缺点,提供一种基于缺陷管理的,该方法实现了测试构建和缺陷管理系统的集成,可以将测试构建过程中发现的问题自动导入到缺陷管理系统中,在下一次测试构建中,又可以将缺陷系统中经过处理的数据导出,来自动验证在上一次测试构建过程后修复的缺陷,实现测试构建过程发现缺陷和验证修复缺陷的自动化。本专利技术的另一个目的在于提供一种基于版本控制工具、结合缺陷管理系统和项目管理系统的,该方法实现了项目管理系统和缺陷管理系统的结合,使得在项目管理系统中通过代码的名字就可以自动访问代码在版本控制工具上的源文件,同时实现了项目管理系统和缺陷管理系统的结合,将测试程序和测试对象结合起来。为了实现上述的目的,本专利技术的如下该,其主要特点是,该方法包括以下步骤(1)得到最新的被测试对象;(2)得到针对该被测试对象的最新测试程序及其相应的标准输入信息和标准输出信息;(3)从缺陷管理系统中得到运行出错测试程序列表,并根据该运行出错测试程序列表,在步骤(2)得到的最新测试程序中剔除相应的测试程序,生成运行测试程序列表;(4)根据步骤(3)生成的运行测试程序列表运行相应的测试程序,得到对应测试程序的运行输出结果;(5)将步骤(4)中的测试程序的运行输出结果与相应的标准输出信息进行比较,如果运行输出结果和标准输出信息不一致,则记录测试程序的名称,生成原始出错测试程序列表;(6)将步骤(5)生成的原始出错测试程序列表导入缺陷管理系统;(7)缺陷管理系统处理步骤(6)导入的信息,并生成本次测试构建报告;(8)缺陷管理系统将本次测试构建结果输出;(9)根据缺陷修复的信息,对缺陷管理系统中相应的缺陷状态进行修改;(10)在下一次测试构建过程开始时,缺陷管理系统生成新的运行出错测试程序列表。重复以上步骤(1)至步骤(10)。该中的得到最新的被测试对象,包括以下步骤(1)如果被测试对象是源代码,则先获取最新的源代码,然后编译该源代码,生成被测试对象;(2)如果被测试对象是可以执行的文件,则直接获取这些文件。该中的得到针对该被测试对象的最新测试程序,包括以下步骤(1)如果测试程序为源代码,则先获取最新的测试代码,然后编译该测试代码,生成测试程序;(2)如果测试程序是可以直接执行的文件,则直接获取该测试程序。该中的标准输入信息为标准输入文件形式。该中的标准输出信息为标准输出文件形式。该中的测试程序的运行输出结果为运行输出结果文件形式。该中的缺陷管理系统处理导入的原始出错测试程序列表信息,包括以下步骤(1)根据原始出错测试程序列表信息,缺陷管理系统在进行相应处理后给出提示信息,并将待处理的缺陷信息自动提交给用户;(2)用户根据该提示信息对待处理的缺陷信息进行处理。该中的缺陷管理系统在进行相应处理后给出提示信息,包括以下步骤(1)根据原始出错测试程序列表信息在缺陷管理系统中进行查询,如果该测试程序在缺陷管理系统中没有记录,则根据具体情况产生“该缺陷为一个新缺陷”的提示信息,或者产生“该缺陷为一种意外错误”的提示信息;(2)经过查询,如果该测试程序在缺陷管理系统中有记录,则查询其对应缺陷修复时间,如果该缺陷修复的时间是在上次测试构建之后,则根据具体情况产生“在上次测试构建以后修复的该缺陷可能没有真正修复,修复验证失败,该缺陷需要被再次设置为未修复状态”的提示信息,或者产生“该缺陷为该测试程序发现的新缺陷”的提示信息;(3)查询其对应缺陷修复时间,如果该缺陷修复的时间是在上次测试构建之前,则根据具体情况产生“该缺陷是一个已经发现的缺陷再次复发”的提示信息,并将与这个测试程序相关的缺陷内容提供给用户,或者产生“该缺陷为该测试程序发现的新缺陷”的提示信息。(4)对于在上次测试构建之后修复的缺陷没有再次出现在原始出错测试程序列表中的测试程序,缺陷管理系统产生“该缺陷已经被成功修复”的提示信息。该中的用户根据该提示信息对待处理的缺陷信息进行处理,包括以下步骤(1)如果该提示信息表明该缺陷为一个新缺陷,则用户根据情况提交新的缺陷,并且缺陷管理系统自动将此缺陷和发现缺陷的测试程序名绑定;(2)如果该提示信息表明该缺陷未修复成功,则用户将该已经修复的缺陷状态设置为未修复状态;(3)如果该提示信息表明该缺陷为再次复发的缺陷,则用户将该已经修复的缺陷状态设置为复发状态;(4)如果该提示信息本文档来自技高网
...

【技术保护点】
一种自动化测试构建方法,其特征在于,所述的自动化测试构建方法包括以下步骤:(1)得到最新的被测试对象;(2)得到针对该被测试对象的最新测试程序及其相应的标准输入信息和标准输出信息;(3)从缺陷管理系统中得到运行出错测 试程序列表,并根据该运行出错测试程序列表,在步骤(2)得到的最新测试程序中剔除相应的测试程序,生成运行测试程序列表;(4)根据步骤(3)生成的运行测试程序列表运行相应的测试程序,得到对应测试程序的运行输出结果;(5)将步骤( 4)中的测试程序的运行输出结果与相应的标准输出信息进行比较,如果运行输出结果和标准输出信息不一致,则记录测试程序的名称,生成原始出错测试程序列表;(6)将步骤(5)生成的原始出错测试程序列表导入缺陷管理系统; (7)缺陷管理 系统处理步骤(6)导入的信息,并生成本次测试构建报告;(8)缺陷管理系统将本次测试构建结果输出;(9)根据缺陷修复的信息,对缺陷管理系统中相应的缺陷状态进行修改;(10)在下一次测试构建过程开始时,缺陷管理系统生成新 的运行出错测试程序列表。...

【技术特征摘要】
1.一种自动化测试构建方法,其特征在于,所述的自动化测试构建方法包括以下步骤(1)得到最新的被测试对象;(2)得到针对该被测试对象的最新测试程序及其相应的标准输入信息和标准输出信息;(3)从缺陷管理系统中得到运行出错测试程序列表,并根据该运行出错测试程序列表,在步骤(2)得到的最新测试程序中剔除相应的测试程序,生成运行测试程序列表;(4)根据步骤(3)生成的运行测试程序列表运行相应的测试程序,得到对应测试程序的运行输出结果;(5)将步骤(4)中的测试程序的运行输出结果与相应的标准输出信息进行比较,如果运行输出结果和标准输出信息不一致,则记录测试程序的名称,生成原始出错测试程序列表;(6)将步骤(5)生成的原始出错测试程序列表导入缺陷管理系统;(7)缺陷管理系统处理步骤(6)导入的信息,并生成本次测试构建报告;(8)缺陷管理系统将本次测试构建结果输出;(9)根据缺陷修复的信息,对缺陷管理系统中相应的缺陷状态进行修改;(10)在下一次测试构建过程开始时,缺陷管理系统生成新的运行出错测试程序列表。2.根据权利要求1所述的自动化测试构建方法,其特征在于,所述的得到最新的被测试对象,包括以下步骤(1)如果被测试对象是源代码,则先获取最新的源代码,然后编译该源代码,生成被测试对象;(2)如果被测试对象是可以执行的文件,则直接获取这些文件。3.根据权利要求1所述的自动化测试构建方法,其特征在于,所述的得到针对该被测试对象的最新测试程序,包括以下步骤(1)如果测试程序为源代码,则先获取最新的测试代码,然后编译该测试代码,生成测试程序;(2)如果测试程序是可以直接执行的文件,则直接获取该测试程序。4.根据权利要求1所述的自动化测试构建方法,其特征在于,所述的标准输入信息为标准输入文件形式。5.根据权利要求1所述的自动化测试构建方法,其特征在于,所述的标准输出信息为标准输出文件形式。6.根据权利要求1所述的自动化测试构建方法,其特征在于,所述的测试程序的运行输出结果为运行输出结果文件形式。7.根据权利要求1所述的自动化测试构建方法,其特征在于,所述的缺陷管理系统处理导入的原始出错测试程序列表信息,包括以下步骤(1)根据原始出错测试程序列表信息,缺陷管理系统在进行相应处理后给出提示信息,并将待处理的缺陷信息自动提交给用户;(2)用户根据该提示信息对待处理的缺陷信息进行处理。8.根据权利要求7所述的自动化测试构建方法,其特征在于,所述的缺陷管理系统在进行相应处理后给出提示信息,包括以下步骤(1)根据原始出错测试程序列表信息在缺陷管理系统中进行查询,如果该测试程序在缺陷管理系统中没有记录,则根据具体情况产生“该缺陷为一个新缺陷”的提示信息,或者产生“该缺陷为一种意外错误”的提示信息;(2)经过查询,如果该测试程序在缺陷管理系统中有记录,则查询其对应缺陷修复时间,如果该缺陷修复的时间是在上次测试构建之后,则根据具体情况产生“在上次测试构建以后修复的该缺陷可能没有真正修复,修复验证失败,该缺陷需要被再次设置为未修复状态”的提示信息,或者产生“该缺陷为该测试程序发现的新缺陷”的提示信息;(3)查询其对应缺陷修复时间,如果该缺陷修复的时间是在上次测试构建之前,则根据具体情况产生“该缺陷是一个已经发现的缺陷再次复发”的提示信息,并将与这个测试程序相...

【专利技术属性】
技术研发人员:吴季风张军熊桂平陈榕
申请(专利权)人:上海科泰世纪科技有限公司
类型:发明
国别省市:31[中国|上海]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1