CN109491922B - 一种基于模型驱动的测试方法和装置 - Google Patents

一种基于模型驱动的测试方法和装置 Download PDF

Info

Publication number
CN109491922B
CN109491922B CN201811522286.4A CN201811522286A CN109491922B CN 109491922 B CN109491922 B CN 109491922B CN 201811522286 A CN201811522286 A CN 201811522286A CN 109491922 B CN109491922 B CN 109491922B
Authority
CN
China
Prior art keywords
test
model
case
tool
testable
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
Application number
CN201811522286.4A
Other languages
English (en)
Other versions
CN109491922A (zh
Inventor
高栋栋
陈睿
江云松
高猛
郑小萌
吴瑾
王政
秦元
杨帆
房振军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Sunwise Information Technology Ltd
Original Assignee
Beijing Sunwise Information Technology Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Sunwise Information Technology Ltd filed Critical Beijing Sunwise Information Technology Ltd
Priority to CN201811522286.4A priority Critical patent/CN109491922B/zh
Publication of CN109491922A publication Critical patent/CN109491922A/zh
Application granted granted Critical
Publication of CN109491922B publication Critical patent/CN109491922B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

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)

Abstract

本发明公开了一种基于模型驱动的测试方法和装置,该方法包括:确定各可测试项;为各所述可测试项定义测试组成;依据所述测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型;将所述测试模型与测试脚本进行关联,生成测试用例;调用所述测试用例对待测试数据进行测试,生成测试报告。本发明通过维护测试模型来间接管理测试用例,测试需求的变更会影响测试模型的更新,测试模型的更新会自动生成新的测试用例,因此,测试模型的可复用性高,测试用例的可维护性强。

Description

