软件测试方法及装置与流程

文档序号:14518983阅读:160来源:国知局
软件测试方法及装置与流程
本发明属于软件测试
技术领域
,尤其涉及一种软件测试方法及装置。
背景技术
:随着it技术的发展,软件覆盖的行业范围越来越广,系统也变得越得越来越复杂。针对开发出来的各种复杂的软件系统,怎样有效的开展软件测试,也是软件行业目前关注的问题,如软件开发中如何实现快速、高效的功能测试、回归测试、冒烟测试等。现有的软件测试领域,在测试用例编写、自动化测试等方面已经出现一些较好的提案。但现有的测试方法及装置在如何快速、有效开展软件功能测试、回归测试、冒烟测试上存在一定缺陷。一方面一些现有的测试方法生成的测试用例覆盖范围不强,很容易遗漏业务功能点;另一方面,一些现有的测试方法由于主要对单一功能点进行测试或面向的软件类型存在局限,导致不适合开展多种软件类型的高效的自动化功能测试、回归测试、冒烟测试。技术实现要素:本发明的实施例提供一种软件测试方法及装置。一方面,本发明实施例提供一种软件测试方法,包括:对软件业务场景进行分割,生成多个软件业务子场景;从软件业务子场景中抽取软件业务功能点,生成包含软件业务子场景信息和软件业务功能点信息的表单;根据表单和软件业务规则获得有效软件业务场景;以及根据有效软件业务场景获取软件业务功能点脚本进行测试。另一方面,本发明实施例提供一种软件测试装置,包括:分割处理单元、功能点抽取单元、有效场景生成单元和脚本执行单元。该分割处理单元被配置为对软件业务场景进行分割,生成多个软件业务子场景;该功能点抽取单元被配置为从软件业务子场景中抽取软件业务功能点,生成包含软件业务子场景信息和软件业务功能点信息的表单;该有效场景生成单元被配置为根据表单和软件业务规则获得有效软件业务场景;该脚本执行单元被配置为根据有效软件业务场景获取软件业务功能点脚本进行测试。还一方面,本发明实施例提供一种软件测试装置,包括:存储器、处理器、输入设备、输出设备、i/o接口和总线。该存储器用于存储计算机可执行指令;该处理器用于执行存储器存储的程序,该程序使得处理器执行上述软件测试方法;总线,用于在所述处理器、存储器、输入设备、输出设备和i/o接口之间传递信息。本发明实施例提供的软件测试方法及装置,通过对软件业务场景进行分割,生成多个软件业务子场景,便于后续对功能点的分类,在不同软件业务子场景部署在不同的服务器时,便于更有针对性选择测试用例,减少测试次数,提高测试效率。通过从软件业务子场景中抽取软件业务功能点,生成包含软件业务子场景信息和软件业务功能点信息的表单,便于按照分割顺序覆盖所有软件业务子场景及功能点,通过根据表单和软件业务规则获得有效软件业务场景,便于对整个软件业务场景进行有效测试,能够适用于多种软件类型的自动化功能测试、回归测试、冒烟测试。附图说明通过参考附图会更加清楚地理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:图1示出根据一种实施例的软件测试方法的流程图;图2示出根据一种实施例的软件测试装置的结构框图;图3示出采用图2示出的一种实施例的软件测试装置的示例性软件测试的流程图;图4示出根据一种实施例的软件测试装置的结构框图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明更全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中,为了清晰,可能夸大了区域和层的厚度。在图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本发明的主要技术创意需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面结合附图,详细描述根据本发明实施例的软件测试方法及装置。图1示出根据一种实施例的软件测试方法的流程图。该软件测试方法,在步骤s110中,对软件业务场景进行分割,生成多个软件业务子场景;例如可以根据软件业务处理逻辑顺序,对软件业务场景进行分割,生成多个软件业务子场景,在业务流程较复杂的软件业务场景中,经常会包含多个功能单元,甚至多个功能单元的集合,而软件业务子场景类似于包含这样的功能单元或功能单元的集合的场景。在步骤s120中,从软件业务子场景中抽取软件业务功能点,生成包含软件业务子场景信息和软件业务功能点信息的表单;这里的业务功能点可以理解为在软件业务场景中的一个或多个功能单元,每个功能点的叠加才实现了整个软件业务场景。例如,在移动通信领域中,一个移动通信客户服务平台可以看作是一个完整的软件业务场景,那么在这个移动通信客户服务平台上的各个功能单元,可以理解为该移动通信客户服务平台构成的完整的软件业务场景的软件业务子场景,例如,登录功能单元、验证功能单元可以作为两个不同的业务功能点属于同一个登录子场景,而下载功能单元、计费功能单元等则可以作为其他业务功能点部署在其他的软件业务子场景中。在步骤s130中,根据表单和软件业务规则获得有效软件业务场景;这里可以理解为,由于上述表单跟据软件业务场景分割后的软件业务子场景及对应的每个功能点形成了大量的待测软件业务场景,再根据实际制定的软件业务规则对上述的待测软件业务场景进行筛除,选择出有效软件业务场景。在步骤s140中,根据有效软件业务场景获取软件业务功能点脚本进行测试,例如可以从测试用例库中调用功能点测试脚本对上述筛选出的有效软件业务场景进行测试。通过对软件业务场景进行分割,生成多个软件业务子场景,便于后续对功能点的分类,在不同软件业务子场景部署在不同的服务器时,便于更有针对性选择测试用例,减少测试次数,提高测试效率。通过从软件业务子场景中抽取软件业务功能点,生成包含软件业务子场景信息和软件业务功能点信息的表单,便于按照分割顺序覆盖所有软件业务子场景及功能点,通过根据表单和软件业务规则获得有效软件业务场景,便于对整个软件业务场景进行有效测试,能够适用于多种软件类型的自动化功能测试、回归测试、冒烟测试。在一个实施例中,该方法的从软件业务子场景中抽取软件业务功能点,生成包含软件业务子场景信息和软件业务功能点信息的表单的步骤可以包括:在抽取软件业务功能点后生成对应的抽取标记。应理解,在抽取软件业务功能点后生成对应的抽取标记,可以在对软件业务子场景再次进行功能点抽取时辨识出没有抽取过的软件业务功能点,既保证了软件业务功能点的全部覆盖,又避免了在软件业务功能点抽取中的冗余情况,使该方法更加准确、高效。在一个示例中,该方法的根据表单和软件业务规则获得有效软件业务场景的步骤可以包括:根据软件业务场景的逻辑顺序将表单中的软件业务功能点通过串行的方式生成待测软件业务场景。应理解,这里的串行的方式可以是将上述抽取的软件功能点按照软件业务处理的逻辑顺序一个一个的串联成完整的软件业务场景。图2示出根据一种实施例的软件测试装置的结构框图。软件测试装置200,包括:分割处理单元201、功能点抽取单元202、有效场景生成单元203和脚本执行单元204。该分割处理单元201被配置为对软件业务场景进行分割,生成多个软件业务子场景;该功能点抽取单元202被配置为从软件业务子场景中抽取软件业务功能点,生成包含软件业务子场景信息和软件业务功能点信息的表单;该有效场景生成单元203被配置为根据表单和软件业务规则获得有效软件业务场景;该脚本执行单元204被配置为根据有效软件业务场景获取软件业务功能点脚本进行测试。需要说明的是,该装置与该方法相对应,二者具有类似的功能,可以解决类似的技术问题,因此,二者相同或者相似的地方不再赘述。在一个实施例中,该装置的分割处理单元201还可以被配置为根据软件业务场景的逻辑顺序,对软件业务场景进行分割,生成多个软件业务子场景。在一个示例中,该装置的功能点抽取单元202还可以包括抽取标识单元,被配置为在抽取软件业务功能点后生成对应的抽取标记。在一个示例中,该装置的有效场景生成单元203还可以包括待测软件业务场景生成单元,被配置为根据软件业务场景的逻辑顺序将表单中的软件业务功能点通过串行的方式生成待测软件业务场景。在一个示例中,该装置的有效场景生成单元203还可以包括有效场景筛选单元,被配置为根据软件业务场景的逻辑顺序将表单中的软件业务功能点通过串行的方式生成待测软件业务场景。图3示出采用图2示出的一种实施例的软件测试装置的示例性软件测试的流程图;该装置的分割处理单元,首先对软件业务场景进行分割,从而将软件业务功能点进行分类。例如,软件业务场景被分割成立四个软件业务子场景,这里可以选用了字母a、b、c、d来进行标记,用户可自定义分割后功能点的种类。该装置的功能点抽取单元对分割后的软件业务子场景中的软件业务功能点进行抽取,抽取后可以对软件业务功能点做相应的抽取标记,可以按照分割顺序覆盖所有软件业务子场景及软件业务功能点。同样以业务流程处理分为a、b、c、d四个软件业务子场景为例,某一次功能点抽取生成的抽取表单在表1中给出:表1a11a13a16…b12b13b18…c15c18c19…d11d14d17…有效场景生成单元可以根据提取的功能点,这里可以按照软件业务逻辑顺序通过串行法生成大量待测软件业务场景,并可以根据实际业务规则进行有效性判断,如果符合业务流程,则可以判定该待测软件业务场景有效,否则该待测软件业务场景无效。以软件业务场景按照业务流程分割处理分为四个软件业务子创建为例,根据某一次功能点抽取表单,生成的有效软件业务场景在表2中给出:表2a11->b13->c19->d11a13->b12->c18->d17a16->b18->c15->d14…->…->…->…在表2中的例如“a11->b13->c19->d11”可以表示一个完整的有效软件业务场景。脚本执行单元根据有效软件业务场景提取各软件业务功能点脚本,从而完成自动化测试。结合图1和图2描述的软件测试方法和软件测试装置的至少一部分可以由计算设备实现。图4示出根据一种实施例的软件测试装置的结构框图。如图4所示,计算设备400包括输入设备401、输入端口402、处理器403、存储器404、输出端口405、以及输出设备406。其中,输入端口402、处理器403、存储器404、以及输出端口405通过总线410相互连接,输入设备401和输出设备406分别通过输入端口402和输出端口405与总线410连接,进而与计算设备400的其他组件连接。需要说明的是,这里的输出接口和输入接口也可以用i/o接口表示。具体地,输入设备401接收来自外部的输入信息,并通过输入端口402将输入信息传送到处理器403;处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出端口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算设备400的外部。上述存储器404包括用于数据或指令的大容量存储器。举例来说而非限制,存储器404可包括hdd、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器404可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器404可在计算设备400的内部或外部。在特定实施例中,存储器404是非易失性固态存储器。在特定实施例中,存储器404包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。总线410包括硬件、软件或两者,将计算设备400的部件彼此耦接在一起。举例来说而非限制,总线410可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线410。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。当通过图4所示的计算设备400实现结合图1和图2描述的安检模拟培训装置时,输入设备401采集初始的软件业务场景及调用测试用例库中的软件业务功能点脚本,在特定实施例中,与输出设备相连的i/o接口可以包括硬件、软件或两者,提供用于在计算设备400与一个或多个i/o设备之间的通信的一个或多个接口。在合适的情况下,计算设备400可包括一个或多个这些i/o设备。一个或多个这些i/o设备可允许人和计算机系统400之间的通信。举例来说而非限制,i/o设备可包括键盘、小键盘、麦克风、监视器、鼠标、打印机、扫描仪、扬声器、静态照相机、触针、手写板、触摸屏、轨迹球、视频摄像机、另一合适的i/o设备或者两个或更多个以上这些的组合。i/o设备可包括一个或多个传感器。本发明实施例考虑用于它们的任何合适的i/o设备和任何合适的i/o接口。在合适的情况下,i/o接口可包括一个或多个装置或能够允许处理器703驱动一个或多个这些i/o设备的软件驱动器。在合适的情况下,i/o接口可包括一个或多个i/o接口。尽管本发明实施例描述和示出了特定的i/o接口,但本发明实施例考虑任何合适的i/o接口。在一个示例中,受检测物体的图像数据还可以通过上述多个输入设备或多个设备的组合获得。该处理器703基于存储器704中存储的计算机可执行指令,对软件业务场景进行分割,生成多个软件业务子场景;从软件业务子场景中抽取软件业务功能点,生成包含软件业务子场景信息和软件业务功能点信息的表单;根据表单和软件业务规则获得有效软件业务场景;以及根据有效软件业务场景获取软件业务功能点脚本进行测试。随后在需要经由输出端口405和输出设备406将测试结果输出。也就是说,根据本发明实施例的软件测试装置也可以被实现为包括存储有计算机可执行指令的存储器404;以及处理器403,该处理器403在执行计算机可执行指令时,可以实现结合图1和图2描述的软件测试方法和软件测试装置。在合适的情况下,计算机可执行指令可包括一个或多个基于半导体的或其他集成电路(ic)(例如,诸如现场可编程门阵列(fpga)或专用ic(asic))、硬盘驱动器(hdd)、混合硬盘驱动器(hhd)、光盘、光盘驱动器(odd)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(fdd)、磁带、全息存储介质、固态驱动器(ssd)、ram驱动器、安全数字卡或驱动或其他合适的计算机可读非临时性存储介质或者两个或更多个以上这些的组合。需要明确,本发明并不局限于上文所描述并在图中示出的特定配置和处理。并且,为了简明起见,这里省略对已知方法技术的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后作出各种改变、修改和添加,或者改变步骤之间的顺序。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些端口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1