CN107832232A - 基于模型的软件测试方法 - Google Patents
基于模型的软件测试方法 Download PDFInfo
- Publication number
- CN107832232A CN107832232A CN201711344817.0A CN201711344817A CN107832232A CN 107832232 A CN107832232 A CN 107832232A CN 201711344817 A CN201711344817 A CN 201711344817A CN 107832232 A CN107832232 A CN 107832232A
- Authority
- CN
- China
- Prior art keywords
- model
- test
- abstract
- software
- testing
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
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)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及基于模型的软件测试方法,其包括步骤S01:系统分析,分析被测试软件的系统特性;S02:建模,根据所选择的模型对被测试软件进行建模;S03:生成抽象测试,从模型生成抽象测试;S04:具体化抽象测试,把高层的抽象测试转化为可执行的具体测试;S05:执行具体测试,在被测系统上执行具体的测试用例;S06:分析测试结果,得到测试结果后,必须确定产生该故障的原因并采取纠正措施。本发明可以根据待测软件各自的不同特性,选择行之有效的测试模型,使得测试效果立竿见影。
Description
技术领域
本发明涉及软件测试领域,具体涉及一种基于模型的软件测试方法。
背景技术
软件(中国大陆及香港用语,台湾称作软体,英文:Software)是一系列按照特定顺序组织的计算机数据和指令的集合。一般来讲软件被划分为系统软件、应用软件和介于这两者之间的中间件。软件并不只是包括可以在计算机(这里的计算机是指广义的计算机)上运行的电脑程序,与这些电脑程序相关的文档一般也被认为是软件的一部分。简单的说软件就是程序加文档的集合体。
软件被开发出来以后投入正式运行之前都需要对软件的功能进行测试,为了发现程序中的错误而执行程序的过程 它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness)、完全度(completeness)和质量(quality)的软件过程;是SQA(software quality assurance)的重要子域。软件测试的目标:(1)测试是为了发现程序中的错误而执行程序的过程;(2)好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;(3)成功的测试是发现了至今为止尚未发现的错误的测试。软件测试的内容:软件测试主要工作内容是验证(verification)和确认( validation ),下面分别给出其概念:验证(verification)是保证软件正确地实现了一些特定功能的一系列活动,即保证软件做了你所期望的事情。 1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程; 2.程序正确性的形式证明,即采用形式理论证明程序符号设一计规约规定的过程; 3.评市、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。 确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件以正确的方式来做了这个事件(Do it right) 1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性; 2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。 软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期问各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。
现有技术的缺点在于:软件测试均是在固定的测试环境下进行测试,使得软件测试的结果不够准确、最终得到的软件性能在运行过程任然会出现各种问题,从而无法真正的完成软件测试的目的。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于模型的软件测试方法,可以根据待测软件各自的不同特性,选择行之有效的测试模型,使得测试效果立竿见影。
本发明的目的是通过以下技术方案来实现的:
基于模型的软件测试方法,方法包括以下步骤:
S01:系统分析,分析被测试软件的系统特性;
S02:建模,根据所选择的模型对被测试软件进行建模;
S03:生成抽象测试,从模型生成抽象测试;
S04:具体化抽象测试,把高层的抽象测试转化为可执行的具体测试;
S05:执行具体测试,在被测系统上执行具体的测试用例;
S06:分析测试结果,得到测试结果后,必须确定产生该故障的原因并采取纠正措施。
作为本发明的进行一步优化,所述步骤S01中的系统特性包括开发方式、开发技术、开发语言、开发技术。
作为本发明的进行一步优化,所述所述步骤S01结束以后还执行一个模型选择步骤,所述模型选择步骤是结合各个模型的特性选择合适的模型作为测试用例生成的模型。
作为本发明的进行一步优化,所述步骤S02中选择模型以后还执行一个模型分析步骤,即进一步分析该模型是否适合被测试软件,如果不是适合则反复执行该步骤,直至模型适合被测试软件为止。
作为本发明的进行一步优化,所述模型为抽象模型,抽象模型比被测软件系统本身更小,更简单,它只关注关键环节,抽象模型建立完成后,需要检查该抽象模型与所期望的行为是否一致,如果不一致则需要重新建模。
作为本发明的进行一步优化,所述步骤S04所指的具体化抽象测试实现包括两种方法,使用模板和映射抽象测试的变换工具;或通过一些环绕在待测试软件系统和代码实现间的适配器。
作为本发明的进行一步优化,所述步骤S05执行过程中不管是在在线的还是离线的基于模型的测试,都可以使用测试执行工具和方法。
本发明的有益效果是:和传统的软件测试相比,本发明提出的利用抽象模型,匹配不同的待测软件,使得其测试性能得到了极大的提升,同时也解决了传统软件测试过程中对测试环境搭建的问题,利用抽象模型进行测试免去了测试环境搭建步骤,从而使软件测试变得简单方便,同时根据不同的软件匹配不同的抽象模型,通过在测试系统里放置不同的模型板块,通过板块的调用实现模型的搭建,使得测试更简单。
附图说明
图1是本发明的流程图。
具体实施方式
下面结合具体实施例进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
基于模型的测试(MBT,Model-Based Testing)是一种轻量级的自动生成测试用例的方法,测试人员的关注点在于构建一个能够描述被测系统各方面数据和行为的形式化机器可读模型。为了抽象出理想的模型可能需要花费一定的时间,但是模型构建的工作可以在软件开发生命周期的早期就开始,只要求被测系统的需求定义完即可,而且往往是将非形式化的需求转化为形式化的模型过程中,需求中的遗漏和不足将被发现。模型带来的回报是巨大的,因为一旦模型被确立且能够准确反映被测系统的真实需求,软件测试工具就能够分析模型自动得到测试用例。
基于模型的软件测试方法,方法包括以下步骤:
S01:系统分析,分析被测试软件的系统特性;
S02:建模,根据所选择的模型对被测试软件进行建模;
S03:生成抽象测试,从模型生成抽象测试;
S04:具体化抽象测试,把高层的抽象测试转化为可执行的具体测试;
S05:执行具体测试,在被测系统上执行具体的测试用例;
S06:分析测试结果,得到测试结果后,必须确定产生该故障的原因并采取纠正措施。
作为本发明的进行一步优化,所述步骤S01中的系统特性包括开发方式、开发技术、开发语言、开发技术。
作为本发明的进行一步优化,所述所述步骤S01结束以后还执行一个模型选择步骤,所述模型选择步骤是结合各个模型的特性选择合适的模型作为测试用例生成的模型。
作为本发明的进行一步优化,所述步骤S02中选择模型以后还执行一个模型分析步骤,即进一步分析该模型是否适合被测试软件,如果不是适合则反复执行该步骤,直至模型适合被测试软件为止。
作为本发明的进行一步优化,所述模型为抽象模型,抽象模型比被测软件系统本身更小,更简单,它只关注关键环节,抽象模型建立完成后,需要检查该抽象模型与所期望的行为是否一致,如果不一致则需要重新建模。
作为本发明的进行一步优化,所述步骤S04所指的具体化抽象测试实现包括两种方法,使用模板和映射抽象测试的变换工具;或通过一些环绕在待测试软件系统和代码实现间的适配器。
作为本发明的进行一步优化,所述步骤S05执行过程中不管是在在线的还是离线的基于模型的测试,都可以使用测试执行工具和方法。
具体实例如图1所示:
分析被测系统:首先分析被测试软件的系统特性,主要分析的是开发方式,主要有所采用的开发技术(面向对象还是面向过程),开发语言,开发系统环境等,然后根据分析结果,结合各个模型的特性选择合适的模型作为测试用例生成的模型。
建立抽象模型根据所选择的模型对被测试软件进行建模,可以进一步分析该模型是否适合软件。模型选择和模型建立可能是个反复的过程,只有在充分了解该软件系统的特点和各个模型的特点的基础上才可能为软件系统建立最恰当的模型。这个模型是一个抽象模型,因为它比待测软件系统本身更小,更简单,它只关注关键环节。建立完成后,需要检查该模型与所期望的行为是否一致。
生成抽象测试:从模型生成抽象测试,必须选择一些测试选择标准,因为通常有无限多可能的测试。
具体化抽象测试:基于模型的测试的第四步是把高层的抽象测试转化为可执行的具体测试。主要有两种方法:(1)使用模板和映射抽象测试的变换工具;(2)通过一些环绕在待测试软件系统和代码实现间的适配器。
执行具体测试:在被测系统上执行具体的测试用例,不管是在在线的还是离线的基于模型的测试,都可以使用测试执行工具和方法。
分析测试结果:得到测试结果后,必须确定产生该故障的原因并采取纠正措施,因为有可能是建模时的缺陷模型导致的测试用例本身故障。然后根据测试结果和分析结果,评估被测软件的质量,并且指出出错的地方
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (7)
1.基于模型的软件测试方法,其特征在于该方法包括以下步骤:
S01:系统分析,分析被测试软件的系统特性;
S02:建模,根据所选择的模型对被测试软件进行建模;
S03:生成抽象测试,从模型生成抽象测试;
S04:具体化抽象测试,把高层的抽象测试转化为可执行的具体测试;
S05:执行具体测试,在被测系统上执行具体的测试用例;
S06:分析测试结果,得到测试结果后,必须确定产生该故障的原因并采取纠正措施。
2.根据权利要求1所述的基于模型的软件测试方法,其特征在于,所述步骤S01中的系统特性包括开发方式、开发技术、开发语言、开发技术。
3.根据权利要求2所述的基于模型的软件测试方法,其特征在于,所述所述步骤S01结束以后还执行一个模型选择步骤,所述模型选择步骤是结合各个模型的特性选择合适的模型作为测试用例生成的模型。
4.根据权利要求3所述的基于模型的软件测试方法,其特征在于,所述步骤S02中选择模型以后还执行一个模型分析步骤,即进一步分析该模型是否适合被测试软件,如果不是适合则反复执行该步骤,直至模型适合被测试软件为止。
5.根据权利要求4所述的基于模型的软件测试方法,其特征在于,所述模型为抽象模型,抽象模型比被测软件系统本身更小,更简单,它只关注关键环节,抽象模型建立完成后,需要检查该抽象模型与所期望的行为是否一致,如果不一致则需要重新建模。
6.根据权利要求5所述的基于模型的软件测试方法,其特征在于,所述步骤S04所指的具体化抽象测试实现包括两种方法,使用模板和映射抽象测试的变换工具;或通过一些环绕在待测试软件系统和代码实现间的适配器。
7.根据权利要求6所述的基于模型的软件测试方法,其特征在于,所述步骤S05执行过程中不管是在在线的还是离线的基于模型的测试,都可以使用测试执行工具和方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711344817.0A CN107832232A (zh) | 2017-12-15 | 2017-12-15 | 基于模型的软件测试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711344817.0A CN107832232A (zh) | 2017-12-15 | 2017-12-15 | 基于模型的软件测试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107832232A true CN107832232A (zh) | 2018-03-23 |
Family
ID=61644548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711344817.0A Withdrawn CN107832232A (zh) | 2017-12-15 | 2017-12-15 | 基于模型的软件测试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107832232A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543775A (zh) * | 2022-08-17 | 2022-12-30 | 睿智合创(北京)科技有限公司 | 一种测试案例自动生成方法 |
-
2017
- 2017-12-15 CN CN201711344817.0A patent/CN107832232A/zh not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115543775A (zh) * | 2022-08-17 | 2022-12-30 | 睿智合创(北京)科技有限公司 | 一种测试案例自动生成方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007012003A (ja) | フィーチャ指向ソフトウェア製品ラインの開発環境を提供するシステム | |
CN112052172B (zh) | 第三方通道的快速测试方法、装置和电子设备 | |
US20100333073A1 (en) | Systems and methods for automated generation of software tests based on modeling the software test domain | |
CN103995780B (zh) | 一种基于语句频度统计的程序错误定位方法 | |
Kadry | A new proposed technique to improve software regression testing cost | |
CN107656872A (zh) | 软件测试方法、装置、设备和计算机存储介质 | |
US9612944B2 (en) | Method and system for verifying scenario based test selection, execution and reporting | |
CN107832232A (zh) | 基于模型的软件测试方法 | |
Burrows et al. | Reasoning about faults in aspect-oriented programs: a metrics-based evaluation | |
CN116431522A (zh) | 一种低代码对象存储网关自动化测试方法及系统 | |
CN115934559A (zh) | 表单智能测试系统的测试方法 | |
Flemström et al. | Exploring test overlap in system integration: An industrial case study | |
TW201721434A (zh) | 用於自動化生成軟體測試資料之電腦程式產品及其方法 | |
CN111966665B (zh) | 数据迁移测试方法及装置 | |
CN110704252A (zh) | 一种基于云端动态管理的自动测试装置和测试方法 | |
Nikiforova et al. | Towards a Business Process Model-based Testing of Information Systems Functionality. | |
CN114185807A (zh) | 测试数据管理方法、装置、计算机设备及存储介质 | |
CN109635480A (zh) | 一种基于制图软件的控制逻辑验证和调试方法 | |
US11847393B2 (en) | Computing device and method for developing a system model utilizing a simulation assessment module | |
CN110674923A (zh) | 一种多神经网络框架间的快速模型验证方法 | |
Sutapa et al. | Automated test suite for regression testing based on serenity framework: a case study | |
CN113094281B (zh) | 一种混合式App的测试方法及装置 | |
Brodlie et al. | A practical strategy for certifying GKS implementations | |
Katsis et al. | InteractEva: A Simulation-Based Evaluation Framework for Interactive AI Systems | |
Kaleru | Cloud Testing: Enhancing the speed of Test Automation using Cucumber Framework |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180323 |
|
WW01 | Invention patent application withdrawn after publication |