一种基于模型驱动的测试方法和装置
技术领域
本发明属于软件测试技术领域,尤其涉及一种基于模型驱动的测试方法和装置。
背景技术
测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
传统的软件自动化测试技术可以快速构建回归测试,提高回归测试的效率,但在测试用例的生成和维护上存在以下几点不足:1)测试用例的设计通常采用手工编写的方式,自动化程度低;2)可自动化执行的测试脚本编写需要较高的编程技术;3)被测软件系统发生改变后,测试用例的维护费时费力。可见,现有方法对测试用例进行管理时,测试用例的可维护性和可复用性差。
发明内容
本发明解决的技术问题是:本发明实施例提供了一种基于模型驱动的测试方法及装置,依据所述测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型;将测试模型与测试脚本进行关联,生成测试用例,能够提高软件测试用例的可读性、可维护性和可复用性。
为了解决上述技术问题,本发明公开了一种基于模型驱动的测试方法,其中,所述方法包括:确定各可测试项;为各所述可测试项定义测试组成;依据所述测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型;将所述测试模型与测试脚本进行关联,生成测试用例;调用所述测试用例对待测试数据进行测试,生成测试报告。
优选的,所述确定各测试项的步骤,包括:采用计算机语言对需求和设计规格说明进行转化,确定各可测试项;将各可测试项条目化,并将各所述可测试项进行优先级排序。
优选的,所述测试组成由测试过程中的测试工具、测试模型、测试数据包构成;所述测试组成由需求管理工具、测试管理工具、MBT(Model-based Testing,基于模型的测试)工具和测试执行工具进行管理。
优选的,所述依据所述测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型的步骤,包括:对被测系统进行接口建模和行为建模;建立测试模型与测试需求之间的双向追踪关系;所述将所述测试模型与测试脚本进行关联,生成测试用例的步骤,包括:将所述测试模型与可执行测试脚本关联;通过所述MBT工具,将所述测试模型自动生成可执行的测试用例。
优选的,所述调用所述测试用例对待测试数据进行测试,生成测试报告的步骤,包括:对所述测试用例进行运行接口适配;依据预设的评价准则,确定所述测试用例中可自动化运行的第一测试用例以及不可自动化运行的第二测试用例;调用各所述第一测试用例对待测试数据进行测试,生成测试报告。
相应的,本发明还公开了一种基于模型驱动的测试装置,其中,所述装置包括:确定模块,用于确定各可测试项;组成模块,用于为各所述可测试项定义测试组成;模型生成模块,用于依据所述测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型;用例生成模块,用于将所述测试模型与测试脚本进行关联,生成测试用例;测试模块,用于调用所述测试用例对待测试数据进行测试,生成测试报告。
优选的,所述确定模块包括:转化子模块,用于采用计算机语言对需求和设计规格说明进行转化,确定各可测试项;排序子模块,用于将各可测试项条目化,并将各所述可测试项进行优先级排序。
优选的,所述测试组成由测试过程中的测试工具、测试模型、测试数据包构成;所述测试组成由需求管理工具、测试管理工具、MBT工具和测试执行工具进行管理。
优选的,所述模型生成模块包括:建模子模块,用于对被测系统进行接口建模和行为建模;关系建立子模块,用于建立测试模型与测试需求之间的双向追踪关系;所述用例生成模块包括:关联子模块,用于将所述测试模型与可执行测试脚本关联;生成子模块,用于通过所述MBT工具,将所述测试模型自动生成可执行的测试用例。
优选的,所述测试模块包括:适配子模块,用于对所述测试用例进行运行接口适配;评价子模块,用于依据预设的评价准则,确定所述测试用例中可自动化运行的第一测试用例以及不可自动化运行的第二测试用例;测试子模块,用于调用各所述第一测试用例对待测试数据进行测试,生成测试报告。
本发明具有以下优点:
本发明公开了一种基于模型驱动的测试方法和装置,该测试方法可以提高测试用例的可维护性和可复用性。与传统的测试用例手工编写相比,本方法并不直接维护测试用例,而是通过维护测试模型来间接管理测试用例,测试需求的变更会影响测试模型的更新,测试模型的更新会自动生成新的测试用例,因此,测试模型的可复用性高,测试用例的可维护性强。
此外,本发明提供的该方法还可以提高测试用例的可读性,降低测试人员设计测试用例的难度。本发明中测试模型的设计即是测试用例的设计,测试模型设计是采用MBT工具基于图形化方式进行被测系统功能模块的搭建,这种方式比传统的测试用例设计更加直观和易于理解,因此,测试用例的可读性高。
附图说明
图1是本发明实施例所述的一种基于模型驱动的测试方法的流程图;
图2是本发明实施例所述的另一种基于模型驱动的测试方法的流程图;
图3是基于模型驱动测试的一体化软件平台结构示意图;
图4是接口模型、测试模型与被测系统之间的关系示意图;
图5是本发明实施例所述的一种基于模型驱动的测试装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明公开的实施方式作进一步详细描述。
参照图1,示出了本发明实施例所述的一种基于模型驱动的测试方法的步骤流程图。
本发明实施例的基于模型驱动的测试方法包括以下步骤:
步骤101:确定各可测试项。
软件的每一项需求并不一定是可测的,为了保证基于模型驱动的测试活动成功实施,本步骤通过识别需求和设计是否可规格化描述,是否信息完备等确定软件需求项的可测试性。本步骤中确定各可测试项实质是确定软件需求的可测试项。
步骤102:为各可测试项定义测试组成。
本步骤中根据步骤101确定的可测试项来定义基于模型驱动的测试组成,由测试过程中的测试工具、测试模型、测试数据包等构成,并用专业的测试管理工具对测试组成进行管理。
步骤103:依据测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型。
测试模型从测试的角度反映了被测系统的行为,包括场景、约束以及与其他测试功能的依赖关系等。本步骤通过对被测系统接口建模和行为建模进行测试模型的设计,同时建立测试模型与需求之间的追踪关系。本步骤为测试模型的设计。
步骤104:将测试模型与测试脚本进行关联,生成测试用例。
将步骤103中所生成的测试模型通过关键字序列与可执行测试脚本进行关联,确定测试模型执行顺序,为测试用例的执行提供测试驱动。测试用例分为细粒度测试用例和粗粒度测试用例两种。
需要说明的是,生成测试用例的同时还需要根据测试模型执行顺序,为测试序列中的每一步准备测试数据。
步骤105:调用测试用例对待测试数据进行测试,生成测试报告。
在执行测试用例时,将生成的细粒度测试用例进行运行接口适配,并制定测试通过评价准则,利用测试执行工具自动执行适配后的细粒度测试用例。
生成测试报告时,根据所制定的测试通过评价准则将测试模型的覆盖程度和运行结果记录在测试报告中。
测试模型在具体所需过程中需要进行版本管理和维护,当被测系统进行了版本升级或缺陷修复,则针对被测系统的变化适应性修改测试模型,对测试模型进行修改时,需重复执行上述流程。
本发明实施例提供的基于模型驱动的测试方法,可以提高测试用例的可维护性和可复用性。与传统的测试用例手工编写相比,本方法并不直接维护测试用例,而是通过维护测试模型来间接管理测试用例,测试需求的变更会影响测试模型的更新,测试模型的更新会自动生成新的测试用例,因此,测试模型的可复用性高,测试用例的可维护性强。
参照图2,示出了本发明实施例所述的另一种基于模型驱动的测试方法的步骤流程图。
本发明实施例的基于模型驱动的测试方法包括以下步骤:
步骤201:确定各可测试项。
一种可选的确定各测试项的方式为:采用计算机语言对需求和设计规格说明进行转化,确定各可测试项;将各可测试项条目化,并将各所述可测试项进行优先级排序。
具体地,可通过下述三个步骤确定软件需求的各可测试项:
子步骤一、需求和设计的规格化描述:需求和设计规格说明采用计算机可理解的形式化语言、或结构化方式进行描述,如利用活动图、流程图、状态图代替自然语言的文本描述;
子步骤二、可测试需求项的条目化:将需求和设计规格说明中可基于模型驱动测试的部分进行条目化,并进行优先级排序,测试活动中避免出现不可测试项;
子步骤三、可测试需求项的信息要完备:可测试需求项的信息要清晰、充分,能够通过该信息建立形式化的测试模型。
步骤202:为各可测试项定义测试组成。
测试组成由测试过程中的测试工具、测试模型、测试数据包构成;测试组成由需求管理工具、测试管理工具、MBT工具和测试执行工具进行管理。测试管理工具提供易用的接口,与需求管理、基于模型的测试设计、测试执行、缺陷管理进行测试过程的交互。
本步骤中如图3所示定义测试组成,形成基于模型驱动测试的一体化软件平台,其中,基于模型驱动测试的一体化软件平台结构示意图如图3所示。
步骤203:依据测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型。
优选地,生成测试模型时对被测系统进行接口建模和行为建模;建立测试模型与测试需求之间的双向追踪关系。
本步骤为测试模型的设计即生成测试模型的步骤,在具体实现过程中,可根据图4中所示的接口模型、测试模型与被测系统之间的关系,通过以下4个子步骤进行测试模型设计。
子步骤一、被测系统接口建模
首先进行被测系统接口建模,提供准确的接口模型。测试模型生成的测试用例通过接口模型与被测系统建立连接,进行输入、输出操作控制和数据交互。其中,测试模型仿真被测系统的某些行为、输入,接口模型观测被测系统的输出,并验证输出是否与测试模型预期的测试输出一致。
接口模型的建立需要考虑操作、操作序列、端口和配置四个方面。操作是由被测系统接口触发或被触发的原子性活动,由操作名称、参数集合、属性(输入/输出)组成。操作序列是由一系列有序的操作组成。端口是操作或操作序列实施的对象。配置是可以由测试模型识别的、对被测系统各组成部分接口关系的描述。
子步骤二、被测系统行为建模
进行被测系统行为建模,提供满足测试要求的测试模型。被测系统行为的规格化需求是测试模型建立的基础。测试模型的建立有多种方式,可以是基于规则或面向过程的文本化描述建模,也可以基于图形化描述建模,如基于自动机的状态转换图,序列图或流程图,无论采用上述哪种建模方式,测试模型的建立需要包含下面三个方面。
系统的状态:测试模型能反映指定操作下被测系统的行为状态,能够识别系统的初始状态和终止状态。
系统状态的转移:测试模型定义了两个系统状态的转移关系,以及这种转移关系关联的输入、输出操作和参数,时间约束关系等。
非确定性行为:测试模型支持在相同状态、相同触发条件下向不同状态转移的能力,非确定性行为主要模拟被测系统不可预测的行为。
子步骤三、测试模型仿真
本步骤为可选步骤,可以用于验证测试模型建立的正确性。
子步骤四、可追踪关系的建立
本步骤建立测试模型与需求之间的双向追踪关系,便于评价测试对需求的覆盖程度,以及分析需求变更或测试模型变更后的影响。
步骤204:将测试模型与可执行测试脚本关联。
测试模型建立后,测试模型的自动化执行需要具体的测试脚本指令驱动,测试脚本直接作用于测试模型生成的测试用例,用于测试用例的运行前准备、用例执行中的监控和用例执行后的数据收集等。测试模型与可执行测试脚本是通过测试模型中使用的关键字进行关联,测试模型中的关键字是对模型的测试逻辑进行抽象,一个关键字对应测试模型的一种测试操作,而可执行测试脚本是对关键字进行解释执行,即对测试逻辑进行解释执行。可执行测试脚本可以由人工编写的,也可以由测试工具自动生成。
将测试模型与可执行测试脚本关联后,生成测试用例同时准备测试数据。
准备测试数据时,根据测试需求,选择测试数据来源,测试数据来自三个方面,从已有数据源中导入、通过手动创建测试数据和通过工具自动生成测试数据。
准备测试数据时,不仅要考虑测试模型的输入测试数据,还要考虑测试模型中的测试执行顺序,可以用等价分类法准备输入测试数据,利用序列图梳理测试模型的执行顺序,结合测试数据和测试执行顺序,明确测试序列中的每一步采用何种测试数据。测试数据之间如果无相互依赖关系,是简单的数据类型,可以用等价分类法和边界值分析法来设计测试数据;如果测试数据之间存在依赖关系,可以用因果分析法来设计测试数据。
步骤205:通过MBT工具,将测试模型自动生成可执行的测试用例。
具体地,由MBT用例生成工具将测试模型自动生成可执行的测试用例,生成可执行的测试用例时具体包括如下子步骤:
子步骤一、选择用例生成的准则
针对同一个测试模型,选择不同的用例生成准则,生成的测试用例集会不同。用例生成准则帮助测试人员选择一个最适合测试目标的测试用例集。用例生成的准则可以有5种,分别为:
可测试需求项的覆盖率:该准则检验测试模型对可测试需求项的覆盖程度,覆盖率为100%,意味着测试模型生成的测试用例集全部覆盖了可测试需求项。
测试模型元素的覆盖率:该准则基于测试模型的内部结构,是指对测试模型的操作行为、状态、转移条件等元素的覆盖程度。
测试数据的覆盖率:该准则检验测试输入数据的覆盖程度,可以根据等价分类法和边界值分析法进行判断。
随机准则:该准则随机选取测试模型元素或测试数据用于用例生成。
基于场景和模式匹配的准则:该准则基于用户操作或使用的实际场景或基于特定的模式,如系统失效模式或系统故障模式,使测试模型生成符合给定场景或模式的测试用例。
上述用例生成准则的优劣势如下表1所示:
Figure BDA0001903510840000081
Figure BDA0001903510840000091
在实际过程中,为了满足测试目标,上述几个用例生成准则可以综合考虑,组合使用,如可以将可测试需求项的覆盖率和测试模型元素的覆盖率进行结合,或者将测试数据的覆盖率和基于场景和模式匹配的准则进行结合。
子步骤二、生成粗粒度的测试用例
测试模型根据选择的用例生成准则,生成粗粒度的测试用例。
所谓粗粒度的测试用例是指概括了测试过程的步骤,通常由测试步骤的关键字和步骤描述组成,但不细化用例执行的具体步骤和操作,用例中不指定输入数据和预期结果的具体数值,粗粒度的测试用例并不能直接执行,易于测试人员分析和理解,是生成细粒度的测试用例的基础。
子步骤三、生成细粒度的测试用例
由粗粒度的测试用例生成细粒度的测试用例,所谓细粒度的测试用例是指可以在测试工具或测试环境中直接执行的用例,用例中细化了输入数据和预期结果的具体数值,并包含了可以执行的具体步骤。
步骤206:调用测试用例对待测试数据进行测试。
调用测试用例对待测试数据进行测试时,对测试用例进行运行接口适配;依据预设的评价准则,确定所述测试用例中可自动化运行的第一测试用例以及不可自动化运行的第二测试用例;调用各第一测试用例对待测试数据进行测试。
在本步骤中,利用测试执行工具自动执行所生成的细粒度的测试用例,向被测系统发送测试指令并接收和比较被测系统的结果,具体包括如下子步骤:
子步骤一、运行接口适配
由于测试用例的自动执行与不同的测试环境、测试执行工具和被测系统密切相关,测试用例可以由不同MBT用例生成工具进行生成,因此,生成的测试用例未必满足测试执行工具自动执行的条件,在这种情况下,需要将细粒度的测试用例进行运行接口适配。如果由MBT用例生成工具生成的测试用例满足测试执行工具自动执行的条件,本步骤可以忽略。
子步骤二、制定测试通过评价准则
测试执行工具在自动化运行测试用例前,要根据被测软件等级、测试目标、用例选择准则、测试充分性等方面制定测试通过评价准则,评价准则可以从以下五个方面进行体现:
测试用例执行目标:所用用例全部执行或根据优先级执行部分用例。
覆盖率目标:用例密度达到规定的标准,包括各级测试用例的不同覆盖率和每千行代码的测试用例数。
发现的缺陷率:测试发现的缺陷达到每千行代码的缺陷数。
缺陷修复率:针对回归测试,不同等级的缺陷的修复程度和修复率达到规定标准。
残留缺陷率:系统残留的缺陷密度达到规定的标准,该项指标需要历史测试工作积累的大量文档和经验获得。
子步骤三、测试用例自动执行
运行测试执行工具,执行工具进行下述工作:
1)自动执行测试用例,控制测试用例与接口模型之间的交互,通过接口模型控制和观测被测系统。
2)将测试结果和测试预期进行比对,并根据测试评价准则确定测试验证是否通过。
3)对未通过的测试用例进行反馈,分析未通过的原因,如果是测试用例的缺陷或错误,则通过修改测试模型进而生成正确的测试用例来保证测试正常运行;如果是被测系统的缺陷,则通过修改被测软件进行缺陷修复。通过反馈修改测试模型或被测系统的过程可能不止一次,而是一个迭代过程。
步骤207:生成测试报告。
测试用例执行完成后,测试执行工具生成测试报告,给出测试评价,并将测试结果、测试缺陷等纳入测试管理工具,由测试管理工具对测试缺陷进行追踪和闭环控制。因此,测试执行工具与测试管理工具之间具备集成接口,便于两个工具之间测试相关数据的获取。
针对模型驱动测试,测试报告中需要统计测试对模型元素的覆盖程度,包括测试对模型的状态、转移条件、操作场景等的覆盖程度。
测试模型在具体所需过程中需要进行版本管理和维护,当被测系统进行了版本升级或缺陷修复,则针对被测系统的变化适应性修改测试模型,对测试模型进行修改时,需重复执行上述流程。
手动更新测试用例或测试脚本繁琐而且易于出错,通过维护可重用的测试模型,针对被测系统变更修改部分测试模型组件,简单高效而且易于管理和重用。值得注意的是,测试模型的维护与测试需求、测试用例、被测系统的维护一样,要进行版本控制。
本发明实施例提供的基于模型驱动的测试方法,可以提高测试用例的可维护性和可复用性。与传统的测试用例手工编写相比,本方法并不直接维护测试用例,而是通过维护测试模型来间接管理测试用例,测试需求的变更会影响测试模型的更新,测试模型的更新会自动生成新的测试用例,因此,测试模型的可复用性高,测试用例的可维护性强。
此外,本发明实施例提供的该方法还可以提高测试用例的可读性,降低测试人员设计测试用例的难度。本发明中测试模型的设计即是测试用例的设计,测试模型设计是采用MBT工具基于图形化方式进行被测系统功能模块的搭建,这种方式比传统的测试用例设计更加直观和易于理解,因此,测试用例的可读性高。
参照图5,示出了本发明实施例所述的一种基于模型驱动的测试装置的结构示意图。
本发明实施例提供的基于模型驱动的测试装置包括:确定模块301,用于确定各可测试项;组成模块302,用于为各所述可测试项定义测试组成;模型生成模303,用于依据所述测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型;用例生成模块304,用于将所述测试模型与测试脚本进行关联,生成测试用例;测试模块305,用于调用所述测试用例对待测试数据进行测试,生成测试报告。
可选的,所述确定模块301包括:转化子模块3011,用于采用计算机语言对需求和设计规格说明进行转化,确定各可测试项;排序子模块3012,用于将各可测试项条目化,并将各所述可测试项进行优先级排序。
可选的,所述测试组成由测试过程中的测试工具、测试模型、测试数据包构成;所述测试组成由需求管理工具、测试管理工具、MBT工具和测试执行工具进行管理。
可选的,所述模型生成模块303包括:建模子模块3031,用于对被测系统进行接口建模和行为建模;关系建立子模块3032,用于建立测试模型与测试需求之间的双向追踪关系;所述用例生成模块304包括:关联子模块3041,用于将所述测试模型与可执行测试脚本关联;生成子模块3042,用于通过所述MBT工具,将所述测试模型自动生成可执行的测试用例。
可选的,所述测试模块305包括:适配子模块3051,用于对所述测试用例进行运行接口适配;评价子模块3052,用于依据预设的评价准则,确定所述测试用例中可自动化运行的第一测试用例以及不可自动化运行的第二测试用例;测试子模块3053,用于调用各所述第一测试用例对待测试数据进行测试,生成测试报告。
本发明实施例提供的基于模型驱动的测试装置,
对于装置实施例而言,由于其与装置实施例相对应,所以描述的比较简单,相关之处参见方法实施例部分的说明即可。
本说明中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上所述,仅为本发明最佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (8)

