CN1866206A - 利用马尔可夫链根据uml规范生成性能测试 - Google Patents

利用马尔可夫链根据uml规范生成性能测试 Download PDF

Info

Publication number
CN1866206A
CN1866206A CNA2006100916437A CN200610091643A CN1866206A CN 1866206 A CN1866206 A CN 1866206A CN A2006100916437 A CNA2006100916437 A CN A2006100916437A CN 200610091643 A CN200610091643 A CN 200610091643A CN 1866206 A CN1866206 A CN 1866206A
Authority
CN
China
Prior art keywords
case
state
probability
type
performance 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.)
Pending
Application number
CNA2006100916437A
Other languages
English (en)
Inventor
A·阿夫里策尔
M·E·R·维拉
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.)
Siemens Corporate Research Inc
Original Assignee
Siemens Corporate Research Inc
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 Siemens Corporate Research Inc filed Critical Siemens Corporate Research Inc
Publication of CN1866206A publication Critical patent/CN1866206A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

在软件开发过程初期,当UML用例模型及其活动图提炼被规定时,一种自动生成性能测试的测试用例的方法被用于测试用例规划。在该***被开发之后,所规划的性能测试稍后在软件开发过程中被执行。利用操作到达率和离开率来注释该用例模型。确定性状态测试(DST)生成和执行被用于性能测试生成和执行。此外,描述了一种技术来生成最可能的测试场景,利用变迁概率对该活动图中的每个边沿进行标记,并且应用广度优先搜索算法,以便针对由DST算法所生成的每个状态选择要被测试的最可能的路径。

Description

