生成软件系统的测试用例的方法和设备技术方案

技术编号:3764269 阅读:190 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种生成软件系统的测试用例的方法和设备,所述方法包括步骤:跟踪用户请求以得到与每个服务和/或组件调用相关的IT事件;基于IT事件中的关联信息形成IT事务;基于预定的关联规则关联所述IT事务以形成业务事务;以及从业务事务中抽取与所述业务事务对应的业务事务模式。所述方法还包括基于生成的业务事务模式生成软件系统的测试用例。

【技术实现步骤摘要】

本专利技术一般涉及数据处理领域,以及更具体地,本专利技术涉及一种 用于使用运行时跟踪来生成业务模式以及业务级别测试用例的方法和 设备。
技术介绍
长期以来, 一直认为软件测试是系统开发活动的一个重要的并具 有挑战性的部分。面向服务架构(SOA)的出现对软件测试提出了新 的要求。SOA是一种粗粒度、松耦合的服务架构,它可以根据需求通 过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。 在SOA中,服务之间通过筒单、精确定义的接口进行通信,而并不涉 及底层编程接口和通信模型。基于SOA的软件测试与传统的软件编程环境相比,SOA主要存 在以下特征1 )软件系统本质上是分布式的,这就要求针对不同的开 发配置来确保服务质量(QoS); 2)系统通过替换单独的服务、或者 通过添加新的服务来执行适应性的行为。在传统软件测试中,需要结合使用单元测试、集成测试、系统测 试和回归测试来确保所开发的系统完成了所期望的功能性。在面向服务的系统中,尽管同样可以使用适用于传统系统的各种测试方法,然 而,对于SOA系统来说,SOA的动态性和适应性特征使得大多数测 试技术并不能直接应用于测试服务和面向服务的系统。例如,大多数 传统的测试方法假设,开发人员总是能够精确地识别出在给走调用点 所调取的实际代码片段;或者,如同在面相对象的编程语言中,开发 人员已知多态组件的所有的(有限的)绑定。这些假设对于SOA并不 适用。在SOA中表现出的是,在开放的市场环境中实时发现服务、并且稍后绑定。采用SOA之后,除了系统架构的改变,还在建立系统的过程之中 引入了许多变化。SOA系统并非一次构建,而是需要多轮迭代来达到 令人满意的质量。每轮迭代包括三个步骤建立一个版本、对该版本 进行测试、以及将该测试后的版本部署至生产环境。S O A系统的动态性和适应性特征使得开发人员难以预知所有的使 用配置,因而测试人员很难在第一轮迭代时设计出能够覆盖所有使用 情形的测试用例集合。但是,使用情形的覆盖对于保证达到期望的用 户质量水平非常重要。因而,针对未覆盖的实际使用情形来生成补充 测试集合是确保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事务以形成业务事务 的装置;以及用于从业务事务模式中抽取与所述业务事务对应的业务6事务模式的装置。根据本专利技术的另 一 方面,本专利技术的设备还包括用于基于获得的业务事务模式生成软件系统的测试用例的装置。附图说明参考以下结合附图的详细说明,本专利技术的特征、优点以及其他^面将变得更加明显,在附图中图1示出了根据本专利技术的一个实施方式的用于生成业务级别测试用例的方法的高级概念图2示出了根据本专利技术的一个实施方式的生成IT事务和业务事务的示意图3示出了根据本专利技术的一个实施方式的生成业务事务模式的示意图4示出了是根据本专利技术的生成业务事务和业务事务模式的一个实例;图5示出了根据本专利技术的一个实施方式的用于生成业务级别测试用例的设备的高级框图6示出了根据本专利技术的一个实施方式的用于生成业务级别测试用例的方法的流程图7示出了根据本专利技术的另一实施方式的用于生成业务级别测试用例的方法的高级概念图8示出了根据本专利技术的另一实施方式的用于生成业务级别测试用例的设备的高级框图;以及图9示出了根据本专利技术的另一实施方式的用于生成业务级别测试用例的方法的流程图。应当理解,在全部附图中,相同的参考标记表示相同的部件。具体实施例方式为了清楚起见,首先对本专利技术中所使用的术语作以解释。IT事件计算机操作的记录,记录操作的上下文,包括所调取的服务、操作、参数值以及其他相关性信息。IT事务用户与机器进行的交互所引发的系统的 一 系列IT事件的集合,其开始于用户在浏览器界面上或者其他用户界面上点击按钮发求的数据。业务事务完成一个有意义的业务活动(诸如,订货、购物、预订机票等等)的一组IT事务的组合。业务事务模式从业务事务中抽取的具有共同特征的业务事务的模版。下面参考附图详细说明根据本专利技术的各个实施方式。参考图1,其中示出了根据本专利技术的一个实施方式的用于生成业务级别测试用例的方法的高级概念图。图1所示的方法包括两个跟踪流程,其一是针对生产阶段进行跟踪,而另一个是针对测试阶段进行跟踪。该方法从两条跟踪流程中分别抽取出两个业务事务本文档来自技高网
...

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

【技术特征摘要】

【专利技术属性】
技术研发人员:NM米特苏莫里李中杰刘鹤辉谈华芳朱俊
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

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

1