1.一种基于模型驱动的测试方法,其特征在于,包括:
确定各可测试项;
为各所述可测试项定义测试组成;所述测试组成由测试过程中的测试工具、测试模型、测试数据包构成;所述测试组成由需求管理工具、测试管理工具、MBT工具和测试执行工具进行管理;
依据所述测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型;包括:对被测系统进行接口建模和行为建模;建立测试模型与测试需求之间的双向追踪关系;
将所述测试模型与测试脚本进行关联,生成测试用例;
调用所述测试用例对待测试数据进行测试,生成测试报告。
2.根据权利要求1所述的基于模型驱动的测试方法,其特征在于,所述确定各测试项的步骤,包括:
采用计算机语言对需求和设计规格说明进行转化,确定各可测试项;
将各可测试项条目化,并将各所述可测试项进行优先级排序。
3.根据权利要求1所述的基于模型驱动的测试方法,其特征在于,所述将所述测试模型与测试脚本进行关联,生成测试用例的步骤,包括:
将所述测试模型与可执行测试脚本关联;
通过所述MBT工具,将所述测试模型自动生成可执行的测试用例。
4.根据权利要求1所述的基于模型驱动的测试方法,其特征在于,所述调用所述测试用例对待测试数据进行测试,生成测试报告的步骤,包括:
对所述测试用例进行运行接口适配;
依据预设的评价准则,确定所述测试用例中可自动化运行的第一测试用例以及不可自动化运行的第二测试用例;
调用各所述第一测试用例对待测试数据进行测试,生成测试报告。
5.一种基于模型驱动的测试装置,其特征在于,所述装置包括:
确定模块,用于确定各可测试项;
组成模块,用于为各所述可测试项定义测试组成;所述测试组成由测试过程中的测试工具、测试模型、测试数据包构成;所述测试组成由需求管理工具、测试管理工具、MBT工具和测试执行工具进行管理;
模型生成模块,用于依据所述测试组成以及预设的接口模型、测试模型与被测系统三者之间的关系,生成测试模型;所述模型生成模块包括:建模子模块,用于对被测系统进行接口建模和行为建模;关系建立子模块,用于建立测试模型与测试需求之间的双向追踪关系;
用例生成模块,用于将所述测试模型与测试脚本进行关联,生成测试用例;
测试模块,用于调用所述测试用例对待测试数据进行测试,生成测试报告。
6.根据权利要求5所述的基于模型驱动的测试装置,其特征在于,所述确定模块包括:
转化子模块,用于采用计算机语言对需求和设计规格说明进行转化,确定各可测试项;
排序子模块,用于将各可测试项条目化,并将各所述可测试项进行优先级排序。
7.根据权利要求5所述的基于模型驱动的测试装置,其特征在于,所述用例生成模块包括:
关联子模块,用于将所述测试模型与可执行测试脚本关联;
生成子模块,用于通过所述MBT工具,将所述测试模型自动生成可执行的测试用例。
8.根据权利要求5所述的基于模型驱动的测试装置,其特征在于,所述测试模块包括:
适配子模块,用于对所述测试用例进行运行接口适配;
评价子模块,用于依据预设的评价准则,确定所述测试用例中可自动化运行的第一测试用例以及不可自动化运行的第二测试用例;
测试子模块,用于调用各所述第一测试用例对待测试数据进行测试,生成测试报告。
CN201811522286.4A 2018-12-13 2018-12-13 一种基于模型驱动的测试方法和装置 Active CN109491922B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811522286.4A CN109491922B (zh) 2018-12-13 2018-12-13 一种基于模型驱动的测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811522286.4A CN109491922B (zh) 2018-12-13 2018-12-13 一种基于模型驱动的测试方法和装置