利用马尔可夫链根据UML规范生成性能测试
技术领域
本发明通常涉及软件测试的领域,并且更特别地涉及一种用于将确定性状态测试方法用于已经使用统一建模语言(UML)用例(use case)和活动图(activitydiagram)来建模的***的技术和***。
背景技术
本申请要求于2005年3月30日提交的序列号为60/666,399的美国临时申请的权益,该申请在此全文引入作为参考。
统一建模语言是在软件工程中被用于对象建模和规范的语言。UML的重要特点是使用标准化的图形符号来创建***的抽象模型。UML被最广泛地用来对软件集约型***进行规范化、可视化、结构化和文档化。
UML用例建模和活动图是由对象管理组(OMG)、即国际标准委员会来定义的。该规范的当前和过去的版本可以从http://www.uml.org/处的OMG在线中得到。
一组UML图被用来表示一***。每个图都是***的模型的部分图形表示。典型地,UML模型还包含文本文档、诸如驱动该模型元素的所写的用例和图。
经常用于以UML模型表示***的一个图是用例图。UML用例图被用于从自顶向下的观点来表示该***的功能性。每个用例都提供一个或多个场景来实现特定的商业目标,这些场景传达该***应当如何与终端用户或其他***进行交互作用。
一用例可以包含或扩充(extend)其它用例。当一个用例被包括在另一个用例中时,用“包含”关系。当一个用例可能或可能没有被包括在另一个用例中时,用“扩充”关系。最终的层次可以跨越多个用例图。
图1的实例用例图100表示能够运行各种成分的多个实例的立体声***软件,诸如可以用于客机机舱娱乐***中,其中每个乘客部可以优选不同配置的虚拟立体声***。顶层用例110立体声***“包含”开机用例120。设置选项用例130、无线电用例140和CD播放器用例150都“扩充”了该立体声***用例110。
用例提供了一种自然的方式来分解大的对象。部分地出于那个原因,已经根据用例生成软件测试用例。具有用例层次允许在不同的级别上对测试用例生成进行初始化。
当对于测试用例生成进行建模时,每个活动优选地具有其自己的活动图。如果用例已经包含或扩充了另一个用例,则所包含的或所扩充的用例必须在该图中被表示为与其相对应的用例名字相同的活动。那提供了关于以其来执行用例的次序的信息,并由此允许自动化。
图2是实例活动图200,该活动图200表示图1的用例图100的顶层用例立体声***。因为该用例立体声体统“包含”该开机用例,所以在该活动图200的每条路径中都有开机活动210。
“扩充”该立体声***用例的无线电、设置选项和CD播放器用例分别通过活动240、250、260来表示。那些活动出现在该活动图200的不同路径上。代表该立体声***用例的给定实例的路径在选择源决策230中被确定。所有路径终止于块270。
OMG已完成扩展UML以便实现性能建模的工作。参见 http://www.omg.org 处找到的OMG,RFP:UML Profile for Scheduling Performance,and Time(OMGDocument formal/99-03-13,1999年3月)。
其他工作则集中于对用于性能分析的UML活动图的增强。在C.Lindemann等人的 Performance Analysis of Time-Enhanced UML Diagrams Based on Stochastic Processes(Proc.3rd Int’l Workshop on Software and Performance(WOSP),意大利罗马,pp.25-34(2002年7月))中,时间事件和变迁概率(transition probability)被添加到活动图中,以致该活动图能够被映射到通用的半马尔可夫过程,该通用的半马尔可夫过程使用数值法来解决。
一种用于生成和执行性能测试的已知方法是确定性状态测试(DST)。例如,DST被描述在Alberto Avritzer和Elaine J.Weyuker的 The Automatic Generation of Load Test Suites and the Assessment of the Resulting Software(21 IEEE Transactions onSoftware Engineering 705(1995年))中以及被描述在Alberto Avritzer和Brian Larson的 Load Testing Software Using Deterministic State Testing(Proceedings of the 1993 Int’lSymposium on Software Testing and Analysis(ISSTA)的第82-88页(ACM出版社,1993年6月))中,在此整体引入上述每篇论文的内容。DST利用高级状态定义和解析近似来识别代表在测试中的***的连续时间马尔可夫链中的最可能的状态。因为那些最可能的状态包含了在生产中最可能出现的问题,所以那些状态表示要由性能测试运用的最佳状态。
目前,不存在处理驱动DST工具的UML用例的自动方法。相反,通过人工指定场景来生成性能测试用例。这种操作模式需要人工评估***需求,以便提取性能需求。对于大规模的甚至是中等规模的***来说,这种模式是劳动密集型的和低效的。
因此目前需要提供一种用于生成测试软件***的性能测试用例的方法和***。该技术应该能够处理具有多种可能执行路径和配置的***,并且该技术在执行实际范围内的测试硬件上应该是可执行的。该技术应当有助于实现自动化。就本发明人所知,目前还没有这样的技术可用。
发明内容
本发明通过提供一种用于生成软件***的性能测试用例的方法来解决上述需求,该软件***包括形成状态S=(U1、U2、…、UN)的N个独立类型的用例,其中UN是类型N的用例的数目。在本发明的一个实施例中,该方法包括使用确定性状态测试来识别那些具有大于最小概率ε的出现的稳态概率的状态S;对于每个所识别的状态S,定义活动图;利用变迁概率对活动图中的边沿进行标记;以及搜索每个活动图,以便将那些具有大于ε的出现概率的路径识别为性能测试用例。
利用确定性状态测试来识别那些具有大于最小概率ε的出现的稳态概率的状态S的步骤进一步包括以下步骤;贯穿所有类型的用例递增用例类型N;对于每个递增的用例类型N,递增起始于1的用例类型的数目UN;对于通过递增数目UN所达到的每个状态,通过递归地应用确定性状态测试来生成性能测试用例,该状态具有大于ε的出现概率或者具有比率λNN≥1,其中λN表示当有UN个用例时用例类型N的到达率,且μN表示当有UN个用例时用例类型N的完成率;并且,如果通过递增数量UN所达到的状态并不具有大于ε的出现概率或者比率λNN≥1,以及所有用例类型N已经不被递增时,则继续下一个用例类型N。
生成性能测试用例的步骤可以包含通过确定导致该状态的状态变迁的概率的结果(product)来确定该状态的出现概率。
该方法可以进一步包括启发式地确定该最小概率ε的步骤。启发式地确定该最小概率ε的步骤可以基于预定数目的性能测试用例。
搜索每个活动图的步骤进一步包括对于每个活动图应用广度优先搜索(breadth first search)算法。针对每个所识别的状态S定义活动图的步骤进一步包括定义统一建模语言(UML)的活动图。
该方法还可以包括执行所识别的性能测试用例的步骤,该步骤是通过:对于使用确定性状态测试所识别的每个状态S,对每个用例类型的用例数目UN进行初始化;执行与状态S相关联的最可能的路径的所分类的列表中的路径;以及验证已达到该状态S。
本发明的另一个实施例是一种计算机程序产品,该计算机程序产品包括其上记录有计算机程序的计算机可读记录介质,该计算机程序包括当在计算机上执行时用于指示所述计算机来控制该方法中的步骤的代码装置,该方法是用于针对包括形成状态S=(U1、U2、…UN)的N个独立类型的用例的软件***来生成性能测试用例,其中UN是类型N的用例的数目,该方法包括步骤:利用确定性状态测试来识别那些具有大于最小概率ε的出现的稳态概率的状态S;对于每个所识别的状态S,定义活动图;利用变迁概率来标记活动图中的边沿;以及搜索每个活动图来将那些具有大于ε的出现概率的路径识别为性能测试用例。
利用确定性状态测试来识别那些具有大于最小概率ε的出现的稳态概率的状态S的步骤进一步包括以下步骤:贯穿所有类型的用例递增用例类型N;对于每个递增的用例类型N,递增起始于1的用例类型的数目UN;对于通过递增数目UN所达到的每个状态,通过递归地应用确定性状态测试来生成性能测试用例,该状态具有大于ε的出现概率或者具有比率λNN≥1,其中λN表示当有UN个用例时用例类型N的到达率,且μN表示当有UN个用例时用例类型N的完成率,;并且,如果通过递增数量UN所达到的状态并不具有大于ε的出现概率或者比率λNN≥1,以及所有用例类型N已经不被递增时,则继续下一个用例类型N。
生成性能测试用例的步骤可以包含通过确定导致该状态的状态变迁的概率的结果来确定该状态的出现概率。
该方法可以进一步包括启发式地确定该最小概率的步骤。启发式地确定最小概率ε的步骤可以基于预定数目的性能测试用例。
搜索每个活动图的步骤进一步包括对于每个活动图应用广度优先搜索算法。针对每个所识别的状态S定义活动图的步骤还包括定义统一建模语言(UML)活动图。
该方法还可以包括通过以下方式来执行该所识别的性能测试用例的步骤:对于每个使用确定性状态测试所识别的状态S,对每个用例类型的用例数目UN进行初始化;执行与状态S相关联的最可能的路径的所分类的列表中的路径;以及验证已达到该状态S。
附图说明
图1是示例性的UML用例图,其示出被用作该本说明书中的实例的立体声***。
图2是图1的用例图的***的UML活动图。
图3是适于执行根据本发明的方法的计算机***的框图。
图4A示出包含针对图1的用例图的示例性路径概率的表格。
图4B是根据本发明的一个实施例的带注释的UML活动图。
图5是示出根据本发明的一个实施例的确定性状态测试方法的流程图。
图6是示出根据本发明的一个实施例的方法的流程图。
图7是示出根据本发明的一个实施例的方法的流程图。
具体实施方式
本发明人已经发现了一种用于当使用UML用例模型和活动图对应用进行建模时自动生成性能测试的定量方法。以下提出一种用于将UML用例模型和活动图与DST结合的方法论。另外,针对***的性能测试用例生成和执行提出集成方法论,该***是使用UML用例和UML活动图来建模的。
本发明是一种模块框架和方法并且被部署为如有形地被包含程序存储装置上的应用程序那样的软件。通过图形用户接口(GUI)来访问该应用。用于执行的应用代码可以驻留在本领域技术人员所公知的多个不同类型的计算机可读介质上。用户通过计算机访问该GUI来访问该框架。
在图3中示出了执行本发明的实施例的指令的计算机21的实施例。描述了具有代表性的硬件环境,该环境表明了计算机的典型硬件配置。计算机21包含CPU23、存储器25、用于读取计算机可读介质上的计算机可执行指令的读取器27、通用通信总线29、带有外部端口33的通信套件31、带有外部端口37的网络协议套件35和GUI39。
通信总线29允许在计算机21的部件之间进行双向通信。通信套件31和外部端口33允许在计算机21、其他计算机21以及外部兼容装置(诸如采用诸如IEEE1394(火线或者i.LINK)、IEEE802.3(以太网)、RS(推荐标准)232、422、423,USB(通用串行总线)以及其它通信协议的膝上型计算机等)和其它装置之间进行双向通信。
当通过网络进行通信时,网络协议套件35和外部端口37允许物理网络连接和协议收集。协议可以包含TCP/IP(传输控制协议/网际协议)套件、IPX/SPX(网间分组交换/顺序分组交换)、SNA(***网络结构)及其它协议。该TCP/IP套件包括IP(网际协议)、TCP(传输控制协议)、ARP(地址解析协议)、和HTTP(超文本传输协议)。网络协议套件内的每个协议都具有特定的功能,以便支持被耦合到网络的计算机之间的通信。该GUI39包含图形显示器,诸如CRT、固定像素显示器或者其它装置41、辅助键盘(key pad)、键盘或触摸屏43以及诸如鼠标、跟踪球、光笔或其它装置等的指示装置45,以便为本发明提供易使用的用户接口。
计算机21可以是传统的个人计算机,诸如基于PC、Macintosh或者UNIX的、运行其合适的OS(操作***)的工作站,该OS能够通过有线(引导的)或是无线(未引导的)通信介质与计算机进行通信。CPU23执行被存储在存储器25中的兼容的指令或软件。那些本领域技术人员将会认识到,本发明可在不同于那些所提及的平台和操作***上实践。
本发明人建议利用到达率和离开率来注释该用例模型,并自动地根据活动图生成测试场景。随后,该测试场景被用来测试由DST所生成的每个状态。
总的方法包括为UML用例模型的每个成分分配到达率和离开率,并应用DST算法来生成和执行用于性能测试的测试用例。对于由DST算法所生成的每个状态S,本发明的技术使用以下总的方法论来验证状态S:
1、每个状态S=(U1、U2、…、UN)是通过对类型1的用例U1、类型2的用例U2、和类型N的用例UN进行初始化来形成的。例如,参见图1的示例性客机机舱立体声***,该立体声***的状态S=(30)表示执行该开机用例的30个乘客。
2、每个用例都被提炼成UML活动图。
3、每个活动图通过利用变迁概率标记每个边沿来转换。针对利用来自(图4A中所示的)表格400的变迁概率所标记的顶层用例立体声***,图4B示出活动图401。例如,立体声***活动图401的每条路径都调用所包含的开机用例410,因此那个用例的概率405是1.0。另一方面,根据表格400中所示的概率,给定的路径只调用无线电、CD播放器和设置选项用例440、450、460中的一个。那些概率在441、451、461处被标记。
4、对于每个活动图,利用广度优先搜索算法来提取覆盖直至总概率(1-ε)的活动图的最可能的路径的所分类的列表,其中ε是描述总的放弃路径概率的小数。ε是启发式地计算出的概率。典型地,最初选择ε的小值。该值被逐渐向上调节,直到测试用例的数目近似等于要执行的由测试者指示为可行的数目为止。可以使用二进制搜索来完成ε的调节。
只要用例要求执行,就选择(与该用例相关联的)最可能路径的所分类的列表中的下一条路径。
本发明的方法使用测试用例生成和执行的分解方法。基于该用例模型定义,DST算法被用于测试用例生成和执行。针对每个用例所生成的活动图中的每个边沿利用变迁概率来标记。因此,针对每个活动图,使用广度优先搜索算法来生成最可能的场景。在测试用例执行期间,只要某一用例被规定在测试中的状态的部分,那么一次一个地测试最可能的场景。
在前,在Avritzer和Weyuker中描述了一种适用于本发明的示例性的确定性状态测试(DST)算法。该算法所采用的策略是生成具有大于ε的稳态概率的所有状态。
图5中所示的算法500生成测试用例列表,该测试用例开始于软件状态S并通过每个用例类型递增直至用例类型N。通过将表示用例类型的索引x设置为1以及将状态S设置为(0、0、…、0)来对该算法进行初始化(步骤510)。随后开始该算法DST(S)(步骤510)。
最初将类型x的用例的数目N也设置为1加上状态S中明显是类型x的用例的数目(步骤520)。针对状态S的算法的每一次迭代而递增该数目。
接着通过添加用例类型x的多个实例来确定,是否达到了之前未达到的状态(判断步骤530)。如果没有,则放弃该状态并且该方法继续进行到下一个用例类型。
如果达到了之前未达到的状态(判断步骤530),则判断如此生成的状态的稳态概率P是否大于ε或者所生成的状态是否具有比率λNN≥1(判断步骤540),其中λN表示当有N个激活的类型x的用例时的到达率,以及μN表示当有N个激活的类型x的用例时的完成率。如果两种情况都满足,则该算法继续进行到如下所述的步骤550。如果两种情况都不满足,则放弃该状态并且该方法继续进行到下一个用例类型(步骤580)。因为根据那些状态生成的所有状态都保证具有小于ε的概率,所以描述了具有小于ε的概率并具有比率λNN≥1的状态。如果比率λNN≥1,但是,与状态相关联的、小于ε的概率并不一定意味着接下来的状态都将具有小于ε的概率,则那些状态也不会被放弃。
对于其中满足以上标准的状态,通过添加一个或多个类型x的用例根据S生成用于所达到的软件状态的测试用例S’(步骤550)。通过在S’上递归地执行DST算法来生成测试用例的列表(步骤560)。
如果有更多的用例类型(判断步骤570),则用例类型计数器x被递增(步骤580),并且继续该方法。如果所有用例类型都已经被考虑到了,则结束该方法(步骤590)。
如此处参考图6的技术600所描述的那样,本发明人已经利用了以上用于根据UML用例图和所注释的活动图来生成性能测试用例的DST算法。首先识别N个独立的用例类型(步骤610)。该用例可以被编入索引以用于识别,诸如(1、2…、N)。利用到达率和离开率来注释每个用例(步骤620)。例如,在客机机舱立体声***的用例中,可以在乘客选择该无线电用例的情况下利用每小时30个实例来注释无线电用例,以及在乘客终止无线电用例的情况下利用每小时25个实例来注释该无线电用例。处于满容量时,到达率和离开率是相等的。
定义高级状态S=(U1、U2、…、UN)(步骤630)。通过对类型1的用例U1、类型2的用例U2、…、以及类型N的用例UN进行初始化来形成状态S。
诸如以上描述的DST算法被用于(步骤640)生成形成S的、具有大于凭经验规定的ε的概率的最可能的状态。利用DST算法生成的N个独立的用例模型中的每个用例模型被提炼成N个活动图(步骤650)。
如以上参考图4A和4B所讨论的那样,那些活动图的边沿利用变迁概率来标记(步骤660)。针对N个活动图中的每个活动图,应用广度优先搜索(BFS)算法来生成具有大于ε的概率的K条最可能的路径的列表(步骤670)。因此,对于活动图I,将生成K_I条最可能的路径。
在利用上述技术生成性能测试用例之后,利用图7中所示的方法700来完成性能测试的测试用例执行。通过上述DST算法所生成的最可能的状态S=(U1、U2、…、UN)中的每个状态通过对类型1的用例U1、类型2的用例U2、…、以及类型N的用例UN进行初始化来验证(步骤710)。
为了对类型j的Uj操作进行初始化,用例j的Uj实例按如下方式进行初始化(步骤720):执行(与用例模型j相关联的)K_j条最可能的路径的所分类的列表中的接下来的Uj条路径(步骤730)。K_j条最可能的路径的所分类的列表被组织为循环表(步骤740)。随后验证(步骤750),已准确达到了状态S=(U1、U2、…、UN)。
本发明能实现全部自动的性能测试生成过程。本技术与活动图相结合并因此也允许执行过程的全部自动化。目前,软件工程中的大多数应用领域均开发了对包括用例模型和活动图的UML的需求。本发明因此能够被应用到各种领域中,如传送带、医疗***、运输***、发电和输电***。
本发明可以通过使用证明已准确达到了状态S的不同方式来被概括。例如,在本发明的一个实施例中,由DST所生成的马尔可夫链中的状态S的所有路径都被测试。另外,测试每个状态时超出的时间可以通过要求每状态下不同的测试工作来改变。
在本发明的另一个实施例中,每次以一状态调用用例模型j的时候均测试(与用例模型j相关联的)K_j条最可能的路径的所分类的列表中的所有路径。那个版本比其它所述实施例需要更多的工作,但是对于测试简单的活动图是经济的。
本发明可以被用于自动生成和执行性能测试,该性能测试可以被用来验证后勤和装配产品的性能需求。
本发明的自动性能测试用例生成是一种比现有操作模式更有效的方法,该自动性能测试用例生成是根据UML用例模型驱动DST测试;即,对需求进行人工评估以识别性能测试。与现有的操作模式相比,这能够以一种更有效的方式被结合为标准软件开发过程。
前述的细节描述应当被理解为是对本发明各个方面的说明和示例,但不是限制,并且在此所公开的本发明的范围并不能根据本发明的说明书来确定,而是根据如根据由专利法所允许的充分的范围所解释的权利要求来确定。例如,虽然在此所公开的方法与软件***的测试结合,但是该方法也可以被用于其它复杂的***中,诸如用于不必以软件代码来实施的商业或制造***,同时也保留在本发明的范围内。应当理解,在此所示和所述的实施例只是用于说明本发明的原理,而且本领域技术人员在不脱离本发明的范围和精神的情况下可以实现各种修改。

