CN102169455A - 用于软件性能测试的调试方法和系统 - Google Patents

用于软件性能测试的调试方法和系统 Download PDF

Info

Publication number
CN102169455A
CN102169455A CN2010101177509A CN201010117750A CN102169455A CN 102169455 A CN102169455 A CN 102169455A CN 2010101177509 A CN2010101177509 A CN 2010101177509A CN 201010117750 A CN201010117750 A CN 201010117750A CN 102169455 A CN102169455 A CN 102169455A
Authority
CN
China
Prior art keywords
test elements
thread
state
test
threads
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
CN2010101177509A
Other languages
English (en)
Inventor
周韡
郭少聃
鞠琳
王建秋
任党恩
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.)
International Business Machines Corp
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 CN2010101177509A priority Critical patent/CN102169455A/zh
Publication of CN102169455A publication Critical patent/CN102169455A/zh
Pending legal-status Critical Current

Links

Images

Abstract

本发明公开一种用于软件性能测试的调试方法和系统,该方法包括:录制测试脚本;记录所述测试脚本的测试元素之间的依赖关系;根据所述测试元素的依赖关系将所述测试元素分配到多个线程;以及并行回放所述测试脚本的多线程。本发明的方法和系统能够加速调试环节的速度,提高测试效率。

Description

