CN103617120A - 一种单元测试方法和装置 - Google Patents
一种单元测试方法和装置 Download PDFInfo
- Publication number
- CN103617120A CN103617120A CN201310653284.XA CN201310653284A CN103617120A CN 103617120 A CN103617120 A CN 103617120A CN 201310653284 A CN201310653284 A CN 201310653284A CN 103617120 A CN103617120 A CN 103617120A
- Authority
- CN
- China
- Prior art keywords
- test
- function
- result
- tested program
- class
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种单元测试方法和装置。该方法包括:封装用于全局调用的测试类,其中,测试类中包括功能函数、结果展示函数;通过调用功能函数,创建针对被测程序的测试数据;通过执行测试数据来对被测程序进行单元测试;以及通过调用结果展示函数,展示测试结果。本发明通过封装可以全局调用的测试类来创建测试用例,进一步地可以封装单例模式的测试类来创建测试用例,提高了测试的灵活性、安全性和测试性能,节省了内存空间,降低了测试的依赖性。本发明可以对测试过程中产生的测试结果进行存储,增强了测试结果的可存储性。本发明可以采用命令行方式和网页方式展示测试结果,增加了测试结果展示的多样性。
Description
技术领域
本发明涉及计算机测试技术领域,更具体地涉及一种单元测试方法和装置。
背景技术
单元测试是开发者通过编写的一小段代码来检验被测程序的一个很小、很明确的功能是否正确的行为。
目前,PHP语言以及其他语言的单元测试方案,主要有两种方式。
第一种方式是在被测程序中添加判断语句或断言语句进行单元测试。在执行被测程序时,如果被测程序的执行结果不符合判断语句或断言语句的预期,则抛出异常或者报警等提示。但是通过该方式编写的测试用例属于一次性测试,不能够重复利用,使用灵活性较低。并且使用判断语句或断言语句所得到的执行结果只能用于展示,而无法保存结果。而且使用判断语句或断言语句在管理上颇为不便,如果在正式环境上执行判断语句或断言语句,会产生不好的用户体验,还会泄露被测程序的细节,产生安全隐患。
第二种方法是借助PHPUnit等单元测试框架来编写测试用例。PHPUnit是一个大型的PHP单元测试框架。编写单元测试用例的方式是,编写一个类,该类要继承PHPUnit_Framework_Testcase基类。在该类下编写测试用例,并且通过执行PHPUnit命令来执行单元测试。但是,编写的所有测试用例,都要继承PHPUnit_Framework_Testcase基类,依赖性较强,否则在执行单元测试过程中无法使用其提供的功能。而且执行单元测试只能使用PHPUnit提供的PHPunit命令,才能够执行对应的测试用例。PHPunit单元测试框架巨大,要使用的话,需要开发者安装众多扩展来实现单元测试。
发明内容
鉴于上述问题,提出了本发明以提供一种单元测试方法和装置,以增加单元测试的灵活性和可存储性、提高测试代码的安全性、降低单元测试的依赖性。
为了解决上述技术问题,本发明的目的是通过以下技术方案实现:
本发明提供了一种单元测试方法,包括:封装用于全局调用的测试类,其中,所述测试类中包括功能函数、结果展示函数;通过调用所述功能函数,创建针对被测程序的测试数据;通过执行所述测试数据来对所述被测程序进行单元测试;以及通过调用所述结果展示函数,展示测试结果。
其中,封装用于全局调用的测试类,包括:封装单例模式的测试类。
其中,所述结果展示函数包括以下中的一个或多个:命令行展示函数、网页展示函数。
其中,通过调用所述结果展示函数展示测试结果,包括:如果调用命令行展示函数,则在命令行中展示所述测试结果;如果调用网页展示函数,则在网页中展示所述测试结果。
其中,通过调用所述功能函数,创建针对被测程序的测试数据,包括:通过调用所述功能函数,创建针对被测程序的mock测试数据,以对所述被测程序中的不确定性数据进行单元测试。
其中,通过执行所述测试数据来对所述被测程序进行单元测试,还包括:记录所述被测程序的测试过程以确定对所述被测程序进行测试的覆盖率。
其中,通过执行所述测试数据来对所述被测程序进行单元测试,包括:在执行所述测试数据的过程中,记录所述被测程序中不符合预期的语句。
本发明还提供了一种单元测试装置,包括:封装模块,用于封装用于全局调用的测试类,其中,所述测试类中包括功能函数、结果展示函数;创建模块,用于通过调用所述功能函数,创建针对被测程序的测试数据;测试模块,用于通过执行所述测试数据来对所述被测程序进行单元测试;以及展示模块,用于通过调用所述结果展示函数,展示测试结果。
其中,封装模块还被配置成:封装单例模式的测试类。
其中,所述结果展示函数包括以下中的一个或多个:命令行展示函数、网页展示函数。
其中,所述展示模块还被配置成:如果调用命令行展示函数,则在命令行中展示所述测试结果;如果调用网页展示函数,则在网页中展示所述测试结果。
其中,所述创建模块还被配置成:通过调用所述功能函数,创建针对被测程序的mock测试数据,以对所述被测程序中的不确定性数据进行单元测试。
其中,测试模块还被配置成:记录所述被测程序的测试过程以确定对所述被测程序进行测试的覆盖率。
其中,测试模块还被配置成:在执行所述测试数据的过程中,记录所述被测程序中不符合预期的语句。
与现有技术相比,根据本发明的技术方案存在以下有益效果:
本发明通过封装可以全局调用的测试类来创建测试用例,进一步地可以封装单例模式的测试类来创建测试用例,提高了测试的灵活性、安全性和测试性能,节省了内存空间,降低了测试的依赖性。
本发明可以对测试过程中产生的测试结果进行存储,增强了测试结果的可存储性。因为测试类以静态内存的方式存在,所有的测试用例共用一份内存空间,极大地提高了内存的使用率,节省内存空间。
本发明可以采用命令行方式和网页方式展示测试结果,增加了测试结果展示的多样性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明一实施例的单元测试方法的流程图;
图2a和图2b分别是根据本发明实施例的测试结果展示示意图;以及
图3是根据本发明一实施例的单元测试装置的结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的主要思想在于,封装可以全局调用的测试类,在创建测试用例时,通过调用测试类中的成员函数来达到单元测试的效果。其中,测试类可以是单例模式的测试类。在测试类中定义了用于结果展示的函数,该结果展示函数包括可以在命令行中展示测试结果的函数和可以在网页中展示测试结果的函数。
在该方式中,通过调用测试类创建的测试用例可以在任何地方使用,不依赖于专门的测试环境。在需要测试时,调用测试类就可以实现对被测程序的单元测试,在使用上灵活方便。进一步地,该方式可以在命令行中展示测试结果也可以在网页中展示测试结果,两种展示测试结果的方式效果和功能完全相同,方便开发人员使用。更进一步地,该方式具有可拓展性,可以在测试类中加入代码覆盖率统计、mock等功能。
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明具体实施例及相应的附图对本发明技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,图1是根据本发明一实施例的单元测试方法的流程图。
在步骤S110处,封装用于全局调用的测试类。其中,测试类中包括功能函数、结果展示函数。
测试类指用于单元测试的类。类(Class)表示对现实生活中一类具有共同特征的对象的抽象。该对象可以是测试用例。测试用例(Test Case)是为某个目标而编制的一组测试输入、执行条件以及预期结果,以便测试被测程序(测试输入)路径或核实被测程序是否满足某个特定需求。
在一个实施例中,可以封装单例模式的测试类。该单例模式的测试类可以全局访问,提高了使用的灵活性和安全性。调用该单例模式的测试类创建的测试用例在内存中只存在一个实例化的测试用例。这样,可以节省内存空间,避免频繁的创建销毁对象,提高了内存使用率,从而提高了测试性能。并且创建的测试用例以静态方式存在,使开发人员可以在其他程序中,随时调用测试API来对被测程序进行测试。
具体而言,可以在封装测试类之前,设计该测试类的统一建模语言(Unified Model Language,UML)图,该UML图可以用于对大规模,复杂对象进行建模,特别是对软件架构层次建模。该UML图可以用图表的方式表现出来。
进一步地,单元测试的职能可以包括创建新的测试用例,通过判断语句或断言语句判断被测程序的结果,结果展示。根据单元测试的职能可以设计出测试类的UML图。该UML图可以如表1所示,但不限于表1中的内容:
表1:
在表1中示出的测试类至少可以包括属性和函数。属性中的对象可以用于存储与单元测试有关的数据,如测试名称、测试结果、覆盖率等。函数可以用于实现一定的测试目的。函数可以包括功能函数和结果展示函数。功能函数可以包括创建测试数据函数、判断条件函数、创建mock对象函数、开始记录测试过程函数、计算覆盖率函数、结束测试函数等等。其中,判断条件函数可以包括assertTrue()、assertEquals()、assertFalse()等函数。
应该理解,根据本发明的单元测试方法中的测试类可以包括的属性和函数不限于此,而是可以包括任何适当的属性和函数。
通过调用测试类中的函数可以创建测试用例,在测试用例中可以包括测试数据和结果展示数据。创建测试数据可以通过调用功能函数来实现,创建结果展示数据可以通过调用结果展示函数来实现。
在步骤S120处,通过调用功能函数,创建针对被测程序的测试数据。
通过调用测试类中的函数创建测试用例,通过调用函数中的功能函数可以创建测试数据。例如:
其中,function(){tf()->assertTrue('true','This is Ok!')为测试数据,可以用于判断被测程序中的数据是否真。所以,测试数据可以用于测试被测程序中的功能是否正确。'Test service'为单元测试的测试名称。
进一步地,通过调用功能函数,可以创建用于计算测试数据对被测程序的覆盖率的覆盖率测试数据。该覆盖率测试数据可以作为测试数据中的成员变量。具体而言,通过调用php_coverage和函数start(),可以开始对测试过程进行记录,例如:编辑语句$this->php_coverage->start($this->suiteTitle),则在执行该语句时,记录在测试过程中测试数据对被测程序中的哪一行数据进行过测试。
进一步地,通过调用功能函数,可以创建针对被测程序的mock测试数据,以对被测程序中的不确定性数据进行单元测试。该mock测试数据可以作为测试数据中的成员变量。具体而言,由于被测程序所表示的真实对象具有不可确定的行为或不可预测的效果,所以很难对包含不确定性数据的被测程序(真实对象)进行单元测试。该包含不确定性数据的真实对象例如是股票行情,天气预报等。mock测试数据是虚拟对象,利用该虚拟对象可以对包含不确定性数据的被测程序进行单元测试。调用函数function getMock()可以返回虚拟对象,可以在该虚拟对象中编辑需要达到的目标,如,明天的股市数据具有不确定性,则可以使用虚拟对象对明天的股市数据进行测试,可以让这个虚拟对象返回明天股市涨停10%时的股票信息,可以调用$stock=tf()->getMock()获得虚拟对象,在该虚拟对象中编辑语句$stock->shouldReceive(getStockInfo)->return(‘10%’),当$stock->getStockInfo()被执行时则会返回明天股市涨停10%对应的值。
在步骤S130处,通过执行测试数据来对被测程序进行单元测试。
在执行测试数据时,可以记录被测程序的测试过程以确定对被测程序进行测试的覆盖率。可以利用虚拟对象测试不确定性的数据。还可以记录单元测试的行测试结果。该行测试结果是指被测程序中每行被测的数据的测试结果。
具体地,在执行过程中,可以将单元测试的名称存储在表1所示的title中。例如,在title中存储'Test service'。并且在执行过程中,可以得到被测程序中有多少行数据被测试,根据测试过的行数和被测程序中包含的总行数,可以得到测试数据对被测程序的覆盖率。例如,覆盖率=测试过的行数÷被测程序中包含的总行数。可以通过执行$this->php_coverage->getResult()语句来获得具体的覆盖率结果,该覆盖率结果可以被存储在表1所示的php_coverage中。以及在执行过程中,可以利用mock测试数据对包含不确定性数据的被测程序进行测试。例如模拟被测程序对应的场景,进而得到该场景中的数据或数值,并将该数据或数值作为本次测试的执行结果。
判断语句或断言语句可以反映出对被测程序中的数据的预期,在执行测试数据的过程中,记录被测程序中不符合预期的语句。具体地,对于被测的每行数据,若测试结果符合预期,则该行数据测试通过,若测试结果不符合预期,则该行数据测试不通过。进一步地,单元测试的行测试结果,即每行被测数据测试通过或测试不通过,以及测试不通过的数据可以存储在表1所示的stack中,用于后续的问题追查。
进一步地,覆盖率结果、执行结果、行测试结果可以作为单元测试的测试结果。更进一步地,将测试名称、测试结果对应存储,以便根据测试名称来查看测试结果。
在步骤S140处,通过调用结果展示函数,展示测试结果。
其中,结果展示函数包括以下中的一个或多个:命令行展示、网页展示。进一步地,调用结果展示函数创建的结果展示数据可以被包含在测试用例中,也可以通过单独调用结果展示函数创建结果展示数据。
在执行完测试数据后,通过执行结果展示数据来展示被测数据的测试结果。
如果调用命令行展示函数,则创建命令行展示数据,在命令行中展示测试结果。例如在命令行界面(Command Line Interface,CLI)中展示测试结果。如图2a所示的测试结果展示示意图。
如果调用网页展示函数,则创建网页展示数据,在网页中展示测试结果。例如在web网页中展示测试结果。如图2b所示的测试结果展示示意图。
本发明还提供了一种单元测试装置,如图3所示,图3是根据本发明一实施例的单元测试装置300的结构图。
在该装置300中,可以包括封装模块310,用于封装用于全局调用的测试类,其中,测试类中包括功能函数、结果展示函数。结果展示函数包括以下中的一个或多个:命令行展示函数、网页展示函数。封装模块310还被配置成:封装单例模式的测试类。该封装模块310的具体实施方式可以参照步骤S110。
创建模块320,用于通过调用功能函数,创建针对被测程序的测试数据。创建模块320还被配置成:通过调用功能函数,创建针对被测程序的mock测试数据,以对被测程序中的不确定性数据进行单元测试。该创建模块320的具体实施方式可以参照步骤S120。
测试模块330,用于通过执行测试数据来对被测程序进行单元测试。测试模块330还被配置成:记录被测程序的测试过程以确定对被测程序进行测试的覆盖率。测试模块330还被配置成:在执行测试数据的过程中,记录被测程序中不符合预期的语句。该测试模块330的具体实施方式可以参照步骤S130。
展示模块340,用于通过调用结果展示函数,展示测试结果。展示模块340还被配置成:如果调用命令行展示函数,则在命令行中展示测试结果;如果调用网页展示函数,则在网页中展示测试结果。该展示模块340的具体实施方式可以参照步骤S140。
由于本发明的装置所包括的各个模块的具体实施方式与本发明的方法中的步骤的具体实施方式是相对应的,由于已经对图1-图2进行了详细的描述,所以为了不模糊本发明,在此不再对各个模块的具体细节进行描述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的客户端中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个客户端中。可以把实施例中的模块组合成一个模块,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者客户端的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的加载有排序网址的客户端中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明包括A8、一种单元测试装置,其特征在于,包括:
封装模块,用于封装用于全局调用的测试类,其中,所述测试类中包括功能函数、结果展示函数;
创建模块,用于通过调用所述功能函数,创建针对被测程序的测试数据;
测试模块,用于通过执行所述测试数据来对所述被测程序进行单元测试;以及
展示模块,用于通过调用所述结果展示函数,展示测试结果。
A9、根据权利要求A8所述的装置,其特征在于,封装模块还被配置成:封装单例模式的测试类。
A10、根据权利要求A8所述的装置,其特征在于:
所述结果展示函数包括以下中的一个或多个:命令行展示函数、网页展示函数。
A11、根据权利要求A10所述的装置,其特征在于,展示模块还被配置成:
如果调用命令行展示函数,则在命令行中展示所述测试结果;
如果调用网页展示函数,则在网页中展示所述测试结果。
A12、根据权利要求A8所述的装置,其特征在于,创建模块还被配置成:通过调用所述功能函数,创建针对被测程序的mock测试数据,以对所述被测程序中的不确定性数据进行单元测试。
A13、根据权利要求A8所述的装置,其特征在于,测试模块还被配置成:记录所述被测程序的测试过程以确定对所述被测程序进行测试的覆盖率。
A14、根据权利要求A8所述的装置,其特征在于,测试模块还被配置成:
在执行所述测试数据的过程中,记录所述被测程序中不符合预期的语句。
Claims (10)
1.一种单元测试方法,其特征在于,包括:
封装用于全局调用的测试类,其中,所述测试类中包括功能函数、结果展示函数;
通过调用所述功能函数,创建针对被测程序的测试数据;
通过执行所述测试数据来对所述被测程序进行单元测试;以及
通过调用所述结果展示函数,展示测试结果。
2.根据权利要求1所述的方法,其特征在于,封装用于全局调用的测试类,包括:封装单例模式的测试类。
3.根据权利要求1所述的方法,其特征在于:
所述结果展示函数包括以下中的一个或多个:命令行展示函数、网页展示函数。
4.根据权利要求3所述的方法,其特征在于,通过调用所述结果展示函数展示测试结果,包括:
如果调用命令行展示函数,则在命令行中展示所述测试结果;
如果调用网页展示函数,则在网页中展示所述测试结果。
5.根据权利要求1所述的方法,其特征在于,通过调用所述功能函数,创建针对被测程序的测试数据,包括:
通过调用所述功能函数,创建针对被测程序的mock测试数据,以对所述被测程序中的不确定性数据进行单元测试。
6.根据权利要求1所述的方法,其特征在于,通过执行所述测试数据来对所述被测程序进行单元测试,还包括:记录所述被测程序的测试过程以确定对所述被测程序进行测试的覆盖率。
7.根据权利要求1所述的方法,其特征在于,通过执行所述测试数据来对所述被测程序进行单元测试,包括:
在执行所述测试数据的过程中,记录所述被测程序中不符合预期的语句。
8.一种单元测试装置,其特征在于,包括:
封装模块,用于封装用于全局调用的测试类,其中,所述测试类中包括功能函数、结果展示函数;
创建模块,用于通过调用所述功能函数,创建针对被测程序的测试数据;
测试模块,用于通过执行所述测试数据来对所述被测程序进行单元测试;以及
展示模块,用于通过调用所述结果展示函数,展示测试结果。
9.根据权利要求8所述的装置,其特征在于,封装模块还被配置成:封装单例模式的测试类。
10.根据权利要求8所述的装置,其特征在于:
所述结果展示函数包括以下中的一个或多个:命令行展示函数、网页展示函数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310653284.XA CN103617120A (zh) | 2013-12-05 | 2013-12-05 | 一种单元测试方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310653284.XA CN103617120A (zh) | 2013-12-05 | 2013-12-05 | 一种单元测试方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103617120A true CN103617120A (zh) | 2014-03-05 |
Family
ID=50167823
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310653284.XA Pending CN103617120A (zh) | 2013-12-05 | 2013-12-05 | 一种单元测试方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103617120A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104899142A (zh) * | 2015-06-10 | 2015-09-09 | 北京嘀嘀无限科技发展有限公司 | 一种远程mock测试方法及装置 |
CN105528287A (zh) * | 2014-10-15 | 2016-04-27 | 三星Sds株式会社 | 用于代码的单元测试的装置及方法 |
CN105630685A (zh) * | 2016-01-29 | 2016-06-01 | 广州酷狗计算机科技有限公司 | 程序接口测试方法及装置 |
CN106155897A (zh) * | 2015-04-16 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 一种业务处理方法及装置 |
CN106294130A (zh) * | 2016-07-28 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种单元测试方法及装置 |
CN107368406A (zh) * | 2016-05-11 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 测试应用程序的方法、装置及设备 |
CN108763054A (zh) * | 2018-04-17 | 2018-11-06 | 平安科技(深圳)有限公司 | 测试案例的测试效果展示方法、电子装置及存储介质 |
CN112116439A (zh) * | 2020-08-10 | 2020-12-22 | 杭州优行科技有限公司 | 一种清结算测试方法、装置、终端及存储介质 |
CN112767799A (zh) * | 2021-02-07 | 2021-05-07 | 江南大学 | 一种基于电磁学实验器材的软件构件封装方法 |
CN116822040A (zh) * | 2023-03-17 | 2023-09-29 | 中国人民解放军63620部队 | 基于虚函数的飞行器仿真模型的单元测试框架构建方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6219829B1 (en) * | 1997-04-15 | 2001-04-17 | Compuware Corporation | Computer software testing management |
CN101706753A (zh) * | 2009-12-11 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于Perl的单元测试框架及方法 |
US20120173929A1 (en) * | 2010-12-30 | 2012-07-05 | Uwe Bloching | System and method for testing a software unit of an application |
CN103019900A (zh) * | 2012-12-04 | 2013-04-03 | 北京奇虎科技有限公司 | 终端性能的检测结果显示方法和装置 |
CN103399814A (zh) * | 2013-07-16 | 2013-11-20 | 西安Tcl软件开发有限公司 | 自动化测试的方法及装置 |
-
2013
- 2013-12-05 CN CN201310653284.XA patent/CN103617120A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6219829B1 (en) * | 1997-04-15 | 2001-04-17 | Compuware Corporation | Computer software testing management |
CN101706753A (zh) * | 2009-12-11 | 2010-05-12 | 武汉虹信通信技术有限责任公司 | 一种基于Perl的单元测试框架及方法 |
US20120173929A1 (en) * | 2010-12-30 | 2012-07-05 | Uwe Bloching | System and method for testing a software unit of an application |
CN103019900A (zh) * | 2012-12-04 | 2013-04-03 | 北京奇虎科技有限公司 | 终端性能的检测结果显示方法和装置 |
CN103399814A (zh) * | 2013-07-16 | 2013-11-20 | 西安Tcl软件开发有限公司 | 自动化测试的方法及装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105528287A (zh) * | 2014-10-15 | 2016-04-27 | 三星Sds株式会社 | 用于代码的单元测试的装置及方法 |
CN106155897B (zh) * | 2015-04-16 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 一种业务处理方法及装置 |
CN106155897A (zh) * | 2015-04-16 | 2016-11-23 | 腾讯科技(深圳)有限公司 | 一种业务处理方法及装置 |
CN104899142A (zh) * | 2015-06-10 | 2015-09-09 | 北京嘀嘀无限科技发展有限公司 | 一种远程mock测试方法及装置 |
CN105630685A (zh) * | 2016-01-29 | 2016-06-01 | 广州酷狗计算机科技有限公司 | 程序接口测试方法及装置 |
CN107368406A (zh) * | 2016-05-11 | 2017-11-21 | 阿里巴巴集团控股有限公司 | 测试应用程序的方法、装置及设备 |
CN106294130A (zh) * | 2016-07-28 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种单元测试方法及装置 |
CN108763054A (zh) * | 2018-04-17 | 2018-11-06 | 平安科技(深圳)有限公司 | 测试案例的测试效果展示方法、电子装置及存储介质 |
CN108763054B (zh) * | 2018-04-17 | 2021-03-23 | 平安科技(深圳)有限公司 | 测试案例的测试效果展示方法、电子装置及存储介质 |
CN112116439A (zh) * | 2020-08-10 | 2020-12-22 | 杭州优行科技有限公司 | 一种清结算测试方法、装置、终端及存储介质 |
CN112767799A (zh) * | 2021-02-07 | 2021-05-07 | 江南大学 | 一种基于电磁学实验器材的软件构件封装方法 |
CN116822040A (zh) * | 2023-03-17 | 2023-09-29 | 中国人民解放军63620部队 | 基于虚函数的飞行器仿真模型的单元测试框架构建方法 |
CN116822040B (zh) * | 2023-03-17 | 2024-06-14 | 中国人民解放军63620部队 | 基于虚函数的飞行器仿真模型的单元测试框架构建方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103617120A (zh) | 一种单元测试方法和装置 | |
US8627296B1 (en) | Unified unit and integration test with automatic mock creation | |
CN109144515B (zh) | Dcs图形化算法组态的离线仿真方法和装置 | |
US9678726B1 (en) | Automatic generation of plugins for development tools | |
CN106293664A (zh) | 代码生成方法及装置 | |
CN102929656A (zh) | 使用浏览器中内置ActiveX插件的方法和客户端 | |
CN102207903A (zh) | 用于单元测试的自动重定向方法调用 | |
US9824000B1 (en) | Testing calling code dynamically with random error injection based on user-specified configuration | |
CN107832059B (zh) | 一种基于Makefile的代码静态分析方法和装置 | |
CN105589805A (zh) | 一种代码覆盖率报告的生成方法和装置 | |
CN103810099A (zh) | 代码跟踪方法及其系统 | |
CN110069736A (zh) | 页面加载方法及设备 | |
CN111159301A (zh) | 一种基于智能合约的数据创建方法、装置、设备及存储介质 | |
CN103678099B (zh) | 一种实现硬件平台与软件平台通讯的方法以及装置 | |
CN104765775A (zh) | 一种日志保存方法及装置 | |
CN102331961A (zh) | 并行模拟多个处理器的方法及系统、调度器 | |
CN108205596B (zh) | 实现核电厂严重事故分析计算程序仿真功能的方法 | |
CN112231165B (zh) | 基于链接库注入和内存映射方式的内存故障模拟方法 | |
CN113177292B (zh) | 一种通用的bim二次开发实现方法和装置 | |
CN115268986A (zh) | 一种低代码业务脚本运行方法及引擎装置 | |
CN111045891B (zh) | 基于java多线程的监控方法、装置、设备以及存储介质 | |
CN1770101A (zh) | 嵌入式检测对象 | |
CN109657458A (zh) | Ios中保护钥匙串数据的方法、存储介质、设备及系统 | |
CN104850494A (zh) | 一种用于存储系统测试的方法与设备 | |
CN103152224B (zh) | 一种实时动态监控模拟网络的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140305 |