CN116774987A - 一种基于web多终端的软件开发控制方法及系统 - Google Patents
一种基于web多终端的软件开发控制方法及系统 Download PDFInfo
- Publication number
- CN116774987A CN116774987A CN202310795586.4A CN202310795586A CN116774987A CN 116774987 A CN116774987 A CN 116774987A CN 202310795586 A CN202310795586 A CN 202310795586A CN 116774987 A CN116774987 A CN 116774987A
- Authority
- CN
- China
- Prior art keywords
- test
- software
- development
- terminal
- preset
- 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 50
- 238000011161 development Methods 0.000 claims abstract description 126
- 238000004891 communication Methods 0.000 claims abstract description 8
- 238000012360 testing method Methods 0.000 claims description 490
- 238000004458 analytical method Methods 0.000 claims description 34
- 230000006870 function Effects 0.000 claims description 30
- 230000003068 static effect Effects 0.000 claims description 20
- 230000010354 integration Effects 0.000 claims description 18
- 230000008439 repair process Effects 0.000 claims description 18
- 238000012423 maintenance Methods 0.000 claims description 15
- 238000013461 design Methods 0.000 claims description 14
- 238000011056 performance test Methods 0.000 claims description 14
- 238000011990 functional testing Methods 0.000 claims description 12
- 238000007726 management method Methods 0.000 claims description 12
- 238000010276 construction Methods 0.000 claims description 10
- 238000005516 engineering process Methods 0.000 claims description 9
- BUGBHKTXTAQXES-UHFFFAOYSA-N Selenium Chemical compound [Se] BUGBHKTXTAQXES-UHFFFAOYSA-N 0.000 claims description 8
- 239000008186 active pharmaceutical agent Substances 0.000 claims description 8
- 238000007689 inspection Methods 0.000 claims description 8
- 238000011076 safety test Methods 0.000 claims description 8
- 229910052711 selenium Inorganic materials 0.000 claims description 8
- 239000011669 selenium Substances 0.000 claims description 8
- 239000013589 supplement Substances 0.000 claims description 8
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 238000013500 data storage Methods 0.000 claims description 6
- 238000013522 software testing Methods 0.000 claims description 6
- 238000009434 installation Methods 0.000 claims description 4
- 230000009469 supplementation Effects 0.000 claims description 4
- 230000001502 supplementing effect Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 16
- 230000004927 fusion Effects 0.000 abstract description 5
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004806 packaging method and process Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000000047 product Substances 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/10—Requirements analysis; Specification techniques
-
- 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/37—Compiler construction; Parser generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
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 Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于web多终端的软件开发控制方法及系统,运用于软件开发技术领域;本发明通过在软件开发过程中使得不同终端之间软件数据能够融合互通,多个终端的融合互通使得开发得到的软件应用能够在不同的环境中运行,即使调试软件应用时需要处理不同终端的各个问题,开发软件的效率也能因为多个终端的软件数据能够融合互通,使得软件开发和使用效率能够进一步提高。
Description
技术领域
本发明涉及软件开发技术领域,特别涉及为一种基于web多终端的软件开发控制方法及系统。
背景技术
随着当今网络社会高新信息技术的迅猛发展,产品在市场中的生命周期逐渐缩短,面对日趋激烈的市场环境,企业必须采取更加灵活、快速的方式适应客户类型日趋复杂化、客户需求日趋个性化的变化,以求在变幻莫测的市场竞争环境中赢得一席之地。传统软件的软件行业,大多以项目为单位,项目团队为实现项目目标而组建,同时公司内部的软件开发人员也将根据需要分别进入一个个的项目中,根据客户的具体需求进行开发。各项目在实施前期由各项目的技术负责人搭建项目的开发环境、架构设计、模块拆分等,然后再安排具体的开发任务将由开发人员根据需求进行编码开发,直至测试、试运行、最终验收,项目将进入维护阶段。
目前现有的软件开发技术为使用不同的软件开发工具来开发基于Web的应用,但是开发过程中无法在不同终端之间对开发中的软件进行融合互通,不同终端的缺乏导致开发得到的软件应用各不相同,在调试软件应用时需要处理不同终端的各个问题,开发软件的效率无法进一步提高。
发明内容
本发明旨在解决软件开发过程中,无法在不同终端之间对开发中的软件进行融合互通,不同终端的缺乏导致开发得到的软件应用各不相同,在调试软件应用时需要处理不同终端的各个问题,提供一种基于web多终端的软件开发控制方法及系统。
本发明为解决技术问题采用如下技术手段:
本发明提供一种基于web多终端的软件开发控制方法,包括以下步骤:
获取开发商提出软件开发的需求项目及其方向,判断所述需求项目及其方向是否符合预设的开发标准,其中,所述开发标准具体为开发软件的应用内容能够通过不同终端互通;
若是,则对所述需求项目及其方向进行解析,为开发软件制定至少一项测试计划,将所述测试计划代入至预设的各个终端,并将所述开发软件录入至所述各个终端,待所述开发软件适配所述各个终端的系统运作后,采集所述各个终端对开发软件的试运行状态,其中,所述测试计划具体包括搭建所述开发软件的开发环境,设计所述开发软件的开发架构,细化所述开发软件的功能需求,所述试运行状态具体是基于预设时间节点对所述开发软件进行测试记录,取所述测试记录的测试日志作为所述试运行状态的成果;
判断所述试运行状态是否满足预设条件;
若满足,则应用预设的平台场景将所述各个终端对应的开发软件测试内容进行互通,识别所述各个终端对软件的测试完整性,基于所述测试完整性最佳的终端对其他终端的待测试日志进行补充,补充完毕后生成互通于所述各个终端的开发软件。
进一步地,所述则对所述需求项目及其方向进行解析,为开发软件制定至少一项测试计划的步骤中,包括:
定义测试目标:明确所述开发软件需要完成的功能以及预期结果,根据所述功能以及预期结果,确定需要进行的测试类型,其中,所述测试类型包括但不限于功能测试、性能测试、安全测试;
识别测试场景:识别可能影响所述开发软件性能的场景,对于各个不同场景,确定所述场景相应的测试环境,其中,所述场景包括但不限于是高负载、网络延迟;
制定测试计划:根据测试目标和测试场景,制定对应的测试计划,其中,所述测试计划包括测试时间、测试人员和测试工具,以及得出测试结果对应的测试报告。
执行测试计划:制定测试计划后,执行所述测试计划并记录测试结果,将所述测试结果对应的测试报错记录,基于所述测试报错记录对测试内容进行修复。
分析测试结果:重新测试并取至少一个测试结果确定所述开发软件是否完成修复,若所述开发软件仍然存在所述测试报错记录中的错误内容,确保所述错误内容已经被修复并且在下一测试环节中不再出现同一错误内容。
进一步地,所述则应用预设的平台场景将所述各个终端对应的开发软件测试内容进行互通的步骤中,包括:
持续集成和持续部署:应用预设的CI/CD工具对所述开发软件进行自定义构建、测试和部署,并将自定义结果发送至所述各个终端,确保所述开发软件的代码和内容在各个不同终端之间始终保持同步,其中,所述CI/CD工具包括Jenkins、Travis CI;
自动化测试工具:使用预设的自动化测试工具在所述各个终端上进行自动化测试,记录所述自动化测试对应的测试结果,基于所述测试结果快速发现和修复对应的测试问题,其中,所述自动化测试工具包括Selenium、Appium;
代码静态分析工具:使用预设的代码静态分析工具可以解析所述自动化测试中存在的代码问题,其中,所述代码静态分析工具包括SonarQube、Code Climate,所述代码问题包括但不限于是代码重复、安全漏洞、性能瓶颈;
自动化部署工具:使用预设的自动化部署工具将所述开发软件进行自动化配置和软件部署,以确保在不同终端上使用相同的软件配置和环境,其中,所述自动化部署工具包括Ansible、Chef。
进一步地,所述补充完毕后生成互通于所述各个终端的开发软件的步骤后,包括:
进行代码审查:进行代码审查可以帮助发现和修复代码中的问题,所述问题包括代码风格不一致、代码冗余、性能问题;
编写和更新软件文档:完成软件开发后,需要编写和更新软件文档,所述软件文档包括用户手册、技术文档、API文档。
进一步地,所述获取开发商提出软件开发的需求项目及其方向,判断所述需求项目及其方向是否符合预设的开发标准的步骤前,包括:
明确软件需求和目标:明确软件开发的需求和目标,所述需求包括软件的功能、性能、用户体验,所述目标具体包括如何更好地设计和开发软件;
设计软件架构和技术栈:设计软件架构和选择合适的技术栈,所述软件架构包括软件组件之间的关系、通信方式、数据存储方式,所述技术栈包括编程语言、框架、数据库。
进一步地,所述判断所述试运行状态是否满足预设条件的步骤中,包括:
安装开发环境:应用预设的开发工具配合所述开发软件进行开发,其中,所述开发工作包括编译器、集成开发环境和版本控制系统,所述编译器、集成开发环境和版本控制系统可用于编写、编译和调试软件代码;
编写软件代码:编写所述开发软件所需的对应代码,实现所述对应代码的功能,其中,所述对应代码至少需要存在可读性和可维护性;
编译和构建软件:使用所述编译器和预设的构建工具将所述开发软件的源代码转换为可执行文件,构建所述开发软件时,至少需要执行两项测试,其中,所述两项测试包括单元测试和集成测试,确保所述开发软件的质量和稳定性;
进行试运行测试:在所述集成开发环境中进行试运行测试,确保所述开发软件在至少一种不同情况下的稳定性和性能,其中,所述试运行测试包括但不限于是功能测试、性能测试和安全测试。
进一步地,所述获取开发商提出软件开发的需求项目及其方向的步骤中,包括:
识别所述软件开发的至少一种需求场景,其中,所述需求场景包括功能需求、非功能需求、用户需求、系统需求、接口需求、数据需求、测试需求、维护需求和项目管理需求;
判断所述需求场景能否适用于多个不同终端;
若是,则为所述软件开发制定对应的开发方向,其中,所述开发方向包括项目分析、确定开发、需求分析、设计、编程、软件测试、软件交付、验收和维护。
本发明还提供一种基于web多终端的软件开发控制系统,包括:
判断模块,用于获取开发商提出软件开发的需求项目及其方向,判断所述需求项目及其方向是否符合预设的开发标准,其中,所述开发标准具体为开发软件的应用内容能够通过不同终端互通;
执行模块,用于若是,则对所述需求项目及其方向进行解析,为开发软件制定至少一项测试计划,将所述测试计划代入至预设的各个终端,并将所述开发软件录入至所述各个终端,待所述开发软件适配所述各个终端的系统运作后,采集所述各个终端对开发软件的试运行状态,其中,所述测试计划具体包括搭建所述开发软件的开发环境,设计所述开发软件的开发架构,细化所述开发软件的功能需求,所述试运行状态具体是基于预设时间节点对所述开发软件进行测试记录,取所述测试记录的测试日志作为所述试运行状态的成果;
第二判断模块,用于判断所述试运行状态是否满足预设条件;
第二执行模块,用于若满足,则应用预设的平台场景将所述各个终端对应的开发软件测试内容进行互通,识别所述各个终端对软件的测试完整性,基于所述测试完整性最佳的终端对其他终端的待测试日志进行补充,补充完毕后生成互通于所述各个终端的开发软件。
进一步地,所述执行模块还包括:
定义单元,用于定义测试目标:明确所述开发软件需要完成的功能以及预期结果,根据所述功能以及预期结果,确定需要进行的测试类型,其中,所述测试类型包括但不限于功能测试、性能测试、安全测试;
识别单元,用于识别测试场景:识别可能影响所述开发软件性能的场景,对于各个不同场景,确定所述场景相应的测试环境,其中,所述场景包括但不限于是高负载、网络延迟;
制定单元,用于制定测试计划:根据测试目标和测试场景,制定对应的测试计划,其中,所述测试计划包括测试时间、测试人员和测试工具,以及得出测试结果对应的测试报告。
执行单元,用于执行测试计划:制定测试计划后,执行所述测试计划并记录测试结果,将所述测试结果对应的测试报错记录,基于所述测试报错记录对测试内容进行修复。
分析单元,用于分析测试结果:重新测试并取至少一个测试结果确定所述开发软件是否完成修复,若所述开发软件仍然存在所述测试报错记录中的错误内容,确保所述错误内容已经被修复并且在下一测试环节中不再出现同一错误内容。
进一步地,所述第二执行模块还包括:
部署单元,用于持续集成和持续部署:应用预设的CI/CD工具对所述开发软件进行自定义构建、测试和部署,并将自定义结果发送至所述各个终端,确保所述开发软件的代码和内容在各个不同终端之间始终保持同步,其中,所述CI/CD工具包括Jenkins、Travis CI;
测试单元,用于自动化测试工具:使用预设的自动化测试工具在所述各个终端上进行自动化测试,记录所述自动化测试对应的测试结果,基于所述测试结果快速发现和修复对应的测试问题,其中,所述自动化测试工具包括Selenium、Appium;
第二分析单元,用于代码静态分析工具:使用预设的代码静态分析工具可以解析所述自动化测试中存在的代码问题,其中,所述代码静态分析工具包括SonarQube、CodeClimate,所述代码问题包括但不限于是代码重复、安全漏洞、性能瓶颈;
第二部署单元,用于自动化部署工具:使用预设的自动化部署工具将所述开发软件进行自动化配置和软件部署,以确保在不同终端上使用相同的软件配置和环境,其中,所述自动化部署工具包括Ansible、Chef。
本发明提供了基于web多终端的软件开发控制方法及系统,具有以下有益效果:
本发明通过在软件开发过程中使得不同终端之间软件数据能够融合互通,多个终端的融合互通使得开发得到的软件应用能够在不同的环境中运行,即使调试软件应用时需要处理不同终端的各个问题,开发软件的效率也能因为多个终端的软件数据能够融合互通,使得软件开发和使用效率能够进一步提高。
附图说明
图1为本发明基于web多终端的软件开发控制方法一个实施例的流程示意图;
图2为本发明基于web多终端的软件开发控制系统一个实施例的结构框图。
实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明,本发明为目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
下面将结合本发明的实施例中的附图,对本发明的实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参考附图1,为本发明一实施例中的基于web多终端的软件开发控制方法,包括:
S1:获取开发商提出软件开发的需求项目及其方向,判断所述需求项目及其方向是否符合预设的开发标准,其中,所述开发标准具体为开发软件的应用内容能够通过不同终端互通;
S2:若是,则对所述需求项目及其方向进行解析,为开发软件制定至少一项测试计划,将所述测试计划代入至预设的各个终端,并将所述开发软件录入至所述各个终端,待所述开发软件适配所述各个终端的系统运作后,采集所述各个终端对开发软件的试运行状态,其中,所述测试计划具体包括搭建所述开发软件的开发环境,设计所述开发软件的开发架构,细化所述开发软件的功能需求,所述试运行状态具体是基于预设时间节点对所述开发软件进行测试记录,取所述测试记录的测试日志作为所述试运行状态的成果;
S3:判断所述试运行状态是否满足预设条件;
S4:若满足,则应用预设的平台场景将所述各个终端对应的开发软件测试内容进行互通,识别所述各个终端对软件的测试完整性,基于所述测试完整性最佳的终端对其他终端的待测试日志进行补充,补充完毕后生成互通于所述各个终端的开发软件。
在本实施例中,系统通过获取开发商提出软件需要开发的需求项目和应用方向,同时判断这些需求项目和应用方向是否符合预先设有的软件开发标准,以执行对应的步骤,软件开发标准包括开发软件的应用内容能够通过不同终端互通;例如,当系统判定到开发软件的应用内容无法通过不同终端进行融合互通时,此时系统不会进行软件开发,因为需求项目和应用方向不符合预先设有的软件开发标准;例如,当系统判定到开发软件的应用内容能够通过不同终端进行融合互通时,此时系统会对这些需求项目和应用方向进行解析,为开发软件制定至少一项测试计划,测试计划的内容包括搭建开发软件的开发环境,设计开发软件的开发架构,细化开发软件的功能需求,将这些测试计划代入至各个不同终端中,使各个终端能够读取测试计划,便于软件开发的过程中发现测试计划的任何不足,在对应的终端及时进行修改,将开发软件录入至各个终端中,待各个终端均能适配开发软件后,采集各个终端对开发软件的试运行状态,试运行状态具体是基于预设时间节点对开发软件进行测试记录,取测试记录的测试日志作为试运行状态的成果,如10min内取测试日志中的五个测试节点作为试运行状态的成果,当五个测试节点的覆盖率均超过80%,则试运行状态成功,反之任一测试节点低于80%则试运行状态失败;系统通过判断试运行状态是否满足预先设定的条件(即试运行状态的成功与否),以执行对应的步骤;例如,当系统判定到试运行状态失败时,此时需要重新调节对应终端中的测试步骤,重置试运行状态,直至成功;例如,当系统判定到试运行状态成功时,此时系统会应用预先设定的平台场景将各个不同终端对应的开发软件测试内容进行融合互通,识别各个终端对软件测试的完整性,因为存在部分终端不完全适配开发软件的可能性,因此各个终端对软件测试的完整性均不唯一,基于测试完整性最佳的终端对其他终端的待测试日志进行补充,即可将测试完整性不佳的终端通过待测试日志将未发现的漏洞修复,补充完毕待测试日志后即可生成互通于各个终端的开发软件。
在本实施例中,则对所述需求项目及其方向进行解析,为开发软件制定至少一项测试计划的步骤S2中,包括:
S21:定义测试目标:明确所述开发软件需要完成的功能以及预期结果,根据所述功能以及预期结果,确定需要进行的测试类型,其中,所述测试类型包括但不限于功能测试、性能测试、安全测试;
S22:识别测试场景:识别可能影响所述开发软件性能的场景,对于各个不同场景,确定所述场景相应的测试环境,其中,所述场景包括但不限于是高负载、网络延迟;
S23:制定测试计划:根据测试目标和测试场景,制定对应的测试计划,其中,所述测试计划包括测试时间、测试人员和测试工具,以及得出测试结果对应的测试报告。
S24:执行测试计划:制定测试计划后,执行所述测试计划并记录测试结果,将所述测试结果对应的测试报错记录,基于所述测试报错记录对测试内容进行修复。
S25:分析测试结果:重新测试并取至少一个测试结果确定所述开发软件是否完成修复,若所述开发软件仍然存在所述测试报错记录中的错误内容,确保所述错误内容已经被修复并且在下一测试环节中不再出现同一错误内容。
在本实施例中,需要明确软件需要完成的功能以及它们的预期结果,根据这些目标,可以确定需要进行哪些测试类型,例如功能测试、性能测试、安全测试等,识别测试场景:接下来,需要识别可能影响软件性能的场景,例如高负载、网络延迟等,对于每个场景,需要确定相应的测试用例,随后制定测试计划:根据测试目标和测试场景,可以制定详细的测试计划,包括测试的时间表、测试用例和测试环境等,还需要确定测试人员和测试工具,以及测试结果的报告和跟踪方式,然后执行测试计划:在制定测试计划后,需要执行测试用例并记录测试结果,如果发现了任何问题,需要将其记录下来,并进行修复,最后分析测试结果:分析测试结果可以帮助确定软件是否达到预期目标,如果软件存在任何问题,需要确保它们已经被修复并且在下一个测试中没有再次出现,综上所述,为了制定有效的测试计划,需要了解软件的功能和要求,并针对这些要求选择适当的测试类型和测试用例,最终的目标是确保软件达到高质量的标准并满足用户需求。
在本实施例中,则应用预设的平台场景将所述各个终端对应的开发软件测试内容进行互通的步骤S3中,包括:
S31:持续集成和持续部署:应用预设的CI/CD工具对所述开发软件进行自定义构建、测试和部署,并将自定义结果发送至所述各个终端,确保所述开发软件的代码和内容在各个不同终端之间始终保持同步,其中,所述CI/CD工具包括Jenkins、Travis CI;
S32:自动化测试工具:使用预设的自动化测试工具在所述各个终端上进行自动化测试,记录所述自动化测试对应的测试结果,基于所述测试结果快速发现和修复对应的测试问题,其中,所述自动化测试工具包括Selenium、Appium;
S33:代码静态分析工具:使用预设的代码静态分析工具可以解析所述自动化测试中存在的代码问题,其中,所述代码静态分析工具包括SonarQube、Code Climate,所述代码问题包括但不限于是代码重复、安全漏洞、性能瓶颈;
S34:自动化部署工具:使用预设的自动化部署工具将所述开发软件进行自动化配置和软件部署,以确保在不同终端上使用相同的软件配置和环境,其中,所述自动化部署工具包括Ansible、Chef。
在本实施例中,使用CI/CD工具(如Jenkins、Travis CI等)可以自动化构建、测试和部署软件,并将结果通知开发团队,这样可以确保代码和文件在不同终端之间始终保持同步,并减少手动操作的错误,而后使用自动化测试工具(如Selenium、Appium等)可以在不同终端上自动化执行测试用例,并记录测试结果,这可以帮助开发团队快速发现和修复软件问题,并提高软件质量,接着使用代码静态分析工具(如SonarQube、Code Climate等)可以自动化检测代码中的问题,例如代码重复、安全漏洞、性能瓶颈等,这可以帮助开发团队在代码提交之前发现和修复问题,最后使用自动化部署工具(如Ansible、Chef等)可以自动化配置和部署软件,以确保在不同终端上使用相同的软件配置和环境,综上所述,自动化工具和技术可以帮助开发团队更快地构建、测试和部署软件,并提高软件质量和可靠性。
在本实施例中,补充完毕后生成互通于所述各个终端的开发软件的步骤S4后,包括:
S401:进行代码审查:进行代码审查可以帮助发现和修复代码中的问题,所述问题包括代码风格不一致、代码冗余、性能问题;
S402:编写和更新软件文档:完成软件开发后,需要编写和更新软件文档,所述软件文档包括用户手册、技术文档、API文档。
在本实施例中,完成软件开发后,需要注意以下几点:进行软件测试:完成软件开发后,需要进行充分的软件测试,包括单元测试、集成测试、系统测试、性能测试、安全测试等,这可以帮助发现和修复软件中的问题,提高软件质量和可靠性,进行代码审查:进行代码审查可以帮助发现和修复代码中的问题,例如代码风格不一致、代码冗余、性能问题等,代码审查可以通过人工审查和自动化工具实现,编写和更新软件文档:完成软件开发后,需要编写和更新软件文档,包括用户手册、技术文档、API文档等,这可以帮助用户更好地了解软件的功能和使用方法,同时也可以帮助开发人员更好地理解和维护软件,进行部署和发布:完成软件开发后,需要进行软件部署和发布,这可以包括将软件部署到服务器上,或将软件打包成安装程序或容器镜像并发布到应用商店或网站上,在部署和发布过程中需要注意软件的稳定性和安全性,进行维护和更新:完成软件开发后,需要进行软件维护和更新,这可以包括修复软件中的漏洞和问题、增加新功能、改进用户体验等,软件维护和更新可以通过版本控制和软件升级实现,综上所述,完成软件开发后需要进行充分的测试、代码审查、文档编写和更新、部署和发布以及维护和更新等工作。这些工作可以帮助提高软件的质量和可靠性,并保持软件的稳定性和安全性。
在本实施例中,获取开发商提出软件开发的需求项目及其方向,判断所述需求项目及其方向是否符合预设的开发标准的步骤S1前,包括:
S101:明确软件需求和目标:明确软件开发的需求和目标,所述需求包括软件的功能、性能、用户体验,所述目标具体包括如何更好地设计和开发软件;
S102:设计软件架构和技术栈:设计软件架构和选择合适的技术栈,所述软件架构包括软件组件之间的关系、通信方式、数据存储方式,所述技术栈包括编程语言、框架、数据库。
在本实施例中,在进行软件开发之前,需要注意以下几点:明确软件需求和目标:在开始开发之前,需要明确软件的需求和目标,包括软件的功能、性能、用户体验等方面,这可以帮助开发团队更好地理解软件的需求和目标,从而更好地设计和开发软件,设计软件架构和技术栈:在开始编写代码之前,需要设计软件架构和选择合适的技术栈,软件架构包括软件组件之间的关系、通信方式、数据存储方式等方面,而技术栈包括编程语言、框架、数据库等方面,正确的软件架构和技术栈选择可以帮助开发团队更好地组织代码和数据,并提高软件的性能和可维护性,制定开发计划和时间表:在开始开发之前,需要制定开发计划和时间表,这可以帮助开发团队更好地组织和分配工作,并确保软件按时完成,确定开发流程和规范:在开始开发之前,需要确定开发流程和规范,例如代码提交和审核流程、文档编写规范、测试流程等,这可以帮助开发团队更好地协作和管理项目,并提高软件质量和可靠性,配置开发环境和工具:在开始开发之前,需要配置合适的开发环境和工具,例如代码编辑器、版本控制工具、构建工具、调试器等,这可以帮助开发团队更高效地编写和调试代码,并提高软件开发效率和质量,综上所述,软件开发之前需要注意多个方面,包括需求和目标、软件架构和技术栈、开发计划和时间表、开发流程和规范以及开发环境和工具等方面,这些注意点可以帮助开发团队更好地组织和管理项目,并提高软件开发效率和质量。
在本实施例中,判断所述试运行状态是否满足预设条件的步骤S3中,包括:
S31:安装开发环境:应用预设的开发工具配合所述开发软件进行开发,其中,所述开发工作包括编译器、集成开发环境和版本控制系统,所述编译器、集成开发环境和版本控制系统可用于编写、编译和调试软件代码;
S32:编写软件代码:编写所述开发软件所需的对应代码,实现所述对应代码的功能,其中,所述对应代码至少需要存在可读性和可维护性;
S33:编译和构建软件:使用所述编译器和预设的构建工具将所述开发软件的源代码转换为可执行文件,构建所述开发软件时,至少需要执行两项测试,其中,所述两项测试包括单元测试和集成测试,确保所述开发软件的质量和稳定性;
S34:进行试运行测试:在所述集成开发环境中进行试运行测试,确保所述开发软件在至少一种不同情况下的稳定性和性能,其中,所述试运行测试包括但不限于是功能测试、性能测试和安全测试。
在本实施例中,在开发过程中,开发人员可以在本地计算机上进行测试,以确保软件在开发阶段能够正常运行,这可以通过使用调试器、模拟器和虚拟机等工具来实现,将各个模块或组件组合在一起进行测试,以确保它们可以协同工作并且软件可以正常运行,这可以通过使用集成测试框架和工具来实现,进行系统测试:系统测试是在完整的系统环境下对软件进行测试,以确保它可以在预期的操作系统、硬件和网络环境中正常运行,这可以通过使用系统测试框架和工具来实现,进行用户验收测试:用户验收测试是由最终用户或代表用户的测试人员进行的测试,以确保软件满足用户的需求和期望,这可以通过与用户进行沟通并使用用户验收测试工具来实现,进行持续集成和持续交付:持续集成和持续交付是一种自动化软件交付流程,可以确保软件在开发过程中始终处于试运行状态,并且能够快速、高效地交付到生产环境中,这可以通过使用持续集成和持续交付工具来实现,综上所述,要得到软件开发时的试运行状态,需要进行本地测试、集成测试、系统测试、用户验收测试以及持续集成和持续交付等工作,这可以帮助开发人员及时发现和修复软件中的问题,并确保软件在开发过程中始终处于试运行状态。
在本实施例中,获取开发商提出软件开发的需求项目及其方向的步骤S1中,包括:
S11:识别所述软件开发的至少一种需求场景,其中,所述需求场景包括功能需求、非功能需求、用户需求、系统需求、接口需求、数据需求、测试需求、维护需求和项目管理需求;
S12:判断所述需求场景能否适用于多个不同终端;
S13:若是,则为所述软件开发制定对应的开发方向,其中,所述开发方向包括项目分析、确定开发、需求分析、设计、编程、软件测试、软件交付、验收和维护。
在本实施例中,软件开发的需求项目通常包括以下方向:功能需求:确定软件需要完成的功能以及使用场景,非功能需求:包括性能、安全、可用性、可靠性等方面的要求,用户需求:用户期望软件具有什么特性和功能,以及用户使用软件的方式,系统需求:确定软件需要运行的硬件和操作系统环境,接口需求:确定软件与其他系统之间的接口,如数据库、外部API等,数据需求:确定软件需要处理和存储的数据类型和数据量,测试需求:确定软件需要进行的测试类型和测试方法,维护需求:确定软件需要支持的维护和升级方式,以及维护成本,项目管理需求:包括进度管理、资源管理、人员管理等方面的要求,上述是软件开发需求项目的主要方向,不同的项目需要根据具体情况进行调整和补充。
参考附图2,为本发明一实施例中一种基于web多终端的软件开发控制系统,包括:
判断模块10,用于获取开发商提出软件开发的需求项目及其方向,判断所述需求项目及其方向是否符合预设的开发标准,其中,所述开发标准具体为开发软件的应用内容能够通过不同终端互通;
执行模块20,用于若是,则对所述需求项目及其方向进行解析,为开发软件制定至少一项测试计划,将所述测试计划代入至预设的各个终端,并将所述开发软件录入至所述各个终端,待所述开发软件适配所述各个终端的系统运作后,采集所述各个终端对开发软件的试运行状态,其中,所述测试计划具体包括搭建所述开发软件的开发环境,设计所述开发软件的开发架构,细化所述开发软件的功能需求,所述试运行状态具体是基于预设时间节点对所述开发软件进行测试记录,取所述测试记录的测试日志作为所述试运行状态的成果;
第二判断模块30,用于判断所述试运行状态是否满足预设条件;
第二执行模块40,用于若满足,则应用预设的平台场景将所述各个终端对应的开发软件测试内容进行互通,识别所述各个终端对软件的测试完整性,基于所述测试完整性最佳的终端对其他终端的待测试日志进行补充,补充完毕后生成互通于所述各个终端的开发软件。
在本实施例中,判断模块10通过获取开发商提出软件需要开发的需求项目和应用方向,同时判断这些需求项目和应用方向是否符合预先设有的软件开发标准,以执行对应的步骤,软件开发标准包括开发软件的应用内容能够通过不同终端互通;例如,当系统判定到开发软件的应用内容无法通过不同终端进行融合互通时,此时系统不会进行软件开发,因为需求项目和应用方向不符合预先设有的软件开发标准;例如,当系统判定到开发软件的应用内容能够通过不同终端进行融合互通时,此时执行模块20会对这些需求项目和应用方向进行解析,为开发软件制定至少一项测试计划,测试计划的内容包括搭建开发软件的开发环境,设计开发软件的开发架构,细化开发软件的功能需求,将这些测试计划代入至各个不同终端中,使各个终端能够读取测试计划,便于软件开发的过程中发现测试计划的任何不足,在对应的终端及时进行修改,将开发软件录入至各个终端中,待各个终端均能适配开发软件后,采集各个终端对开发软件的试运行状态,试运行状态具体是基于预设时间节点对开发软件进行测试记录,取测试记录的测试日志作为试运行状态的成果,如10min内取测试日志中的五个测试节点作为试运行状态的成果,当五个测试节点的覆盖率均超过80%,则试运行状态成功,反之任一测试节点低于80%则试运行状态失败;第二判断模块30通过判断试运行状态是否满足预先设定的条件(即试运行状态的成功与否),以执行对应的步骤;例如,当系统判定到试运行状态失败时,此时需要重新调节对应终端中的测试步骤,重置试运行状态,直至成功;例如,当系统判定到试运行状态成功时,此时第二执行模块40会应用预先设定的平台场景将各个不同终端对应的开发软件测试内容进行融合互通,识别各个终端对软件测试的完整性,因为存在部分终端不完全适配开发软件的可能性,因此各个终端对软件测试的完整性均不唯一,基于测试完整性最佳的终端对其他终端的待测试日志进行补充,即可将测试完整性不佳的终端通过待测试日志将未发现的漏洞修复,补充完毕待测试日志后即可生成互通于各个终端的开发软件。
在本实施例中,执行模块还包括:
定义单元,用于定义测试目标:明确所述开发软件需要完成的功能以及预期结果,根据所述功能以及预期结果,确定需要进行的测试类型,其中,所述测试类型包括但不限于功能测试、性能测试、安全测试;
识别单元,用于识别测试场景:识别可能影响所述开发软件性能的场景,对于各个不同场景,确定所述场景相应的测试环境,其中,所述场景包括但不限于是高负载、网络延迟;
制定单元,用于制定测试计划:根据测试目标和测试场景,制定对应的测试计划,其中,所述测试计划包括测试时间、测试人员和测试工具,以及得出测试结果对应的测试报告。
执行单元,用于执行测试计划:制定测试计划后,执行所述测试计划并记录测试结果,将所述测试结果对应的测试报错记录,基于所述测试报错记录对测试内容进行修复。
分析单元,用于分析测试结果:重新测试并取至少一个测试结果确定所述开发软件是否完成修复,若所述开发软件仍然存在所述测试报错记录中的错误内容,确保所述错误内容已经被修复并且在下一测试环节中不再出现同一错误内容。
在本实施例中,需要明确软件需要完成的功能以及它们的预期结果,根据这些目标,可以确定需要进行哪些测试类型,例如功能测试、性能测试、安全测试等,识别测试场景:接下来,需要识别可能影响软件性能的场景,例如高负载、网络延迟等,对于每个场景,需要确定相应的测试用例,随后制定测试计划:根据测试目标和测试场景,可以制定详细的测试计划,包括测试的时间表、测试用例和测试环境等,还需要确定测试人员和测试工具,以及测试结果的报告和跟踪方式,然后执行测试计划:在制定测试计划后,需要执行测试用例并记录测试结果,如果发现了任何问题,需要将其记录下来,并进行修复,最后分析测试结果:分析测试结果可以帮助确定软件是否达到预期目标,如果软件存在任何问题,需要确保它们已经被修复并且在下一个测试中没有再次出现,综上所述,为了制定有效的测试计划,需要了解软件的功能和要求,并针对这些要求选择适当的测试类型和测试用例,最终的目标是确保软件达到高质量的标准并满足用户需求。
在本实施例中,第二执行模块还包括:
部署单元,用于持续集成和持续部署:应用预设的CI/CD工具对所述开发软件进行自定义构建、测试和部署,并将自定义结果发送至所述各个终端,确保所述开发软件的代码和内容在各个不同终端之间始终保持同步,其中,所述CI/CD工具包括Jenkins、Travis CI;
测试单元,用于自动化测试工具:使用预设的自动化测试工具在所述各个终端上进行自动化测试,记录所述自动化测试对应的测试结果,基于所述测试结果快速发现和修复对应的测试问题,其中,所述自动化测试工具包括Selenium、Appium;
第二分析单元,用于代码静态分析工具:使用预设的代码静态分析工具可以解析所述自动化测试中存在的代码问题,其中,所述代码静态分析工具包括SonarQube、CodeClimate,所述代码问题包括但不限于是代码重复、安全漏洞、性能瓶颈;
第二部署单元,用于自动化部署工具:使用预设的自动化部署工具将所述开发软件进行自动化配置和软件部署,以确保在不同终端上使用相同的软件配置和环境,其中,所述自动化部署工具包括Ansible、Chef。
在本实施例中,使用CI/CD工具(如Jenkins、Travis CI等)可以自动化构建、测试和部署软件,并将结果通知开发团队,这样可以确保代码和文件在不同终端之间始终保持同步,并减少手动操作的错误,而后使用自动化测试工具(如Selenium、Appium等)可以在不同终端上自动化执行测试用例,并记录测试结果,这可以帮助开发团队快速发现和修复软件问题,并提高软件质量,接着使用代码静态分析工具(如SonarQube、Code Climate等)可以自动化检测代码中的问题,例如代码重复、安全漏洞、性能瓶颈等,这可以帮助开发团队在代码提交之前发现和修复问题,最后使用自动化部署工具(如Ansible、Chef等)可以自动化配置和部署软件,以确保在不同终端上使用相同的软件配置和环境,综上所述,自动化工具和技术可以帮助开发团队更快地构建、测试和部署软件,并提高软件质量和可靠性。
在本实施例中,还包括:
审查模块,用于进行代码审查:进行代码审查可以帮助发现和修复代码中的问题,所述问题包括代码风格不一致、代码冗余、性能问题;
编写模块,用于编写和更新软件文档:完成软件开发后,需要编写和更新软件文档,所述软件文档包括用户手册、技术文档、API文档。
在本实施例中,完成软件开发后,需要注意以下几点:进行软件测试:完成软件开发后,需要进行充分的软件测试,包括单元测试、集成测试、系统测试、性能测试、安全测试等,这可以帮助发现和修复软件中的问题,提高软件质量和可靠性,进行代码审查:进行代码审查可以帮助发现和修复代码中的问题,例如代码风格不一致、代码冗余、性能问题等,代码审查可以通过人工审查和自动化工具实现,编写和更新软件文档:完成软件开发后,需要编写和更新软件文档,包括用户手册、技术文档、API文档等,这可以帮助用户更好地了解软件的功能和使用方法,同时也可以帮助开发人员更好地理解和维护软件,进行部署和发布:完成软件开发后,需要进行软件部署和发布,这可以包括将软件部署到服务器上,或将软件打包成安装程序或容器镜像并发布到应用商店或网站上,在部署和发布过程中需要注意软件的稳定性和安全性,进行维护和更新:完成软件开发后,需要进行软件维护和更新,这可以包括修复软件中的漏洞和问题、增加新功能、改进用户体验等,软件维护和更新可以通过版本控制和软件升级实现,综上所述,完成软件开发后需要进行充分的测试、代码审查、文档编写和更新、部署和发布以及维护和更新等工作。这些工作可以帮助提高软件的质量和可靠性,并保持软件的稳定性和安全性。
在本实施例中,还包括:
确认模块,用于明确软件需求和目标:明确软件开发的需求和目标,所述需求包括软件的功能、性能、用户体验,所述目标具体包括如何更好地设计和开发软件;
设计模块,用于设计软件架构和技术栈:设计软件架构和选择合适的技术栈,所述软件架构包括软件组件之间的关系、通信方式、数据存储方式,所述技术栈包括编程语言、框架、数据库。
在本实施例中,在进行软件开发之前,需要注意以下几点:明确软件需求和目标:在开始开发之前,需要明确软件的需求和目标,包括软件的功能、性能、用户体验等方面,这可以帮助开发团队更好地理解软件的需求和目标,从而更好地设计和开发软件,设计软件架构和技术栈:在开始编写代码之前,需要设计软件架构和选择合适的技术栈,软件架构包括软件组件之间的关系、通信方式、数据存储方式等方面,而技术栈包括编程语言、框架、数据库等方面,正确的软件架构和技术栈选择可以帮助开发团队更好地组织代码和数据,并提高软件的性能和可维护性,制定开发计划和时间表:在开始开发之前,需要制定开发计划和时间表,这可以帮助开发团队更好地组织和分配工作,并确保软件按时完成,确定开发流程和规范:在开始开发之前,需要确定开发流程和规范,例如代码提交和审核流程、文档编写规范、测试流程等,这可以帮助开发团队更好地协作和管理项目,并提高软件质量和可靠性,配置开发环境和工具:在开始开发之前,需要配置合适的开发环境和工具,例如代码编辑器、版本控制工具、构建工具、调试器等,这可以帮助开发团队更高效地编写和调试代码,并提高软件开发效率和质量,综上所述,软件开发之前需要注意多个方面,包括需求和目标、软件架构和技术栈、开发计划和时间表、开发流程和规范以及开发环境和工具等方面,这些注意点可以帮助开发团队更好地组织和管理项目,并提高软件开发效率和质量。
在本实施例中,第二判断模块还包括:
安装单元,用于安装开发环境:应用预设的开发工具配合所述开发软件进行开发,其中,所述开发工作包括编译器、集成开发环境和版本控制系统,所述编译器、集成开发环境和版本控制系统可用于编写、编译和调试软件代码;
编写单元,用于编写软件代码:编写所述开发软件所需的对应代码,实现所述对应代码的功能,其中,所述对应代码至少需要存在可读性和可维护性;
构建单元,用于编译和构建软件:使用所述编译器和预设的构建工具将所述开发软件的源代码转换为可执行文件,构建所述开发软件时,至少需要执行两项测试,其中,所述两项测试包括单元测试和集成测试,确保所述开发软件的质量和稳定性;
运行单元,用于进行试运行测试:在所述集成开发环境中进行试运行测试,确保所述开发软件在至少一种不同情况下的稳定性和性能,其中,所述试运行测试包括但不限于是功能测试、性能测试和安全测试。
在本实施例中,在开发过程中,开发人员可以在本地计算机上进行测试,以确保软件在开发阶段能够正常运行,这可以通过使用调试器、模拟器和虚拟机等工具来实现,将各个模块或组件组合在一起进行测试,以确保它们可以协同工作并且软件可以正常运行,这可以通过使用集成测试框架和工具来实现,进行系统测试:系统测试是在完整的系统环境下对软件进行测试,以确保它可以在预期的操作系统、硬件和网络环境中正常运行,这可以通过使用系统测试框架和工具来实现,进行用户验收测试:用户验收测试是由最终用户或代表用户的测试人员进行的测试,以确保软件满足用户的需求和期望,这可以通过与用户进行沟通并使用用户验收测试工具来实现,进行持续集成和持续交付:持续集成和持续交付是一种自动化软件交付流程,可以确保软件在开发过程中始终处于试运行状态,并且能够快速、高效地交付到生产环境中,这可以通过使用持续集成和持续交付工具来实现,综上所述,要得到软件开发时的试运行状态,需要进行本地测试、集成测试、系统测试、用户验收测试以及持续集成和持续交付等工作,这可以帮助开发人员及时发现和修复软件中的问题,并确保软件在开发过程中始终处于试运行状态。
在本实施例中,判断模块还包括:
识别单元,用于识别所述软件开发的至少一种需求场景,其中,所述需求场景包括功能需求、非功能需求、用户需求、系统需求、接口需求、数据需求、测试需求、维护需求和项目管理需求;
判断单元,用于判断所述需求场景能否适用于多个不同终端;
执行单元,用于若是,则为所述软件开发制定对应的开发方向,其中,所述开发方向包括项目分析、确定开发、需求分析、设计、编程、软件测试、软件交付、验收和维护。
在本实施例中,软件开发的需求项目通常包括以下方向:功能需求:确定软件需要完成的功能以及使用场景,非功能需求:包括性能、安全、可用性、可靠性等方面的要求,用户需求:用户期望软件具有什么特性和功能,以及用户使用软件的方式,系统需求:确定软件需要运行的硬件和操作系统环境,接口需求:确定软件与其他系统之间的接口,如数据库、外部API等,数据需求:确定软件需要处理和存储的数据类型和数据量,测试需求:确定软件需要进行的测试类型和测试方法,维护需求:确定软件需要支持的维护和升级方式,以及维护成本,项目管理需求:包括进度管理、资源管理、人员管理等方面的要求,上述是软件开发需求项目的主要方向,不同的项目需要根据具体情况进行调整和补充。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
Claims (10)
1.一种基于web多终端的软件开发控制方法,其特征在于,包括以下步骤:
获取开发商提出软件开发的需求项目及其方向,判断所述需求项目及其方向是否符合预设的开发标准,其中,所述开发标准具体为开发软件的应用内容能够通过不同终端互通;
若是,则对所述需求项目及其方向进行解析,为开发软件制定至少一项测试计划,将所述测试计划代入至预设的各个终端,并将所述开发软件录入至所述各个终端,待所述开发软件适配所述各个终端的系统运作后,采集所述各个终端对开发软件的试运行状态,其中,所述测试计划具体包括搭建所述开发软件的开发环境,设计所述开发软件的开发架构,细化所述开发软件的功能需求,所述试运行状态具体是基于预设时间节点对所述开发软件进行测试记录,取所述测试记录的测试日志作为所述试运行状态的成果;
判断所述试运行状态是否满足预设条件;
若满足,则应用预设的平台场景将所述各个终端对应的开发软件测试内容进行互通,识别所述各个终端对软件的测试完整性,基于所述测试完整性最佳的终端对其他终端的待测试日志进行补充,补充完毕后生成互通于所述各个终端的开发软件。
2.根据权利要求1所述的基于web多终端的软件开发控制方法,其特征在于,所述则对所述需求项目及其方向进行解析,为开发软件制定至少一项测试计划的步骤中,包括:
定义测试目标:明确所述开发软件需要完成的功能以及预期结果,根据所述功能以及预期结果,确定需要进行的测试类型,其中,所述测试类型包括但不限于功能测试、性能测试、安全测试;
识别测试场景:识别可能影响所述开发软件性能的场景,对于各个不同场景,确定所述场景相应的测试环境,其中,所述场景包括但不限于是高负载、网络延迟;
制定测试计划:根据测试目标和测试场景,制定对应的测试计划,其中,所述测试计划包括测试时间、测试人员和测试工具,以及得出测试结果对应的测试报告,
执行测试计划:制定测试计划后,执行所述测试计划并记录测试结果,将所述测试结果对应的测试报错记录,基于所述测试报错记录对测试内容进行修复,
分析测试结果:重新测试并取至少一个测试结果确定所述开发软件是否完成修复,若所述开发软件仍然存在所述测试报错记录中的错误内容,确保所述错误内容已经被修复并且在下一测试环节中不再出现同一错误内容。
3.根据权利要求1所述的基于web多终端的软件开发控制方法,其特征在于,所述则应用预设的平台场景将所述各个终端对应的开发软件测试内容进行互通的步骤中,包括:
持续集成和持续部署:应用预设的CI/CD工具对所述开发软件进行自定义构建、测试和部署,并将自定义结果发送至所述各个终端,确保所述开发软件的代码和内容在各个不同终端之间始终保持同步,其中,所述CI/CD工具包括Jenkins、Travis CI;
自动化测试工具:使用预设的自动化测试工具在所述各个终端上进行自动化测试,记录所述自动化测试对应的测试结果,基于所述测试结果快速发现和修复对应的测试问题,其中,所述自动化测试工具包括Selenium、Appium;
代码静态分析工具:使用预设的代码静态分析工具可以解析所述自动化测试中存在的代码问题,其中,所述代码静态分析工具包括SonarQube、Code Climate,所述代码问题包括但不限于是代码重复、安全漏洞、性能瓶颈;
自动化部署工具:使用预设的自动化部署工具将所述开发软件进行自动化配置和软件部署,以确保在不同终端上使用相同的软件配置和环境,其中,所述自动化部署工具包括Ansible、Chef。
4.根据权利要求1所述的基于web多终端的软件开发控制方法,其特征在于,所述补充完毕后生成互通于所述各个终端的开发软件的步骤后,包括:
进行代码审查:进行代码审查可以帮助发现和修复代码中的问题,所述问题包括代码风格不一致、代码冗余、性能问题;
编写和更新软件文档:完成软件开发后,需要编写和更新软件文档,所述软件文档包括用户手册、技术文档、API文档。
5.根据权利要求1所述的基于web多终端的软件开发控制方法,其特征在于,所述获取开发商提出软件开发的需求项目及其方向,判断所述需求项目及其方向是否符合预设的开发标准的步骤前,包括:
明确软件需求和目标:明确软件开发的需求和目标,所述需求包括软件的功能、性能、用户体验,所述目标具体包括如何更好地设计和开发软件;
设计软件架构和技术栈:设计软件架构和选择合适的技术栈,所述软件架构包括软件组件之间的关系、通信方式、数据存储方式,所述技术栈包括编程语言、框架、数据库。
6.根据权利要求1所述的基于web多终端的软件开发控制方法,其特征在于,所述判断所述试运行状态是否满足预设条件的步骤中,包括:
安装开发环境:应用预设的开发工具配合所述开发软件进行开发,其中,所述开发工作包括编译器、集成开发环境和版本控制系统,所述编译器、集成开发环境和版本控制系统可用于编写、编译和调试软件代码;
编写软件代码:编写所述开发软件所需的对应代码,实现所述对应代码的功能,其中,所述对应代码至少需要存在可读性和可维护性;
编译和构建软件:使用所述编译器和预设的构建工具将所述开发软件的源代码转换为可执行文件,构建所述开发软件时,至少需要执行两项测试,其中,所述两项测试包括单元测试和集成测试,确保所述开发软件的质量和稳定性;
进行试运行测试:在所述集成开发环境中进行试运行测试,确保所述开发软件在至少一种不同情况下的稳定性和性能,其中,所述试运行测试包括但不限于是功能测试、性能测试和安全测试。
7.根据权利要求1所述的基于web多终端的软件开发控制方法,其特征在于,所述获取开发商提出软件开发的需求项目及其方向的步骤中,包括:
识别所述软件开发的至少一种需求场景,其中,所述需求场景包括功能需求、非功能需求、用户需求、系统需求、接口需求、数据需求、测试需求、维护需求和项目管理需求;
判断所述需求场景能否适用于多个不同终端;
若是,则为所述软件开发制定对应的开发方向,其中,所述开发方向包括项目分析、确定开发、需求分析、设计、编程、软件测试、软件交付、验收和维护。
8.一种基于web多终端的软件开发控制系统,其特征在于,包括:
判断模块,用于获取开发商提出软件开发的需求项目及其方向,判断所述需求项目及其方向是否符合预设的开发标准,其中,所述开发标准具体为开发软件的应用内容能够通过不同终端互通;
执行模块,用于若是,则对所述需求项目及其方向进行解析,为开发软件制定至少一项测试计划,将所述测试计划代入至预设的各个终端,并将所述开发软件录入至所述各个终端,待所述开发软件适配所述各个终端的系统运作后,采集所述各个终端对开发软件的试运行状态,其中,所述测试计划具体包括搭建所述开发软件的开发环境,设计所述开发软件的开发架构,细化所述开发软件的功能需求,所述试运行状态具体是基于预设时间节点对所述开发软件进行测试记录,取所述测试记录的测试日志作为所述试运行状态的成果;
第二判断模块,用于判断所述试运行状态是否满足预设条件;
第二执行模块,用于若满足,则应用预设的平台场景将所述各个终端对应的开发软件测试内容进行互通,识别所述各个终端对软件的测试完整性,基于所述测试完整性最佳的终端对其他终端的待测试日志进行补充,补充完毕后生成互通于所述各个终端的开发软件。
9.根据权利要求8所述的基于web多终端的软件开发控制系统,其特征在于,所述执行模块还包括:
定义单元,用于定义测试目标:明确所述开发软件需要完成的功能以及预期结果,根据所述功能以及预期结果,确定需要进行的测试类型,其中,所述测试类型包括但不限于功能测试、性能测试、安全测试;
识别单元,用于识别测试场景:识别可能影响所述开发软件性能的场景,对于各个不同场景,确定所述场景相应的测试环境,其中,所述场景包括但不限于是高负载、网络延迟;
制定单元,用于制定测试计划:根据测试目标和测试场景,制定对应的测试计划,其中,所述测试计划包括测试时间、测试人员和测试工具,以及得出测试结果对应的测试报告,
执行单元,用于执行测试计划:制定测试计划后,执行所述测试计划并记录测试结果,将所述测试结果对应的测试报错记录,基于所述测试报错记录对测试内容进行修复,
分析单元,用于分析测试结果:重新测试并取至少一个测试结果确定所述开发软件是否完成修复,若所述开发软件仍然存在所述测试报错记录中的错误内容,确保所述错误内容已经被修复并且在下一测试环节中不再出现同一错误内容。
10.根据权利要求8所述的基于web多终端的软件开发控制系统,其特征在于,所述第二执行模块还包括:
部署单元,用于持续集成和持续部署:应用预设的CI/CD工具对所述开发软件进行自定义构建、测试和部署,并将自定义结果发送至所述各个终端,确保所述开发软件的代码和内容在各个不同终端之间始终保持同步,其中,所述CI/CD工具包括Jenkins、Travis CI;
测试单元,用于自动化测试工具:使用预设的自动化测试工具在所述各个终端上进行自动化测试,记录所述自动化测试对应的测试结果,基于所述测试结果快速发现和修复对应的测试问题,其中,所述自动化测试工具包括Selenium、Appium;
第二分析单元,用于代码静态分析工具:使用预设的代码静态分析工具可以解析所述自动化测试中存在的代码问题,其中,所述代码静态分析工具包括SonarQube、CodeClimate,所述代码问题包括但不限于是代码重复、安全漏洞、性能瓶颈;
第二部署单元,用于自动化部署工具:使用预设的自动化部署工具将所述开发软件进行自动化配置和软件部署,以确保在不同终端上使用相同的软件配置和环境,其中,所述自动化部署工具包括Ansible、Chef。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310795586.4A CN116774987A (zh) | 2023-06-30 | 2023-06-30 | 一种基于web多终端的软件开发控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310795586.4A CN116774987A (zh) | 2023-06-30 | 2023-06-30 | 一种基于web多终端的软件开发控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116774987A true CN116774987A (zh) | 2023-09-19 |
Family
ID=87989312
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310795586.4A Pending CN116774987A (zh) | 2023-06-30 | 2023-06-30 | 一种基于web多终端的软件开发控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116774987A (zh) |
-
2023
- 2023-06-30 CN CN202310795586.4A patent/CN116774987A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11281570B2 (en) | Software testing method, system, apparatus, device medium, and computer program product | |
KR101132560B1 (ko) | 로봇 소프트웨어 컴포넌트를 위한 시뮬레이션 기반 인터페이스 테스팅 자동화 시스템 및 그 방법 | |
JP5295269B2 (ja) | コンポーネント・モデル基盤の仮想ソフトウェア・プラットホームを生成する方法、これを利用してソフトウェア・プラットホーム・アーキテクチャを検証する方法及びその装置 | |
CN108845940B (zh) | 一种企业级信息系统自动化功能测试方法和系统 | |
JP2010231782A (ja) | 機能自動化のための方法およびシステム | |
US20020116153A1 (en) | Test automation framework | |
Paiva et al. | End-to-end automatic business process validation | |
CN113742215B (zh) | 一种自动配置和调用测试工具进行测试分析的方法及系统 | |
EP2913757A1 (en) | Method, system, and computer software product for test automation | |
CN113094251B (zh) | 嵌入式系统测试方法、装置、计算机设备和存储介质 | |
CN116069334B (zh) | 一种基于云原生的在线开发与代码托管方法及系统 | |
CN117111907A (zh) | 一种软件开发系统 | |
CN116150033A (zh) | 一种软件测试方法、系统、计算机设备及存储介质 | |
CN116774987A (zh) | 一种基于web多终端的软件开发控制方法及系统 | |
US20190286453A1 (en) | System construction assisting apparatus, method, and program | |
CN114968819A (zh) | 面向微服务持续集成的代码质量问题检测及修复方法 | |
CN113626307A (zh) | 一种基于k8s容器平台的数据校验方法和装置 | |
CN112328503A (zh) | 一种软件开发工作平台任务验收方法 | |
CN111966665A (zh) | 数据迁移测试方法及装置 | |
CN116225441B (zh) | 一种在线编码系统的代码托管方法及系统 | |
CN112395196B (zh) | 数据作业开发测试方法、装置、设备、系统及存储介质 | |
CN113806222B (zh) | 接口测试脚本生成方法、装置、设备及存储介质 | |
CN109800155B (zh) | 一种基于Probe的QTE联锁应用软件测试方法及装置 | |
CN114510428A (zh) | 软件研测自动化测试方法及系统 | |
CN117331822A (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 |