CN101482815B - 生成软件系统的测试用例的方法和设备 - Google Patents

生成软件系统的测试用例的方法和设备 Download PDF

Info

Publication number
CN101482815B
CN101482815B CN200810002615.2A CN200810002615A CN101482815B CN 101482815 B CN101482815 B CN 101482815B CN 200810002615 A CN200810002615 A CN 200810002615A CN 101482815 B CN101482815 B CN 101482815B
Authority
CN
China
Prior art keywords
business transaction
test case
modes
affairs
test
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN200810002615.2A
Other languages
English (en)
Other versions
CN101482815A (zh
Inventor
谈华芳
N·M·米特苏莫里
朱俊
李中杰
刘鹤辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
IBM China Co Ltd
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN200810002615.2A priority Critical patent/CN101482815B/zh
Priority to US12/350,280 priority patent/US20090183143A1/en
Publication of CN101482815A publication Critical patent/CN101482815A/zh
Application granted granted Critical
Publication of CN101482815B publication Critical patent/CN101482815B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3414Workload generation, e.g. scripts, playback
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/87Monitoring of transactions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种生成软件系统的测试用例的方法和设备,所述方法包括步骤:跟踪用户请求以得到与每个服务和/或组件调用相关的IT事件;基于IT事件中的关联信息形成IT事务;基于预定的关联规则关联所述IT事务以形成业务事务;以及从业务事务中抽取与所述业务事务对应的业务事务模式。所述方法还包括基于生成的业务事务模式生成软件系统的测试用例。

Description

生成软件系统的测试用例的方法和设备
技术领域
本发明一般涉及数据处理领域,以及更具体地,本发明涉及一种用于使用运行时跟踪来生成业务模式以及业务级别测试用例的方法和设备。
背景技术
长期以来,一直认为软件测试是系统开发活动的一个重要的并具有挑战性的部分。面向服务架构(SOA)的出现对软件测试提出了新的要求。SOA是一种粗粒度、松耦合的服务架构,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。在SOA中,服务之间通过简单、精确定义的接口进行通信,而并不涉及底层编程接口和通信模型。
基于SOA的软件测试与传统的软件编程环境相比,SOA主要存在以下特征:1)软件系统本质上是分布式的,这就要求针对不同的开发配置来确保服务质量(QoS);2)系统通过替换单独的服务、或者通过添加新的服务来执行适应性的行为。
在传统软件测试中,需要结合使用单元测试、集成测试、系统测试和回归测试来确保所开发的系统完成了所期望的功能性。在面向服务的系统中,尽管同样可以使用适用于传统系统的各种测试方法,然而,对于SOA系统来说,SOA的动态性和适应性特征使得大多数测试技术并不能直接应用于测试服务和面向服务的系统。例如,大多数传统的测试方法假设,开发人员总是能够精确地识别出在给定调用点所调取的实际代码片段;或者,如同在面相对象的编程语言中,开发人员已知多态组件的所有的(有限的)绑定。这些假设对于SOA并不适用。在SOA中表现出的是,在开放的市场环境中实时发现服务、并且稍后绑定。
采用SOA之后,除了系统架构的改变,还在建立系统的过程之中引入了许多变化。SOA系统并非一次构建,而是需要多轮迭代来达到令人满意的质量。每轮迭代包括三个步骤:建立一个版本、对该版本进行测试、以及将该测试后的版本部署至生产环境。
SOA系统的动态性和适应性特征使得开发人员难以预知所有的使用配置,因而测试人员很难在第一轮迭代时设计出能够覆盖所有使用情形的测试用例集合。但是,使用情形的覆盖对于保证达到期望的用户质量水平非常重要。因而,针对未覆盖的实际使用情形来生成补充测试集合是确保SOA系统达到预期质量水平的关键。在下一轮迭代中,将向当前的测试集合加入在实际使用情形中存在但并不包含在当前测试集合中的测试用例。由此,如何发现未覆盖的实际使用情况并且将其补充到测试用例的集合之中,这成为了针对SOA的软件测试技术的研究重点。
一种可能的解决方案是,调节运行时跟踪信息以发现未覆盖的使用情形,并且然后针对未覆盖的使用情形来生成测试用例以补充测试集合。然而,在此存在以下挑战:1)如何从运行时跟踪信息来生成有意义的使用情形;2)如何控制测试用例的数量。从测试人员的角度看来,使用情形应该是用户与系统进行的有意义的交互序列。因而,需要一种方法来将用户与系统的交互相互关联。同时,由于测试人员不可能覆盖实际发生的所有情况,所以在覆盖使用情形的同时还需要控制测试用例的数量。
从上述分析中可知,在SOA系统的软件测试中,需要某些机制来定义使用情形的覆盖标准、并且降低测试用例的数量。
例如,AmberPoint提供了一种SOA运行时管理方案,其跨过不同的环境捕获网络服务(web service)消息,以便创建理想的阶段运行环境,创建实际响应来验证功能性,提供模仿实际分布的理想装载测试和容量计划情形,以及模拟集合或者部门直接控制以外的生产服务。然而,AmberPoint并不关心应用级别的业务使用情形,而是只关心网络服务自身。
另外,IBM的Tivoli ITCAM提供了运行时监控功能。Tivoli ITCAM针对一个用户请求跟踪服务/组件交互,这种针对一个用户请求的一组服务/组件交互称作IT事务。然而,Tivoli ITCAM并不提供用于形成业务事务的能力,以便形成对于业务级别的测试人员有意义的业务事务的功能性。
目前,现有技术中还不存在使用运行时跟踪来生成业务事务模式的方法,也不存在使用运行时跟踪来生成测试用例的方案。
发明内容
本发明的一个目的是通过运行时跟踪使用情形来生成业务事务模式。
本发明的另一个目的是通过运行时跟踪使用情形来生成业务级别测试用例,以便在下一轮迭代中最大限度地覆盖所有使用情形。
本发明的另一个目的是通过使用运行时跟踪而针对未覆盖使用情形来生成业务级别测试用例。该方法用于解决如何针对测试用例进行补充,以便在下一轮迭代中最大限度地覆盖所有使用情形。
根据本发明的一方面,提供一种用于生成软件系统的测试用例的方法,包括步骤:跟踪用户请求以得到与每个服务和/或组件调用相关的IT事件;基于IT事件中的关联信息形成IT事务;基于预定的关联规则关联所述IT事务以形成业务事务;以及从业务事务中抽取与所述业务事务对应的业务事务模式。
根据本发明的另一方面,本发明的方法还包括基于获得的业务事务模式生成软件系统的测试用例。
根据本发明的另一方面,提供一种用于生成软件系统的测试用例的设备。该设备包括:用于跟踪用户请求以得到与每个服务和/或组件调用相关的IT事件的装置;用于基于IT事件中的关联信息形成IT事务的装置;用于基于预定的关联规则关联所述IT事务以形成业务事务的装置;以及用于从业务事务模式中抽取与所述业务事务对应的业务事务模式的装置。
根据本发明的另一方面,本发明的设备还包括用于基于获得的业务事务模式生成软件系统的测试用例的装置。
附图说明
参考以下结合附图的详细说明,本发明的特征、优点以及其他方面将变得更加明显,在附图中:
图1示出了根据本发明的一个实施方式的用于生成业务级别测试用例的方法的高级概念图;
图2示出了根据本发明的一个实施方式的生成IT事务和业务事务的示意图;
图3示出了根据本发明的一个实施方式的生成业务事务模式的示意图;
图4示出了是根据本发明的生成业务事务和业务事务模式的一个实例;
图5示出了根据本发明的一个实施方式的用于生成业务级别测试用例的设备的高级框图;
图6示出了根据本发明的一个实施方式的用于生成业务级别测试用例的方法的流程图;
图7示出了根据本发明的另一实施方式的用于生成业务级别测试用例的方法的高级概念图;
图8示出了根据本发明的另一实施方式的用于生成业务级别测试用例的设备的高级框图;以及
图9示出了根据本发明的另一实施方式的用于生成业务级别测试用例的方法的流程图。
应当理解,在全部附图中,相同的参考标记表示相同的部件。
具体实施方式
为了清楚起见,首先对本发明中所使用的术语作以解释。
IT事件:计算机操作的记录,记录操作的上下文,包括所调取的服务、操作、参数值以及其他相关性信息。
IT事务:用户与机器进行的交互所引发的系统的一系列IT事件的集合,其开始于用户在浏览器界面上或者其他用户界面上点击按钮发送请求,并结束于在浏览器页面上或者其他用户界面上显示用户所请求的数据。
业务事务:完成一个有意义的业务活动(诸如,订货、购物、预订机票等等)的一组IT事务的组合。
业务事务模式:从业务事务中抽取的具有共同特征的业务事务的模版。
下面参考附图详细说明根据本发明的各个实施方式。
参考图1,其中示出了根据本发明的一个实施方式的用于生成业务级别测试用例的方法的高级概念图。
图1所示的方法包括两个跟踪流程,其一是针对生产阶段进行跟踪,而另一个是针对测试阶段进行跟踪。该方法从两条跟踪流程中分别抽取出两个业务事务模式集合。接着,将两个业务事务模式集合进行比较以发现未覆盖的业务事务模式集合。最后,针对未覆盖业务事务模式来生成相关的测试用例,并且将其补充至当前测试用例的集合中,以供下一轮测试使用。
具体地,如图1所示,测试环境110是测试人员对软件系统进行测试的测试环境。而生产环境120是用户在实际使用软件系统时所处的环境。
在开始第一轮测试之前,测试人员首先通过传统方法来生成用于第一轮测试的测试用例。在生产环境120中,通过正常生产使用122并对待测试软件系统进行生产跟踪124来形成基于生产环境的业务事务模式集合126,在此用符号“Y”来表示。在测试环境110中,针对测试用例112来进行测试跟踪114,以形成基于测试环境的业务事务模式集合116,在此用符号“X”来表示。
然后,在框132中,针对当前一轮测试,通过将基于测试环境的业务事务模式集合(X)116与基于生产环境的业务事务模式集合(Y)126进行比较来执行覆盖分析,即,计算(X/Y)×100%。
接着,在框134中,使用根据业务事务模式集合(Y)126与业务事务模式集合(X)116比较所得出的未覆盖业务事务模式集合(Y-X),来对当前测试用例进行补充,然后执行下一轮回归测试。
下面将参考图2和图3详细描述根据本发明的用于生成业务事务模式的方法。
图2示出了根据本发明的一个实施方式的生成IT事务和业务事务的示意图。通常,在生成业务事务的过程中,涉及呈现层212、业务层214、服务层216和组件层218。如图2中的实线所示,在呈现层212处,通过用户交互UI1来调用资源A3,并且在这一过程中,分别涉及了业务层214中的资源B4、服务层216中的资源P5、组件层218中的资源E3。将这一系列资源进行关联以形成IT事务1221。同样,如图2中的虚线所示,通过用户交互UI4来调用资源A4,并且在这一过程中,分别涉及了业务层214中的资源B3、服务层216中的资源P2、组件层218中的资源E1。将这一系列资源进行关联以形成IT事务2222。通过分析发现,IT事务1221和IT事务2222两者根据设定的关联规则可以关联在一起,例如,具有相同的BPID(业务流程实例号)。这样,将IT事务1221和IT事务2222彼此关联以形成业务事务1232。
图3示出了根据本发明的一个实施方式的生成业务事务模式的示意图。如图3所示,分别从组件级别310、IT事务级别320以及业务事务级别330这三个级别示出了生成业务事务模式。
组件级别310包括三个组件C1,C2和C3,分别产生IT事件1311至IT事件6316。在IT事务级别320中,通过对用户请求进行跟踪,发现了上述IT事件1-3。从上文的定义中可知,IT事务是用户与机器进行交互的所引发的系统的一系列IT事件的集合,也就是一系列IT事件。其开始于用户在浏览器上发送请求,并结束于在浏览器页面上显示用户所请求的数据。每一个IT事件含有它当前的关联因子,如果它有前序的IT事件,则包含该前序事件的关联因子,称为父关联因子。根据关联因子之间的父子关系,可以把一组IT事件关联起来形成一个IT事务。这样,由IT事件1-3组成了IT事务1322和由IT事件4-6组成了IT事务2324。每一个IT事务在形成时,会把它对应的IT事件中的与关联规则相关的属性值提取出来,形成该IT事务的特征值。根据每个IT事务对应的特征值和关联规则,可以把一组IT事务关联形成业务事务。
如在业务事务级别330中所示,根据关联规则(例如流程实例ID或任务实例ID),将IT事务1322与IT事务2324进行关联,可以形成与业务事务1332。
如在业务事务模式级别340中所示,将业务事务1中的IT事件都提取出来以形成业务事务1的业务事务模式。
应当理解,操作记录中的IT事件的数量是非常多。如果通过IT事件的任意组合生成测试用例,则测试用例数量过多,并且很多测试用例实际上没有含义。通过以上方式提取业务事务模式则可以找到IT事件有业务含义的组合。这样,通过这种方法查找到底IT事件组合能够用于生成有业务含义的测试用例,特别是生成以前未测试过的而实际应用中用到的情形。
下面将结合图4,详细说明如何形成业务事务模式。
首先,在中间件层加入跟踪代码来监视发生的IT事件。即,在待测试系统中的执行流程以及创建和完成任务的代码处加入监视代码。然后,根据预先设定的关联规则(在这里,假设当前的关联规则是根据TASK ID(任务ID)、BPID(业务流程实例ID)来进行关联)和业务事务的定义,记录以下IT事件的发生:
1)每个组件的调用,其中所述组件例如是JSP、Business Process、Web Service、EJB和SCA组件;
2)每个流程的启动和停止;
3)每个任务的创建、执行和完成。
每个IT事件都包含当前事件的上下文,即,上一个IT事件的关联因子(称为父亲关联因子)和当前IT事件的关联因子。在线程的上下文中保存当前线程发生的关联因子。当请求跨线程时,将当前的关联因子通过请求消息进行传递。
然后,在记录下所有的IT事件之后,根据关联因子把一组IT事件关联起来形成一个IT事务。具体地,首先找出没有父亲关联因子的事件,然后根据关联因子的传递关系(即,当前事件的父亲关联因子等于前一个事件的当前关联因子)将一组IT事件进行关联。一旦已经将一组IT事件关联成为一个IT事务,则将当前与该IT事务相关的IT事件中出现的BPID和TASK ID提取出来作为当前IT事务的一个特征值。
一旦形成所有IT事务,则根据关联规则来关联IT事务以形成业务事务。例如,如果IT事务对应的BPID或者TASK ID相等,则将其进行关联以形成业务事务。
一旦确定业务事务,则根据业务事务和IT事务、以及IT事务和IT事件的关系,提取所有的IT事件并形成一个调用序列作为该业务事务的业务事务模式。
如图4所示,以预订旅游行程为例来具体说明如何生成业务事务模式。在本例中,首先由客户发出预订旅游行程请求412。此时启动预订旅游行程流程422。接着,信用卡公司创建检查信用卡的任务414,并由工作人员完成该任务。然后,调用预定汽车组件432来订车、调用预定航班组件434来订机票、并调用预订酒店流程424来订酒店。该预订酒店的流程424继而调用酒店信息中心436组件来获取可用的酒店,并生成选择酒店的任务418。一旦用户完成选择酒店的任务,则预订酒店的流程424将调用相应的酒店组件(例如,酒店1组件442、酒店2组件444、酒店n组件446中的一个)来预订房间。最后告知客户预定结果416。
在如图4中所示的预订旅游行程的整个过程中,系统将生成如表1所示的IT事件。
表1
 ID 描述 父关联 当前关联 特征值