用于软件性能测试的调试方法和系统
技术领域
本发明涉及软件测试,特别涉及用于软件性能测试的调试方法和系统。
背景技术
随着越来越多的人依托互联网从事日常业务操作,应用程序的性能测试在成功的电子商务解决方案中变得至关重要。性能测试的过程是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统的瓶颈或者不能接收的性能点,通过综合分析交易执行指标和资源监控指标来确定系统并发性能的过程。负载测试(Load Testing)是确定在各种工作负载下系统的性能,目标是测试当负载逐渐增加时,系统组成部分的相应输出项,例如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。压力测试(Stress Testing)是通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。
在对端到端(end-to-end)软件应用系统进行性能测试时,通常经由录制产生初始测试脚本,然后测试人员需要结合实际测试要求对其进行编辑完善,其中一项重要工作就是进行数据关联(或参数化),使得测试脚本在执行实际测试时更具通用性,并通过回放数据关联后的测试脚本来查看数据关联的正确性。以最普遍的浏览器/服务器应用为例,当录制测试脚本时,记录客户端向服务器端发出的请求和服务器端相应的响应,每个请求和响应组成一个测试元素,然后进行数据关联。很多公司开发了工具和方法来进行应用程序的性能测试。例如,HP Load Runner的VUGen,虽然自动测试工具可以基于某种规则识别和自动关联一部分数据,但是很多情况下仍有遗漏和错误的关联发生,测试人员需要检查并通过脚本调试结果验证来确保数据关联的完备性。当测试情景复杂或者测试者经验不足时,数据关联会经常发生错误,需要重复调试进行数据关联,每做一次数据关联都要重新回放所有测试元素,因此调试过程中,浪费了大量时间进行反复回放。
因此,需要一种高效的软件性能测试的并行调试方法和系统。
发明内容
基于上述问题,本发明提供一种用于软件性能测试的并行调试方法和系统。
根据本发明的第一方面,提供一种用于软件性能测试的调试方法,该方法包括:录制测试脚本;记录所述测试脚本的测试元素之间的依赖关系;根据所述测试元素的依赖关系将所述测试元素分配到多个线程;以及并行回放所述测试脚本的多线程。
根据本发明的第二方面,提供一种用于软件性能测试的调试系统,该系统包括:录制模块,被配置为录制测试脚本;记录模块,被配置为记录所述测试脚本的测试元素之间的依赖关系;分配模块,被配置为根据所述测试元素的依赖关系将所述测试元素分配到多个线程;以及回放模块,被配置为并行回放所述测试脚本的多个线程。
附图说明
结合附图,通过参考下列详细的示例性实施例的描述,将会更好地理解本发明本身、优选的实施方式以及本发明的目的和优点,其中:
图1示出根据本发明一个实施例的用于软件性能测试的并行调试方法;
图2示出将某测试脚本实例所包含的测试元素作为节点组织成拓扑结构图;
图3示出根据本发明一个实施例的根据测试元素的依赖关系将测试元素分配到多线程的方法流程图;
图4示出根据本发明一个实施例的根据测试元素的响应时间和依赖关系将测试元素分配到多线程的流程图;
图5示出应用图4的方法将图2所示的测试元素分配到多个线程的实例;
图6示出根据本发明一个实施例的管理线程执行状态的状态转换图;
图7示出可视化地显示测试元素的状态的示意图;
以及
图8示出根据本发明一个实施例的用于软件性能测试的并行调试的系统的功能框图。
具体实施方式
以下结合附图描述根据本发明实施例的用于软件性能测试的并行调试方法和系统。
本发明的基本思想是利用对端到端软件应用录制的测试脚本的测试元素的内在依赖关系,将测试元素重新组织编排到多个线程,测试期间,并行回放测试脚本的多个线程,调试时出现错误的线程停下来,而不影响其它线程的执行,从而加速调试环节的速度,提高测试效率。
图1示出根据本发明一个实施例的用于软件性能测试的调试方法,该方法包括:在步骤S101,录制测试脚本;在步骤S102,记录所述测试脚本的测试元素之间的依赖关系;在步骤S103,根据所述测试元素的依赖关系将所述测试元素分配到多个线程;以及在步骤S104,并行回放所述测试脚本的多个线程。
具体地,在步骤S101,以最普遍的浏览器/服务器应用为例,为了建立测试脚本,测试工程师可以利用虚拟测试工具例如HP LoadRunner的VUGen来记录客户端的请求和服务器对应的响应,当录制测试脚本时,性能测试工具会拦截客户端(浏览器)与服务器端(网站服务器)之间的对话,并且通通记录在录制日志(recording log)中,产生测试脚本。在录制日志中可以找到浏览器与服务器之间的所有对话,包含通讯内容、日期、时间、浏览器的请求、服务器的响应内容等等。
在步骤S102,可以利用性能测试工具对测试脚本进行分析并记录测试脚本的测试元素之间的依赖关系,所谓测试元素之间的依赖关系,即,如果在后测试元素的请求中的某些参数的值需要从先前某个测试元素的响应中的内容获得,则这两个测试元素之间具有依赖关系。
在步骤S103,根据测试元素的依赖关系将测试元素分配到多个线程,为了直观反映出测试元素之间的依赖关系,可以将所述测试元素的依赖关系记录为以所述测试元素作为节点组织成的拓扑结构图,该拓扑结构图定义为G=(N,E),其中N表示测试元素的节点集合{n0,n1...ni},E表示有向边的集合{ei,j},ei,j表示从节点ni到节点nj的有向边,表明节点nj依赖于节点ni,其中节点nj称之为节点ni的子节点,节点ni称之为节点nj的父节点,图2示出将某测试脚本实例所包含的测试元素作为节点组织成拓扑结构图,例如e0,1表示从节点n0到节点n1的有向边,表明节点n1依赖于节点n0,其中节点n1称之为节点n1的子节点,节点n0称之为节点n1的父节点,考虑将每个测试元素作为细粒度的执行任务,根据测试元素的依赖关系将测试元素分配到多个线程。
图3示出根据本发明一个实施例的根据测试元素的依赖关系将测试元素分配到多个线程的方法流程图,其基本思想是尽量将具有依赖关系的测试元素分配到一个线程,在多个测试元素同时与一个测试元素存在依赖关系的情况下,将其中一个测试元素添加到其父节点的测试元素所在的线程,对其余测试元素创建新的线程。具体地,在步骤S301,建立包含所有节点的初始化列表entryList{n0,n1...ni}并将所有未添加到线程的节点标记为未检查;在步骤S302,在entryList中取出一个未检查的节点ni;在步骤S303,判断节点ni是否有父节点,如果判断结果为是,则前进到步骤S304,如果判断结果为否,则在步骤S305,创建线程tm,将节点ni添加到线程tm,并标记节点ni为已检查;在步骤S304,判断ni的所有父节点是否都标记为已检查,如果判断结果为否,则返回到步骤S302,如果判断结果为是,则在步骤S306,任取节点ni的一个父节点;在步骤S307,判断节点ni的该父节点所在的线程的执行队列中该父节点之后是否存在子节点,如果判断结果为否,则在步骤S308,将节点ni添加到该父节点所在线程的执行队列中,并标记节点ni已检查;如果判断结果为是,则在步骤S309,判断节点ni的父节点是否都已取出;如果判断结果为否,则返回步骤S306;如果判断结果为是,则在步骤S310,创建新线程ti,将节点ni添加到线程ti,并标记节点ni已检查;前进到步骤S311,判断entryList中是否存在标记为未检查的节点,如果判断结果为是,则返回到步骤S302,如果判断结果为否,则流程结束。根据本发明实施例的方法,可以实现将测试脚本中的多个测试元素分配到多个线程中,在调试的时候,实现多个线程并行执行调试。
根据本发明的另一个实施例,可以利用测试元素的响应时间和依赖关系确定测试元素脚本的关键路径,并根据关键路径和依赖关系将所述测试元素分配到多个线程。具体地,可以从录制的测试脚本中获取测试脚本所包含的测试元素的响应时间,测试元素的响应时间是从测试工具发出测试元素的请求到测试工具从服务器接收到响应所经历的时间,在考虑将每个测试元素作为执行任务而分配到多个线程时,可以将每个测试元素的响应时间视为执行任务的执行时间,如图2所示,每个测试元素的节点中都包含有该测试元素的响应时间tni,例如,节点n1所表示的测试元素的响应时间tn1是343ms。
图4示出本发明一个实施例的根据测试元素的响应时间和依赖关系将测试元素分配到多个线程的流程图,假设从节点ni出发到各个根节点有n条路径P1,P2...Pn(n为正整数),其中P1包含节点(ni..nj),P2包含节点(ni..nk),Pn包含节点(ni..nr),分别计算每条路径所包含的测试元素的响应时间的总和,对于路径P1,计算Tp1=(tni+..tnj),对于路径P2,计算Tp2=(tni+..tnk),对于路径Pn,计算Tpn=(tni+..tnk),定义level(ni)=Max(Tp1,Tp2...Tpn)。以下描述图4所示的流程图,在步骤S401,将每个节点标识为未检查,并计算每个节点的level值,以图2的节点n6为例,计算Level(n6),由图所示,从n6出发到达各个根节点共有5条路径,分别是P1包含节点(n6,n7),P2包含节点(n6,n12),P3包含节点(n6,n16),P4包含节点(n6,n11,n15,n16),P5包含节点(n6,n11,n15,n20,n21,n24,n25)。针对上述5条路径,分别计算每条路径上测试元素的响应时间总和,结果可得Tp1=2548ms,Tp2=2625ms,Tp3=2548ms,Tp4=2627ms,Tp5=7391ms,因此level(n6)=7391;在步骤S402,建立初始化列表entryList,所有的节点按照level(ni)的值从大到小降序排列;在步骤S403,在entryList中找到按照降序排列的第一个未检查的节点ni;在步骤S404,创建一个新的线程ti,将节点ni添加到t1的执行队列中,并标记节点ni为已检查;在步骤S405,从ni开始执行宽度优先遍历,找到下一级子节点;在步骤S406,判断节点ni是否只有一个子节点,如果判断结果为否,在步骤S407,找到所有子节点中具有最大level(nk)的子节点nk;如果判断结果为是,在步骤S408,判断子节点nk的所有父节点是否都已经被标记为已检查,如果判断结果为是,则在步骤S409,将子节点nk添加到与节点ni相同线程的执行队列中,如果判断结果为否,则前进到步骤S412;在步骤S410,判断节点ni的其它子节点的所有父节点是否都标记为已检查,如果判断结果为是,在步骤S411,为其它子节点n1,n2...nm分别创建新的线程t1,t2...tm(m为正整数),将其它子节点n1,n2...nm分别添加到线程t1,t2...tm的执行队列中,并将其它子节点n1,n2...nm标记为已检查。如果判断结果为否,则在步骤S412,判断entryList中是否存在标记为未检查的节点,如果判断结果为是,则返回到步骤S402,如果判断结果为否,则流程结束。根据本发明的实施例的方法,产生一个包含测试元素最多的线程,即测试元素脚本的关键路径,由于本发明实施例的方法能够使所开线程数目最少,从而保证线程之间通信的次数最少,提高调试的效率。与其他路径相比,关键路径中的测试元素通常更接近被测系统的核心业务操作,此外,关键路径通常包含数据关联发生错误概率较大的测试元素,在调试时测试人员可以将精力更多地集中到关键路径上。本领域技术人员应该理解可以有多种方式实现根据测试元素的依赖关系将测试元素分配到多个线程,并不限于上述的实施例,可以根据实际应用有多种变化。
图5示出应用图4的方法将图2所示的测试元素分配到多个线程的实例,由图5所示,最终将所有测试元素分配到9个线程,其中线程1是测试元素的关键路径,在调试程序时,9个线程并行执行,测试人员可以优先调试关键路径的测试元素,一旦关键路径调试通过,依赖于关键路径的线程就相对容易调试了。
在步骤S104,并行回放所述测试脚本的多个线程。在调试测试脚本的过程中,由于测试元素已被预先分配到多个线程中,因此彼此没有依赖关系的各个线程可以并行执行,一旦某个线程的测试元素数据关联出现错误,则该线程停止执行,由测试人员手动检查修改错误,而其它不受该测试元素影响的线程仍然可以正常执行。这样,不必在每次回放时都将所有测试元素重新执行一遍,执行完成的线程不必重新回放,在回放过程中测试人员只要集中精力将出错的测试元素修改好以保证出错的线程执行通过即可,节省了回放的时间,提高了调试的效率。
根据本发明的一个实施例,利用线程状态转换控制逻辑来管理多个线程的执行状态,更进一步地,线程状态转换控制逻辑可以监视多个线程所包含的测试元素的状态,例如监视测试元素的状态为正常、错误或异常。图6示出根据本发明一个实施例的管理线程执行状态的状态转换图,如图6所示,每个执行线程有五个状态,分别是:初始状态、执行状态、阻塞状态、悬挂状态以及完成状态。在不同的执行条件和运行环境下,可以由线程状态转换控制逻辑来使多个线程分别处于不同的状态。线程状态转换控制逻辑的工作过程如下:在线程被创建之后,线程处于初始状态,如果分配给该线程的所有测试元素数据关联正确,则线程状态转换控制逻辑使线程由初始状态转变为执行状态;如果接收到测试元素处于错误状态的信息,例如数据关联错误或其它影响后续测试元素执行的错误,线程状态转换控制逻辑使包含该测试元素的线程进入阻塞状态,阻塞状态需要调试人员手动干预;如果接收到测试元素处于异常状态的信息,线程状态转换控制逻辑使包含该测试元素的线程进入悬挂状态,例如接收到测试元素发出的警告信息,该警告信息并不会影响后续测试元素的继续执行,例如线程中的某一后续测试元素依赖其他若干个前序测试元素,而这些前序测试元素并未完全执行完毕,该后续测试元素发出警告信息,悬挂状态不需要手动干预就能自动进入执行状态。处于阻塞或悬挂状态的线程,在测试元素的错误或异常被排除后,向线程状态转换控制逻辑发出通知,如果接收到线程测试元素的错误或异常被排除的通知,线程状态转换控制逻辑使阻塞或悬挂状态的线程重新进入执行状态。而处于执行状态的线程再次遇到测试元素数据关联错误或出现异常,会重新进入阻塞或悬挂状态。如果接收到线程中包含的全部测试元素执行完毕后的信息,线程状态转换控制逻辑使线程进入完成状态。
根据本发明的一个实施例,可以可视化地显示多个线程所包含的测试元素的状态。图7示出可视化地显示测试元素的状态的示意图,例如,在并行回放测试脚本的多个线程的过程中,如果测试元素处于正常状态,例如数据关联正确,则测试元素显示为绿色,如图所示测试元素n1,n2,n3数据关联正确,显示绿色;如果测试元素处于错误状态,例如数据关联错误或其它影响执行的错误,则测试元素显示为红色,如图所示测试元素n6数据关联错误,显示红色;如果测试元素处于异常状态,例如发出与数据关联无关的警告信息,则后续测试元素显示为黄色,如图所示由于前序测试元素并未完全执行完毕,后续测试元素n9,n10等发出警告信息,显示黄色。可选地,如果光标移动到出现错误或异常的测试元素附近,会弹出有关该测试元素的错误或异常信息的对话框,例如在显示红色的测试元素节点n6附近弹出如下内容的对话框:测试元素节点n6数据关联错误,线程1,3,4和6被阻塞,建议修改节点n6,该节点的运行数据是:运行时间25毫秒,处于线程1中。通过可视化地显示测试元素的状态可使调试人员对每个测试元素的状态一目了然,并即时排查错误,提高调试效率。
基于同一发明构思,本发明还提出一种用于软件性能测试脚本的并行调试系统,图8示出根据本发明一个实施例的用于软件性能测试的调试系统的功能框图,该系统包括:录制模块801,被配置为录制测试脚本,记录模块802,记录所述测试脚本的测试元素之间的依赖关系;分配模块803,被配置为根据所述测试元素的依赖关系将所述测试元素分配到多个线程;以及回放模块804,被配置并行回放所述测试脚本的多个线程。
其中记录模块802进一步被配置为将所述测试元素的依赖关系记录为以所述测试元素作为节点组织成的拓扑结构。
根据本发明的一个实施例,该系统还包括响应时间获取模块,被配置为从所述录制的测试脚本中获得所述测试脚本的测试元素的响应时间;以及分配模块802进一步被配置为利用所述测试元素的响应时间和依赖关系确定所述测试元素的关键路径,并根据所述关键路径和依赖关系将所述测试元素分配到多个线程。
根据本发明的一个实施例,回放模块804进一步包括:线程管理模块,被配置为利用线程状态转换控制逻辑管理所述多个线程的状态;以及监视模块,被配置为监视所述多个线程所包含的测试元素的状态。
其中线程管理模块进一步被配置为:如果接收到测试元素处于错误状态的信息,使包含该测试元素的线程进入阻塞状态;如果接收到该测试元素的错误被排除的通知,使处于阻塞状态的该线程进入执行状态;如果接收到测试元素处于异常状态的信息,使包含该测试元素的线程进入悬挂状态;如果接收到测试元素的异常被排除的通知,使处于悬挂状态的该线程进入执行状态;如果接收到测试元素处于正常状态的通知,使包含该测试元素的线程进入执行状态;以及如果接收到线程中包含的全部测试元素执行完毕后的信息,使线程进入完成状态。
根据本发明的一个实施例,线程管理模块进一步包括显示模块,被配置为可视化地显示所述多个线程所包含的测试元素的状态。
应当理解,本发明的至少某些方面可以可替代地以程序产品实现。定义有关本发明的功能的程序可以通过各种信号承载介质被传送到数据存储系统或计算机系统,所述信号承载介质包括但不限于,不可写存储介质(例如,CD-ROM)、可写存储介质(例如,软盘、硬盘驱动器、读/写CD ROM、光介质)以及诸如包括以太网的计算机和电话网络之类的通信介质。因此应当理解,在此类信号承载介质中,当携带或编码有管理本发明中的方法功能的计算机可读指令时,代表本发明的可替代实施例。本发明可以硬件、软件、固件或其组合的方式实现。本发明可以集中的方式在一个计算机系统中实现,或以分布方式实现,在这种分布方式中,不同的部件分布在若干互连的计算机系统中。适于执行本文中描述的方法的任何计算机系统或其它装置都是合适的。优选地,本发明以计算机软件和通用计算机硬件的组合的方式实现,在这种实现方式中,当该计算机程序被加载和执行时,控制该计算机系统而使其执行本发明的方法,或构成本发明的系统。
上面出于举例说明的目的,给出了本发明的优选实施例的说明。优选实施例的上述说明不是穷尽的,也不打算把本发明局限于公开的明确形式,显然鉴于上述教导,许多修改和变化是可能的。对本领域的技术人员来说显而易见的这种修改和变化包括在由附加的权利要求限定的本发明的范围内。

