CN112527665A - 基于FitNesse框架处理断言产生的脏数据的方法和系统 - Google Patents

基于FitNesse框架处理断言产生的脏数据的方法和系统 Download PDF

Info

Publication number
CN112527665A
CN112527665A CN202011505416.0A CN202011505416A CN112527665A CN 112527665 A CN112527665 A CN 112527665A CN 202011505416 A CN202011505416 A CN 202011505416A CN 112527665 A CN112527665 A CN 112527665A
Authority
CN
China
Prior art keywords
assertion
framework
fitnesse
test
dirty data
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
Application number
CN202011505416.0A
Other languages
English (en)
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.)
Shanghai Wanxiang Blockchain Inc
Original Assignee
Shanghai Wanxiang Blockchain Inc
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 Shanghai Wanxiang Blockchain Inc filed Critical Shanghai Wanxiang Blockchain Inc
Priority to CN202011505416.0A priority Critical patent/CN112527665A/zh
Publication of CN112527665A publication Critical patent/CN112527665A/zh
Pending legal-status Critical Current

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
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3692Test management for test results analysis

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)
  • Devices For Executing Special Programs (AREA)

Abstract

本发明提供了一种基于FitNesse框架处理断言产生的脏数据的方法和系统,包括:步骤1:下载FitNesse框架的java语言包,并在服务器上进行部署;步骤2:编写代码供FitNesse框架的测试引擎调用,在代码中添加预设断言机制;步骤3:在FitNesse框架的前端页面测试表格中编写自动化测试用例,根据断言机制判断的结果替换原生断言机制。本发明通过在fixture code实现定制的断言方法替代原生断言方法,解决了框架在执行测试套件和测试时断言失败无法中断测试从而产生很多脏数据的问题。

Description

基于FitNesse框架处理断言产生的脏数据的方法和系统
技术领域
本发明涉及脏数据处理技术领域,具体地,涉及一种基于FitNesse框架处理断言产生的脏数据的方法和系统。
背景技术
脏数据是软件系统中一类容易被忽视的问题,大量脏数据不仅会浪费磁盘空间,而且容易对正确结果产生干扰,影响软件系统正常功能和性能表现,必须予以重视。
专利文献CN104331452A(申请号:CN201410598457.7)公开了一种处理脏数据的方法及系统,其处理中心逐条检索数据库的方法会产生大量冗余请求,性能不佳。
专利文献CN106407345A(申请号:CN201610803863.1)公开了一种脏数据更新方法及装置,其检索数据库识别并更新缓存数据的方法并不适用本发明的自动化平台,本发明的数据是存储在服务器文件系统中。
上述技术方法关注点是脏数据的处理,而本发明是从源头上避免脏数据的产生。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于FitNesse框架处理断言产生的脏数据的方法和系统。
根据本发明提供的基于FitNesse框架处理断言产生的脏数据的方法,包括:
步骤1:下载FitNesse框架的java语言包,并在服务器上进行部署;
步骤2:编写代码供FitNesse框架的测试引擎调用,在代码中添加预设断言机制;
步骤3:在FitNesse框架的前端页面测试表格中编写自动化测试用例,根据断言机制判断的结果替换原生断言机制。
优选的,在代码中添加断言机制,包括断言为真、断言为假、断言相等、断言不相等、断言为空、断言非空和断言字符串包含。
优选的,根据预期值和实际值进行断言,返回比较结果,若断言成功,则继续执行后续步骤;若断言不成功,则记录错误堆栈信息并中断测试;
在测试结束时,生成报告。
优选的,所述断言机制包括:
1)读取传入的参数;
2)判断实际值的类型,若与预期值类型不同,则转换成统一类型;
3)调用Java类库提供的比较方法;
4)返回比较结果和成功或失败信息。
根据本发明提供的基于FitNesse框架处理断言产生的脏数据的系统,包括:
模块M1:下载FitNesse框架的java语言包,并在服务器上进行部署;
模块M2:编写代码供FitNesse框架的测试引擎调用,在代码中添加预设断言机制;
模块M3:在FitNesse框架的前端页面测试表格中编写自动化测试用例,根据断言机制判断的结果替换原生断言机制。
优选的,在代码中添加断言机制,包括断言为真、断言为假、断言相等、断言不相等、断言为空、断言非空和断言字符串包含。
优选的,根据预期值和实际值进行断言,返回比较结果,若断言成功,则继续执行后续步骤;若断言不成功,则记录错误堆栈信息并中断测试;
在测试结束时,生成报告。
优选的,所述断言机制包括:
1)读取传入的参数;
2)判断实际值的类型,若与预期值类型不同,则转换成统一类型;
3)调用Java类库提供的比较方法;
4)返回比较结果和成功或失败信息。
与现有技术相比,本发明具有如下的有益效果:
本发明通过在fixture code实现定制的断言方法替代原生断言方法,解决了框架在执行测试套件和测试时断言失败无法中断测试从而产生很多脏数据的问题。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明方法流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
实施例:
根据本发明提供的基于Fitnesse(本专利引用的开源框架名称)框架断言失败后产生脏数据的解决方案,包括如下步骤:
步骤1:下载fitnesse-standalonejar(fitnesse官网提供的java语言包)并在服务器部署;
步骤2:编写fixture code(用户编写的治具代码,供框架的测试引擎调用),代码中添加定制的断言方法,方法描述如下:
步骤2.1:fixture code中添加定制的断言类即CheckSlimUtils类和断言方法,包括断言为真,断言为假,断言相等,断言不相等,断言为空,断言非空,断言字符串包含等。断言的依据:比较预期值和实际值,返回比较结果。
断言的步骤:1)读取传入的参数,2)如果预期值实际值是不同类型,则转换成统一类型,3)调用Java类库提供的比较方法,4)返回比较结果和成功或失败信息;
步骤2.2:fixture主类中引入步骤2.1添加的断言方法;
步骤2.3:fixture代码工程打成jar包,放入fitnesse服务器/opt/wx-fitnesse/libs目录;
步骤3:在fitnesse前端页面测试表格编写自动化测试用例,使用步骤2的断言方法替换原生check,check not,ensure,reject方法。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (8)