因子ID 因子ID
 1 启动预订旅游行程流程 Null  1  travelBookingBPID,
2 创建检查信用卡任务 1  2  creditcardTaskID,
3 完成检查信用卡任务 Null  3  creditcardTaskID,
4 调用预定汽车组件 3  4
 5 调用预定航班组件 3  5
 6 启动预订酒店流程 3  6  hotelReservationBPID
 7 调用酒店信息中心组件 6  7
 8 创建选择酒店的任务 6  8  selectHotelTaskID
 9 完成选择酒店的任务 Null  9  selectHotelTaskID
 1 0 调用酒店组件 9  10
根据表1中所示的对应关系,将1和2关联成为IT事务1,该IT事务1具有creditcardTaskID、travelBookingBPID的特征值;将3、4、5、6、7、8关联成为IT事务2,该IT事务2具有creditcardTaskID、hotelReservationBPID和selectHotelTaskID的特征值;并将9、10关联成IT事务3,该IT事务3具有selectHotelTaskID特征值。现在,得到如表2所示的三个IT事务。
表2
 IT事务ID 特征值
 IT事务1  creditcardTaskID,travelBookingBPID
 IT事务2  creditcardTaskID,hotelReservationBPID和selectHotelTaskID
 IT事务3  selectHotelTaskID