Claims (20)

1.一种用于软件性能测试的调试方法,包括:
录制测试脚本;
记录所述测试脚本的测试元素之间的依赖关系;
根据所述测试元素的依赖关系将所述测试元素分配到多个线程;以及
并行回放所述测试脚本的多个线程。
2.根据权利要求1所述的方法,其中记录所述测试脚本的测试元素之间的依赖关系进一步包括将所述测试元素的依赖关系记录为以所述测试元素作为节点组织成的拓扑结构。
3.根据权利要求2所述的方法,进一步包括从所述录制的测试脚本中获得所述测试脚本的测试元素的响应时间;以及
根据所述测试元素的依赖关系将所述测试元素分配到多个线程进一步包括利用所述测试元素的响应时间和依赖关系确定所述测试元素的关键路径,并根据所述关键路径和依赖关系将所述测试元素分配到多个线程。
4.根据权利要求1-3中任一项所述的方法,并行回放所述测试脚本的多个线程进一步包括利用线程状态转换控制逻辑管理所述多个线程的状态。
5.根据权利要求4所述的方法,其中利用线程状态转换控制逻辑管理所述多个线程的状态进一步包括监视所述多个线程所包含的测试元素的状态。
6.根据权利要求5所述的方法,其中利用线程状态转换控制逻辑管理所述多个线程的状态进一步包括可视化地显示所述多个线程所包含的测试元素的状态。
7.根据权利要求5所述的方法,利用线程状态转换控制逻辑管理所述多个线程的状态进一步包括:如果接收到测试元素处于错误状态的信息,使包含该测试元素的线程进入阻塞状态;以及如果接收到该测试元素的错误被排除的通知,使处于阻塞状态的该线程进入执行状态。
8.根据权利要求5所述的方法,利用线程状态转换控制逻辑管理所述多个线程的状态进一步包括:如果接收到测试元素处于异常状态的信息,使包含该测试元素的线程进入悬挂状态;以及如果接收到测试元素的异常被排除的通知,使处于悬挂状态的该线程进入执行状态。
9.根据权利要求5所述的方法,利用线程状态转换控制逻辑管理所述多个线程的状态进一步包括:如果接收到测试元素处于正常状态的通知,使包含该测试元素的线程进入执行状态。
10.根据权利要求5所述的方法,利用线程状态转换控制逻辑管理所述多个线程的状态进一步包括:如果接收到线程中包含的全部测试元素执行完毕后的信息,使线程进入完成状态。
11.一种用于软件性能测试的调试系统,包括:
录制模块,被配置为录制测试脚本;
记录模块,被配置为记录所述测试脚本的测试元素之间的依赖关系;
分配模块,被配置为根据所述测试元素的依赖关系将所述测试元素分配到多个线程;以及
回放模块,被配置为并行回放所述测试脚本的多个线程。
12.根据权利要求11所述的系统,其中记录模块进一步被配置为将所述测试元素的依赖关系记录为以所述测试元素作为节点组织成的拓扑结构。
13.根据权利要求12所述的系统,还包括响应时间获取模块,被配置为从所述录制的测试脚本中获得所述测试脚本的测试元素的响应时间;以及
分配模块进一步被配置为利用所述测试元素的响应时间和依赖关系确定所述测试元素的关键路径,并根据所述关键路径和依赖关系将所述测试元素分配到多个线程。
14.根据权利要求11-13中任一项所述的系统,其中回放模块进一步包括线程管理模块,被配置为利用线程状态转换控制逻辑管理所述多个线程的状态。
15.根据权利要求14所述的系统,其中线程管理模块进一步包括监视模块,被配置为监视所述多个线程所包含的测试元素的状态。
16.根据权利要求15所述的系统,其中线程管理模块进一步包括显示模块,被配置为可视化地显示所述多个线程所包含的测试元素的状态。
17.根据权利要求15所述的系统,其中线程管理模块进一步被配置为:如果接收到测试元素处于错误状态的信息,使包含该测试元素的线程进入阻塞状态;以及如果接收到该测试元素的错误被排除的通知,使处于阻塞状态的该线程进入执行状态。
18.根据权利要求15所述的系统,其中线程管理模块进一步被配置为:如果接收到测试元素处于异常状态的信息,使包含该测试元素的线程进入悬挂状态;以及如果接收到测试元素的异常被排除的通知,使处于悬挂状态的该线程进入执行状态。
19.根据权利要求15所述的系统,其中线程管理模块进一步被配置为:如果接收到测试元素处于正常状态的通知,使包含该测试元素的线程进入执行状态。
20.根据权利要求15所述的系统,其中线程管理模块进一步被配置为:如果接收到线程中包含的全部测试元素执行完毕后的信息,使线程进入完成状态。
CN2010101177509A 2010-02-26 2010-02-26 用于软件性能测试的调试方法和系统 Pending CN102169455A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010101177509A CN102169455A (zh) 2010-02-26 2010-02-26 用于软件性能测试的调试方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010101177509A CN102169455A (zh) 2010-02-26 2010-02-26 用于软件性能测试的调试方法和系统

