CN103336739B - 软件测试方法及平台 - Google Patents
软件测试方法及平台 Download PDFInfo
- Publication number
- CN103336739B CN103336739B CN201310231827.9A CN201310231827A CN103336739B CN 103336739 B CN103336739 B CN 103336739B CN 201310231827 A CN201310231827 A CN 201310231827A CN 103336739 B CN103336739 B CN 103336739B
- Authority
- CN
- China
- Prior art keywords
- module
- module collection
- defect
- under testing
- software
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000012360 testing method Methods 0.000 claims abstract description 101
- 230000007547 defect Effects 0.000 claims abstract description 76
- 239000002131 composite material Substances 0.000 claims description 7
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013522 software testing Methods 0.000 description 2
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种软件测试方法及平台,读取用于实现待测软件功能的代码;所述代码包括至少一个程序块,对所述代码进行语法和语义分析,获取所述程序块之间的关联信息,根据所述关联信息,将具有关联的所述程序块组合成至少一个模块集,对所述每个模块集进行缺陷分析,判断所述待测软件是否合格。本发明通过语法和语义分析,获取到代码的关联信息,自动地将具有关联的程序块组合成模块集,然后对模块集进行缺陷分析,来判断软件是否合格,不再需要测试人员手动对代码进行划分,可以提高软件测试的效率。
Description
技术领域
本发明涉及计算机技术,尤其涉及一种软件测试方法及平台。
背景技术
随着用户对软件需求的不断提升,软件越来越复杂,软件的规模也越来越大。软件在正式投入使用之前,需要对用于实现软件功能的代码进行检测,以获取到软件中可能存在的问题或者缺陷,以对软件进行修正和完善。
目前,在对软件进行测试时,测试人员需要手动地将用于实现软件功能的代码划分为多个模块,然后对模块进行测试。在测试较为复杂的代码时,如果通过手动方式对代码进行划分,代码测试的效率就会较低。
发明内容
本发明提供一种软件测试方法及平台,用于提高软件测试的效率。
为了实现上述目的,本发明提供了一种软件测试方法,包括:
读取用于实现待测软件功能的代码;所述代码包括至少一个程序块;
对所述代码进行语法和语义分析,获取所述程序块之间的关联信息;
根据所述关联信息,将具有关联的所述程序块组合成至少一个模块集;
对所述每个模块集进行缺陷分析,判断所述待测软件是否合格。
如上所述的软件测试方法,所述对所述每个模块集进行缺陷分析,判断所述待测软件是否合格包括:
对每个模块集进行缺陷扫描,获取每个模块集存在的缺陷个数;
获取所有模块集存在的缺陷个数之和,作为所述待测软件存在的总缺陷个数;
如果所述总缺陷个数小于或者等于预设的个数门限,判断出所述待测软件合格。
如上所述的软件测试方法,所述对每个模块集进行缺陷扫描之后还包括:
获取每个模块集存在的缺陷信息;
根据每个模块集存在的缺陷信息,生成所述待测软件的测试结果;
输出所述测试结果。
为了实现上述目的,本发明提供了一种软件测试平台,包括:
读取模块,用于读取用于实现待测软件功能的代码;所述代码包括至少一个程序块;
分析模块,用于对所述代码进行语法和语义分析,获取所述程序块之间的关联信息;
组合模块,用于根据所述关联信息,将具有关联的所述程序块组合成至少一个模块集;
判断模块,用于对所述每个模块集进行缺陷分析,判断所述待测软件是否合格。
如上所述的软件测试平台,所述判断模块包括:
扫描单元,用于对每个模块集进行缺陷扫描,获取每个模块集存在的缺陷个数;
获取单元,用于获取所有模块集存在的缺陷个数之和,作为所述待测软件存在的总缺陷个数;
判断单元,用于如果所述总缺陷个数小于或者等于预设的个数门限,判断出所述待测软件合格。
如上所述的软件测试平台,还包括:
获取模块,用于获取每个模块集存在的缺陷信息;
生成模块,用于根据每个模块集存在的缺陷信息,生成所述待测软件的测试结果;
输出模块,用于输出所述测试结果。
本发明提供了一种软件测试方法及平台,读取用于实现待测软件功能的代码;所述代码包括至少一个程序块,对所述代码进行语法和语义分析,获取所述程序块之间的关联信息,根据所述关联信息,将具有关联的所述程序块组合成至少一个模块集,对所述每个模块集进行缺陷分析,判断所述待测软件是否合格。本发明通过语法和语义分析,获取到代码的关联信息,自动地将具有关联的程序块组合成模块集,然后对模块集进行缺陷分析,来判断待测软件是否合格,不再需要测试人员手动对代码进行划分,可以提高软件测试的效率。
附图说明
图1为本发明实施例提供的一种软件测试方法示意图。
图2为本发明实施例提供的一种软件测试平台结构示意图。
具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
图1为本发明实施例提供的一种软件测试方法示意图。本实施例中,该方法的执行主体为软件测试平台。如图1所示,该软件测试方法包括以下步骤:
101、读取用于实现待测软件功能的代码;所述代码包括至少一个程序块。
102、对所述代码进行语法和语义分析,获取所述程序块之间的关联信息。
103、根据所述关联信息,将具有关联的所述程序块组合成至少一个模块集。
104、对所述每个模块集进行缺陷分析,判断所述待测软件是否合格。
具体地,将用于实现待测软件功能的代码读入到软件测试平台中。在本实施例中,该代码包括至少一个程序块。其中,程序块是构成待测软件的基本单元。代码中的各程序块之间存在一定的关联关系。
在获取到代码之后,软件测试平台对代码进行语法和语义分析,以获取到各程序块之间关联信息。在本实施例中,软件测试平台可以将程序块之间的关联信息,以关联信息表的形式展现。
软件测试平台在获取到程序块之间的关联信息后,根据关联信息,将具有关联的各程序块组合成至少一个模块集。同一个程序块可以属于不同的模块集。每个模块集之间彼此没有关联。通过上述处理后,软件测试平台就可以把用于实现待测软件功能的代码分割成多个互不相关的模块集。
进一步地,软件测试平台对每个模块集进行缺陷分析,以判断待测软件是否合格。具体地,对每个模块集进行缺陷扫描,获取每个模块集存在的缺陷个数,获取所有模块集存在的缺陷个数之和,作为待测软件存在的总缺陷个数。软件测试平台可以预先设置个数门限。在获取到总缺陷个数后,软件测试平台将总缺陷个数与预设的个数门限进行比较,如果待测软件的总缺陷个数小于或者等于预设的个数门限,可以判断出待测软件合格。可选地,在软件测试平台上安装软件缺陷检测系统(DefectTestingSystem,简称为DTS),通过该DTS对每个模块集的缺陷进行分析。
可选地,在对每个模块集进行缺陷扫描的过程中,软件测试平台还可以获取每个模块集存在的缺陷信息,并根据每个模块集存在的缺陷信息,生成待测软件的测试结果,并且可以输出该测试结果。可选地,软件测试平台可以将待测软件的判断结果,携带在该测试结果中输出给测试人员。
软件测试平台可以包括一个显示界面,通过该显示界面向测试人员显示测试结果。测试人员根据测试结果中包括缺陷信息,修改或者完善待测软件的代码,以提高待测软件质量,软件测试平台还可以将测试结果以表格的格式打印出来。
本实施例提供的软件测试方法,读取用于实现待测软件功能的代码;所述代码包括至少一个程序块,对所述代码进行语法和语义分析,获取所述程序块之间的关联信息,根据所述关联信息,将具有关联的所述程序块组合成至少一个模块集,对所述每个模块集进行缺陷分析,判断所述待测软件是否合格。本实施例通过语法和语义分析,获取到代码的关联信息,自动地将具有关联的程序块组合成模块集,然后对模块集进行缺陷分析,来判断待测软件是否合格,不再需要测试人员手动对代码进行划分,可以提高软件测试的效率。
在实际测试中,当待测软件出现测试不合格时,测试人员可以需要调用该待测软件的测试结果,获取到待测软件的缺陷信息,然后根据该缺陷信息对待测软件进行修改、添加或者删除等操作。在本实施例中,将具有关联关系的程序块组合成模块集后,在一个模块集出现错误后,可以相应地修改与该模块集下面的程序块,而不需要修改其他模块。而且在对修改或者完善后代码进行回归测试时,只需要扫描修改过的各模块集,可以不再进行全局扫描,从而大大缩短待测软件回归测试的检测时间,提高软件测试效率。
进一步地,通过软件测试平台来获取到程序块之间的关联信息,并自动地将具有关联关系的程序块组成模块集,将代码进行划分,避免测试人员在手动对代码进行划分时存在的不准确的问题,可以提高待测软件测试的准确性。
图2为本发明实施例提供的一种软件测试平台结构示意图。如图2所示,该软件测试平台包括:读取模块21、分析模块22、组合模块23和判断模块24。
具体地,读取模块21将用于实现待测软件功能的代码读入到软件测试平台中。在本实施例中,该代码包括至少一个程序块。其中,程序块是构成待测软件的基本单元。代码中的各程序块之间存在一定的关联关系。
读取模块21与分析模块22连接。在读取模块21读取到代码后,分析模块22对代码进行语法和语义分析,以获取到各程序块之间的关联信息。在本实施例中,分析模块22可以将程序块之间的关联信息,以关联信息表的形式展现。
分析模块22与组合模块23连接,在分析模块22获取到程序块之间的关联信息后,组合模块23可以根据关联信息,将具有关联的各程序块组合成至少一个模块集。同一个程序块可以属于不同的模块集。每个模块集之间彼此没有关联。通过上述处理后,软件测试平台就可以把用于实现待测软件功能的代码分割成多个互不相关的模块集。
组合模块23与判断模块24连接,在组合模块23将待测软件划分成多个模块集之后,判断模块24对每个模块集进行缺陷分析,以判断待测软件是否合格。在本实施例中,判断模块24一可选的结构实现方式包括:扫描单元241、获取单元242和判断单元243。
其中,扫描单元241对每个模块集进行缺陷扫描,以获取每个模块集存在的缺陷个数,扫描单元241与获取单元242连接,获取单元242获取所有模块集存在的缺陷个数之和,作为待测软件存在的总缺陷个数。判断单元243将待测软件的总缺陷个数与预设的个数门限进行比较,如果该总缺陷个数小于或者等于预设的个数门限,判断单元243可以判断出待测软件合格。可选地,判断模块24的功能可以通过软件方式来实现。在软件测试平台安装DTS,通过该DTS对每个模块集的缺陷进行分析。
可选地,软件测试平台还可以包括获取模块25、生成模块26和输出模块27。
在扫描单元241对每个模块集进行缺陷扫描的过程中,获取模块25可以获取每个模块集存在的缺陷信息,获取模块25与生成模块26连接,生成模块26可以根据每个模块集存在的缺陷信息,生成待测软件的测试结果,通过输出模块27输出该测试结果。可选地,输出模块27还可以与判断单元243连接,将判断单元243的判断结果携带在该测试结果中输出给测试人员。
软件测试平台可以包括一个显示界面28,通过该显示界面28向测试人员显示测试结果。测试人员根据测试结果中包括缺陷信息,修改或者完善待测软件的代码,以提高待测软件质量,软件测试平台还可以将测试结果以表格的格式打印出来。
本实施例提供的软件测试平台,读取用于实现待测软件功能的代码;所述代码包括至少一个程序块,对所述代码进行语法和语义分析,获取所述程序块之间的关联信息,根据所述关联信息,将具有关联的所述程序块组合成至少一个模块集,对所述每个模块集进行缺陷分析,判断所述待测软件是否合格。本实施例通过语法和语义分析,获取到代码的关联信息,自动地将具有关联的程序块组合成模块集,然后对模块集进行缺陷分析,来判断待测软件是否合格,不再需要测试人员手动对代码进行划分,可以提高软件测试的效率。
在实际测试中,当待测软件出现测试不合格时,测试人员可以需要调用该待测软件的测试结果,获取到待测软件的缺陷信息,然后根据该缺陷信息对待测软件进行修改、添加或者删除等操作。在本实施例中,将具有关联关系的程序块组合成模块集后,在一个模块集出现错误后,可以相应地修改与该模块集下面的程序块,而不需要修改其他模块。而且在对修改或者完善后代码进行回归测试时,只需要扫描修改过的各模块集,可以不再进行全局扫描,从而大大缩短待测软件回归测试的检测时间,提高软件测试效率。
进一步地,通过软件测试平台来获取到程序块之间的关联信息,并自动地将具有关联关系的程序块组成模块集,将代码进行划分,避免测试人员在手动对代码进行划分时存在的不准确的问题,可以提高待测软件测试的准确性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (2)
1.一种软件测试方法,其特征在于,包括:
读取用于实现待测软件功能的代码;所述代码包括至少一个程序块;
对所述代码进行语法和语义分析,获取所述程序块之间的关联信息;
根据所述关联信息,将具有关联的所述程序块组合成至少一个模块集;其中,每个模块集之间没有关联;
对所述每个模块集进行缺陷分析,判断所述待测软件是否合格;
所述对所述每个模块集进行缺陷分析,判断所述待测软件是否合格包括:
对每个模块集进行缺陷扫描,获取每个模块集存在的缺陷个数;
获取所有模块集存在的缺陷个数之和,作为所述待测软件存在的总缺陷个数;
如果所述总缺陷个数小于或者等于预设的个数门限,判断出所述待测软件合格;
所述对每个模块集进行缺陷扫描之后还包括:
获取每个模块集存在的缺陷信息;
根据每个模块集存在的缺陷信息,生成所述待测软件的测试结果;输出所述测试结果。
2.一种软件测试平台,其特征在于,包括:
读取模块,用于读取用于实现待测软件功能的代码;所述代码包括至少一个程序块;
分析模块,用于对所述代码进行语法和语义分析,获取所述程序块之间的关联信息;
组合模块,用于根据所述关联信息,将具有关联的所述程序块组合成至少一个模块集;其中,每个模块集之间没有关联;
判断模块,用于对所述每个模块集进行缺陷分析,判断所述待测软件是否合格;
所述判断模块包括:
扫描单元,用于对每个模块集进行缺陷扫描,获取每个模块集存在的缺陷个数;
获取单元,用于获取所有模块集存在的缺陷个数之和,作为所述待测软件存在的总缺陷个数;
判断单元,用于如果所述总缺陷个数小于或者等于预设的个数门限,判断出所述待测软件合格;
还包括:
获取模块,用于获取每个模块集存在的缺陷信息;
生成模块,用于根据每个模块集存在的缺陷信息,生成所述待测软件的测试结果;
输出模块,用于输出所述测试结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310231827.9A CN103336739B (zh) | 2013-06-09 | 2013-06-09 | 软件测试方法及平台 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310231827.9A CN103336739B (zh) | 2013-06-09 | 2013-06-09 | 软件测试方法及平台 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103336739A CN103336739A (zh) | 2013-10-02 |
CN103336739B true CN103336739B (zh) | 2016-01-06 |
Family
ID=49244909
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310231827.9A Active CN103336739B (zh) | 2013-06-09 | 2013-06-09 | 软件测试方法及平台 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103336739B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106649110B (zh) * | 2016-12-15 | 2023-09-15 | 中标软件有限公司 | 软件测试方法及系统 |
CN107220176A (zh) * | 2017-05-19 | 2017-09-29 | 郑州云海信息技术有限公司 | 一种基于预估缺陷的软件测试方法 |
CN109375606A (zh) * | 2018-09-21 | 2019-02-22 | 北京广利核系统工程有限公司 | 一种算法库测试方法 |
CN112527634B (zh) * | 2020-11-25 | 2023-06-02 | 中国联合网络通信集团有限公司 | 程序划分方法及装置、软件测试方法及平台 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286132A (zh) * | 2008-06-02 | 2008-10-15 | 北京邮电大学 | 一种基于软件缺陷模式的测试方法及系统 |
CN101937388A (zh) * | 2009-12-17 | 2011-01-05 | 北京测腾信息技术有限公司 | 一种高可扩展性和可维护性的源代码缺陷检测方法及装置 |
CN102521126A (zh) * | 2011-12-05 | 2012-06-27 | 北京邮电大学 | 基于模块分解技术的软件缺陷检测系统的复杂性分析方法 |
CN102819490A (zh) * | 2012-07-20 | 2012-12-12 | 北京邮电大学 | 一种基于给定缺陷描述信息进行软件测试的方法及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697144A (zh) * | 2009-10-28 | 2010-04-21 | 中兴通讯股份有限公司 | 一种软件测试方法及测试装置 |
-
2013
- 2013-06-09 CN CN201310231827.9A patent/CN103336739B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101286132A (zh) * | 2008-06-02 | 2008-10-15 | 北京邮电大学 | 一种基于软件缺陷模式的测试方法及系统 |
CN101937388A (zh) * | 2009-12-17 | 2011-01-05 | 北京测腾信息技术有限公司 | 一种高可扩展性和可维护性的源代码缺陷检测方法及装置 |
CN102521126A (zh) * | 2011-12-05 | 2012-06-27 | 北京邮电大学 | 基于模块分解技术的软件缺陷检测系统的复杂性分析方法 |
CN102819490A (zh) * | 2012-07-20 | 2012-12-12 | 北京邮电大学 | 一种基于给定缺陷描述信息进行软件测试的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103336739A (zh) | 2013-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828903B (zh) | 自动化测试方法、装置、计算机装置及存储介质 | |
CN102662828B (zh) | 一种实现软件自动测试的方法及装置 | |
CN103336739B (zh) | 软件测试方法及平台 | |
CN104951400B (zh) | 对产品进行测试的方法和装置 | |
CN103235759A (zh) | 测试用例生成方法和装置 | |
CN108415830A (zh) | 一种软件测试用例的生成方法及装置 | |
CN102999417B (zh) | 自动化测试管理系统及方法 | |
CN106059853A (zh) | 一种网络连通性测试方法及装置 | |
JP2012503808A (ja) | ラスターイメージプロセッサの自動テスト方法およびシステム | |
CN102043720A (zh) | 利用sql语句自动生成测试数据的方法和装置 | |
CN116954624B (zh) | 基于软件开发包的编译方法、软件开发系统及服务器 | |
CN106294109B (zh) | 获取缺陷代码的方法及装置 | |
CN105653455A (zh) | 一种程序漏洞的检测方法及检测系统 | |
CN112148591A (zh) | 一种办公软件兼容性测试系统及方法 | |
CN101673200A (zh) | 用户输入模型的检测方法及装置 | |
CN115269444B (zh) | 代码静态检测方法、装置及服务器 | |
CN112834752B (zh) | 适用于大批量人群的血糖标准化测量系统、方法、终端及介质 | |
CN115963379A (zh) | 一种电路板的自动化测试方法、装置、设备及存储介质 | |
CN112527634B (zh) | 程序划分方法及装置、软件测试方法及平台 | |
CN105227333B (zh) | 网元设备数据维护的方法和装置 | |
CN115658460A (zh) | 一种基于云端与车机端接口的自动化性能测试方法及系统 | |
CN115409799A (zh) | Led芯片自动针痕检测方法、装置、介质及电子设备 | |
CN110704326A (zh) | 一种测试分析方法及装置 | |
CN112214403B (zh) | 一种基于保护装置模型文件的自动测试方法、装置及系统 | |
CN114416514B (zh) | 一种基于测试封装Mapping自动检查校验方法及系统 |
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 |