Claims (16)

1、一种用于生成软件***的性能测试用例的方法,该软件***包含形成状态S=(U1、U2、…UN)的N个独立类型的用例,其中UN是类型N的用例的数目,该方法包括以下步骤:
利用确定性状态测试来识别那些具有大于最小概率ε的出现的稳态概率的状态S;
针对每个所识别的状态S,定义活动图;
利用变迁概率对活动图中的边沿进行标记;以及
搜索每个活动图,以便将那些具有大于ε的出现概率的路径识别为性能测试用例。
2、根据权利要求1所述的方法,其中,利用确定性状态测试来识别那些具有大于最小概率ε的出现的稳态概率的状态S的步骤进一步包括以下步骤;
贯穿所有类型的用例递增用例类型N;
针对每个递增的用例类型N,递增起始于1的用例类型的数目UN
针对通过递增数目UN所达到的每个状态,通过递归地应用确定性状态测试来生成性能测试用例,该状态具有大于ε的出现概率或者具有比率λNN≥1,其中λN表示当有UN个用例时用例类型N的到达率,且μN表示当有UN个用例时用例类型N的完成率;以及
如果通过递增数量UN所达到的状态并不具有大于ε的出现的概率或者比率λNN≥1,并且所有用例类型N已经不被递增时,则继续下一个用例类型N。
3、根据权利要求2所述的方法,其中生成性能测试用例的步骤包含:
通过确定导致一状态的状态变迁的概率的结果来确定该次态的出现概率。
4、根据权利要求1所述的方法,还包括以下步骤:
启发式地确定最小概率ε。
5、根据权利要求5所述的方法,其中,基于预定数目的性能测试用例来启发式地确定最小概率ε。
6、根据权利要求1所述的方法,其中,搜索每个活动图的步骤还包括对于每个活动图应用广度优先搜索算法。
7、根据权利要求1所述的方法,其中,针对每个所识别的状态S定义活动图的步骤还包括定义统一建模语言(UML)活动图。
8、根据权利要求1所述的方法,还包括通过以下方式执行所识别的性能测试用例的步骤:
针对每个使用确定性状态测试所识别的状态S,对每个用例类型的用例数目UN进行初始化;
执行与状态S相关联的最可能的路径的所分类的列表中的路径;以及
验证已达到该状态S。
9、一种计算机程序产品,其包括其上记录有计算机程序的计算机可读记录介质,该计算机程序包括用于当在计算机上执行时指示所述计算机来控制该方法中的步骤的代码装置,该方法用于针对包括形成状态S=(U1、U2、…、UN)的N个独立类型用例的软件***来生成性能测试用例,其中UN是类型N的用例的数目,该方法包括以下步骤:
利用确定性状态测试来识别那些具有大于最小概率ε的出现的稳态概率的状态S;
针对每个所识别的状态S,定义活动图;
利用变迁概率对活动图中的边沿进行标记;以及
搜索每个活动图,以便将那些具有大于ε的出现概率识别为性能测试用例。
10、根据权利要求9所述的计算机程序产品,其中,利用确定性状态测试来识别那些具有大于最小概率ε的出现的稳态概率的状态S的步骤进一步包括以下步骤:
贯穿所有类型的用例递增用例类型N;
对于每个递增的用例类型N,递增起始于1的用例类型的数目UN
对于通过递增数目UN所到达的每个状态,通过递归地应用确定性状态测试来生成性能测试用例,该状态具有大于ε的出现概率或者具有比率λNN≥1,其中λN表示当有UN个用例时用例类型N的到达率,且μN表示当有UN个用例时用例类型N的完成率;以及
如果通过递增数量UN所达到的状态并不具有大于ε的出现概率或者具有比率λNN≥1,并且所有用例类型N已经不被递增时,则继续下一个用例类型N。
11、根据权利要求10所述的计算机程序产品,其中,生成性能测试用例的步骤包含:
通过确定导致状态的状态变迁的概率的结果来确定该状态的出现概率。
12、根据权利要求9所述的计算机程序产品,其中,该方法还包括以下步骤:
启发式地确定最小概率ε。
13、根据权利要求12所述的计算机程序产品,其中,启发式地确定最小概率ε的步骤基于预定数目的性能测试用例。
14、根据权利要求9所述的计算机程序产品,其中,搜索每个活动图的步骤还包括对于每个活动图应用广度优先搜索算法。
15、根据权利要求9所述的计算机程序产品,其中,对每个所识别的状态S定义活动图的步骤还包括定义统一建模语言(UML)活动图。
16、根据权利要求9所述的计算机程序产品,其中,该方法进一步包括通过以下方式执行所识别的性能测试用例的步骤:
对于每个使用确定性状态测试所识别的状态S,对每个用例类型的用例数目UN进行初始化;
执行与所述状态S相关联的最可能的路径的所分类的列表中的路径;以及
验证已达到该状态S。
CNA2006100916437A 2005-03-30 2006-03-30 利用马尔可夫链根据uml规范生成性能测试 Pending CN1866206A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US66639905P 2005-03-30 2005-03-30
US60/666399 2005-03-30
US11/386971 2006-03-22