假设,当前的关联规则如下:
规则1:如果一个业务事务中包含的所有IT事务的特征值BPID或者TASK ID和某个待关联的IT事务中包含的BPID或者TASK ID相同,则把这个待关联的IT事务与该业务事务相关联;
规则2:如果不能将某个IT事务与已有的业务事务相关联,则生成一个新的业务事务,把该IT事务与这个新生成的业务事务相关联。
最初,当前系统中没有业务事务,因此将生成一个新的业务事务1,并把IT事务1关联到业务事务1中。此时业务事务1包含IT事务1,因为IT事务1和IT事务2包含相同的TASK ID:creditcardTaskID,所以将IT事务2与业务事务1相关联。此时,业务事务1中包含IT事务1和IT事务2。因为IT事务2和IT事务3包含相同的TASK ID:selectHotelTaskID,所以将IT事务3关联到业务事务1。由于并无其他可以关联的IT事务,则业务事务1的生成完成。
业务事务1为:IT事务1→IT事务2→IT事务3。
把每一个IT事务中对应的IT事件抽取出来形成对应于业务事务1的业务事务模式:
启动预订旅游行程流程→创建检查信用卡任务→完成检查信用卡任务→调用预定汽车组件→调用预定航班组件→启动预订酒店流程→调用酒店信息中心组件→创建选择酒店的任务→完成选择酒店的任务→调用酒店组件。
下面将结合图5详细描述根据本发明的一个实施方式的用于生成业务级别测试用例的设备。图5示出了根据本发明的一个实施方式的用于生成业务级别测试用例的设备500的高级框图。
该设备500包括以下四个模块:跟踪模块510、业务事务模式生成模块520、业务事务模式比较模块530以及测试用例生成模块540。
跟踪模块510可以跟踪每个用户请求,以生成与每个服务/组件调用相关的IT事件521,其中事件记录所调取的服务、操作、参数值以及相关性信息,所述相关性信息帮助将所有相关的服务调用事件与请求关联在一起。此后,跟踪模块510向业务事务模式生成模块520传送得到的IT事件521。
业务事务模式生成模块520可以对从跟踪模块510接收的IT事件521进行分析,将所接收IT事件521进行关联,并且从中得到具有实际业务含义的业务事务模式。
业务事务模式生成模块520可以包括IT事务关联器523、业务事务关联器524、以及业务事务模式抽取器525,并且还包括用于将IT事务进行关联的关联规则522。关联规则522以逻辑表达式的方式定义了根据服务调用参数的值和上下文信息将一组IT事务彼此关联。诸如,如果两个IT事务都服务于同一个业务流程实例,则将其进行关联。例如,通过TASK ID(任务ID)、BPID(Business Process Instance ID)进行关联。
首先,IT事务关联器523对从跟踪模块510接收的IT事件521进行组织,以便根据IT事件521中的关联信息来按照图2和3所示的方法形成IT事务。
然后,业务事务关联器524根据预定的关联规则522,按照图2和3所示的方法将一组IT事务彼此关联以形成业务事务,并将所形成的业务事务作为输出传送至业务事务模式抽取器525。
在建立业务事务模式期间,业务事务模式抽取器525从业务事务中抽取业务事务模式。例如抽取该业务事务所涉及的所有IT事件作为它的业务事务模式。业务事务模式抽取器525将所抽取的业务事务模式作为整个业务事务模式生成模块520的输出而发送至业务事务模式比较模块530。
如图5中所示,业务事务比较模块530可以包括业务事务模式比较器531,并且还可以包括业务事务模式集合532。业务事务模式集合532可以涉及两个部分,分别是业务事务模式集合(X)533,其中包含基于测试环境所生成的业务事务模式集合(用“X”表示);以及业务事务模式集合(Y)534,其中包含基于生产环境所生成的业务事务模式集合(用“Y”表示)。
业务事务模式比较器531可以将基于测试环境的业务事务模式集合(X)533和基于生产环境的业务事务模式集合(Y)534进行比较以发现其中的差异。然后,业务事务模式比较器531将比较结果传送至测试用例生成模块540。
测试用例生成模块540可以包括测试用例生成器541,其从业务事务比较模块530接收来自业务事务模式比较器531的比较结果,即,未覆盖的业务事务模式集合(Y-X)542,并针对该集合中的每个业务事务模式来生成测试用例543。
最后,将所生成的测试用例543补充至本轮迭代所使用的测试用例集合之中,并将新的测试用例集合用于下一轮迭代。
图6示出了根据本发明的一个实施方式的用于生成业务级别测试用例的方法的流程图。
首先,在步骤S602中,跟踪模块510对用户请求进行跟踪,并将所获得的IT事件521发送至业务事务模式生成模块520。
然后,在步骤S604中,业务事务模式生成模块520中的IT事务关联器523对接收的IT事件521进行关联以形成IT事务。
接着,在步骤S606中,业务事务关联器524根据预定的关联规则将所输入的IT事务进行关联以形成业务事务,并将其输出至业务事务模式抽取器525。
然后,在步骤S608中,业务事务模式抽取器525从业务事务中抽取业务事务模式。例如抽取该业务事务所涉及的所有IT事件作为它的业务事务模式。接着将所抽取的业务事务模式输入至业务事务模式比较模块530。
然后,在步骤S610中,业务事务模式比较器531将基于测试环境的业务事务模式集合(X)533和基于生产环境的业务事务模式集合(Y)534进行比较以发现其中的差异,并将来自业务事务模式比较器531的结果传送至测试用例生成模块540。
然后,在步骤S612中,测试用例生成模块540从业务事务比较模块530接收来自业务事务模式比较器531的比较结果,并针对未覆盖的业务事务模式集合(Y-X)542,来生成测试用例543,并将其补充至当前使用的测试用例集合中。
图7示出了根据本发明的另一实施方式的用于生成业务级别测试用例的方法的高级概念图。
根据本发明的另一实施方式与一个实施方式类似,不同之处在于针对生产阶段进行跟踪以直接生成测试用例,然后使用所生成的测试用例来替换现有的测试用例,其中不需要针对测试阶段进行跟踪。
具体地,如图7所示,测试环境710是测试人员对软件系统进行测试的测试环境。而生产环境720是用户在实际使用软件系统时所处的环境。
在开始第一轮测试之前,测试人员首先通过传统方法来生成用于第一轮测试的测试用例。在生产环境720中,通过正常生产使用722并对待测试软件系统进行生产跟踪724来形成基于生产环境的业务事务模式集合726,在此用符号“Y”来表示。
然后,在框732中,针对当前一轮回归测试,使用基于生产环境的业务事务模式集合(Y)726中的业务事务模式生成的测试用例覆盖现有的测试用例,然后执行下一轮回归测试。
图8示出了根据本发明的另一实施方式的用于生成业务级别测试用例的设备500’的高级框图。
图8的设备500’与图5的设备500的不同处于在于,利用测试用例生成模块540’代替了图5的设备中的业务模块比较模块530和测试用例生成模块540,而其他部件与图5相似,在此省略对其的详细描述。
如图8所示,测试用例生成模块540’可以包括测试用例生成器541’,其从业务事务生成模块520接收基于生产环境的业务事务模式542’,并使用基于生产环境的业务事务模式生成的测试用例543覆盖现有的测试用例,然后执行下一轮回归测试。
图9示出了根据本发明的另一实施方式的用于生成业务级别测试用例的方法的流程图。
图9的方法与图6的方法的不同处于在于,利用步骤S610’代替了步骤S610和S612,其他步骤与图6相似,在此省略对其的详细描述。
具体地,在步骤S610’处,测试用例生成模块540’从业务事务生成模块520接收基于生产环境的业务事务模式542’,并使用基于生产环境的业务事务模式生成的测试用例543覆盖现有的测试用例,然后执行下一轮回归测试。
与现有技术相比,本方法具有多个优点。首先,基于运行时跟踪,通过发现未覆盖的实际使用情形来实现SOA架构级别的灰盒测试。这在设计业务级别测试用例中,改进了测试人员的生产效率。这种生产效率的提高将导致节约成本并降低项目周期。其次,本方法并不需要特殊的跟踪机制,其中可以使用能够捕获服务/组件调用的通用跟踪器,而不必针对待测试的不同应用来构造不同的跟踪器。
本发明可以以硬件、软件、固件以及它们的组合来实现。本领域技术人员应该认识到,也可以在供任何合适数据处理系统使用的信号承载介质上所设置的计算机程序产品中实现本发明。这种信号承载介质可以是传输介质或用于机器可读信息的可记录介质,包括磁介质、光介质或其他合适介质。可记录介质的例子包括:硬盘驱动器中的磁盘或软盘、用于光驱的光盘、磁带,以及本领域技术人员所能想到的其他介质。本领域技术人员应该认识到,具有合适编程装置的任何通信终端都将能够执行如程序产品中体现的本发明方法的步骤。
从上述描述应该理解,在不脱离本发明精神的情况下,可以对本发明各实施方式进行修改和变更。本说明书中的描述仅仅是用于说明性的,而不应被认为是限制性的。本发明的范围仅受权利要求书的限制。