Publications (2)

Publication Number Publication Date
CN109491922A CN109491922A (zh) 2019-03-19
CN109491922B true CN109491922B (zh) 2021-12-07

Family

ID=65710136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811522286.4A Active CN109491922B (zh) 2018-12-13 2018-12-13 一种基于模型驱动的测试方法和装置

Country Status (1)

Country Link
CN (1) CN109491922B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110177006B (zh) * 2019-04-16 2022-12-30 平安普惠企业管理有限公司 基于接口预测模型的节点测试方法及装置
CN110442522A (zh) * 2019-08-05 2019-11-12 广州小鹏汽车科技有限公司 基于电动汽车的功能需求的测试用例生成方法和测试方法
CN110795352B (zh) * 2019-10-29 2024-02-27 中国科学院微小卫星创新研究院 一种面向构件化星务软件的细粒度测试用例系统的建立及使用方法
CN113377683B (zh) * 2021-08-12 2022-01-28 神州数码融信软件有限公司 软件测试用例的生成方法、系统、设备、终端、介质及应用
CN117271373B (zh) * 2023-11-21 2024-03-01 太平金融科技服务(上海)有限公司深圳分公司 测试用例的自动化构建方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521700A (zh) * 2011-12-13 2012-06-27 广东电网公司信息中心 电网信息化评测快速测试系统
CN106446412A (zh) * 2016-09-26 2017-02-22 杭州杉石科技有限公司 一种航空电子系统基于模型的测试方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7685576B2 (en) * 2004-01-26 2010-03-23 Siemens Corporation System and method for model based system testing of interactive applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521700A (zh) * 2011-12-13 2012-06-27 广东电网公司信息中心 电网信息化评测快速测试系统
CN106446412A (zh) * 2016-09-26 2017-02-22 杭州杉石科技有限公司 一种航空电子系统基于模型的测试方法