Publications (1)

Publication Number Publication Date
CN1866206A true CN1866206A (zh) 2006-11-22

Family

ID=37425234

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006100916437A Pending CN1866206A (zh) 2005-03-30 2006-03-30 利用马尔可夫链根据uml规范生成性能测试

Country Status (2)

Country Link
US (1) US20060253839A1 (zh)
CN (1) CN1866206A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499115B (zh) * 2008-12-19 2010-11-03 天津大学 基于攻击模式的用例图检测方法
CN101989230A (zh) * 2010-10-22 2011-03-23 中国人民解放军理工大学 基于剖面划分的软件安全性测试需求提取与行为描述方法
CN102662826A (zh) * 2012-03-02 2012-09-12 百度在线网络技术(北京)有限公司 测试引导方法、***及测试代理服务器
CN103246770A (zh) * 2013-05-08 2013-08-14 南京大学 一种基于活动图模型的***行为仿真方法
CN105022691A (zh) * 2015-07-22 2015-11-04 国家电网公司 一种基于uml图的高度自动化软件测试方法

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015550B2 (en) * 2005-12-01 2011-09-06 Siemens Corporation Systems and methods for hazards analysis
US8443336B2 (en) * 2007-10-03 2013-05-14 Siemens Corporation System and method for applying model-based testing to train control systems
US8307342B2 (en) * 2008-05-14 2012-11-06 Honeywell International Inc. Method, apparatus, and system for automatic test generation from statecharts
US8423879B2 (en) * 2008-05-14 2013-04-16 Honeywell International Inc. Method and apparatus for test generation from hybrid diagrams with combined data flow and statechart notation
US8869111B2 (en) * 2009-01-15 2014-10-21 Infosys Limited Method and system for generating test cases for a software application
US8589884B2 (en) * 2009-01-15 2013-11-19 Infosys Limited Method and system for identifying regression test cases for a software
US20100192128A1 (en) * 2009-01-27 2010-07-29 Honeywell International Inc. System and methods of using test points and signal overrides in requirements-based test generation
US20100235827A1 (en) * 2009-03-10 2010-09-16 Nokia Corporation Creation of multiple radio instances
US9098619B2 (en) 2010-04-19 2015-08-04 Honeywell International Inc. Method for automated error detection and verification of software
US8832839B2 (en) * 2011-01-04 2014-09-09 Siemens Aktiengesellschaft Assessing system performance impact of security attacks
CN102053912A (zh) * 2011-01-06 2011-05-11 中国工商银行股份有限公司 一种基于uml图形对软件进行自动化测试的装置及方法
US8984488B2 (en) 2011-01-14 2015-03-17 Honeywell International Inc. Type and range propagation through data-flow models
US8984343B2 (en) 2011-02-14 2015-03-17 Honeywell International Inc. Error propagation in a system model
US8768742B2 (en) * 2012-02-09 2014-07-01 International Business Machines Corporation Assessment and rationalization of resiliency of data center strategies
US10223246B2 (en) * 2012-07-30 2019-03-05 Infosys Limited System and method for functional test case generation of end-to-end business process models
US9529699B2 (en) * 2013-06-11 2016-12-27 Wipro Limited System and method for test data generation and optimization for data driven testing
CN104503913B (zh) * 2014-12-27 2017-06-13 中国人民解放军63655部队 一种基于迁移路径和改进马氏链的构件软件可靠性评估方法
CN104572455B (zh) * 2014-12-27 2017-06-13 中国人民解放军63655部队 一种基于马尔科夫链的构件化软件可靠性评估方法
CN109634842B (zh) * 2018-10-29 2022-02-18 中惠医疗科技(上海)有限公司 基于qt应用程序的测试方法和***
CN112286824B (zh) * 2020-11-18 2022-08-02 长江大学 基于二分搜索迭代的测试用例生成方法、***及电子设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6853963B1 (en) * 1999-05-25 2005-02-08 Empirix Inc. Analyzing an extended finite state machine system model
US6996805B2 (en) * 2001-06-28 2006-02-07 Microsoft Corporation Methods and systems of testing software, and methods and systems of modeling user behavior

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499115B (zh) * 2008-12-19 2010-11-03 天津大学 基于攻击模式的用例图检测方法
CN101989230A (zh) * 2010-10-22 2011-03-23 中国人民解放军理工大学 基于剖面划分的软件安全性测试需求提取与行为描述方法
CN101989230B (zh) * 2010-10-22 2012-07-04 中国人民解放军理工大学 基于剖面划分的软件安全性测试需求提取与行为描述方法
CN102662826A (zh) * 2012-03-02 2012-09-12 百度在线网络技术(北京)有限公司 测试引导方法、***及测试代理服务器
CN103246770A (zh) * 2013-05-08 2013-08-14 南京大学 一种基于活动图模型的***行为仿真方法
CN103246770B (zh) * 2013-05-08 2015-10-14 南京大学 一种基于活动图模型的***行为仿真方法
CN105022691A (zh) * 2015-07-22 2015-11-04 国家电网公司 一种基于uml图的高度自动化软件测试方法
CN105022691B (zh) * 2015-07-22 2018-01-09 国家电网公司 一种基于uml图的高度自动化软件测试方法

Also Published As

Publication number Publication date
US20060253839A1 (en) 2006-11-09

Similar Documents

Publication Publication Date Title
CN1866206A (zh) 利用马尔可夫链根据uml规范生成性能测试
CN108595157B (zh) 区块链数据的处理方法、装置、设备和存储介质
CN107133645B (zh) 预估乘客取消订单行为的方法、设备及存储介质
US8370808B2 (en) Apparatus and a method for generating a test case
CN105719001A (zh) 使用散列的神经网络中的大规模分类
CN1606004A (zh) 从文本标识语义结构的方法和装置
CN109597606A (zh) 使用规则引擎进行业务决策的方法、设备和存储介质
CN111563075B (zh) 一种业务校验***、方法及设备和存储介质
US20200233624A1 (en) Method, device and computer program product for updating user interface
CN111291882A (zh) 一种模型转换的方法、装置、设备和计算机存储介质
CN107992366A (zh) 对多个目标对象进行检测和跟踪的方法、***和电子设备
CN113434542B (zh) 数据关系识别方法、装置、电子设备及存储介质
US9405652B2 (en) Regular expression support in instrumentation languages using kernel-mode executable code
US11321397B2 (en) Composition engine for analytical models
CN104580109A (zh) 生成点选验证码的方法及装置
CN114005297A (zh) 一种基于车联网的车队协调行驶方法
CN111611175B (zh) 自动驾驶软件开发方法、服务器端及客户端
CN116560666B (zh) 基于多层级代码生成的ai前端统一计算方法、装置及介质
CN110348581B (zh) 用户特征群中用户特征寻优方法、装置、介质及电子设备
US20210312324A1 (en) Systems and methods for integration of human feedback into machine learning based network management tool
CN110489563B (zh) 图结构的表示方法、装置、设备及计算机可读存储介质
CN108427599A (zh) 异步任务统一处理方法、装置及存储介质
CN111324344A (zh) 代码语句的生成方法、装置、设备及可读存储介质
JP2022083983A (ja) コンピュータシステム、コンピュータプログラム及びコンピュータ実装方法(時系列データから導出されるデータ品質ベースの信頼度計算)
EP2782005A1 (en) Verifying state reachability in a statechart model having computer program code embedded therein

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication