CN101996130A - 软件测试系统 - Google Patents
软件测试系统 Download PDFInfo
- Publication number
- CN101996130A CN101996130A CN2009100564107A CN200910056410A CN101996130A CN 101996130 A CN101996130 A CN 101996130A CN 2009100564107 A CN2009100564107 A CN 2009100564107A CN 200910056410 A CN200910056410 A CN 200910056410A CN 101996130 A CN101996130 A CN 101996130A
- Authority
- CN
- China
- Prior art keywords
- test
- subsystem
- module
- software
- testing device
- 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
Abstract
本发明揭示了一种软件测试系统,用于测试软件的性能,包括:基于功能对软件的模块进行测试的模块测试装置;将模块组合成一个或多个子系统并对接口的通信能力进行测试的子系统测试装置;拼接各个子系统成为整体的软件系统并对整个软件系统进行测试的整系统测试装置;对测试结果进行评价的测试结果评价装置。采用本发明的技术方案,能够由软件测试系统自动实现对于一个或者多个软件的性能测试,实现黑盒测试的功能并且获得测试结果。
Description
技术领域
本发明涉及计算机软件的测试技术,尤其涉及一种软件测试系统。
背景技术
软件测试的目的是为了保证软件产品的最终质量,在软件开发的过程中,对软件产品进行质量控制。一般来说软件测试应由独立的产品评测中心负责,严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试记录进行分析,并根据回归测试情况撰写测试报告。测试是为了证明程序有错,而不能保证程序没有错误。
软件测试就是在受控制的条件下对系统或应用程序进行操作并评价操作结果的过程,所谓控制条件应包括正常条件与非正常条件。
软件测试过程中应该故意地去促使错误的发生,也就是事情在不该出现的时候出现或者在应该出现的时候没有出现。从本质上说,软件测试是“探测”,在“探测”中发现软件的毛病。
软件测试贯穿于软件定义与开发的整个周期,软件的需求规格说明书,结构设计及程序编码,都属于软件测试的对象。
软件测试包含白盒测试与黑盒测试,白盒测试是针对程序代码进行正确性检验的测试工作,黑盒测试独立于程序代码,从用户的角度,通过一定的测试步骤与测试案例,验证软件功能、性能等指标能否满足实际应用需求的测试工作。
黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
黑盒测试的优点包括:
(1)比较简单,不需要了解程序内部的代码及实现;
(2)与软件的内部实现无关;
(3)从用户角度出发,能很容易的知道用户会用到哪些功能,会遇到哪些问题;
(4)基于软件开发文档,所以也能知道软件实现了文档中的哪些功能;
(5)在做软件自动化测试时较为方便。
黑盒测试的缺点包括:
(1)不可能覆盖所有的代码,覆盖率较低,大概只能达到总代码量的30%;
(2)自动化测试的复用性较低。
白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。
这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。
白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、Z路径覆盖、程序变异。
白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。
白盒测试的优点包括:
(1)迫使测试人员去仔细思考软件的实现;
(2)可以检测代码中的每条分支和路径;
(3)揭示隐藏在代码中的错误;
(4)对代码的测试比较彻底;
(5)最优化。
白盒测试的缺点包括:
(1)昂贵;
(2)无法检测代码中遗漏的路径和数据敏感性错误;
(3)不验证规格的正确性。
发明内容
本发明旨在提供一种能够脱离人工控制自动运行的黑盒测试技术。
根据本发明,提出一种软件测试系统,用于测试一软件的性能,该软件测试系统包括:
模块测试装置,分割软件成为数个模块,每一个模块实现一清晰定义的功能,基于功能对每一个模块进行独立的测试;
子系统测试装置,耦合到模块测试装置,将模块组合成一个或多个子系统,子系统内的模块之间通过接口互相通信,子系统内的模块与子系统外的模块之间通过单一的接口通信,子系统测试装置测试子系统内部的模块之间的接口、以及子系统内部的模块与外部的模块之间进行通信的单一的接口的通信能力;
整系统测试装置,耦合到子系统测试装置,拼接各个子系统成为整体的软件系统,该整体的软件系统具有单一的输入接口和单一的输出接口,整系统测试装置测试该单一的输入接口和输出接口;
测试结果评价装置,与模块测试装置、子系统测试装置、整系统测试装置耦合,向模块测试装置、子系统测试装置、整系统测试装置提供测试输入数据,记录所述模块测试装置、子系统测试装置、整系统测试装置在测试过程中的结果数据,将得到的结果数据与预先保存的参考数据比较,得到测试结果评价。
根据本发明,还提出一种软件测试系统,用于测试多个软件的性能,该多个软件相互兼容,该软件测试系统包括:
多个软件测试分系统,每一个软件测试分系统用于测试一个软件的性能,每一个软件测试分系统包括:
模块测试装置,模块测试装置分割软件成为数个模块,每一个模块实现一清晰定义的功能,基于功能对每一个模块进行独立的测试;子系统测试装置,耦合到模块测试装置,将模块组合成一个或多个子系统,子系统内的模块之间通过接口互相通信,子系统内的模块与子系统外的模块之间通过单一的接口通信,子系统测试装置测试子系统内部的模块之间的接口、以及子系统内部的模块与外部的模块之间进行通信的单一的接口的通信能力;
整系统测试装置,耦合到子系统测试装置,拼接各个子系统成为整体的软件系统,该整体的软件系统具有单一的输入接口和单一的输出接口,整系统测试装置测试该单一的输入接口和输出接口;
测试结果评价装置,与模块测试装置、子系统测试装置、整系统测试装置耦合,向模块测试装置、子系统测试装置、整系统测试装置提供测试输入数据,记录模块测试装置、子系统测试装置、整系统测试装置在测试过程中的结果数据,将得到的结果数据与预先保存的参考数据比较,得到测试结果评价;
平行运行测试装置,耦合到各个软件测试分系统,平行运行测试装置向各个软件测试分系统中的测试结果评价装置提供同样的测试输入数据,并从各个软件测试分系统中的测试结果评价装置获取各自的结果数据,平行运行测试装置基于各个软件测试分系统各自的结果数据产生兼容性评价结果。
采用本发明的技术方案,能够由软件测试系统自动实现对于一个或者多个软件的性能测试,实现黑盒测试的功能并且获得测试结果。
附图说明
图1揭示了根据本发明的一个实施例的软件测试系统的结构图。
图2揭示了根据本发明的另一个实施例的软件测试系统的结构图。
具体实施方式
参考图1所示,揭示了一种软件测试系统10,该软件测试系统10用于测试一软件的性能,该软件测试系统10包括:模块测试装置11、子系统测试装置12、整系统测试装置13、测试结果评价装置14。
模块测试装置11分割该软件成为数个模块,每一个模块实现一清晰定义的功能,基于所定义的功能对每一个模块进行独立的测试。在设计的好的软件系统中,每个模块完成一个清晰定义的子功能,而且这个子功能和同级其它模块的功能之间没有相互依赖关系。因此,有可能把每个模块作为单独的实体来测试,而且比较容易设计检验模块正确性的设计方案。模块测试的目的是保证每个模块作为一个单元能正确运行。模块测试装置11进行的测试过程中发现的往往是编码和详细设计的错误。
子系统测试装置12耦合到模块测试装置11,将模块组合成一个或多个子系统,子系统内的模块之间通过接口互相通信,子系统内的模块与子系统外的模块之间通过单一的接口通信,子系统测试装置12测试子系统内部的模块之间的接口、以及子系统内部的模块与外部的模块之间进行通信的单一的接口的通信能力。子系统测试装置12进行的子系统测试是把通过模块测试的各个模块放在一起形成一个子系统来测试。各模块间的协调和通信是子系统测试过程中的主要问题。子系统测试装置12重点测试模块的接口。
整系统测试装置13耦合到子系统测试装置12,拼接各个子系统成为整体的软件系统,该整体的软件系统具有单一的输入接口和单一的输出接口,整系统测试装置13测试该单一的输入接口和输出接口。整系统测试装置13进行的系统测试是把经过测试的子系统配装成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供说明书中指定的功能,而且系统的动态特性也符合预定要求。在这个测试过程中发现的往往是软件设计的错误,也可能发现说明书中的错误。不论是子系统测试装置12进行的子系统测试还是整系统测试装置13进行的系统测试,都兼有检验和组装两重含义,通常称为集成测试。
测试结果评价装置14,与模块测试装置11、子系统测试装置12、整系统测试装置13耦合,向模块测试装置11、子系统测试装置12、整系统测试装置13提供测试输入数据,记录模块测试装置11、子系统测试装置12、整系统测试装置13在测试过程中的结果数据,将得到的结果数据与预先保存的参考数据比较,得到测试结果评价。测试结果评价装置14是验证系统确实能够满足用户的需求,在测试结果评价装置14进行的结果评价中,发现的往往是系统需求说明书中的错误。
本发明除了能够对单个的软件进行测试,还提出一种能够对多个兼容的软件进行测试的软件测试系统,以用于系统升级时的测试。
参考图2所示,揭示了一种用于测试多个软件的性能的软件测试系统20,被测试的多个软件是相互兼容的,该软件测试系统20包括多个软件测试分系统25。每一个软件测试分系统25用于测试一个软件的性能,每一个软件测试分系统25包括:模块测试装置21、子系统测试装置22、整系统测试装置23、测试结果评价装置24。
模块测试装置21分割该软件成为数个模块,每一个模块实现一清晰定义的功能,基于所定义的功能对每一个模块进行独立的测试。在设计的好的软件系统中,每个模块完成一个清晰定义的子功能,而且这个子功能和同级其它模块的功能之间没有相互依赖关系。因此,有可能把每个模块作为单独的实体来测试,而且比较容易设计检验模块正确性的设计方案。模块测试的目的是保证每个模块作为一个单元能正确运行。模块测试装置21进行的测试过程中发现的往往是编码和详细设计的错误。
子系统测试装置22耦合到模块测试装置21,将模块组合成一个或多个子系统,子系统内的模块之间通过接口互相通信,子系统内的模块与子系统外的模块之间通过单一的接口通信,子系统测试装置22测试子系统内部的模块之间的接口、以及子系统内部的模块与外部的模块之间进行通信的单一的接口的通信能力。子系统测试装置22进行的子系统测试是把通过模块测试的各个模块放在一起形成一个子系统来测试。各模块间的协调和通信是子系统测试过程中的主要问题。子系统测试装置22重点测试模块的接口。
整系统测试装置23耦合到子系统测试装置22,拼接各个子系统成为整体的软件系统,该整体的软件系统具有单一的输入接口和单一的输出接口,整系统测试装置23测试该单一的输入接口和输出接口。整系统测试装置23进行的系统测试是把经过测试的子系统配装成一个完整的系统来测试。在这个过程中不仅应该发现设计和编码的错误,还应该验证系统确实能提供说明书中指定的功能,而且系统的动态特性也符合预定要求。在这个测试过程中发现的往往是软件设计的错误,也可能发现说明书中的错误。不论是子系统测试装置22进行的子系统测试还是整系统测试装置23进行的系统测试,都兼有检验和组装两重含义,通常称为集成测试。
测试结果评价装置24,与模块测试装置21、子系统测试装置22、整系统测试装置23耦合,向模块测试装置21、子系统测试装置22、整系统测试装置23提供测试输入数据,记录模块测试装置21、子系统测试装置22、整系统测试装置23在测试过程中的结果数据,将得到的结果数据与预先保存的参考数据比较,得到测试结果评价。测试结果评价装置24是验证系统确实能够满足用户的需求,在测试结果评价装置24进行的结果评价中,发现的往往是系统需求说明书中的错误。
该软件测试系统20还包括平行运行测试装置26,耦合到各个软件测试分系统25,平行运行测试装置26向各个软件测试分系统25中的测试结果评价装置24提供同样的测试输入数据,并从各个软件测试分系统25中的测试结果评价装置24获取各自的结果数据,平行运行测试装置26基于各个软件测试分系统各自的结果数据产生兼容性评价结果。
关系重大的软件产品的升级换代产品在验收之后往往不立即投入生产运行,而是要在经过一段时间的平行考验。所谓平行运行,就是同时运行新开发出来的系统,和将要被它取代的旧系统,以便比较新旧系统的处理结果。这样做的具体目的有以下几点:
(1)可以在准生产环境中运行新系统而又不冒风险
(2)用户能有一段熟悉新系统的时间
(3)可以验证用户指南和使用手册之类的文档
(4)能够以准生产模式对新系统进行全负荷测试,可以用测试结果验证性能指针。
图2所示的实施例即提出一种能够对多个兼容的软件进行测试的软件测试系统。
采用本发明的技术方案,能够由软件测试系统自动实现对于一个或者多个软件的性能测试,实现黑盒测试的功能并且获得测试结果。
Claims (2)
1.一种软件测试系统,用于测试一软件的性能,其特征在于,包括:
模块测试装置,分割所述软件成为数个模块,每一个模块实现一清晰定义的功能,基于所述的功能对每一个模块进行独立的测试;
子系统测试装置,耦合到所述模块测试装置,将所述模块组合成一个或多个子系统,所述子系统内的模块之间通过接口互相通信,所述子系统内的模块与子系统外的模块之间通过单一的接口通信,所述子系统测试装置测试子系统内部的模块之间的接口、以及子系统内部的模块与外部的模块之间进行通信的单一的接口的通信能力;
整系统测试装置,耦合到所述子系统测试装置,拼接各个子系统成为整体的软件系统,该整体的软件系统具有单一的输入接口和单一的输出接口,所述整系统测试装置测试该单一的输入接口和输出接口;
测试结果评价装置,与所述模块测试装置、子系统测试装置、整系统测试装置耦合,向所述模块测试装置、子系统测试装置、整系统测试装置提供测试输入数据,记录所述模块测试装置、子系统测试装置、整系统测试装置在测试过程中的结果数据,将得到的结果数据与预先保存的参考数据比较,得到测试结果评价。
2.一种软件测试系统,用于测试多个软件的性能,其特征在于,该多个软件相互兼容,所述软件测试系统包括:
多个软件测试分系统,每一个软件测试分系统用于测试一个软件的性能,每一个软件测试分系统包括:
模块测试装置,模块测试装置分割所述软件成为数个模块,每一个模块实现一清晰定义的功能,基于所述的功能对每一个模块进行独立的测试;
子系统测试装置,耦合到所述模块测试装置,将所述模块组合成一个或多个子系统,所述子系统内的模块之间通过接口互相通信,所述子系统内的模块与子系统外的模块之间通过单一的接口通信,所述子系统测试装置测试子系统内部的模块之间的接口、以及子系统内部的模块与外部的模块之间进行通信的单一的接口的通信能力;
整系统测试装置,耦合到所述子系统测试装置,拼接各个子系统成为整体的软件系统,该整体的软件系统具有单一的输入接口和单一的输出接口,所述整系统测试装置测试该单一的输入接口和输出接口;
测试结果评价装置,与所述模块测试装置、子系统测试装置、整系统测试装置耦合,向所述模块测试装置、子系统测试装置、整系统测试装置提供测试输入数据,记录所述模块测试装置、子系统测试装置、整系统测试装置在测试过程中的结果数据,将得到的结果数据与预先保存的参考数据比较,得到测试结果评价;
平行运行测试装置,耦合到所述各个软件测试分系统,所述平行运行测试装置向各个软件测试分系统中的测试结果评价装置提供同样的测试输入数据,并从各个软件测试分系统中的测试结果评价装置获取各自的结果数据,所述平行运行测试装置基于各个软件测试分系统各自的结果数据产生兼容性评价结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100564107A CN101996130A (zh) | 2009-08-13 | 2009-08-13 | 软件测试系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100564107A CN101996130A (zh) | 2009-08-13 | 2009-08-13 | 软件测试系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101996130A true CN101996130A (zh) | 2011-03-30 |
Family
ID=43786306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100564107A Pending CN101996130A (zh) | 2009-08-13 | 2009-08-13 | 软件测试系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101996130A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105490829A (zh) * | 2014-10-13 | 2016-04-13 | 华为技术有限公司 | 控制报文传输的方法、装置和网络功能虚拟化系统 |
CN105988051A (zh) * | 2015-07-28 | 2016-10-05 | 北京长城华冠汽车科技股份有限公司 | 一种子系统的单体测试装置和单体测试方法 |
CN106021113A (zh) * | 2016-05-31 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种精准测试的实现方法 |
CN109036600A (zh) * | 2018-06-19 | 2018-12-18 | 中国核电工程有限公司 | 能动与非能动相结合的堆腔注水冷却系统调试方法 |
CN109388575A (zh) * | 2018-10-29 | 2019-02-26 | 北京京航计算通讯研究所 | 静态分析辅助方法 |
CN109388574A (zh) * | 2018-10-29 | 2019-02-26 | 北京京航计算通讯研究所 | 静态分析辅助系统 |
CN111291375A (zh) * | 2020-02-25 | 2020-06-16 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 应用程序评估方法、装置、计算机设备和存储介质 |
CN112650668A (zh) * | 2019-10-12 | 2021-04-13 | 中国石油化工股份有限公司 | 物探解释软件测试方法 |
-
2009
- 2009-08-13 CN CN2009100564107A patent/CN101996130A/zh active Pending
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016058409A1 (zh) * | 2014-10-13 | 2016-04-21 | 华为技术有限公司 | 控制报文传输的方法、装置和网络功能虚拟化系统 |
CN105490829A (zh) * | 2014-10-13 | 2016-04-13 | 华为技术有限公司 | 控制报文传输的方法、装置和网络功能虚拟化系统 |
US10284467B2 (en) | 2014-10-13 | 2019-05-07 | Huawei Technologies Co., Ltd. | Method and apparatus for controlling packet transmission and network functions virtualization system |
CN105988051B (zh) * | 2015-07-28 | 2019-08-23 | 北京长城华冠汽车科技股份有限公司 | 一种子系统的单体测试装置和单体测试方法 |
CN105988051A (zh) * | 2015-07-28 | 2016-10-05 | 北京长城华冠汽车科技股份有限公司 | 一种子系统的单体测试装置和单体测试方法 |
CN106021113A (zh) * | 2016-05-31 | 2016-10-12 | 浪潮电子信息产业股份有限公司 | 一种精准测试的实现方法 |
CN109036600A (zh) * | 2018-06-19 | 2018-12-18 | 中国核电工程有限公司 | 能动与非能动相结合的堆腔注水冷却系统调试方法 |
CN109036600B (zh) * | 2018-06-19 | 2021-09-17 | 中国核电工程有限公司 | 能动与非能动相结合的堆腔注水冷却系统调试方法 |
CN109388574A (zh) * | 2018-10-29 | 2019-02-26 | 北京京航计算通讯研究所 | 静态分析辅助系统 |
CN109388575A (zh) * | 2018-10-29 | 2019-02-26 | 北京京航计算通讯研究所 | 静态分析辅助方法 |
CN112650668A (zh) * | 2019-10-12 | 2021-04-13 | 中国石油化工股份有限公司 | 物探解释软件测试方法 |
CN111291375A (zh) * | 2020-02-25 | 2020-06-16 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 应用程序评估方法、装置、计算机设备和存储介质 |
CN111291375B (zh) * | 2020-02-25 | 2022-04-26 | 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) | 应用程序评估方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101996130A (zh) | 软件测试系统 | |
WO2017000424A1 (zh) | 协议检测方法及装置 | |
US7958400B2 (en) | Detecting unexpected impact of software changes using coverage analysis | |
CN103377120B (zh) | 一种应用程序测试方法及装置 | |
CN101996069A (zh) | 用于软件测试的测试代码生成系统 | |
CN100428252C (zh) | 一种功能覆盖率测试度量系统和方法 | |
CN1693921B (zh) | 检查物理系统模型的鲁棒性 | |
CN103425573A (zh) | 代码测试信息收集方法及系统 | |
CN102445941B (zh) | 列控系统车载设备互联互通测试结果自动判定及分析方法 | |
CN102789543A (zh) | 基于多试验信息的可靠性综合评估方法 | |
CN102968371B (zh) | 测试java api单元组件的方法及装置 | |
CN103376340A (zh) | 一种转接板、多平台串行测试系统及方法 | |
CN105653455B (zh) | 一种程序漏洞的检测方法及检测系统 | |
CN100493005C (zh) | 一种基于ttcan的燃料电池汽车整车通讯网络测试系统 | |
CN111767232B (zh) | 一种装备测试程序集验证系统 | |
CN116467211B (zh) | 一种基于数字化仿真环境的系统级测试验证方法 | |
CN101673200A (zh) | 用户输入模型的检测方法及装置 | |
CN201037955Y (zh) | 一种基于ttcan的燃料电池汽车整车通讯网络测试装置 | |
CN102043708A (zh) | Erp软件测试系统 | |
CN113204484B (zh) | 一种面向软件生命周期的装备软件测试性设计方法 | |
CN102708055B (zh) | 软件可信性测试方法及装置 | |
CN102645609B (zh) | Jtag链路测试装置及其测试方法 | |
CN109960238B (zh) | 一种车辆诊断仪自动化测试系统和方法 | |
CN104572434A (zh) | 用于软件测试的测试代码生成系统 | |
CN101191818A (zh) | 一种芯片测试的方法、系统及一种测试设备 |
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 |
Application publication date: 20110330 |