Claims (12)

1.一种用于生成软件系统的测试用例的方法,包括步骤:
跟踪用户请求以得到与每个服务和/或组件调用相关的IT事件;
基于IT事件中的关联信息形成IT事务;
基于预定的关联规则关联所述IT事务以形成业务事务;以及
从业务事务中抽取与所述业务事务对应的业务事务模式。
2.根据权利要求1所述的方法,其中所述预定的关联规则规定根据IT事务所包含的IT事件中的服务和/或组件调用参数的值和上下文信息将一组IT事务彼此关联。
3.根据权利要求1所述的方法,包括步骤:
基于生成的业务事务模式生成软件系统的测试用例。
4.根据权利要求3所述的方法,其中:
分别在测试环境和生产环境下生成基于测试环境的业务事务模式集合和基于生产环境的业务事务模式集合;
通过将基于测试环境的业务事务模式集合与基于生产环境的业务事务模式集合进行比较获得未覆盖的业务事务模式集合;以及
基于所述未覆盖的业务事务模式集合中的每一个业务事务模式生成软件系统的测试用例并将其添加到测试用例集合中。
5.根据权利要求3所述的方法,其中:
在生产环境下生成基于生产环境的业务事务模式集合;以及
用基于生产环境的业务事务模式集合中的每一个业务事务模式生成的测试用例覆盖当前使用的测试用例集合。
6.根据权利要求3所述的方法,其中所述软件系统是基于面向服务的架构。
7.一种用于生成软件系统的测试用例的设备,包括:
用于跟踪用户请求以得到与每个服务和/或组件调用相关的IT事件的装置;
用于基于IT事件中的关联信息形成IT事务的装置;
用于基于预定的关联规则关联所述IT事务以形成业务事务的装置;以及
用于从业务事务模式中抽取与所述业务事务对应的业务事务模式的装置。
8.根据权利要求7所述的设备,其中所述预定的关联规则规定根据IT事务所包含的IT事件中的服务和/或组件调用参数的值和上下文信息将一组IT事务彼此关联。
9.根据权利要求7所述的设备,进一步包括:
用于基于生成的业务事务模式生成软件系统的测试用例的装置。
10.根据权利要求9所述的设备,其中:
分别在测试环境和生产环境下生成基于测试环境的业务事务模式集合和基于生产环境的业务事务模式集合,所述用于基于生成的业务事务模式生成软件系统的测试用例的装置进一步包括:
用于通过将基于测试环境的业务事务模式集合与基于生产环境的业务事务模式集合进行比较获得未覆盖的业务事务模式集合的装置;以及
用于基于未覆盖的业务事务模式集合中的每一个业务事务模式生成软件系统的测试用例并将其添加到测试用例集合的装置。
11.根据权利要求9所述的设备,其中:
在生产环境下生成基于生产环境的业务事务模式;
所述生成软件系统的测试用例的装置进一步包括用于用基于生产环境的业务事务模式集合中的每一个业务事务模式生成的测试用例覆盖当前使用的测试用例集合的装置。
12.根据权利要求9所述的设备,其中所述软件系统是基于面向服务的架构。
CN200810002615.2A 2008-01-10 2008-01-10 生成软件系统的测试用例的方法和设备 Expired - Fee Related CN101482815B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN200810002615.2A CN101482815B (zh) 2008-01-10 2008-01-10 生成软件系统的测试用例的方法和设备
US12/350,280 US20090183143A1 (en) 2008-01-10 2009-01-08 Method and apparatus for generating test cases of software system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN200810002615.2A CN101482815B (zh) 2008-01-10 2008-01-10 生成软件系统的测试用例的方法和设备

Publications (2)

Publication Number Publication Date
CN101482815A CN101482815A (zh) 2009-07-15
CN101482815B true CN101482815B (zh) 2013-08-07

Family

ID=40851807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810002615.2A Expired - Fee Related CN101482815B (zh) 2008-01-10 2008-01-10 生成软件系统的测试用例的方法和设备

Country Status (2)

Country Link
US (1) US20090183143A1 (zh)
CN (1) CN101482815B (zh)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8423962B2 (en) * 2009-10-08 2013-04-16 International Business Machines Corporation Automated test execution plan generation
US8074121B2 (en) * 2009-12-09 2011-12-06 International Business Machines Corporation Automated information technology error and service request correlation
CN101847120A (zh) * 2010-03-31 2010-09-29 中兴通讯股份有限公司 一种测试用例的设计方法及系统
US8433954B2 (en) * 2010-04-20 2013-04-30 Microsoft Corporation Testing components for thread safety
CN101882105B (zh) * 2010-06-01 2013-05-08 华南理工大学 一种测试Web网页并发环境下响应时间的方法
US20110321013A1 (en) * 2010-06-23 2011-12-29 Quickunit Ltd Interactive environment for test case generation associated with a computer code
US9032360B1 (en) 2011-05-08 2015-05-12 Panaya Ltd. Selecting a test scenario template based on similarity of testing profiles belonging to different organizations
US9170926B1 (en) 2011-05-08 2015-10-27 Panaya Ltd. Generating a configuration test based on configuration tests of other organizations
US9201775B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Manipulating a test scenario template based on divergent routes found in test runs from different organizations
US9201772B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Sharing test scenarios among organizations while protecting proprietary data
US9239777B1 (en) 2011-05-08 2016-01-19 Panaya Ltd. Generating test scenario templates from clusters of test steps utilized by different organizations
US9201776B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Updating a test scenario template according to divergent routes
US9069904B1 (en) 2011-05-08 2015-06-30 Panaya Ltd. Ranking runs of test scenarios based on number of different organizations executing a transaction
US9134961B1 (en) 2011-05-08 2015-09-15 Panaya Ltd. Selecting a test based on connections between clusters of configuration changes and clusters of test scenario runs
US9201774B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Generating test scenario templates from testing data of different organizations utilizing similar ERP modules
US9170809B1 (en) 2011-05-08 2015-10-27 Panaya Ltd. Identifying transactions likely to be impacted by a configuration change
US9235412B1 (en) 2011-05-08 2016-01-12 Panaya Ltd. Identifying dependencies between configuration elements and transactions
US9104815B1 (en) 2011-05-08 2015-08-11 Panaya Ltd. Ranking runs of test scenarios based on unessential executed test steps
US9092579B1 (en) 2011-05-08 2015-07-28 Panaya Ltd. Rating popularity of clusters of runs of test scenarios based on number of different organizations
US9317412B1 (en) 2011-05-08 2016-04-19 Panaya Ltd. Selecting a configuration test based on testing data from different organizations
US9170925B1 (en) 2011-05-08 2015-10-27 Panaya Ltd. Generating test scenario templates from subsets of test steps utilized by different organizations
US9201773B1 (en) 2011-05-08 2015-12-01 Panaya Ltd. Generating test scenario templates based on similarity of setup files
US9311224B1 (en) 2011-05-08 2016-04-12 Panaya Ltd. Manipulating a test based on a subset of similar divergent routes from different organizations
US9348735B1 (en) 2011-05-08 2016-05-24 Panaya Ltd. Selecting transactions based on similarity of profiles of users belonging to different organizations
US9104811B1 (en) 2011-05-08 2015-08-11 Panaya Ltd. Utilizing testing data collected from different organizations to generate test scenario templates that suit a user profile
US9317404B1 (en) 2011-05-08 2016-04-19 Panaya Ltd. Generating test scenario templates from test runs collected from different organizations
US8918762B2 (en) 2012-11-02 2014-12-23 International Business Machines Corporation Generating test plans and test cases from service-oriented architecture and process models
US9141514B1 (en) * 2013-05-01 2015-09-22 Amdocs Software Systems Limited System, method, and computer program for automatically comparing a plurality of software testing environments
US9559928B1 (en) * 2013-05-03 2017-01-31 Amazon Technologies, Inc. Integrated test coverage measurement in distributed systems
US20150106653A1 (en) * 2013-10-10 2015-04-16 International Business Machines Corporation Test selection based on domination criterion
EP3084637A1 (en) * 2013-12-16 2016-10-26 Siemens Aktiengesellschaft Computer device for detecting correlations within data
US9880915B2 (en) * 2014-03-05 2018-01-30 Microsoft Technology Licensing, Llc N-gram analysis of inputs to a software application
US9594665B2 (en) 2014-03-05 2017-03-14 Microsoft Technology Licensing, Llc Regression evaluation using behavior models of software applications
US20150254162A1 (en) * 2014-03-05 2015-09-10 Concurix Corporation N-Gram Analysis of Software Behavior in Production and Testing Environments
EP2924581B1 (en) * 2014-03-24 2019-09-04 Pingdom AB Method, server and agent for monitoring user interaction patterns
US9498882B2 (en) * 2014-06-12 2016-11-22 Play-i, Inc. System and method for reinforcing programming education through robotic feedback
US10279470B2 (en) 2014-06-12 2019-05-07 Play-i, Inc. System and method for facilitating program sharing
USD734821S1 (en) 2014-07-14 2015-07-21 Play-i, Inc. Robotic toy
FR3028974B1 (fr) * 2014-11-25 2018-02-02 Bull Sas Methodes et systemes de generation de scenarios de tests de performances d'une application serveur
CN105630667A (zh) * 2014-11-28 2016-06-01 阿里巴巴集团控股有限公司 一种测试方法和终端设备
US10216608B1 (en) * 2015-02-26 2019-02-26 Amazon Technologies, Inc. Load testing with automated service dependency discovery
CN106155889A (zh) * 2015-04-02 2016-11-23 工业和信息化部计算机与微电子发展研究中心(中国软件评测中心) 一种炸药生产监控系统的测评方法
CN106155896A (zh) * 2015-04-14 2016-11-23 富士通株式会社 针对规则流的测试用例生成装置、方法和系统
US9727448B1 (en) 2015-04-22 2017-08-08 Google Inc. Method and system for software application testing recommendations
WO2017166166A1 (en) * 2016-03-31 2017-10-05 Oracle International Corporation System and method for providing runtime tracing for web-based client accessing transactional middleware platform using extension interface
CN105975396A (zh) * 2016-06-28 2016-09-28 腾讯科技(深圳)有限公司 一种自动化测试用例生成方法与系统
CN106209439B (zh) * 2016-06-30 2019-09-13 腾讯科技(深圳)有限公司 业务链路自动化覆盖方法和装置
CN106681927A (zh) * 2017-01-09 2017-05-17 郑州云海信息技术有限公司 一种测试用例生成方法及其装置
USD878488S1 (en) 2017-09-15 2020-03-17 Wonder Workshop, Inc. Toy robot
JP6901685B2 (ja) * 2017-10-04 2021-07-14 富士通株式会社 生成プログラム、生成方法、及び情報処理装置
US11074158B2 (en) 2017-12-01 2021-07-27 International Business Machines Corporation Gray-box testing based on concrete usages
CN109271322B (zh) * 2018-09-25 2021-09-28 杭州群核信息技术有限公司 一种软件测试范围确定方法、软件测试方法和装置
US10776252B1 (en) * 2018-11-27 2020-09-15 Walgreen Co. Crowd-sourced automatic generation of user interface tests for enterprise-specific mobile applications
US11475468B2 (en) 2019-11-05 2022-10-18 International Business Machines Corporation System and method for unsupervised abstraction of sensitive data for detection model sharing across entities
US11488172B2 (en) 2019-11-05 2022-11-01 International Business Machines Corporation Intelligent agent to simulate financial transactions
US11461728B2 (en) 2019-11-05 2022-10-04 International Business Machines Corporation System and method for unsupervised abstraction of sensitive data for consortium sharing
US11475467B2 (en) 2019-11-05 2022-10-18 International Business Machines Corporation System and method for unsupervised abstraction of sensitive data for realistic modeling
US11556734B2 (en) 2019-11-05 2023-01-17 International Business Machines Corporation System and method for unsupervised abstraction of sensitive data for realistic modeling
US11599884B2 (en) 2019-11-05 2023-03-07 International Business Machines Corporation Identification of behavioral pattern of simulated transaction data
US11488185B2 (en) 2019-11-05 2022-11-01 International Business Machines Corporation System and method for unsupervised abstraction of sensitive data for consortium sharing
US11494835B2 (en) 2019-11-05 2022-11-08 International Business Machines Corporation Intelligent agent to simulate financial transactions
US11842357B2 (en) 2019-11-05 2023-12-12 International Business Machines Corporation Intelligent agent to simulate customer data
US11461793B2 (en) 2019-11-05 2022-10-04 International Business Machines Corporation Identification of behavioral pattern of simulated transaction data
US11676218B2 (en) 2019-11-05 2023-06-13 International Business Machines Corporation Intelligent agent to simulate customer data
CN111858324B (zh) * 2020-07-13 2023-08-25 中国工商银行股份有限公司 一种测试案例的自动生成方法及装置
CN112231224A (zh) * 2020-10-30 2021-01-15 平安银行股份有限公司 基于人工智能的业务系统测试方法、装置、设备和介质
CN113360375B (zh) * 2021-06-01 2023-07-25 平安银行股份有限公司 交易测试方法、装置、电子设备及存储介质
CN114238048B (zh) * 2021-11-25 2022-08-23 广州市玄武无线科技股份有限公司 一种Web前端性能自动化测试方法及系统
CN116483548B (zh) * 2023-06-25 2023-08-22 北森云计算有限公司 多线程计算机自适应测验方法、装置及计算机设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005411A (zh) * 2006-12-29 2007-07-25 华为技术有限公司 电路型数据业务自动化测试系统、装置及方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0752653B1 (en) * 1995-07-07 2003-01-15 Sun Microsystems, Inc. Method and system for synchronizing the execution of events during software testing
US6748584B1 (en) * 1999-12-29 2004-06-08 Veritas Operating Corporation Method for determining the degree to which changed code has been exercised
US20020097395A1 (en) * 2000-09-11 2002-07-25 Peter Smith System and method for testing liquid crystal displays and similar devices
US20020147726A1 (en) * 2001-01-09 2002-10-10 Partnercommunity, Inc. Creating, distributing and enforcing relational and business rules at front-end application
US6978401B2 (en) * 2002-08-01 2005-12-20 Sun Microsystems, Inc. Software application test coverage analyzer
US7134113B2 (en) * 2002-11-04 2006-11-07 International Business Machines Corporation Method and system for generating an optimized suite of test cases
US20050144529A1 (en) * 2003-10-01 2005-06-30 Helmut Gotz Method for defined derivation of software tests from use cases
US7433879B1 (en) * 2004-06-17 2008-10-07 Versata Development Group, Inc. Attribute based association rule mining
US9632817B2 (en) * 2005-07-29 2017-04-25 International Business Machines Corporation Correlating business workflows with transaction tracking
GB0608404D0 (en) * 2006-04-28 2006-06-07 Ibm Method and system for recording interactions of distributed users
US8151247B2 (en) * 2006-10-09 2012-04-03 Sap Ag Test data management
US7698259B2 (en) * 2006-11-22 2010-04-13 Sap Ag Semantic search in a database
US7979238B2 (en) * 2007-08-24 2011-07-12 International Business Machines Corporation System, method and computer program product for evaluating a test of an alternative system
US8042055B2 (en) * 2007-08-31 2011-10-18 Tealeaf Technology, Inc. Replaying captured network interactions
US8266031B2 (en) * 2009-07-29 2012-09-11 Visa U.S.A. Systems and methods to provide benefits of account features to account holders

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101005411A (zh) * 2006-12-29 2007-07-25 华为技术有限公司 电路型数据业务自动化测试系统、装置及方法

