CN1228175A - 用于测试计算机系统软件的系统和方法 - Google Patents
用于测试计算机系统软件的系统和方法 Download PDFInfo
- Publication number
- CN1228175A CN1228175A CN97197360A CN97197360A CN1228175A CN 1228175 A CN1228175 A CN 1228175A CN 97197360 A CN97197360 A CN 97197360A CN 97197360 A CN97197360 A CN 97197360A CN 1228175 A CN1228175 A CN 1228175A
- Authority
- CN
- China
- Prior art keywords
- software
- computer
- program
- computer software
- executed
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 69
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000013522 software testing Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 16
- 238000010998 test method Methods 0.000 claims description 2
- 238000004590 computer program Methods 0.000 claims 1
- 230000001934 delay Effects 0.000 abstract 1
- 238000011161 development Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000004088 simulation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000003278 mimic effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/362—Debugging of software
- G06F11/3636—Debugging of software by tracing the execution of the program
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)
- Debugging And Monitoring (AREA)
- Monitoring And Testing Of Exchanges (AREA)
- Exchange Systems With Centralized Control (AREA)
Abstract
一种方法(208)和相关的电路;用于测试诸如电话交换系统等计算机系统(10)的计算机软件的操作。该计算机软件(22)的被选择部分以解释方式(26)被测试。其余部分以编译方式被执行。由于不需要整个计算机软件(22)逐行执行,因此避免了其它方法以解释方式(26)执行软件(22)所需的显著时间延长。
Description
本发明一般涉及用于面向消息的计算机系统的计算机软件测试,或者换句话说对其调试的方法和系统。更具体地,本发明涉及一种测试计算机系统的计算机软件的操作的方法和相关联的计算机系统电路。
在诸如电话交换系统等计算机系统联机操作的同时,计算机软件的操作能够被测试,由此允许在其安装于一工作站点后测试计算机系统。在执行测试操作的同时,计算机系统不需要脱离服务。
发明背景
数字技术的进步允许基于处理器的产品和服务获得广泛的应用。通过采用这些数字技术以前不可能实现的产品和服务现在已经变成了可能。并且,作为这些数字技术的一个结果,许多现存的产品和服务因这样的数字技术已经产生了更高的效率并且能生产得出来。
随着提供越来越复杂的技术的能力的增加,基于处理器的电路,甚至更复杂的电路将可能越来越多地用于更多的系统和服务中。
基于处理器的电路包括在该电路操作期间执行的软件。随着基于处理器的电路的硬件部件的改进,越来越复杂的软件能够被迅速地执行,以允许由基于处理器的电路完成越来越复杂的任务。
当开发在基于处理器的电路操作期间执行的软件时,在软件程序及其代码产生之后,软件必须被测试,以保证在执行时,软件可操作于希望的方式之中。
经常地,在计算机软件的测试过程中,有时会发现未预料的问题或“故障”。一旦发现,就需要适当地更替软件程序以校正或“调试”该软件。通常,还需要其后的软件测试保证在调试操作期间进行的软件更替不把另外的故障引入软件中。
在开发的测试期间,软件程序通常以解释的方式逐行执行。跟踪程序或命令有时被插入在经受测试的计算机软件的被解释的代码行之间。这种跟踪向测试者提供在程序的任意点上的程序执行指示。由于构成计算机软件的程序步骤可被反复地执行,因此一跟踪步骤能够作为一被执行的附加行插入在任意位置。随着时间的消逝,这种测试提供在计算机软件代码中的位置指示,在这个位置上软件变成按意想外的方式操作。
虽然计算机软件的开发测试在检测软件故障中通常是有效的,但有时软件故障仍然没有被注意到,并且因此不能被校正。有时,仅当基于处理器的电路进入服务后软件故障的存在才会变得明显。需要计算机软件的调试以确定故障位置。如上所述,常规的调试操作需要计算机软件由基于处理器的电路的处理器以解释的方式执行。因此需要被解释代码的逐行执行。
由于这种程序执行是费时的,因此,基于处理器的电路通常必须脱离服务并且处理脱机状态,以便对计算机软件执行测试操作。这种使电路进入脱机状态的要求需要在该场所具有工作电路的代用物,或者需要中断电路的使用。
电信交换系统是具有在该交换系统操作期间可由一处理器执行的计算机软件的基于处理器的电路的一个例子。类似于上面讨论的开发和测试过程,一旦开发出用于该电信交换系统的软件,就必须完成软件测试,以保证该交换系统在安装于电信网络中后能正确地操作,但在某些情况中,原始测试没有检测到软件故障。这种软件故障仅在电话网络中的电信交换系统安装后才变得明显。如果一软件故障此后变得明显,则需要执行测试操作以校正该软件故障。由于现存的软件测试方法和系统要求整个软件代码逐行地以解释方式执行,完成测试操作需要大量的时间。
模仿一电信交换系统的操作的仿真程序有时用于该交换系统的设计中。在这方面,仿真程序有时还在该交换系统的开发过程中用于测试软件。这种仿真程序模仿实际的交换系统的操作。当在这样的仿真程序中测试一交换系统的软件操作时,在现有技术中,软件必须仍然逐行地以解释方式执行。这样的需求仍然是费时的。
因此,如果诸如电信交换系统等计算机系统的计算机软件可通过一种方法而被更高效率地测试,那么这种方法将是有益的。
根据涉及诸如电信交换系统等计算机系统的计算机软件的测试的背景技术,已经得出本发明的显著进步。
发明概述
本发明有利地提供了一种通过其测试计算机系统的计算机软件的方法。仅仅该软件的被选择部分需要以解释的方式执行;而该软件的其它部分以编程的方式执行。由于编译方式的软件执行比解释方式的逐行的软件执行快得多,因此,适当地选择仅仅最小部分的软件执行于解释方式,将允许软件测试高效率地执行。
即使在一计算机系统安装在工作现场并且进入服务后,对该计算机系统的计算机软件也能执行测试操作。由于仅仅计算机软件的被选择部分执行于解释的方式,允许计算机软件的其余部分执行于编译的方式,因此,在以解释的方式测试软件的选择部分时,仅仅产生最小的时间延迟。在某些情况下,计算机系统不需要脱机以执行测试操作,通过允许计算机系统保持联机,避免了在相反情况下中断计算机系统的操作以便用一替代系统替换该计算机系统的需求。
计算机系统仿真程序也可以便利地实施本发明的教导。计算机系统仿真程序的软件测试也不需要全部执行于解释方式。仅仅被测试的计算机软件部分执行于解释方式;而仿真程序的其它软件部分执行于编译方式。由于计算机系统仿真程序软件不需要逐行执行,因此,避免了在相反情况下以解释方式执行软件所需要的显著时间延迟。
例如,计算机系统可以构成一电信交换系统。在交换系统的设计和构造过程中可以利用本发明的教导测试系统的可操作性并且调试交换系统软件。并且,在电信交换系统安装于一工作现场并且进入服务之后,还可以对以后检测到的程序故障进行测试和调试。通过本发明的一个实施例的操作,由于仅仅经受测试的交换系统软件的被选择部分执行于解释方式,因此可在交换系统保持联机的同时执行测试操作。
类似地,例如,计算机系统仿真程序可以构成一电信交换系统仿真程序。通过利用本发明的一实施例的仿真程序,可以开发和调试用于一电信交换系统的软件。仅仅该软件的被选择部分执行于解释方式;而该软件的其余部分执行于编译部分。程序的调试能够以最小的延迟高效率地执行。
在这些和其它方面,一软件测试方法和相关联的电路测试具有至少一个程序模块的面向消息的计算机系统的计算机软件。该计算机系统的计算机软件能够以编译代码的形式执行于编译方式,并且能够以解释代码的形式执行于解释方式。至少计算机软件的被选择部分被选择以便测试,检测在计算机系统操作期间被选择消息的发生。并且,响应所述被选择消息的发生,测试所述计算机软件的至少所选择部分的操作。
从下面简述的附图、下面详细描述的本发明当前最佳的实施例以及所附的权利要求书中可以获得本发明的全部理解及其范围。
附图简述
图1是一计算机系统的功能性的方框图,是具有能够在本发明的实施例的操作过程中被测试的软件的一计算机系统的例子。
图2是一功能方框图,与图1类似,但是为另一个计算机系统,也是具有能够在本发明的实施例的操作过程中被测试的软件的一计算机系统的例子。
图3是一流程图,列出了本发明的实施例操作的方法。
详细描述
首先参见图1,由10指示的一计算机系统在其操作期间执行软件程序。计算机系统10是包括诸如电信交换等许多不同类型的基于计算机的设备中的一个例子。计算机系统10还是模仿诸如电信交换仿真程序等基于计算机的设备的一个例子。用于以高效率的方式执行软件测试的一种软件测试方法及其相关联的电路实施于计算机系统10中。
这种可由计算机系统10执行的高效率的软件测试可以在软件开发过程中执行,以便测试软件性能,并且在出现故障或其它软件错误时执行软件调试。在该软件安装于其中的计算机系统作为一工作设备联机后,该软件还能够被测试。
与常规软件测试方法相反,本发明实施例的软件测试方法不需要正在经受测试的整个软件程序执行地以解释方式执行,而是仅仅该软件程序的一些被选择部分执行于解释方式。
该软件程序的其它部分执行于编译方式。因此,利用本发明实施例的教导的软件测试能够快得多地执行。当对已经安装为联机设备的一基于计算机的设备执行测试时,能高速执行测试的速度特别地重要。由于测试能够高速执行,因此,在不需要设备为了软件测试而脱机并脱离服务的情况下,经受测试的基于计算机的设备的软件能够联机执行。
计算机系统10包括一常规性质的处理设备12,尤其可操作用于检索并执行存贮在诸如常驻存贮设备14等存贮设备中的软件程序。
总线16仍然以常规方式连接处理设备12和存贮设备14。虽然没有图解说明,但是,总线16能够类似地连接处理设备12至计算机系统的其它电路和其它存贮设备。
为了执行存储在存贮设备14以及其它存贮设备中的软件程序,该软件程序首先必须转换成允许由该处理设备执行的形式。
一常规编译程序18存储在常驻存贮设备14或者其它可由处理设备12访问的存贮设备中。编译程序18运行以转换诸如由程序模块22代表的等软件程序为例如这里的编译代码24等编译代码,编译代码24能够由处理设备12执行以完成程序模块22的软件程序定义的任务。
编程程序18还可操作以转换程序模块22的软件程序为解释形式的解释代码26。解释代码26也可由处理设备12执行以完成由程序模块22的软件定义的任务。
虽然没有分别示出,但是,计算机系统10通常包括能够在计算机系统操作过程中由处理设备12访问和执行的代表多个软件程序的多个程序模块22。这些其它程序模块的软件程序能够类似地由编译程序18转换为编译形式的编译代码和解释形式的解释代码。
图中也示出驻留在常驻存贮设备14中的执行平台28检索代码,诸如程序模块22这样的程序模块的软件程序被转换进入该代码,并将这些代码转换以允许在计算机系统10的操作期间执行。通常,以编译代码的形式被检索和执行的程序模块的编译代码,诸如编译代码24,能够最快地执行以完成由相关的程序模块表示的软件程序定义的操作。
由于编译代码的存储有时需要大量的存贮容量,因此,很少使用的程序模块的软件程序有时不转换为编译形式,而是以解释方式执行这种软件程序。该执行平台在其由处理设备12执行期间检索适当程序模块的适当代码,以便所检索代码能够由处理设备12执行,这种检索在图中由平面28和程序模块22之间的连线表示。
延伸至执行平台的连线30表示在其它程序模块执行期间产生的信号。当这种信号中被选择的一些信号产生和被检测时,这些信号能够选择作为“触发器”以启动软件测试操作。这就是说,响应检测到这种信号的产生,开始测试以便观测响应这种信号的接收的程序模块的执行。
一接口程序32也被显示驻留在常驻存贮设备14中。该接口程序32也可由处理设备12访问。当执行接口程序32时,该接口程序32通过线路36形成一输入和输出设备34的接口。该输入和输出设备34可以由例如一输入键盘和一显示终端组成。如上所述,常规调试操作要求经受调试的软件作为解释代码全部以解释方式执行。这种要求通常需要大量的时间以执行调试操作。并且,当计算机系统的软件错误直至计算机系统安装联机之后才检测到时,通常需要大量时间以解释方式执行程序模式,这往往需要该计算机系统脱机,其结果或者是中断对该计算机系统用户的服务,或者是用一备用系统作为该计算机系统的替换,有时这两种方法都是昂贵的。
由于经受测试的软件不需要整体逐行地以解释方式执行,因此,与常规的相比,本发明实施例的方法和电路软件程序测试更快地完成。
而是,经受测试的软件程序以编译方式执行直至到达特定的被测试的程序部分为止。然后,仅仅经受测试的程序部分以解释方式执行。通过适当地检测编译方式的软件程序执行已经到达经受测试的软件程序部分的时刻,然后程序能够以解释方式继续执行。由于此后的执行是逐行地进行,因此能够仔细地监视软件的性能。
例如,当程序被执行时,跟踪能够插入希望测试软件程序操作的解释代码中。跟踪能够插入在被测试的解释代码行之前的解释代码行中或行上,或者作为新行插入到在软件程序部分的检测之后的解释代码中,据此执行调试或其它的测试操作。
通过在输入和输出设备34的输出设备部分上的适当显示,为计算机系统10的操作者提供关于软件程序的执行状态的数据。操作者还能通过设备34的输入部分输入程序跟踪,并且能够启动软件程序及其被选择部分的测试操作。通过以解释方式执行软件程序的被选择部分,实现被选择部分的逐行执行,计算机系统10的操作者能够监视程序的执行。因此,能够在需要时测试和调试软件程序。
图2图解说明了一计算机系统,该系统标示为100,由通过网络连接而连接在一起的多个计算站104构成,所述网络连接在这里由总线106指示。为了简洁起见,仅仅功能性地示出了总线106;但是应该注意,在计算站之间的网络连接通常是令牌环或其它串行的网络连接。
由于在计算站104之间的网络连接,因此通过网络总线106,位于计算站104的任意之一的操作者能够启动任意计算站104的软件的软件测试操作。
每个计算站104包括处理设备112,每个处理设备112通过内部总线116耦合到常驻存贮设备114。
为了图解起见,最左边(图示的)计算站104包括驻留在常驻存贮设备114中的编译程序118。而且,在执行时,该编译程序转换包含在程序模块122中的软件程序为编译代码124和解释代码126。
虽然没有分别示出,但是,类似地,其它计算站104也能包括用于转换程序模块的软件程序为编译和解释代码的编译程序。
最左边的(图示的)计算站104还包括执行平台128,该平台根据处理设备112的执行而操作,以便完成被选择的程序模块。例如程序模块122的执行。执行平台128能够以类似于前面参照图1描述的执行平台28的操作的方式操作。虽然仍然没有示出,但是,其它的计算机104也能包括以类似方式操作的类似的这种执行平台。延伸至执行平台128的连线130亦描述在该图中。该连线表示在其它程序模块执行期间产生的信号并且类似于前面根据图1示出的连线30。
最右边的(图示的)计算站104显示出包括接口程序132,当执行时,该程序132通过线路136与输入和输出设备134通信。虽然也没有分别示出,但是,最左边的(图示的)计算站104也能包括可与输入和输出设备一起操作的接口程序。
通过网络总线106连在一起的每个计算站104包括驻留在各自的计算站的常驻存贮设备114中的通信程序138。该通信程序138可按照常规性质操作,当执行时,该通信程序允许在各个计算站104之间的网络通信。
通过这种在计算站104之间的网络连接位于任意计算站104的操作者能够启动对驻留在或者位于另一计算站104的软件执行的测试或调试操作。例如,位于最右边的(图示的)计算站104的其中之一的操作者能够启动对由最左边的(图示的)计算站的程序模块122表示的软件程序执行的测试操作。编译代码在执行平台128的执行期间被执行,直至检测到软件程序的被选择部分为止。此后,软件程序以解释方式由解释代码126执行。如果需要,根据位于另一计算站的操作者的输入,跟踪能够插入解释代码中。
通过本发明实施例的操作,能够更快地完成各种计算机系统的测试。在一个实施例中,计算机系统构成一电信交换机。在另一实施例中,计算机系统构成一模仿电信交换机的仿真程序。当然,另一方面,计算机系统可以构成另一基于计算机的设备或者其仿真程序。
图3图解说明了用于测试计算机系统软件的本发明实施例的一种方法,该方法由208指示。与利用常规软件测试技术相比,软件测试方法208允许对计算机系统的软件更快地执行测试和调试操作。在计算机系统的开发过程中以及在计算机系统已经安装为一操作设备后,软件测试方法208能够被用于测试和调试计算机系统的软件。由于与按照常规测试方法相比,能够更快地测试和调试软件,因此,计算机系统当然不必脱机以便在其上执行测试操作。
首先,如方框212所示,检索一被执行的信号。然后,如判定框214所示,对是否启动跟踪,即测试产生一判定。跟踪通过例如命令被启动,并且然后还通过命令或者通过特定跟踪程序的执行而被撤销。在跟踪程序中的跟踪条件也由命令产生。如果跟踪没有启动,则产生“否”转移并且执行子程序A。
如框216所示,在子程序A的执行期间首先判断该信号是否应以编译代码执行。如果该信号应该以编译代码执行,则产生“是”转移,并且执行编译代码,如框218所示。如果相反,该信号将不引起编译代码的执行,则产生“否”转移,并且执行解释代码,如框222所示。在常规方式中,在该子程序结束后,继续主程序的执行。当在以判定框214产生是否转移后执行子程序时,将继续执行框212中的程序。
如果在判定框214中确定跟踪被启动,则产生至判定框226的“是”转移,在框226中确定是否应跟踪1N-信号(即输入信号)。如果判定应该跟踪IN-信号,则产生判定框228的“是”转移,在框228中判定跟踪条件是否为真。如果为真,则产生“是”转移,并且执行与跟踪条件相联结的跟踪程序。如框230所示。
然后,在判定框231中确定跟踪是否应被撤销。如前所述,通过适应的取消跟踪的命令或者作为跟踪程序执行的结果而撤销跟踪,并且在判定是否已经输入这样的命令的判定框231中,判定该跟踪是否已经执行。如果跟踪应该被撤销,则产生至上述的子程序A的是转移。
如果在任一判定框226、228或231中产生了否定判定,则产生至判定框232的相应的“否”转移,在框232中判定信号的执行是否应跟踪。如果应该跟踪信号的执行,则产生至框234的“是”转移并且执行解释指令。否则,产生至上述的子程序A的“否”转移并且执行子程序A。
一旦在框234中执行解释指令后,如判定框236所示,判定是否任一跟踪条件为真。如果任一跟踪条件为真,则产生是转移,并且执行与该跟踪条件联结的跟踪程序,如框237所示。此后,在判定框238中以类似于判定框231中的判定的方式判定跟踪是否应被撤销。如果跟踪应该撤销,则产生至框240的“是”转移,并且继续解释指令的执行,此后,如框241所示,在鉴定后返回至框212以继续程序的执行。
如果从框236或238产生“否”转移,则如判定框244所示,判定是否从跟踪程序中退出。
如果判定不退出,则产生否转移回到判定框232。相反地,如果在判定框244中判定退出,则产生至判定框248的是转移,在框248中判定是否启动跟踪。如果否则产生“否”转移回到框212。否则,产生至判定框252的“是”转移,并且在框252中判定OUT-信号(即,输出信号)是否应被跟踪。如果否,则产生“否”转移回到框212;否则,产生至框253的“是”转移,在框253中判定跟踪条件是否为真。如果为真,则产生至框256的“是”转移,在框256中执行跟踪程序。
因此,即使在计算机系统安装在工作现场并且进入服务之后,计算机系统的软件测试也是可能的。由于仅仅计算机软件的被选择部分以解释方式执行,而计算机软件的其余部分以编译方式执行,因此,当以解释方式测试软件的被选择部分时,仅仅产生最小的时间延迟。因此,计算机软件联机测试是可能的。一计算机系统仿真程序也能便利实施本发明的教导,以便允许计算机软件的快速测试。
仅仅经受测试的软件部分以解释方式执行软件的其它部分以编译方式执行。因此,避免了其它的测试软件方式所需的大量处理时间。
前面的描述是实现本发明的最佳例子,本发明的范围不应由该描述所限制。本发明的范围由下面的权利要求定义。
Claims (21)
1.一种用于具有至少一个程序模块的面向消息的计算机系统的软件测试方法,该计算机系统具有能够作为编译代码以编译方式执行并且能够作为解释代码以解释方式执行的计算机软件,所述方法包括步骤:
选择是否测试该计算机软件的被选择部分;
如果在所述的选择步骤中该计算机软件的被选择部分被选择以便测试,则以解释方式执行作为解释代码的该计算机软件的被选择部分;以及否则
以编译方式执行该计算机软件的被选择部分。
2.如权利要求1的方法,其中,该计算机系统包括用于输入测试该计算机软件的被选择部分的命令的一输入设备,并且其中,所述选择步骤包括通过该输入设备输入所述命令。
3.如权利要求1的方法,其中,该解释代码由多个指令步骤构成,并且其中,所述以解释方式执行该选择部分的步骤还包括步骤:
确定在至少解释代码的被选择的那些指令步骤的执行期间形成的跟踪条件的值是否为一选择的数值;以及
当该跟踪条件的值等于该选择的数值时,执行与该跟踪条件相关联的一跟踪程序。
4.如权利要求1的方法,还包括输入一输入信号至该计算机系统并且执行与该输入信号相关联的一跟踪程序的步骤。
5.如权利要求4的方法,其中,在所述输入步骤中输入的所述输入信号在该选择步骤之前发生。
6.如权利要求1的方法,其中所述计算机系统包括一用户接口设备和可响应该接口设备操作的一接口程序,并且其中,在所述输入步骤中输入的所述输入信号通过该接口设备输入。
7.如权利要求6的方法,其中,该计算机系统包括第一计算机设备和第二计算机设备,通过网络连接,第一计算机设备和第二计算机设备连接在一起,其中,在所述输入步骤中输入的所述输入信号通过第二计算机设备输入,并且其中,在所述执行步骤中执行的计算机软件的所述被选择部分在第一计算机设备中执行。
8.如权利要求1的方法,还包括步骤:根据在任何一个所述执行步骤中的计算机软件的被选择部分的执行产生一输出信号;并且执行与该输出信号相关联的一跟踪程序。
9.如权利要求1的方法,其中该计算机系统包括一编译程序,并且其中,所述方法包括通过执行编译程序产生该编译代码并且产生该解释代码的引导步骤。
10.如权利要求1的方法,其中该计算机系统包括一电信交换系统,其中该计算机软件包括形成该电信交换系统的一部分的一程序模块,并且其中,在所述执行步骤中执行的该计算机程序的被选择部分包括该程序模块的被选择的程序段。
11.如权利要求5的方法,其中,该计算机系统包括一核心单元和一处理器,该核心单元可由该处理器执行,并且其中,在所述输入步骤中输入的该输入信号在该核心单元的执行期间被提供至该核心单元。
12.如权利要求1的方法,其中该计算机系统包括一电信交换系统仿真程序,其中该计算机软件包括形成该电信交换系统仿真程序的一部分的一程序模块,并且其中,所述执行步骤包括执行该程序模块的被选择的程序段。
13.如权利要求1的方法,还包括确定该编译代码是否能够被执行的步骤,并且其中,仅当该编译代码在所述确定步骤中被确定为可被执行时,才实现所述以编译方式执行该计算机软件的被选择部分的步骤。
14.如权利要求13的方法,还包括在确定该编译代码是否可执行的步骤之后选择是否以编译方式执行该计算机软件的附加步骤。
15.在用于测试具有一处理部件的电信交换机的操作的一种测试方法中,其中的处理部件用于执行至少一个程序模块,一种用于联机测试所述至少一个程序模块的操作的改进方法,该程序模块能够作为解释代码以解释方式执行,并且能够作为编译代码以编译方式执行,所述方法包括步骤:
选择是否测试该程序模块的被选择部分;
如果在所述的选择步骤中该程序模块的被选择部分被选择以便测试,则以解释方式执行作为解释代码的该程序模块的被选择部分;以及否则
以编译方式执行该程序模块的被选择部分。
16.用于测试具有一执行计算机软件的处理器的计算机系统的操作的测试电路,该计算机软件能够作为编译代码以编译方式执行并且能够作为解释代码以解释方式执行,所述测试电路包括:
一选择器,用于选择是否测试该计算机软件的被选择部分;
响应所述选择器操作的第一程序执行器,所述第一程序执行器用于在该计算机软件的被选择部分被所述选择器选择以便测试时,以解释方式执行作为解释代码的该计算机软件的被选择部分;以及
响应所述选择器操作的第二程序执行器,所述第二程序执行器用于在该计算机软件的被选择部分未被所述选择器选择以便测试时,以编译方式执行该计算机软件的被选择部分。
17.如权利要求16的测试电路,其中所述选择器包括一用户接口设备和可响应该接口设备操作的一接口程序。
18.如权利要求17的测试电路,其中所述用户接口设备还允许在该计算机软件的被选择部分的执行期间产生的输出信号的显示。
19.如权利要求18的测试电路,其中该计算机系统包括第一计算机设备和第二计算机设备,通过网络连接,该第一计算机设备和第二计算机设备连接在一起,并且其中,所述第一程序执行器和所述第二程序执行器位于第一计算机设备中。
20.如权利要求19的测试电路,其中所述用户接口设备位于第二计算机设备中。
21.在一种用于测试计算机软件的软件测试方法中,其中该计算机软件能够作为编译代码以编译方式执行并且能够作为解释代码以解释方式执行,一种用于在测试该计算机软件期间动态控制该计算机软件的执行的改进的方法,所述方法包括步骤:
在解释方式和编译方式中择一地选择执行至少一部分该计算机软件;
当在所述选择步骤期间该计算机软件被选择以解释方式执行时执行该解释代码;以及
当在所述选择步骤期间该计算机软件被选择以编译方式执行时执行该编译代码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/700,177 | 1996-08-20 | ||
US08/700,177 US5896535A (en) | 1996-08-20 | 1996-08-20 | Method and system for testing computer system software |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1228175A true CN1228175A (zh) | 1999-09-08 |
CN1105354C CN1105354C (zh) | 2003-04-09 |
Family
ID=24812480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN97197360A Expired - Fee Related CN1105354C (zh) | 1996-08-20 | 1997-08-15 | 用于测试计算机系统软件的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US5896535A (zh) |
EP (1) | EP0920663B1 (zh) |
JP (1) | JP2000517077A (zh) |
CN (1) | CN1105354C (zh) |
AU (1) | AU3873397A (zh) |
DE (1) | DE69717824T2 (zh) |
WO (1) | WO1998008165A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100396018C (zh) * | 2003-04-23 | 2008-06-18 | 华为技术有限公司 | 一种消息解释或构造的装置及方法 |
CN100435114C (zh) * | 2006-01-18 | 2008-11-19 | 北京大学 | 基于截取器的软件在线校验方法 |
CN103605554A (zh) * | 2012-06-26 | 2014-02-26 | 马维尔国际贸易有限公司 | 用于代码性能分析的方法和装置 |
CN103984336A (zh) * | 2014-04-14 | 2014-08-13 | 美的集团股份有限公司 | 电控开发系统及其控制方法 |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6167534A (en) * | 1995-11-24 | 2000-12-26 | Rational Software Corporation | Load test system and method |
US6202199B1 (en) * | 1997-07-31 | 2001-03-13 | Mutek Solutions, Ltd. | System and method for remotely analyzing the execution of computer programs |
US6311325B1 (en) * | 1998-10-22 | 2001-10-30 | International Business Machines Corporation | Method and apparatus for profiling processes in a data processing system background of the invention |
US6484309B2 (en) * | 1998-10-08 | 2002-11-19 | Intel Corporation | Enabling software designed for one operating system to operate on another operating system |
US20020087949A1 (en) * | 2000-03-03 | 2002-07-04 | Valery Golender | System and method for software diagnostics using a combination of visual and dynamic tracing |
US7657872B2 (en) * | 2000-10-23 | 2010-02-02 | Nintendo Of America Inc. | Product testing and bug tracking system |
US8312435B2 (en) | 2000-12-26 | 2012-11-13 | Identify Software Ltd. (IL) | System and method for conditional tracing of computer programs |
US6941546B2 (en) * | 2001-08-01 | 2005-09-06 | International Business Machines Corporation | Method and apparatus for testing a software component using an abstraction matrix |
US6986125B2 (en) * | 2001-08-01 | 2006-01-10 | International Business Machines Corporation | Method and apparatus for testing and evaluating a software component using an abstraction matrix |
US7386839B1 (en) | 2002-11-06 | 2008-06-10 | Valery Golender | System and method for troubleshooting software configuration problems using application tracing |
US8032866B1 (en) | 2003-03-27 | 2011-10-04 | Identify Software Ltd. | System and method for troubleshooting runtime software problems using application learning |
US7827539B1 (en) | 2004-06-25 | 2010-11-02 | Identify Software Ltd. | System and method for automated tuning of program execution tracing |
US8719799B2 (en) * | 2011-03-07 | 2014-05-06 | International Business Machines Corporation | Measuring coupling between coverage tasks and use thereof |
US8719789B2 (en) * | 2011-03-07 | 2014-05-06 | International Business Machines Corporation | Measuring coupling between coverage tasks and use thereof |
CN102999423B (zh) * | 2012-11-15 | 2016-03-02 | 华为技术有限公司 | 一种多核测试的方法和装置 |
EP2746952B1 (en) * | 2012-12-18 | 2017-02-08 | Neopost Technologies | Secured management of traces in a mail processing device |
US20150033209A1 (en) * | 2013-07-26 | 2015-01-29 | Netapp, Inc. | Dynamic Cluster Wide Subsystem Engagement Using a Tracing Schema |
CN105607995A (zh) * | 2015-11-11 | 2016-05-25 | 北汽福田汽车股份有限公司 | 一种软件测试系统、方法及装置 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5886648A (ja) * | 1981-11-18 | 1983-05-24 | Mitsubishi Electric Corp | トレ−ス装置 |
US4802165A (en) * | 1986-10-08 | 1989-01-31 | Enteleki, Inc. | Method and apparatus of debugging computer programs |
US5127103A (en) * | 1987-10-14 | 1992-06-30 | North American Philips Corporation | Real-time tracing of dynamic local data in high level languages in the presence of process context switches |
JP2666847B2 (ja) * | 1988-06-06 | 1997-10-22 | 日本電気株式会社 | 異種言語間連絡方式 |
US5121489A (en) * | 1988-08-02 | 1992-06-09 | International Business Machines Corporation | Tracing method for identifying program execution paths using a trace points bit map with one-to-one correspondence with embedded trace points |
EP0396833A1 (en) * | 1989-05-12 | 1990-11-14 | International Business Machines Corporation | Trace facility for use in a multiprocessing environment |
US5394544A (en) * | 1989-08-07 | 1995-02-28 | Ricoh Co., Ltd. | Software system debugger with distinct interrupt vector maps for debugging and application programs |
US5255385A (en) * | 1990-02-26 | 1993-10-19 | Hitachi, Ltd. | Method of testing program, and compiler and program testing tool for the method |
US5228039A (en) * | 1990-05-09 | 1993-07-13 | Applied Microsystems Corporation | Source-level in-circuit software code debugging instrument |
JPH04148242A (ja) * | 1990-10-08 | 1992-05-21 | Fujitsu Ltd | ロード・モジュール実行時トレース処理方法 |
US5243603A (en) * | 1991-03-26 | 1993-09-07 | Hewlett-Packard Company | Method for online modification of compressed digital test vectors |
US5297285A (en) * | 1991-07-23 | 1994-03-22 | Telefonaktiebolaget L M Ericsson | System for dynamically linking modular portions of computer software |
US5265254A (en) * | 1991-08-14 | 1993-11-23 | Hewlett-Packard Company | System of debugging software through use of code markers inserted into spaces in the source code during and after compilation |
US5371747A (en) * | 1992-06-05 | 1994-12-06 | Convex Computer Corporation | Debugger program which includes correlation of computer program source code with optimized object code |
US5404496A (en) * | 1992-07-01 | 1995-04-04 | Hewlett-Packard Company | Computer-based system and method for debugging a computer system implementation |
US5410703A (en) * | 1992-07-01 | 1995-04-25 | Telefonaktiebolaget L M Ericsson | System for changing software during computer operation |
CA2101716A1 (en) * | 1992-10-29 | 1994-04-30 | Philip S. Kasten | Debugging/modifying of software systems |
US5367685A (en) * | 1992-12-22 | 1994-11-22 | Firstperson, Inc. | Method and apparatus for resolving data references in generated code |
US5469574A (en) * | 1993-06-18 | 1995-11-21 | International Business Machines Corporation | Method and system for interfacing interpreted applications with compiled procedures using signature files |
US5471526A (en) * | 1994-02-28 | 1995-11-28 | Telefonaktiebolaget L M Ericsson (Publ.) | Tracing with keys and locks on a telecommunication network |
US5630049A (en) * | 1994-11-30 | 1997-05-13 | Digital Equipment Corporation | Method and apparatus for testing software on a computer network |
US5668999A (en) * | 1994-12-20 | 1997-09-16 | Sun Microsystems, Inc. | System and method for pre-verification of stack usage in bytecode program loops |
-
1996
- 1996-08-20 US US08/700,177 patent/US5896535A/en not_active Expired - Lifetime
-
1997
- 1997-08-15 JP JP10510653A patent/JP2000517077A/ja not_active Ceased
- 1997-08-15 CN CN97197360A patent/CN1105354C/zh not_active Expired - Fee Related
- 1997-08-15 EP EP97935948A patent/EP0920663B1/en not_active Expired - Lifetime
- 1997-08-15 AU AU38733/97A patent/AU3873397A/en not_active Abandoned
- 1997-08-15 WO PCT/SE1997/001353 patent/WO1998008165A1/en active IP Right Grant
- 1997-08-15 DE DE69717824T patent/DE69717824T2/de not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100396018C (zh) * | 2003-04-23 | 2008-06-18 | 华为技术有限公司 | 一种消息解释或构造的装置及方法 |
CN100435114C (zh) * | 2006-01-18 | 2008-11-19 | 北京大学 | 基于截取器的软件在线校验方法 |
CN103605554A (zh) * | 2012-06-26 | 2014-02-26 | 马维尔国际贸易有限公司 | 用于代码性能分析的方法和装置 |
CN103605554B (zh) * | 2012-06-26 | 2018-04-13 | 马维尔国际贸易有限公司 | 用于代码性能分析的方法和装置 |
CN103984336A (zh) * | 2014-04-14 | 2014-08-13 | 美的集团股份有限公司 | 电控开发系统及其控制方法 |
CN103984336B (zh) * | 2014-04-14 | 2017-03-15 | 美的集团股份有限公司 | 电控开发系统及其控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1105354C (zh) | 2003-04-09 |
JP2000517077A (ja) | 2000-12-19 |
DE69717824T2 (de) | 2003-09-11 |
AU3873397A (en) | 1998-03-06 |
EP0920663B1 (en) | 2002-12-11 |
WO1998008165A1 (en) | 1998-02-26 |
US5896535A (en) | 1999-04-20 |
EP0920663A1 (en) | 1999-06-09 |
DE69717824D1 (de) | 2003-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1228175A (zh) | 用于测试计算机系统软件的系统和方法 | |
US6188975B1 (en) | Programmatic use of software debugging to redirect hardware related operations to a hardware simulator | |
CN112181833B (zh) | 一种智能化模糊测试方法、装置及系统 | |
US7383539B2 (en) | Managing breakpoints in a multi-threaded environment | |
US6173440B1 (en) | Method and apparatus for debugging, verifying and validating computer software | |
US8898647B2 (en) | Method and apparatus for test coverage analysis | |
US20080126867A1 (en) | Method and system for selective regression testing | |
CN1199476A (zh) | 在电讯变换机中处理过程差错的方法和装置 | |
US9594670B2 (en) | Managing software dependencies during software testing and debugging | |
US6966051B2 (en) | Automatically generated symbol-based debug script executable by a debug program for software debugging | |
WO2012080262A1 (en) | Software error code injection | |
CN110688313A (zh) | 一种VxWorks操作系统下软件测试的故障注入方法 | |
US20080127118A1 (en) | Method and system for dynamic patching of software | |
WO2007071615A1 (en) | Methods, apparatus and computer programs for handling parameters associated with call statements | |
US7539839B1 (en) | Method to test error recovery with selective memory allocation error injection | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN114356643B (zh) | 一种遥感卫星处理系统中自动发现任务失败和恢复方法 | |
JP2001356928A (ja) | 試験評価システム | |
KR100299623B1 (ko) | 클라이언트 프로그램과 서버 프로그램의 통합 디버깅 방법 | |
CN118606206A (zh) | 一种综合工具测试方法、装置、电子设备及存储介质 | |
CN115934555A (zh) | Java编程断点在线调试方法、装置、电子设备及介质 | |
CN117609104A (zh) | 客户端测试过程中页面异常的处理方法、系统和设备 | |
KR920002484B1 (ko) | 전자교환기 시험환경 시스팀 | |
CN116820472A (zh) | 一种云平台后端轻量化方法及终端 | |
CN118035074A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20030409 Termination date: 20140815 |
|
EXPY | Termination of patent right or utility model |