1.一种基于FitNesse框架处理断言产生的脏数据的方法,其特征在于,包括:
步骤1:下载FitNesse框架的java语言包,并在服务器上进行部署;
步骤2:编写代码供FitNesse框架的测试引擎调用,在代码中添加预设断言机制;
步骤3:在FitNesse框架的前端页面测试表格中编写自动化测试用例,根据断言机制判断的结果替换原生断言机制。
2.根据权利要求1所述的基于FitNesse框架处理断言产生的脏数据的方法,其特征在于,在代码中添加断言机制,包括断言为真、断言为假、断言相等、断言不相等、断言为空、断言非空和断言字符串包含。
3.根据权利要求1所述的基于FitNesse框架处理断言产生的脏数据的方法,其特征在于,根据预期值和实际值进行断言,返回比较结果,若断言成功,则继续执行后续步骤;若断言不成功,则记录错误堆栈信息并中断测试;
在测试结束时,生成报告。
4.根据权利要求1所述的基于FitNesse框架处理断言产生的脏数据的方法,其特征在于,所述断言机制包括:
1)读取传入的参数;
2)判断实际值的类型,若与预期值类型不同,则转换成统一类型;
3)调用Java类库提供的比较方法;
4)返回比较结果和成功或失败信息。
5.一种基于FitNesse框架处理断言产生的脏数据的系统,其特征在于,包括:
模块M1:下载FitNesse框架的java语言包,并在服务器上进行部署;
模块M2:编写代码供FitNesse框架的测试引擎调用,在代码中添加预设断言机制;
模块M3:在FitNesse框架的前端页面测试表格中编写自动化测试用例,根据断言机制判断的结果替换原生断言机制。
6.根据权利要求5所述的基于FitNesse框架处理断言产生的脏数据的系统,其特征在于,在代码中添加断言机制,包括断言为真、断言为假、断言相等、断言不相等、断言为空、断言非空和断言字符串包含。
7.根据权利要求5所述的基于FitNesse框架处理断言产生的脏数据的系统,其特征在于,根据预期值和实际值进行断言,返回比较结果,若断言成功,则继续执行后续步骤;若断言不成功,则记录错误堆栈信息并中断测试;
在测试结束时,生成报告。
8.根据权利要求5所述的基于FitNesse框架处理断言产生的脏数据的系统,其特征在于,所述断言机制包括:
1)读取传入的参数;
2)判断实际值的类型,若与预期值类型不同,则转换成统一类型;
3)调用Java类库提供的比较方法;
4)返回比较结果和成功或失败信息。
CN202011505416.0A 2020-12-18 2020-12-18 基于FitNesse框架处理断言产生的脏数据的方法和系统 Pending CN112527665A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011505416.0A CN112527665A (zh) 2020-12-18 2020-12-18 基于FitNesse框架处理断言产生的脏数据的方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011505416.0A CN112527665A (zh) 2020-12-18 2020-12-18 基于FitNesse框架处理断言产生的脏数据的方法和系统