Also Published As

Publication number Publication date
CN101482815A (zh) 2009-07-15
US20090183143A1 (en) 2009-07-16

Similar Documents

Publication Publication Date Title
CN101482815B (zh) 生成软件系统的测试用例的方法和设备
US20210311858A1 (en) System and method for providing a test manager for use with a mainframe rehosting platform
CN110309071B (zh) 测试代码的生成方法及模块、测试方法及系统
Mangan et al. On building workflow models for flexible processes
US10515004B2 (en) Smart advisory for distributed and composite testing teams based on production data and analytics
CN100571167C (zh) Web服务业务流程的单元测试的方法和设备
CN106484622A (zh) 测试方法、装置及系统
CN106339312A (zh) Api测试方法和系统
Brunnert et al. Automatic performance model generation for java enterprise edition (ee) applications
CN101281461A (zh) 用于迁移应用所依赖的系统环境的方法和装置
Stoermer et al. MAP-mining architectures for product line evaluations
CN101960448A (zh) 当前执行组件脚本的元素的识别
Linn et al. Desktop activity mining-a new level of detail in mining business processes
CN110515830A (zh) 操作轨迹可视化方法、装置、设备及存储介质
Oliveira Junior et al. SMartySPEM: a SPEM-based approach for variability management in software process lines
CN109828750A (zh) 自动配置数据埋点的方法、装置、电子设备及存储介质
CN113849156A (zh) OpenHarmony操作系统应用的无代码智能开发系统及其使用方法
Alcarria et al. New service development method for prosumer environments
WO2005082072A2 (en) Testing web services workflow using web service tester
CN105868104B (zh) 一种跨平台的图形用户界面自动测试方法
Younes et al. Towards an intelligent user-oriented middleware for opportunistic composition of services in ambient spaces
CN109144867B (zh) 一种测试方法及测试系统
Wolf Succeedings of the second international software architecture workshop (isaw-2)
Iosup et al. Build-and-test workloads for grid middleware: Problem, analysis, and applications
Husen et al. Potential GQM+ strategies improvement using balanced scorecard perspectives

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: IBM (CHINA) CO., LTD.

Free format text: FORMER OWNER: INTERNATIONAL BUSINESS MACHINES CORPORATION

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150728

Address after: 201203 Shanghai city Pudong New Area Keyuan Road No. 399 Zhang Jiang Zhang Jiang high tech Park Innovation Park 10 Building 7 layer

Patentee after: International Business Machines (China) Co., Ltd.

Address before: New York grams of Armand

Patentee before: International Business Machines Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130807

Termination date: 20190110