Publications (1)

Publication Number Publication Date
CN102169455A true CN102169455A (zh) 2011-08-31

Family

ID=44490620

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010101177509A Pending CN102169455A (zh) 2010-02-26 2010-02-26 用于软件性能测试的调试方法和系统

Country Status (1)

Country Link
CN (1) CN102169455A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461694A (zh) * 2014-12-17 2015-03-25 北京奇虎科技有限公司 多脚本回放方法及装置
EP2883143A4 (en) * 2012-08-13 2016-05-11 Hewlett Packard Development Co PERFORMANCE TESTS IN A CONTINUOUS PIPE
CN106059849A (zh) * 2016-05-09 2016-10-26 上海斐讯数据通信技术有限公司 一种自动触发抓包系统及方法
CN107544897A (zh) * 2017-08-25 2018-01-05 重庆扬讯软件技术股份有限公司 基于一体化实时监控的性能测试方法与系统
CN108459966A (zh) * 2018-03-21 2018-08-28 东软集团股份有限公司 测试组件的调度方法、装置、设备和计算机可读存储介质
CN110377520A (zh) * 2019-07-22 2019-10-25 中国工商银行股份有限公司 交易场景的测试方法及装置、电子设备和可读存储介质
CN111737041A (zh) * 2020-07-31 2020-10-02 北京搜狐新动力信息技术有限公司 软件数据的处理方法、装置、可读介质及设备
CN112527689A (zh) * 2021-02-09 2021-03-19 腾讯科技(深圳)有限公司 应用测试方法、装置及存储介质
CN113282444A (zh) * 2020-02-20 2021-08-20 北京京东振世信息技术有限公司 用于业务流程调试的可视化方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1432916A (zh) * 2002-11-01 2003-07-30 英业达股份有限公司 多线程自动测试方法
CN1519703A (zh) * 2003-01-23 2004-08-11 英业达股份有限公司 可组合挂接的计算机多线程测试系统及其方法
CN1855068A (zh) * 2005-04-29 2006-11-01 华为技术有限公司 测试多线程软件并发冲突的方法
US20090199047A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Executing software performance test jobs in a clustered system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1432916A (zh) * 2002-11-01 2003-07-30 英业达股份有限公司 多线程自动测试方法
CN1519703A (zh) * 2003-01-23 2004-08-11 英业达股份有限公司 可组合挂接的计算机多线程测试系统及其方法
CN1855068A (zh) * 2005-04-29 2006-11-01 华为技术有限公司 测试多线程软件并发冲突的方法
US20090199047A1 (en) * 2008-01-31 2009-08-06 Yahoo! Inc. Executing software performance test jobs in a clustered system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张博刚等: "基于多线程并行技术的软件测试效率分析", 《第三届全国软件测试会议与移动计算、栅格、智能化高级论坛论文集》 *

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2883143A4 (en) * 2012-08-13 2016-05-11 Hewlett Packard Development Co PERFORMANCE TESTS IN A CONTINUOUS PIPE
CN104461694A (zh) * 2014-12-17 2015-03-25 北京奇虎科技有限公司 多脚本回放方法及装置
CN104461694B (zh) * 2014-12-17 2018-05-04 北京奇虎科技有限公司 多脚本回放方法及装置
CN106059849B (zh) * 2016-05-09 2019-10-22 上海斐讯数据通信技术有限公司 一种自动触发抓包系统及方法
CN106059849A (zh) * 2016-05-09 2016-10-26 上海斐讯数据通信技术有限公司 一种自动触发抓包系统及方法
CN107544897A (zh) * 2017-08-25 2018-01-05 重庆扬讯软件技术股份有限公司 基于一体化实时监控的性能测试方法与系统
CN108459966A (zh) * 2018-03-21 2018-08-28 东软集团股份有限公司 测试组件的调度方法、装置、设备和计算机可读存储介质
CN110377520A (zh) * 2019-07-22 2019-10-25 中国工商银行股份有限公司 交易场景的测试方法及装置、电子设备和可读存储介质
CN110377520B (zh) * 2019-07-22 2024-03-15 中国工商银行股份有限公司 交易场景的测试方法及装置、电子设备和可读存储介质
CN113282444A (zh) * 2020-02-20 2021-08-20 北京京东振世信息技术有限公司 用于业务流程调试的可视化方法和装置
CN113282444B (zh) * 2020-02-20 2023-09-22 北京京东振世信息技术有限公司 用于业务流程调试的可视化方法和装置
CN111737041A (zh) * 2020-07-31 2020-10-02 北京搜狐新动力信息技术有限公司 软件数据的处理方法、装置、可读介质及设备
CN112527689A (zh) * 2021-02-09 2021-03-19 腾讯科技(深圳)有限公司 应用测试方法、装置及存储介质
CN112527689B (zh) * 2021-02-09 2021-05-11 腾讯科技(深圳)有限公司 应用测试方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN102169455A (zh) 用于软件性能测试的调试方法和系统
Baresi et al. An introduction to software testing
Dassisti et al. Industry 4.0 paradigm: The viewpoint of the small and medium enterprises
US20190327160A1 (en) System and method for scheduling and executing automated tests
US7779053B2 (en) Diagnosis of an automation system
Maâlej et al. Automated significant load testing for WS-BPEL compositions
CN113946499A (zh) 一种微服务链路跟踪及性能分析方法、系统、设备及应用
CN110347580A (zh) 一种构建非嵌入式软件可靠性测试过程模型的方法
JP2022028619A (ja) 製造システムにおける故障の根本原因分析用の故障拡張システムモデルを構築するためのシステム及び方法
Dong et al. Time‐based replacement policies for a fault tolerant system subject to degradation and two types of shocks
Zhao et al. Research on international standardization of software quality and software testing
Farooq et al. Quality practices in open source software development affecting quality dimensions
CN108521350A (zh) 一种基于xml驱动脚本的工业网关设备自动化测试方法
US20130173777A1 (en) Mining Execution Pattern For System Performance Diagnostics
CN114036034A (zh) 一种应用于实时流式计算的性能测试方法
Bosse Predicting an IT Service’s Availability with Respect to Operator Errors
CN109374038A (zh) 一种基于应用样机的核安全级仪控产品的变更测试方法
Sánchez et al. Fault-based testing of E-commerce applications
Carson et al. 2.5. 1 Functional Architecture as the Core of Model‐Based Systems Engineering
Liu et al. Test cases selection method of rapid regression testing
Lim et al. Efficient testing of self-adaptive behaviors in collective adaptive systems
Vijaykumar Site Reliability Engineering (SRE)
Basu et al. Supply chain risk management: a delicate balancing act
Khella et al. Systems approach for health management design: A simple fuel system case study
CN110347741B (zh) 大数据处理过程中有效提升输出成果数据质量的系统及其控制方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20110831