Publications (1)

Publication Number Publication Date
CN112527665A true CN112527665A (zh) 2021-03-19

Family

ID=75001536

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011505416.0A Pending CN112527665A (zh) 2020-12-18 2020-12-18 基于FitNesse框架处理断言产生的脏数据的方法和系统

Country Status (1)

Country Link
CN (1) CN112527665A (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981958A (zh) * 2012-12-19 2013-03-20 青岛海信传媒网络技术有限公司 软件测试方法和测试装置
CN107273286A (zh) * 2017-06-02 2017-10-20 携程计算机技术(上海)有限公司 针对任务应用的场景自动化测试平台及方法
CN108334449A (zh) * 2018-01-26 2018-07-27 北京京东金融科技控股有限公司 一种接口自动化测试的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102981958A (zh) * 2012-12-19 2013-03-20 青岛海信传媒网络技术有限公司 软件测试方法和测试装置
CN107273286A (zh) * 2017-06-02 2017-10-20 携程计算机技术(上海)有限公司 针对任务应用的场景自动化测试平台及方法
CN108334449A (zh) * 2018-01-26 2018-07-27 北京京东金融科技控股有限公司 一种接口自动化测试的方法和装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANN R.FORD: "《实用C++调试指南》", 31 January 2003, 华中科技大学出版社, pages: 62 *
小学生II: "一步一步教你搭建和使用FitNesse", pages 54 - 10, Retrieved from the Internet <URL:《https://www.cnblogs.com/ceshi2016/p/9109865.html》> *
郎珑融: "《Web自动化测试与Selenium 3.0从入门到实践》", 31 July 2020, 北京机械工业出版社, pages: 111 *

Similar Documents

Publication Publication Date Title
US8099631B2 (en) Call-stacks representation for easier analysis of thread dump
US8832125B2 (en) Extensible event-driven log analysis framework
CN103514223A (zh) 一种数据仓库数据同步方法和系统
US8667010B2 (en) Database table partitioning allowing overlaps used in full text query
US20210056006A1 (en) Automated searching and identification of software patches
CN1976320B (zh) 数据访问控制方法及系统
CN110851514B (zh) 基于flink的etl处理方法
CN100346308C (zh) 一种基于数据库操作的自动化测试方法
CN111352631B (zh) 一种接口兼容性检测方法及装置
CN117033249A (zh) 一种测试用例生成方法、装置、计算机设备及存储介质
US8285755B2 (en) Partial updating in a database proxy driver
CN112527665A (zh) 基于FitNesse框架处理断言产生的脏数据的方法和系统
CN110780863A (zh) 一种存储系统的跨平台开发方法、装置、设备及介质
CN110515653B (zh) 文档生成方法、装置、电子设备及计算机可读存储介质
CN103207787A (zh) 一种项目开发中数据包的加载方法及系统
CN112817931A (zh) 一种增量版本文件的生成方法及装置
US20040111704A1 (en) Method and apparatus for extracting enterprise beans from servlet source codes
CN111723104A (zh) 一种数据处理系统中语法分析的方法、装置及系统
CN116756184B (zh) 数据库实例处理方法、装置、设备、存储介质及程序产品
CN112416362B (zh) 一种pdk编译功能的实现方法
CN112100086B (zh) 软件自动化测试方法、装置、设备和计算机可读存储介质
CN110968634B (zh) 大数据场景下基于xml描述实现利用可编程函数式进行etl转换处理的方法
CN113495831A (zh) 基于关键字生成测试用例的方法、系统、设备及介质
Raana et al. C++ BUG CUB: Logical Bug Detection for C++ Code
CN115202843A (zh) 数据装载方法及装置

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