一种代码测试方法及系统的制作方法

文档序号:6363093阅读:128来源:国知局
专利名称:一种代码测试方法及系统的制作方法
技术领域
本发明涉及软件测试领域,具体而言,涉及一种代码测试方法及系统。
背景技术
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试,以下对这四个步骤进行简要介绍:单元测试:又称模块测试,是针对软件设计的最小单位软件模块,进行正确性检验的测试工作。其目的在于发现各模块内部可能存在的各种差错。单元测试需要从软件的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。集成测试:在单元测试的基础上,需要将所有模块按照设计要求组装成为子系统或系统。子系统的集成测试特别称为部件测试,它所做的工作是要找出集成后的子系统与系统需求规格说明之间的不一致。确认测试:又称有效性测试。任务是验证软件的功能和性能及其它特性是否与用户的要求一致。对软件的功能和性能要求在软件需求规格说明书中已经明确规定。它包含的信息就是软件确认测试的基础。系统测试:是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其它系统元素结合在一起,在实际运行环境下,对计算机系统进行一系列的组装测试和确认测试。系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统的定义不符合或与之矛盾的地方。其中,软件测试中还可以分为白盒测试和黑盒测试,其中白盒测试也称结构测试或逻辑驱动测试,它是按照软件内部的结构测试软件,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验软件中的每条通路是否都能按预定要求正确工作。黑盒测试,也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把软件看作一个不能打开的黑盒子,在完全不考虑软件内部结构和内部特性的情况下,在软件接口进行测试,它只检查软件功能是否按照需求规格说明书的规定正常使用,软件是否能适当地接收输入数据而产生正确的输出信息。现有技术中,在进行软件测试时,传统方法是采用白盒测试,由软件测试工程师编写测试脚本手工进行测试,但这种测试方法效率不高。在对移动终端进行测试时,多为黑盒测试,手工在各种平台上进行测试,操作繁琐而效率很低。且现有技术中进行多平台测试环境的部署时需要在多种测试环境上进行测试,即根据测试人员的操作将软件依次在不同平台上进行多次测试,不能够自动进行多平台的测试,而这样通常要占用大量的时间和精力,导致了软件的测试效率低的问题,从以上描述可以看出,现有技术中的软件测试效率低,对测试人员来说费时费力。此外,由于要进行多次测试操作,操作过程比较复杂,且测试过程中产生误差的概率增大,进而会导致软件的测试的准确率较低。

发明内容
本发明提供了一种代码测试方法及系统,用以解决现有技术中的代码测试效率低的问题。根据本发明的一个方面,提供了一种代码测试方法,包括:将代码依次部署在多种运行平台上进行编译;根据编译产生的结果判断所述代码的编译是否通过;如果是,则将所述代码依次部署在多种运行平台上进行测试。进一步地,上述方法还包括:在对所述代码进行测试的过程中对所述代码的运行界面进行截图。进一步地,所述将所述代码依次部署在多种运行平台上进行测试包括:将所述代码依次部署在多种运行平台上进行单元测试;根据单元测试产生的结果判断所述代码的单元测试是否通过;如果是,则将所述代码依次部署到多种运行平台上进行黑盒测试。进一步地,所述方法还包括:在将所述代码部署在多种平台上进行编译之前,还包括:检测代码版本控制系统中的代码是否有新增、修改或者删除;如果是,则执行将代码部署在多种平台上进行编译的步骤。进一步地,所述方法用于在移动终端上进行代码测试。根据本发明的另一个方面,提供了一种代码测试系统,包括:编译模块,用于将代码依次部署在多种运行平台上进行编译;判断模块,用于根据编译产生的结果判断所述代码的编译是否通过;测试模块,用于当所述判断模块的判断结果为是时,将所述代码依次部署在多种运行平台上进行测试。进一步地,所述系统还包括:截图模块,用于在所述代码进行测试的过程中对所述代码的运行界面进行截图。进一步地,所述测试模块包括:第一测试单元,用于将所述代码依次部署在多种运行平台上进行单元测试;判断单元,用于根据单元测试产生的结果判断所述代码的单元测试是否通过;第二测试单元,用于当所述判断单元的判断结果为是时,将所述代码依次部署到多种运行平台上进行黑盒测试。进一步地,所述系统还包括:检测模块,用于在所述编译模块将所述代码部署在多种平台上进行编译之前,检测代码版本控制系统中的代码是否有新增、修改或者删除;执行模块,用于当所述检测模块的检测结果为所述版本控制系统中有新增加的代码时,执行将代码部署在多种平台上进行编译的步骤。进一步地,所述系统用于在移动终端上进行代码测试。与现有技术相比,本发明可以自动进行多平台编译以及根据编译结果进行多平台测试,使代码的测试更加智能化,提高了测试效率,此外,通过对新增代码的自动检测、从而对新增加的代码进行多自动平台的编译及测试减小了软件测试操作的复杂程度,同时,在代码的测试过程中对其运行界面进行截图,可以方便判断用户界面是否符合预期效果,从而提高了代码测试的精确度,保证了代码测试数据的真实可靠性。


图1是根据本发明实施例1的代码测试方法的流程图2是根据本发明实施例2的代码测试方法的流程图;图3是根据本发明实施例3的代码测试系统的结构示意图;图4是根据本发明实施例3的测试模块的结构示意图;图5是根据本发明实施例3的另一种代码测试系统的结构示意图;图6是根据本发明实施例3的又一种代码测试系统的结构示意图;以及图7是根据本发明实施例4的代码测试系统的信令流程图。
具体实施例方式本发明提供代码测试的方法及系统,可以自动地对代码进行多平台编译及测试,并可以根据代码多平台编译的结果决定代码是否进行多平台测试,使代码的测试更加智能化,提高了代码测试的效率。为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式
对本发明实施例作进一步详细的说明。实施例1图1是根据本发明实施例1的代码测试方法的流程图。如图1所示,本实施例的代码测试方法包括以下步骤:步骤101:将代码依次部署在多种运行平台上进行编译。其中,在将代码部署在多种平台上进行编译之前,该方法还可以包括:检测版本控制系统中是否有新增加的代码;如果是,则执行将代码部署在多种平台上进行编译的步骤。具体地,可以将代码在不同的操作平台上进行测试,例如,在Windows XP、Vista、Linux、Android、MaC、UniX等操作系统上进行测试,检验其是否能在各种不同的操作系统上运行。步骤102:根据编译产生的结果判断代码的编译是否通过。步骤103:如果是,则将代码依次部署在多种运行平台上进行测试。具体地,上述将代码依次部署在多种运行平台上进行测试可以包括:将代码依次部署在多种运行平台上进行单元测试;根据单元测试产生的结果判断代码的单元测试是否通过;如果是,则将代码依次部署到多种运行平台上进行黑盒测试。其中,对于可以运行在浏览器中的代码,可以对其进行多浏览器测试,例如,可以在IE、Firefox, Chrome以及Maxton等浏览器上测试,检验其是否能够正常运。此外,该方法可以用于在移动终端上进行代码测试。具体地,可以将相关的浏览器页面或用户界面封装在测试用例库中,从而在检验相应的浏览器界面或用户界面,只需将所对应的测试用例输入到系统中,即可自动完成多平台多浏览器上的测试,基于此,也可在移动终端模拟器上进行测试,有效地提高多平台特别是移动终端软件测试的效率,有效地保障了软件的质量;同时,也保证了软件测试数据的真实可靠性,提高了多平台软件测试的全面性。实施例2图2是根据本发明实施例2的代码测试方法的流程图。如图2所示,该方法包括以下步骤:步骤201:将代码依次部署在多种运行平台上进行编译。其中,在将代码部署在多种平台上进行编译之前,该方法还可以包括:检测版本控制系统中是否有新增加的代码;如果是,则执行将代码部署在多种平台上进行编译的步骤。
步骤202:根据编译产生的结果判断代码的编译是否通过。步骤203:如果是,则将代码依次部署在多种运行平台上进行测试。具体地,上述将代码依次部署在多种运行平台上进行测试可以包括:将代码依次部署在多种运行平台上进行单元测试;根据单元测试产生的结果判断代码的单元测试是否通过;如果是,则将代码依次部署到多种运行平台上进行黑盒测试,优选地,在上述单元测试后可以进行代码覆盖率分析并生成报表,这样可以便于测试人员对测试数据进行分析。步骤204:在对代码进行测试的过程中对代码的运行界面进行截图。通过对代码的运行界面进行截图可以方便判断用户界面是否符合预期效果,在上述对代码的运行界面进行截图后,可以根据截图生成报表,并将报表返回给用户界面,这样可以使测试人员更加直观的了解到测试数据。实施例3图3是根据本发明实施例3的代码测试系统的结构示意图。如图3所示,该代码测试系统300包括以下模块:编译模块301,用于将代码依次部署在多种运行平台上进行编译;判断模块302,用于根据编译产生的结果判断代码的编译是否通过;测试模块303,用于当判断模块的判断结果为是时,将代码依次部署在多种运行平台上进行测试。图4是根据本发明实施例3的测试模块的结构示意图。如图4所示,上述测试模块303可以包括:第一测试单元401,用于将代码依次部署在多种运行平台上进行单元测试;判断单元402,用于根据单元测试产生的结果判断代码的单元测试是否通过;第二测试单元403,用于当判断单元的判断结果为是时,将代码依次部署到多种运行平台上进行黑盒测试。图5是根据本发明实施例3的另一种代码测试系统的结构示意图。如图5所示,该代码测试系统500除了包括上述图3中各模块外还可以包括以下模块:截图模块501,用于在代码进行测试的过程中对代码的运行界面进行截图,通过该模块在对代码测试的过程中对代码的运行界面进行截图可以方便判断用户界面是否符合预期效果。上述两种系统均可以用于在移动终端上进行代码测试。图6是根据本发明实施例3的又一种代码测试系统的结构示意图。如图6所示,该代码测试系统600除了包括上述图3中各模块外,还可以包括以下模块:检测模块601,用于在编译模块将代码部署在多种平台上进行编译之前,检测版本控制系统中是否有新增加的代码;执行模块602,用于当检测模块的检测结果为版本控制系统中有新增加的代码时,执行将代码部署在多种平台上进行编译的步骤。优选地,该系统可以用于在移动终端上进行代码测试。实施例4本实施例中的代码测试系统也可以由测试管理模块、编译管理模块、单元测试管理模块、代码版本控制系统以及结果产生模块构成。图7是根据本发明实施例4的代码测试系统的信令流程图。如图7所示,多平台代码测试的实现可以分为四个阶段:检测代码更新;进行多平台编译;进行多平台单元测试;进行多平台多浏览器自动黑盒测试。由测试管理模块按以下步骤发起流程:1、测试管理模块定时检测是否有更新的代码。2、如有更新的代码,部署代码在多平台,进行多平台编译,并产生详细编译报告。3、编译完成后,进行多平台测试,并产生详细测试分析报告。4、进行多平台多浏览器黑盒测试,并进行界面截图,然后产生相应报表供测试人员检测。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排
除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
权利要求
1.一种代码测试方法,其特征在于,包括: 将代码依次部署在多种运行平台上进行编译; 根据编译产生的结果判断所述代码的编译是否通过; 如果是,则将所述代码依次部署在多种运行平台上进行测试。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在对所述代码进行测试的过程中对所述代码的运行界面进行截图。
3.根据权利要求1所述的方法,其特征在于,所述将所述代码依次部署在多种运行平台上进行测试包括: 将所述代码依次部署在多种运行平台上进行单元测试; 根据单元测试产生的结果判断所述代码的单元测试是否通过; 如果是,则将所述代码依次部署到多种运行平台上进行黑盒测试。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括: 在将所述代码部署在多种平台上进行编译之前,还包括: 检测代码版本控制系统中的代码是否有新增、修改或者删除; 如果是,则执行将代码部署在多种平台上进行编译的步骤。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述方法用于在移动终端上进行代码测试。
6.一种代码测试系统,其特征在于,包括: 编译模块,用于将代码依次部署在多种运行平台上进行编译; 判断模块,用于根据编译产生的结果判断所述代码的编译是否通过; 测试模块,用于当所述判断模块的判断结果为是时,将所述代码依次部署在多种运行平台上进行测试。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括: 截图模块,用于在所述代码进行测试的过程中对所述代码的运行界面进行截图。
8.根据权利要求6所述的系统,其特征在于,所述测试模块包括: 第一测试单元,用于将所述代码依次部署在多种运行平台上进行单元测试; 判断单元,用于根据单元测试产生的结果判断所述代码的单元测试是否通过; 第二测试单元,用于当所述判断单元的判断结果为是时,将所述代码依次部署到多种运行平台上进行黑盒测试。
9.根据权利要求6所述的系统,其特征在于,所述系统还包括: 检测模块,用于在所述编译模块将所述代码部署在多种平台上进行编译之前,检测代码版本控制系统中的代码是否有新增、修改或者删除; 执行模块,用于当所述检测模块的检测结果为所述版本控制系统中有新增加的代码时,执行将代码部署在多种平台上进行编译的步骤。
10.根据权利要求6至9任意一项所述的系统,其特征在于,所述系统用于在移动终端上进行代码测试。
全文摘要
本发明公开了一种代码测试方法及系统,该方法包括将代码依次部署在多种运行平台上进行编译;根据编译产生的结果判断代码的编译是否通过;如果是,则将代码依次部署在多种运行平台上进行测试,通过本发明的技术方案实现了对代码的自动多平台编译以及进行多平台测试,使代码的测试更加智能化,提高了代码测试的效率。
文档编号G06F11/36GK103207828SQ20121000904
公开日2013年7月17日 申请日期2012年1月12日 优先权日2012年1月12日
发明者郭理靖 申请人:上海盛霄云计算技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1