Also Published As

Publication number Publication date
CN109491922A (zh) 2019-03-19

Similar Documents

Publication Publication Date Title
CN109491922B (zh) 一种基于模型驱动的测试方法和装置
CA2391125C (en) Method for computer-assisted testing of software application components
US7895565B1 (en) Integrated system and method for validating the functionality and performance of software applications
CA2336608C (en) Method for defining durable data for regression testing
KR101470319B1 (ko) 컴포넌트 모델 기반의 가상 소프트웨어 플랫폼을 생성하는방법, 이를 이용하여 소프트웨어 플랫폼 아키텍처를검증하는 방법 및 그 장치
US8522214B2 (en) Keyword based software testing system and method
US8892953B2 (en) Method and system for test suite control
US20040123272A1 (en) Method and system for analysis of software requirements
US20090193391A1 (en) Model-based testing using branches, decisions , and options
US9594543B2 (en) Activity diagram model-based system behavior simulation method
Ahamed Studying the feasibility and importance of software testing: An Analysis
Paiva et al. End-to-end automatic business process validation
Taley et al. Comprehensive study of software testing techniques and strategies: a review
Dalal et al. Software Testing-Three P'S Paradigm and Limitations
CN111444109B (zh) 一种移动端ui自动化测试方法及系统
Naslavsky et al. Towards traceability of model-based testing artifacts
Silva Filho et al. Supporting concern-based regression testing and prioritization in a model-driven environment
CN115629956A (zh) 一种基于接口自动化测试的软件缺陷管理方法及系统
CN109669868A (zh) 软件测试的方法及系统
Bicevskis et al. Data quality model-based testing of information systems
Akinsola et al. Qualitative comparative analysis of software integration testing techniques
US20070283335A1 (en) Method and system for consolidating machine readable code
Singh et al. Automated generation of functional test cases and use case diagram using srs analysis
Saglietti Testing for dependable embedded software
Agyei et al. Hybrid software testing model to improve software quality assurance

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant