CN112748911A - 一种智能仿生软件生成系统及方法 - Google Patents
一种智能仿生软件生成系统及方法 Download PDFInfo
- Publication number
- CN112748911A CN112748911A CN201911033112.6A CN201911033112A CN112748911A CN 112748911 A CN112748911 A CN 112748911A CN 201911033112 A CN201911033112 A CN 201911033112A CN 112748911 A CN112748911 A CN 112748911A
- Authority
- CN
- China
- Prior art keywords
- software
- module
- generation
- test
- automatic
- 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
- 238000000034 method Methods 0.000 title claims abstract description 100
- 238000012360 testing method Methods 0.000 claims abstract description 179
- 230000008569 process Effects 0.000 claims abstract description 79
- 238000013461 design Methods 0.000 claims abstract description 60
- 230000006870 function Effects 0.000 claims description 27
- 238000004886 process control Methods 0.000 claims description 15
- 230000008447 perception Effects 0.000 claims description 3
- 238000002715 modification method Methods 0.000 claims description 2
- 239000000178 monomer Substances 0.000 claims description 2
- 238000011161 development Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 239000011664 nicotinic acid Substances 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 235000001968 nicotinic acid Nutrition 0.000 description 3
- 238000005067 remediation Methods 0.000 description 3
- 241000282414 Homo sapiens Species 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 210000001161 mammalian embryo Anatomy 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000013102 re-test Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- 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/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及一种智能仿生软件生成系统及方法,包括全自动流程控制总线模块、软件环境设计配置层、软件系统自动生成模块层、软件系统自动测试模块层、软件文档生成模块层。所述全自动流程控制总线模块用于控制软件生成流程,采取从第一个最小组件开始,到一个模块生成结束,最后直至整个系统生成结束的方式来自动化生成软件;所述软件环境设计配置层用于配置待生成软件系统的环境变量以及软件设计参数;所述软件系统自动生成模块层用于自动生成软件源代码;所述软件系统自动测试模块层用于对自动生成的代码进行自动测试;所述软件系统文档生成模块层用于在自动测试的过程中输出测试报告书以及软件使用说明书。本发明实现了全自动生成软件系统,降低了手工修改代码的错误,大大缩短了软件开发周期,提高了软件代码的可靠性。
Description
技术领域
本发明涉及智能仿生领域,尤其主要涉及一种智能仿生软件生成系统及方法。
背景技术
从目前的情况来看,软件开发的速度缓慢、代价高昂而又极易出错,常常会生产出存在大量缺陷的产品,在可用性、可靠性、性能、安全性以及其他服务质量方面造成存在严重的问题。另一方面仿生学的诞生和发展给人类解决各种问题提供了独特的视角和方案,人类科学发展史上的许多重大工程发明都源自于仿生学。基于仿生学应用于智能化软件开发,可以提高软件的开发效率,节约软件开发成本,不失为解决诸多软件问题的有效方法和途径。
借鉴动物从受精卵到出生过程的全周期生命态特性,本智能软件从配置好自动开发环境,从第一个组件模拟受精卵到系统最后生成完成,整个生成软件的过程一直处在全自动运行状态,这是对全周期生命态特性的模拟。
借鉴动物从受精卵到出生的过程一旦发生严重错误胚胎会中止发育并消亡的特点。本智能软件在系统生成的每一步进行自动测试,如果发生错误,根据生成失败错误代码对照表进行判定,如果是设计缺陷等严重错误将自动终止系统生成,这样会避免最终生成一个含有严重问题的目标系统,进而节约了软件生成的时间以及资源成本;如果是可以补救的错误时,将在补救后重新进行该步骤的软件生成。
模拟动物干细胞的多功能变化的特点,本智能生成软件在系统自动生成之前构建原型控件,由智能系统自动对原型控件进行编辑产生符合目标系统的控件和组件。
模拟动物感知神经的特点,本智能生成软件构建控件组件感知模块,对当前正在生成的控件进行感知,确定该控件的存储位置、所属模块、以及显示位置,从而对控件的自动测试提供了前提条件。
现在软件在验收时,测试式样书以及用户手册都由测试人员来制作,增加了软件开发的人力成本和时间成本,本智能生成软件在自动测试时通过软件文档生成模块层自动生成各种操作文档,节约了软件文档的制作成本。
发明内容
本发明在弥补以往上述不足的基础上提供了一种智能仿生的软件生成系统及方法,采用该方法在开发阶段不需要手动编辑代码即可生成项目代码,生成执行文件和用户使用说明书,实现了软件开发系统的自动化。
为了实现上述目的,本发明提供了一种智能仿生软件生成系统,包括全自动流程控制总线模块、软件环境设计配置层、软件系统自动生成模块层、软件系统自动测试模块层、软件文档生成模块层。
所述全自动流程控制总线模块用于控制软件生成流程, 采取从第一个最小组件开始,到一个模块生成结束,最后直至整个系统生成结束的方式来自动化生成软件;
所述软件环境设计配置层用于配置待生成软件系统的环境变量以及软件设计参数;
所述软件系统自动生成模块层用于自动生成软件源代码,采用模块化结构设计;
所述软件系统自动测试模块层用于对自动生成的代码进行自动测试,采用模块化结构设计;
所述软件系统文档生成模块层用于在自动测试的过程中输出测试报告书以及软件使用说明书。
优选的,所述全自动流程控制总线模块包括程序生成控制函数、生成进度记录表,所述程序生成控制函数用于控制自动生成软件的顺序与过程;所述生成进度记录表用于记录当前软件生成的进度,具体记录值为单元组件以及业务流程是否测试成功。
优选的,所述软件环境设计配置层包括系统配置信息、数据库结构信息、软件功能设计书、软件画面设计书、测试与说明书模版、测试用例定义书、业务逻辑设计文档。
优选的,所述软件系统自动生成模块层包括代码生成模块,原型控件模块、代码编译模块、生成失败错误代码对照表,所述代码生成模块用于根据软件环境设计配置层的要求生成代码。所述原型控件模块用于根据软件环境设计配置层的要求,由原型控件模块中的既有组件改造为生成项目所需组件。所述代码编译模块用于将自动生成的代码编译之后生成可执行文件,并放置于运行环境中。所述生成失败错误代码对照表用于存储运行发生错误信息的集合及可修复错误的修改方法及代码。
优选的,所述软件系统自动测试模块层包括控件组件感知模块、组件特征值对照表、单元组件测试模块、业务流程测试模块,所述控件组件感知模块用于感知软件生成模块生成的组件和构件,并把当前系统的中处在活动状态的组件的指针返回给调用它的函数或模块,所述组件特征值对照表用于存储所有系统组件的存储地址、所属模块、显示位置,所述单元组件测试模块用于自动测试最小组件单元,并返回测试结果,所述业务流程测试模块用于自动测试系统的业务逻辑流程,并返回测试结果。
优选的,所述软件文档生成模块层包括测试文档生成模块和说明书生成模块,所述测试文档生成模块用于在自动单体测试时自动生成测试结果说明文档,所述说明书生成模块用于在自动业务流程测试时自动生成系统使用说明书。
一种智能仿生软件生成方法,采用所述的智能仿生软件生成系统,包括以下步骤。
S1:建立生成软件系统以及生成目标系统所需的运行环境。
S2:建立软件环境设计配置层,包含系统配置信息、数据库结构信息、软件功能设计书、软件画面设计书、测试与说明书模版、测试用例定义书、业务逻辑设计文档。
S3:生成组件的源代码以及资源文件,其过程为通过全自动流程控制总线模块,调取软件环境设计配置层,读取软件功能设计书中第一个组件单元,通过代码生成模块生成符合软件功能设计书中功能的组件单元源代码,通过原型控件模块生成软件画面设计书所需要的组件单元控件,调取代码编译模块对生成的源代码和组件进行编译,生成可执行文件并拷贝到运行环境中去, 并把该组件单元的信息存入组件特征值对照表。
S4:对生成组件进行测试,其过程为通过全自动流程控制总线模块,调取单元组件测试模块对S3生成文件进行单元组件测试,单元组件测试模块在被全自动流程控制总线模块调用后,通过调用控件组件感知模块并通过组件特征值对照表确定生成文件地址,根据测试用例定义书生成该单元组件的测试用例,并调用该可执行文件完成单元测试,并将测试结果返回全自动流程控制总线模块。在单元测试进行时通过进程通信,通知测试文档生成模块对测试过程进行截屏,以及对后台数据库逻辑结果进行自动比对,自动生成测试式样书。
S5:判断组件测试结果,其过程为通过全自动流程控制总线模块根据单元组件测试模块返回的测试结果,判断下一步的自动生成操作。
S6:如果S5步骤判断测试成功的情况,将继续生成和测试下一个单元组件,并在生成进度记录表中记录此单元组件的状态为“测试成功”。
S7:如果S5步骤判断测试失败的情况,全自动流程控制总线模块将调用生成失败错误代码对照表进行判断。
S8:如果S7通过生成失败错误代码对照表判定为可以修改的错误代码,全自动流程控制总线模块将执行错误代码对照表中补救方法中的代码,删除此单元组件所生成的全部文件,重新执行S3-S5流程,对此单元控件进行重新生成与测试,并在生成进度记录表中记录此单元组件的状态为“需重新测试”。
S9:如果S7通过生成失败错误代码对照表判定为无法自动修复的错误代码,在生成进度记录表中记录此单元组件的状态为“测试失败”,全自动流程控制总线模块将终止整个软件生成过程,只有然后通过人工才能判断、处理该问题并重启生成过程。
S10:在重复S3-S9流程直至所有系统的控件单元测试成功后开始进行业务逻辑测试,通过全自动流程控制总线模块调取业务流程测试模块对系统进行业务测试,业务流程测试模块在被全自动流程控制总线模块调用后,通过调用控件组件感知模块通过根据组件特征值对照表确定生成文件地址,调用软件环境设计配置层确定该业务流程的测试项,并调用该可执行文件运行业务测试,并将测试结果返回全自动流程控制总线模块。在业务流程测试进行时通过进程通信,通知使用说明书生成模块对整个测试过程进行截屏,以及对后台逻辑结果进行自动比对,自动生成该业务功能的使用说明书。
S11:全自动流程控制总线模块根据业务流程测试模块返回的测试结果判断下一步的自动生成操作。
S12:如果S11步骤判断测试业务流程测试成功的情况,将测试下一个业务流程,并在生成进度记录表中记录此业务流程的状态为”测试成功”。直至系统所有业务测试成功完成,整个系统的生成过程方告结束。
S13:如果S11步骤判断测试业务流程测试失败的情况,全自动流程控制总线模块将调用生成失败错误代码对照表进行判断。
S14:如果S13通过生成失败错误代码对照表判定为可以修改的错误代码,全自动流程控制总线模块将执行错误代码对照表中补救方法中的代码,重新执行S10对此业务流程进行测试,并在生成进度记录表中记录此业务流程的状态为“待重新测试”。
S15:如果S13通过生成失败错误代码对照表判定为无法补救的错误代码,在生成进度记录表中记录此业务流程的状态为“测试失败”,全自动流程控制总线模块将终止整个软件生成过程,只有然后通过人工才能判断并处理该问题并重启生成过程。
与现有技术相比,本发明的优点和积极效果在于:
本发明提供了一种智能仿生软件生成系统和方法,包括全自动流程控制总线模块、软件环境设计配置层、软件系统自动生成模块层、软件系统自动测试模块层、软件文档生成模块层。
本发明设计不同于一键式新闻推送类网页代码简单生成工具,其创新在于利用仿生学对软件开发的流程进行了改善,以及合理利用代码自动生成工具、自动测试工具生成软件,这样不需要编辑代码,降低了手工修改代码的错误,大大缩短了软件开发周期,提高了软件代码的可靠性。
附图说明
图1为本发明的仿生智能软件生成系统拓扑图。
图2为本发明的仿生智能软件生成方法流程图。
具体实施方式
以下结合附图对本发明的具体实施方式进行进一步的描述。
本发明提供了一种智能仿生软件生成系统及方法,可以生成各类应用软件以及业务系统,本实施例是以在政府推行的“一网通办”的号召下正大力推广的办事业务类网站为例,具体的说明本发明的实施方式。
参考如上文及图1所示,一种智能仿生软件生成系统,包括全自动流程控制总线模块、软件环境设计配置层、软件系统自动生成模块层、软件系统自动测试模块层、软件文档生成模块层。
全自动流程控制总线模块用于控制软件生成流程,采取从第一个最小组件开始,到一个模块生成结束,最后直至整个系统生成结束的方式来自动化生成软件;
软件环境设计配置层用于配置待生成软件系统的环境变量以及软件设计参数;
软件系统自动生成模块层用于自动生成软件源代码,采用模块化结构设计;
软件系统自动测试模块层用于对自动生成的代码进行自动测试,采用模块化结构设计;
软件系统文档生成模块层用于在自动测试的过程中输出测试报告书以及系统使用说明书;
全自动流程控制总线模块包括程序生成控制函数、生成进度记录表。
本实施例中根据功能需求和技术规范,全自动流程控制总线模块是整个软件生成的控制器和引擎,软件生成系统采用JAVA语言编写,采用分布式和异步调用设计,采取SOA架构实现组件化和服务化,能够异步调用其他模块功能,并能异步接收和处理其他模块返回的消息。采用消息中间件、消息队列控制组件、数据库连接组件等做为软件自动化生成的构建模块。
软件环境设计配置层包括系统配置信息,数据库结构信息,软件功能设计书,软件画面设计书,业务逻辑设计文档;。
本实施例中根据功能需求和技术规范,软件环境设计配置层的配置信息采取Excel电子表格形式整理并存储,电子表格的包含的主要信息在名词后的小括号中列举,系统配置信息(包含软硬件环境信息、开发目录地址以及运行环境信息、JRE地址)、数据库结构信息(ER图、数据库表以及视图字段定义表、存储过程定义表)、软件功能设计书、软件画面设计书、测试与说明书模版、测试用例定义书(单体测试用例与数据,业务办事流程测试用例与数据,人员权限测试数据)、业务逻辑设计文档(办事流程图、权限设定文档、办事节点列表文档、具体业务操作说明书)。
软件系统自动生成模块层包括代码生成模块,原型控件模块、代码编译模块、生成失败错误代码对照表。
本实施例中根据功能需求和技术规范,代码生成模块采取web Service服务结构进行编写,先通过JAVA 的Microsoft Office格式读写函式库(POI)对软件功能设计书和数据库设计书进行读取,通过JAVA的读写函数自动编写代码。原型控件模块采用JAVA的抽象原型类设计,由于本例的生成目标为办事业务类网站,原型控件模块所包含原型控件为输入框、下拉列表、时间控件、办事节点可拖拽控件;原型控件模块通过POI读取软件画面设计书的控件定义与参数,自动选择对应原型控件后按设计书要求自动生成所需控件;代码编译模块采取批处理调用模式,将生成的JAVA代码和控件所属的JSP文件,通过JAVA编译器生成为可执行文件后,拷贝到运行环境中,本例的网络发布容器为WebSphere,拷贝完之后自动重新启动WebSphere。生成失败错误代码对照表通过Oracle数据库存储运行错误类型以及处理方式,如控件生成失败可能是由于JSP文件被其他程序调用,其处理方式为调用taskkill 注销该进程,重新生成控件即可,此例的操作系统为Window 7。
软件系统自动测试模块层包括控件组件感知模块、组件特征值对照表、单元组件测试模块、业务流程测试模块。
本实施例中根据功能需求和技术规范,控件组件感知模块采用C++语言编写而成,当自动测试时,控件组件感知模块通过JAVA的 Runtime.getRuntime().exec()函数调用外部的C++可执行MFC程序,获得当前操作系统光标所处位置,确定当前测试组件。组件特征值对照表通过Oracle数据库存储所有系统组件的存储地址、所属模块、显示位置。单元组件测试模块采取JAVA语言编写,通过输入测试值返回测试结果。业务流程测试模块采取JAVA语言编写,通过输入测试值,并进行页面跳转,完成整个办事业务逻辑流程,并返回测试结果。
软件文档生成模块层包括测试文档生成模块和说明书生成模块。
本实施例中根据功能需求和技术规范,包括测试文档生成模块和说明书生成模块均采取C++语言编写;测试文档生成模块将拷贝测试与说明书模版到指定文件夹,并进行程序改名为当前模块测试用例说明书,举例把“网上办事A画面测试模板.xls”改为“网上办事A画面测试式样书.xls”, 测试文档生成模块根据模块定义说明在输入测试数据后,把页面错误信息与测试用例定义书规定提示信息进行比较后判断正误,并将测试结果写入测试结果说明书;有数据库增、删、改的操作时,测试文档生成模块把数据库的变化情况与测试用例定义书的数据值进行比较后判断正误,并写入测试结果说明书。当涉及到画面操作时,调用Windows 截图进程,保存当前截图到测试结果说明书,并调用图像分析软件对截图进行测试。说明书生成模块是在业务逻辑测试阶段通过具体业务画面操作说明书生成具体的软件使用说明书,由于在程序开发完之前具体业务画面操作说明书只能提供文字描述,在业务逻辑测试阶段过程中说明书生成模块调用Windows 截图进程,和抽取已经准备好的具体业务画面操作说明书抽取步骤和说明文字,生成系统使用说明书。
本发明还提供了一种智能仿生软件生成方法,参考图1、图2,包括以下步骤:
S1:建立生成软件系统以及生成目标系统所需的运行环境;本例的硬件环境为WindowsServer服务器集群(主服务器、资源服务器、自动生成服务器、测试服务器、目标系统生成服务器),主服务器上安装全自动流程控制总线模块并启动该模块,资源服务器上配置软件环境设计配置层,自动生成服务器上安装软件系统自动生成模块层并启动该模块,测试服务器上安装软件系统自动测试模块层和软件文档生成模块层并启动所有模块,目标系统生成服务器为办事业务网站的生成目标服务器,安装并启动WebSphere,Oracle数据库,以及JAVA编译环境。在网络的硬件设置上保证各服务器IP以及消息互通,目标系统生成服务器为其他所有服务器开通磁盘读写权限。目标系统办事业务类网站的开发为JAVA,页面为JSP,并将该业务类网站的框架预先在WebSphere中发布,并把发布的物理地址、数据库链接字段、数据库用户名和密码保存在系统配置信息表格中。
S2:建立软件环境设计配置层,包含系统配置信息(包含软硬件环境信息、开发目录地址以及运行环境信息、JRE地址)、数据库结构信息(ER图、数据库表以及视图字段定义表、存储过程定义表)、软件功能设计书、软件画面设计书、测试与说明书模版、测试用例定义书(单体测试用例与数据,业务办事流程测试用例与数据,人员权限测试数据)、业务逻辑设计文档(办事流程图、权限设定文档、办事节点列表文档、具体业务操作说明书)等。将所有办事业务类网站的Excel设计文档拷贝至资源服务器。
S3:通过全自动流程控制总线模块调取软件环境设计配置层,通过MicrosoftOffice格式读写函式库(POI)对功能设计书中第一个组件单元进行读取,假设第一个控件为输入框,通过原型控件模块读取软件画面设计书中此输入框的定义,自动生成输入框的名称、大小、输入格式后,将该输入框控件代码追加到指定的目标服务器Webspere的JSP页面对应的物理文件中去,调取代码编译模块,通过JRE对生成的源代码和组件进行编译,生成可执行文件并拷贝到运行环境中, 并把该组件单元的信息存入组件特征值对照表,主要信息为输入框的JSP的URL地址,页面所属位置。
S4:通过全自动流程控制总线模块,调取单元组件测试模块对S3生成文件进行单元组件测试,单元组件测试模块在被全自动流程控制总线模块调用后,通过调用控件组件感知模块通过查询组件特征值对照表确定该输入框的JSP的URL地址,页面所属位置,用POI函数读取测试用例定义书生成该单元组件的测试用例,并调用该可执行文件完成单元测试,在浏览器中输入所在JSP页面的URL之后,待该页面加载完成之后,利用HTTP函数和JAVA输入输出函数写入具体的测试数值、边界值、重复值以及数据库插入等测试项进行单体测试,并将测试结果返回全自动流程控制总线模块。在单元测试进行的过程中单元组件测试模块通过进程通信,通知测试文档生成模块对测试过程进行截屏,以及对后台数据库逻辑结果进行自动比对,自动生成测试式样书。
S5:全自动流程控制总线模块根据单元组件测试模块返回的测试结果判断下一步的自动生成操作。
S6:如果S5步骤判断测试成功,将继续生成和测试下一个单元组件,并在生成进度记录表中记录此单元组件的状态为“测试成功”。
S7:如果S5步骤判断测试失败,全自动流程控制总线模块将查询生成失败错误代码对照表进行判断该错误是否为能够修复。
S8:如果S7通过生成失败错误代码对照表判定为可以修改的错误代码,全自动流程控制总线模块将执行错误代码对照表中补救方法中的代码,如在测试此单元组件时,假定某个资源或文件被其他程序调用,其处理方式为调用taskkill 注销该进程,重新生成控件即可,删除所有此单元组件生成文件,重新执行S3-S5流程对此单元控件进行生成与测试,并在生成进度记录表中记录此单元组件的状态为“需重新测试”。
S9:如果S7通过生成失败错误代码对照表判定为不可补救的错误代码,在生成进度记录表中记录此单元组件的状态为“测试失败”,全自动流程控制总线模块将终止整个软件生成过程,只有然后通过人工才能判断、处理该问题并重启生成过程。
S10:在重复S3-S9流程直至所有系统的控件单元测试成功后,通过全自动流程控制总线模块调取业务流程测试模块对系统进行业务测试,例如该业务流程为查询个人信息,第一步为登录主页面,输入用户密码;第二步为在菜单中找到该查询界面入口,点击查询按钮;业务流程测试模块在被全自动流程控制总线模块调用后,通过调用控件组件感知模块通过根据组件特征值对照表确定生成文件地址,调用软件环境设计配置层确定该业务流程的测试项,并调用该可执行文件运行业务测试,如果是对上例的查询个人信息进行测试的话,业务流程测试模块通过URL打开登录页面后,再通过控件组件感知模块确定用户和密码输入框,调用人员权限设定文档获取用户和密码之后,自动点击个人信息按钮后即可以通过页面显示的数据与数据库中的数据作比对,并将测试结果返回全自动流程控制总线模块。在业务流程测试进行时通过进程通信,通知使用说明书生成模块对整个测试过程进行截屏,以及对后台逻辑结果进行自动比对,自动生成该业务功能的使用说明书。
S11:全自动流程控制总线模块根据业务流程测试模块返回的测试结果判断下一步的自动生成操作。
S12:如果S11步骤判断测试业务流程测试成功的情况,将测试下一个业务流程,并在生成进度记录表中记录此业务流程的状态为“测试成功”。直至系统所有业务测试成功完成,整个系统的生成过程方告结束。
S13:如果S11步骤判断测试业务流程测试失败的情况,全自动流程控制总线模块将调用生成失败错误代码对照表进行判断。
S14:如果S13通过生成失败错误代码对照表判定为可以修改的错误代码,全自动流程控制总线模块将执行错误代码对照表中补救方法中的代码,如在测试此业务流程时,某个资源或文件被其他程序调用,其处理方式为调用taskkill 注销该进程,重新执行S10对此业务流程进行测试。,并在生成进度记录表中记录此业务流程的状态为“待重新测试“。
S15:如果S13通过生成失败错误代码对照表判定为无法补救的错误代码,在生成进度记录表中记录此业务流程的状态为“测试失败”,全自动流程控制总线模块将终止整个软件生成过程,只有然后通过人工才能判断、处理该问题并重启生成过程。
本实施例中软件环境设计配置层完成后,通过启动软件系统自动生成模块层和软件系统自动测试模块层即可完成一款软件的开发。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (6)
1.一种智能仿生软件生成系统,其特征在于,包括全自动流程控制总线模块、软件环境设计配置层、软件系统自动生成模块层、软件系统自动测试模块层、软件文档生成模块层;所述全自动流程控制总线模块用于控制软件生成流程,采取从第一个最小组件开始,到一个模块生成结束,最后直至整个系统生成结束的方式来自动化生成软件;所述软件环境设计配置层用于配置待生成软件系统的环境变量以及软件设计参数;所述软件系统自动生成模块层用于自动生成软件源代码;所述软件系统自动测试模块层用于对自动生成的代码进行自动测试;所述软件系统文档生成模块层用于在自动测试的过程中输出测试报告书以及软件使用说明书。
2.根据权利要求1所述的一种智能仿生软件生成系统,其特征在于,所述全自动流程控制总线模块包括程序生成控制函数,生成进度记录表;所述程序生成控制函数用于控制自动生成软件的顺序与过程;所述生成进度记录表用于记录当前软件生成的进度,具体记录值为单元组件以及业务流程是否测试成功。
3.根据权利要求2所述的一种智能仿生软件生成系统,其特征在于,所述软件环境设计配置层包括系统配置信息、数据库结构信息、软件功能设计书、软件画面设计书、测试与说明书模版、测试用例与测试数据定义书、业务逻辑设计文档。
4.根据权利要求3所述的一种智能仿生软件生成系统,其特征在于,所述软件系统自动生成模块层包括代码生成模块、原型控件模块、代码编译模块、生成失败错误代码对照表;所述代码生成模块用于根据软件环境设计配置层的要求生成代码;所述原型控件模块用于根据软件环境设计配置层的要求,由原型控件模块中的既有组件改造为生成项目所需组件;所述代码编译模块用于将自动生成的代码编译之后生成可执行文件,并放置于运行环境中;所述生成失败错误代码对照表用于存储运行发生错误信息的集合及可修复错误的修改方法及代码。
5.根据权利要求4所述的一种智能仿生软件生成系统,其特征在于,所述软件系统自动测试模块层包括控件组件感知模块、组件特征值对照表、单元组件测试模块、业务流程测试模块;所述控件组件感知模块用于感知软件生成模块生成的组件和构件,并把当前系统的中处在活动状态的组件的指针返回给调用它的函数或模块;所述组件特征值对照表用于存储所有系统组件的存储地址、所属模块、显示位置;所述单元组件测试模块用于自动测试最小组件单元,并返回测试结果;所述业务流程测试模块用于自动测试系统的业务逻辑流程,并返回测试结果。
6.根据权利要求5所述的一种智能仿生软件生成系统,其特征在于,所述软件文档生成模块层包括测试文档生成模块和说明书生成模块;所述测试文档生成模块用于在自动单体测试时自动生成测试结果说明文档;所述说明书生成模块用于在自动业务流程测试时自动生成系统使用说明书。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033112.6A CN112748911A (zh) | 2019-10-29 | 2019-10-29 | 一种智能仿生软件生成系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033112.6A CN112748911A (zh) | 2019-10-29 | 2019-10-29 | 一种智能仿生软件生成系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112748911A true CN112748911A (zh) | 2021-05-04 |
Family
ID=75640066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911033112.6A Pending CN112748911A (zh) | 2019-10-29 | 2019-10-29 | 一种智能仿生软件生成系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112748911A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007011603A (ja) * | 2005-06-29 | 2007-01-18 | Katsumi Ikeda | カスタムソフト自動生成装置および方法 |
KR20130028207A (ko) * | 2011-09-09 | 2013-03-19 | 강원대학교산학협력단 | 웹 기반의 소프트웨어 개발 및 테스트 자동화 장치 |
CN103294475A (zh) * | 2013-06-08 | 2013-09-11 | 北京邮电大学 | 基于图形化业务场景和领域模板的业务自动生成系统和方法 |
CN107122218A (zh) * | 2017-03-30 | 2017-09-01 | 北京深思数盾科技股份有限公司 | 一种软件开发方法及系统 |
CN110046099A (zh) * | 2019-04-11 | 2019-07-23 | 艾伯资讯(深圳)有限公司 | 智能化软件测试系统及方法 |
CN110058846A (zh) * | 2019-04-19 | 2019-07-26 | 深圳市康拓普信息技术有限公司 | 一种业务应用软件开发系统和方法 |
-
2019
- 2019-10-29 CN CN201911033112.6A patent/CN112748911A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007011603A (ja) * | 2005-06-29 | 2007-01-18 | Katsumi Ikeda | カスタムソフト自動生成装置および方法 |
KR20130028207A (ko) * | 2011-09-09 | 2013-03-19 | 강원대학교산학협력단 | 웹 기반의 소프트웨어 개발 및 테스트 자동화 장치 |
CN103294475A (zh) * | 2013-06-08 | 2013-09-11 | 北京邮电大学 | 基于图形化业务场景和领域模板的业务自动生成系统和方法 |
CN107122218A (zh) * | 2017-03-30 | 2017-09-01 | 北京深思数盾科技股份有限公司 | 一种软件开发方法及系统 |
CN110046099A (zh) * | 2019-04-11 | 2019-07-23 | 艾伯资讯(深圳)有限公司 | 智能化软件测试系统及方法 |
CN110058846A (zh) * | 2019-04-19 | 2019-07-26 | 深圳市康拓普信息技术有限公司 | 一种业务应用软件开发系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11281570B2 (en) | Software testing method, system, apparatus, device medium, and computer program product | |
US10346140B2 (en) | System and method for model based technology and process for safety-critical software development | |
US9465718B2 (en) | Filter generation for load testing managed environments | |
CA3131079A1 (en) | Test case generation method and device, computer equipment and storage medium | |
CN108923997B (zh) | 一种基于python的云服务节点自动测试方法及装置 | |
US11544050B1 (en) | Software patch automation | |
CN108228190B (zh) | 持续集成和交付方法、系统、设备及计算机可读存储介质 | |
US11573780B2 (en) | Automated generation of status chains for software updates | |
CN111737152B (zh) | 通过网页录入数据实现web自动化测试的方法及装置 | |
Sandobalin et al. | End-to-end automation in cloud infrastructure provisioning | |
CN113742215A (zh) | 一种自动配置和调用测试工具进行测试分析的方法及系统 | |
CN117112060A (zh) | 组件库构建方法、装置、电子设备及存储介质 | |
Jiang et al. | Assuring the model evolution of protocol software specifications by regression testing process improvement | |
US20160004625A1 (en) | Method of executing test scripts based on runtime test selection | |
CN109144867B (zh) | 一种测试方法及测试系统 | |
CN112748911A (zh) | 一种智能仿生软件生成系统及方法 | |
CN115934559A (zh) | 表单智能测试系统的测试方法 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN113918162A (zh) | 一种基于集中式管理模式下的前端代码自动化校验方法 | |
Stapp et al. | Chapter 2 Testing Throughout the Software Development Life Cycle | |
CN113688028A (zh) | 代码提交方法和装置 | |
Talby et al. | A process-complete automatic acceptance testing framework | |
CN113094281B (zh) | 一种混合式App的测试方法及装置 | |
CN117573564B (zh) | 一种基于gitlab代码提交日志自动识别差异的方法 | |
CN116010239B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20210504 |