CN116991738A - 一种计算机软件测试系统、方法、计算机设备及存储介质 - Google Patents

一种计算机软件测试系统、方法、计算机设备及存储介质 Download PDF

Info

Publication number
CN116991738A
CN116991738A CN202311029767.2A CN202311029767A CN116991738A CN 116991738 A CN116991738 A CN 116991738A CN 202311029767 A CN202311029767 A CN 202311029767A CN 116991738 A CN116991738 A CN 116991738A
Authority
CN
China
Prior art keywords
test
module
data
sub
defect
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
Application number
CN202311029767.2A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN202311029767.2A priority Critical patent/CN116991738A/zh
Publication of CN116991738A publication Critical patent/CN116991738A/zh
Withdrawn legal-status Critical Current

Links

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/3676Test management for coverage analysis
    • 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

Abstract

本发明涉及计算机软件测试系统技术领域,具体为一种计算机软件测试系统、方法、计算机设备及存储介质,一种计算机软件测试系统是由数据收集与处理模块、测试质量度量模块、缺陷自动检测与分析模块、缺陷自动修复模块、多模态测试模块、自适应测试模块、预测性缺陷分析模块、松耦合的自动化测试框架模块组成。本发明中,利用大数据技术和数据清洗算法,提供更准确的原始测试数据,机器学习算法用于自动评估测试的有效性、覆盖率和风险,从而提升测试的准确性和效率,通过整合自动缺陷检测、修复、多模态测试、自适应测试和预测性缺陷分析等模块,构建了一个全面、深入、自动化的测试流程,引入松耦合的自动化测试框架,使各测试模块能独立运作。

Description

一种计算机软件测试系统、方法、计算机设备及存储介质
技术领域
本发明涉及计算机软件测试系统技术领域,尤其涉及一种计算机软件测试系统、方法、计算机设备及存储介质。
背景技术
计算机软件测试系统是一种综合应用多种技术和方法的工具,旨在评估和验证软件的质量。它采用自动化测试技术,通过编写测试脚本和使用自动化测试工具,实现测试过程的自动化执行,提高测试效率和降低成本。该系统还依赖于测试工具和框架,例如单元测试工具、集成测试工具和性能测试工具,以支持各种测试活动。同时,它采用多种测试方法和策略,如黑盒测试、白盒测试和灰盒测试,确保测试的全面性和有效性。持续集成和自动化部署技术在软件开发和测试过程中得以应用,实现快速迭代和交付。通过频繁的集成和构建以及自动化部署,及时解决代码集成和冲突问题,并将经过测试和验证的软件快速部署到生产环境。计算机软件测试系统的综合应用提高了软件质量、减少了缺陷,并加强了用户体验。它在实践中发挥着关键的作用,确保软件的可靠性、稳定性和性能。
在计算机软件测试系统的实际使用过程中,现有系统往往忽视了大规模测试数据的价值,缺乏高效的数据处理和清洗机制,导致测试数据的质量不高、不准确。传统的软件测试流程依赖于人工操作,缺乏自动缺陷检测、修复等功能,导致测试效率低、成本高。现有系统往往只采用一种或少数几种测试方法,忽视了多模态测试、自适应测试等先进的测试方法,导致测试的全面性和深入性不足。传统的软件测试流程重在发现和修复现有的缺陷,缺乏对未来缺陷的预测性分析,不能及时预防和避免潜在的问题。现有的测试框架往往是紧耦合的,不易于模块化、扩展和更新,限制了系统的灵活性和可扩展性。
发明内容
本发明的目的是解决现有技术中存在的缺点,而提出的一种计算机软件测试系统、方法、计算机设备及存储介质。
为了实现上述目的,本发明采用了如下技术方案:一种计算机软件测试系统是由数据收集与处理模块、测试质量度量模块、缺陷自动检测与分析模块、缺陷自动修复模块、多模态测试模块、自适应测试模块、预测性缺陷分析模块、松耦合的自动化测试框架模块组成;
所述数据收集与处理模块采用数据挖掘算法,收集包括错误日志、用户行为、系统响应的大规模测试数据,对所述大规模测试数据采用数据清洗算法进行预处理,获取原始测试数据;
所述测试质量度量模块基于所述原始测试数据,应用机器学习算法建立测试质量评估模型,自动评估测试的有效性、覆盖率和风险,作为测试质量度量数据;
所述缺陷自动检测与分析模块基于所述测试质量度量数据,采用异常检测算法进行自动缺陷分析,定位缺陷,并生成缺陷报告;
所述缺陷自动修复模块根据所述缺陷报告,采用代码生成技术、模式识别算法,生成自动修复建议;
所述多模态测试模块结合包括静态分析、动态分析的测试方法,对所述自动修复建议修复后的所测试计算机软件进行多角度测试,获取多模态测试结果;
所述自适应测试模块根据所述多模态测试结果,采用强化学习算法动态调整测试策略和测试环境,并生成自适应测试策略;
所述预测性缺陷分析模块基于历史错误数据和所述自适应测试策略,采用时间序列预测算法、回归分析算法,预测软件出现的问题和缺陷,生成预测性缺陷报告;
所述松耦合的自动化测试框架模块建立松耦合的自动化测试框架,集成和管理上述模块,并将所述预测性缺陷报告作为输入,生成统合测试结果。
作为本发明的进一步方案,所述数据收集与处理模块包括数据采集子模块、数据预处理子模块、数据存储子模块;
所述数据采集子模块使用具体为Logstash的日志收集工具,捕获错误日志、用户行为、系统响应;
所述数据预处理子模块使用具体为Pandas的数据清洗工具,对所述错误日志、用户行为、系统响应中的异常值、重复值进行处理,获取所述原始测试数据;
所述数据存储子模块使用MySQL数据库,存储所述原始测试数据。
作为本发明的进一步方案,所述测试质量度量模块包括数据特征工程子模块、评估模型生成子模块;
所述数据特征工程子模块采用Scikit-learn工具,在所述原始测试数据中提取特征,进行特征选择和降维;
所述评估模型生成子模块基于所述特征,使用包括支持向量机、随机森林的机器学习算法,建立测试质量评估模型,采用所述测试质量评估模型自动评估测试的有效性、覆盖率和风险,作为所述测试质量度量数据。
作为本发明的进一步方案,所述缺陷自动检测与分析模块包括异常检测子模块、缺陷报告生成子模块;
所述分析模块异常检测子模块使用One-Class SVM异常检测算法,在所述测试质量度量数据中定位异常;
所述缺陷报告生成子模块基于所述定位异常的结果项,使用Jinja2模板引擎生成缺陷报告。
作为本发明的进一步方案,所述缺陷自动修复模块包括代码分析子模块、修复建议生成子模块;
所述代码分析子模块根据所述缺陷报告,使用抽象语法树解析代码结构;
所述修复建议生成子模块根据所述缺陷报告和代码结构,利用模式识别算法识别代码模式并生成建议,作为所述自动修复建议。
作为本发明的进一步方案,所述多模态测试模块包括静态分析子模块、动态分析子模块、多模态结果生成子模块;
所述静态分析子模块使用SonarQube工具,对所测试计算机软件进行静态分析,从结构上寻找错误和风险,生成静态分析结果;
所述动态分析子模块使用Valgrind工具,实时对所测试计算机软件运行状况和性能进行监控和分析,生成动态分析结果;
所述多模态结果生成子模块结合静态分析结果、动态分析结果,生成多模态测试结果。
作为本发明的进一步方案,所述自适应测试模块包括测试策略评估子模块、策略调整子模块、测试环境调整子模块;
所述测试策略评估子模块根据多模态测试结果进行评估,计算测试覆盖率、错误定位效率;
所述策略调整子模块使用DQN强化学习算法,动态调整测试策略;
所述测试环境调整子模块根据测试策略调整测试环境,修改部署环境;
所述预测性缺陷分析模块包括历史数据分析子模块、预测模型建立子模块、预测性缺陷报告生成子模块;
所述历史数据分析子模块使用数据挖掘算法对历史错误数据进行分析,寻找规律和模式;
所述预测模型建立子模块使用ARIMA时间序列预测算法,基于所述规律和模式建立预测模型;
所述预测性缺陷报告生成子模块使用预测模型,预测软件出现的问题和缺陷,生成预测性缺陷报告。
作为本发明的进一步方案,所述松耦合的自动化测试框架模块包括模块集成器、框架管理子模块、统一测试结果生成子模块;
所述模块集成器使用Jenkins持续集成工具,将所有模块集成在所述自动化测试框架中;
所述框架管理子模块对所述自动化测试框架进行包括启动、终止、监控的管理工作;
所述统一测试结果生成子模块使用ReportLab报告生成工具,生成统一的统合测试结果。
一种计算机软件测试方法,包括以下步骤:
使用Logstash、Pandas和MySQL工具,利用数据挖掘算法收集大规模测试数据,并进行预处理,获取原始测试数据;
基于所述原始测试数据,利用Scikit-learn进行数据特征工程,并使用支持向量机、随机森林算法生成测试质量评估模型,获取测试质量度量数据;
利用One-Class SVM异常检测算法,基于所述测试质量度量数据进行自动缺陷分析,生成缺陷报告;
根据所述缺陷报告,通过代码分析和模式识别生成自动修复建议;
使用SonarQube、Valgrind工具,结合静态分析和动态分析对采用所述自动修复建议修复后的软件进行综合测试,获取多模态测试结果;
根据所述多模态测试结果,使用DQN强化学习算法调整测试策略和测试环境,生成自适应测试策略;
利用ARIMA时间序列预测算法,结合历史错误数据和所述自适应测试策略,预测软件的问题和缺陷,生成预测性缺陷报告;
通过Jenkins持续集成工具,集成和管理各模块,并使用ReportLab生成统一的测试结果报告,作为统合测试结果。
一种计算机软件测试计算机设备及存储介质,所述计算机设备具体为服务器,所述存储介质具体为硬盘存储器,所述硬盘存储器用于存储计算机软件测试系统,当所述服务器调用硬盘存储器时,所述计算机软件测试系统自动执行计算机软件测试方法。
与现有技术相比,本发明的优点和积极效果在于:
本发明中,通过大数据技术和数据清洗算法,能够更高效地处理大规模的测试数据,提供更准确的原始测试数据。采用机器学习算法,自动评估测试的有效性、覆盖率和风险,提高测试的准确性和效率。通过整合自动缺陷检测、修复、多模态测试、自适应测试和预测性缺陷分析多个模块,构建了一个全面、深入、自动化的测试流程,引入松耦合的自动化测试框架,使得各个测试模块能够独立而灵活地运作,提供了更高的可扩展性和灵活性。整体来看,本发明能够提高软件的质量和可靠性,降低软件测试的成本和周期。
附图说明
图1为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的主系统流程图;
图2为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的数据收集与处理模块流程图;
图3为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的测试质量度量模块流程图;
图4为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的缺陷自动检测与分析模块流程图;
图5为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的缺陷自动修复模块流程图;
图6为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的多模态测试模块流程图;
图7为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的自适应测试模块流程图;
图8为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的预测性缺陷分析模块流程图;
图9为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的松耦合的自动化测试框架模块流程图;
图10为本发明提出一种计算机软件测试系统、方法、计算机设备及存储介质的工作步骤流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明的描述中,需要理解的是,术语“长度”、“宽度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
实施例一
请参阅图1,本发明提供一种技术方案:一种计算机软件测试系统是由数据收集与处理模块、测试质量度量模块、缺陷自动检测与分析模块、缺陷自动修复模块、多模态测试模块、自适应测试模块、预测性缺陷分析模块、松耦合的自动化测试框架模块组成;
数据收集与处理模块采用数据挖掘算法,收集包括错误日志、用户行为、系统响应的大规模测试数据,对大规模测试数据采用数据清洗算法进行预处理,获取原始测试数据;
测试质量度量模块基于原始测试数据,应用机器学习算法建立测试质量评估模型,自动评估测试的有效性、覆盖率和风险,作为测试质量度量数据;
缺陷自动检测与分析模块基于测试质量度量数据,采用异常检测算法进行自动缺陷分析,定位缺陷,并生成缺陷报告;
缺陷自动修复模块根据缺陷报告,采用代码生成技术、模式识别算法,生成自动修复建议;
多模态测试模块结合包括静态分析、动态分析的测试方法,对自动修复建议修复后的所测试计算机软件进行多角度测试,获取多模态测试结果;
自适应测试模块根据多模态测试结果,采用强化学习算法动态调整测试策略和测试环境,并生成自适应测试策略;
预测性缺陷分析模块基于历史错误数据和自适应测试策略,采用时间序列预测算法、回归分析算法,预测软件出现的问题和缺陷,生成预测性缺陷报告;
松耦合的自动化测试框架模块建立松耦合的自动化测试框架,集成和管理上述模块,并将预测性缺陷报告作为输入,生成统合测试结果。
数据收集与处理模块利用数据挖掘算法收集大规模测试数据,并进行预处理,为后续测试提供原始数据。测试质量度量模块基于原始数据,利用机器学习算法评估测试的有效性、覆盖率和风险。缺陷自动检测与分析模块采用异常检测算法定位缺陷,并生成缺陷报告。缺陷自动修复模块利用代码生成和模式识别技术生成自动修复建议。多模态测试模块结合静态和动态分析测试方法对修复后的软件进行多角度测试。自适应测试模块通过强化学习算法动态调整测试策略和环境。预测性缺陷分析模块基于历史数据和自适应测试策略,预测软件问题并生成预测性缺陷报告。松耦合的自动化测试框架模块整合所有模块,并生成统合测试结果。这样设计的系统有潜力提高测试效率、发现更多缺陷、提供准确的质量评估和预测,从而提升软件质量和稳定性。
请参阅图2,数据收集与处理模块包括数据采集子模块、数据预处理子模块、数据存储子模块;
数据采集子模块使用具体为Logstash的日志收集工具,捕获错误日志、用户行为、系统响应;
数据预处理子模块使用具体为Pandas的数据清洗工具,对错误日志、用户行为、系统响应中的异常值、重复值进行处理,获取原始测试数据;
数据存储子模块使用MySQL数据库,存储原始测试数据。
通过采用具体工具如Logstash进行数据采集,可以实时捕获错误日志、用户行为和系统响应数据,为问题定位和故障排除提供准确的信息。数据预处理子模块使用Pandas工具,清洗处理异常值和重复值,确保获得原始测试数据的准确性和可靠性。最后,数据存储子模块以MySQL数据库为基础,提供数据的持久性和高效管理能力。通过整合这些子模块,数据收集与处理模块能够提供全面、可靠的测试数据,为测试分析和决策提供可靠基础,对整体测试效果有积极的影响。这样的模块设计和应用能够提高测试质量、发现潜在缺陷,并为测试过程改进提供决策支持。
请参阅图3,测试质量度量模块包括数据特征工程子模块、评估模型生成子模块;
数据特征工程子模块采用Scikit-learn工具,在原始测试数据中提取特征,进行特征选择和降维;
评估模型生成子模块基于特征,使用包括支持向量机、随机森林的机器学习算法,建立测试质量评估模型,采用测试质量评估模型自动评估测试的有效性、覆盖率和风险,作为测试质量度量数据。
数据特征工程子模块利用Scikit-learn工具,对原始测试数据进行特征提取、特征选择和降维,以获得更具表征能力和减少冗余的特征集。这样的预处理操作有助于提高测试数据的质量和可靠性。评估模型生成子模块使用机器学习算法,如支持向量机和随机森林,基于经过特征工程的数据建立测试质量评估模型。这些模型能够自动评估测试的有效性、覆盖率和风险,为测试质量度量提供数据。通过训练和利用这些评估模型,可以量化测试的质量,识别问题和潜在风险,并提供改进测试的建议。综合分析,测试质量度量模块的设计能够自动评估测试质量,量化指标,提供对测试的有效性、覆盖率和风险等方面的度量和评估。
请参阅图4,缺陷自动检测与分析模块包括异常检测子模块、缺陷报告生成子模块;
分析模块异常检测子模块使用One-Class SVM异常检测算法,在测试质量度量数据中定位异常;
缺陷报告生成子模块基于定位异常的结果项,使用Jinja2模板引擎生成缺陷报告。
异常检测子模块利用One-Class SVM算法对测试质量度量数据进行异常检测,定位潜在的异常或缺陷情况。该算法能够准确地识别与正常模式明显不同的数据点,帮助测试团队快速发现潜在的问题。缺陷报告生成子模块基于异常检测子模块定位的异常结果项,使用Jinja2模板引擎自动生成结构化的缺陷报告。通过将异常定位的结果与预定义的缺陷报告模板结合,测试团队可以快速生成具有一致性和可读性的缺陷报告,以便进行进一步的分析和处理。综合分析,缺陷自动检测与分析模块的设计能够自动检测和定位测试质量度量数据中的异常和缺陷,并生成相应的缺陷报告。这样的模块设计有助于提高测试效率、准确性和可读性,帮助测试团队快速响应和解决问题。
请参阅图5,缺陷自动修复模块包括代码分析子模块、修复建议生成子模块;
代码分析子模块根据缺陷报告,使用抽象语法树解析代码结构;
修复建议生成子模块根据缺陷报告和代码结构,利用模式识别算法识别代码模式并生成建议,作为自动修复建议。
代码分析子模块利用抽象语法树解析代码结构,根据缺陷报告准确定位缺陷所在的代码段。这样的代码分析能够为后续的修复提供基础信息。修复建议生成子模块根据缺陷报告、代码结构和模式识别算法,生成自动修复建议。通过模式识别算法的应用,可以识别常见的缺陷模式,并快速生成准确的修复建议,提高修复效率。实施缺陷自动修复模块的好处包括:准确定位缺陷代码段、提供自动修复的指导、提高修复效率和降低人为错误的风险。
请参阅图6,多模态测试模块包括静态分析子模块、动态分析子模块、多模态结果生成子模块;
静态分析子模块使用SonarQube工具,对所测试计算机软件进行静态分析,从结构上寻找错误和风险,生成静态分析结果;
动态分析子模块使用Valgrind工具,实时对所测试计算机软件运行状况和性能进行监控和分析,生成动态分析结果;
多模态结果生成子模块结合静态分析结果、动态分析结果,生成多模态测试结果。
静态分析子模块利用SonarQube工具对测试的计算机软件进行静态分析,可以检测代码结构上的错误和潜在风险。这有助于开发人员在早期发现和修复问题,提高软件质量和稳定性。动态分析子模块使用Valgrind工具进行实时监控和性能分析,能够捕获运行时问题,如内存泄漏和性能瓶颈,帮助优化软件性能并提高稳定性。多模态结果生成子模块综合考虑静态分析和动态分析的结果,生成多模态测试结果,提供全面的测试评估。综合利用这些子模块有助于开发人员全面了解软件的质量和性能状况,并及时采取措施进行改进和修复。整体而言,多模态测试模块的实施能够提高软件测试的效iveness和efficiency,减少潜在风险和性能问题,并提高软件质量和用户体验。
请参阅图7,自适应测试模块包括测试策略评估子模块、策略调整子模块、测试环境调整子模块;
测试策略评估子模块根据多模态测试结果进行评估,计算测试覆盖率、错误定位效率;
策略调整子模块使用DQN强化学习算法,动态调整测试策略;
测试环境调整子模块根据测试策略调整测试环境,修改部署环境。
测试策略评估子模块根据多模态测试结果进行测试覆盖率和错误定位效率的评估,提供了测试质量和效果的指标和反馈。策略调整子模块应用DQN强化学习算法,能够动态调整测试策略,根据实际测试结果和反馈信息优化测试过程,提高测试效率和发现缺陷的能力。测试环境调整子模块根据测试策略调整测试环境,以适应新的测试需求,增加测试实用性和可靠性。综合而言,自适应测试模块的实施有助于提高测试质量、效率和可靠性。
请参阅图8,预测性缺陷分析模块包括历史数据分析子模块、预测模型建立子模块、预测性缺陷报告生成子模块;
历史数据分析子模块使用数据挖掘算法对历史错误数据进行分析,寻找规律和模式;
预测模型建立子模块使用ARIMA时间序列预测算法,基于规律和模式建立预测模型;
预测性缺陷报告生成子模块使用预测模型,预测软件出现的问题和缺陷,生成预测性缺陷报告。
历史数据分析子模块利用数据挖掘算法对历史错误数据进行分析,找出规律和模式;预测模型建立子模块使用ARIMA时间序列预测算法构建预测模型;预测性缺陷报告生成子模块利用预测模型生成报告。这些子模块共同发挥有益效果:深入分析历史数据,从中获取经验教训;基于规律和模式建立预测模型,通过时间序列预测方法预测未来可能发生的缺陷;生成预测性缺陷报告,提前识别潜在问题,帮助采取预防和修复措施。预测性缺陷分析模块的实施可以提高软件质量和稳定性。
请参阅图9,松耦合的自动化测试框架模块包括模块集成器、框架管理子模块、统一测试结果生成子模块;
模块集成器使用Jenkins持续集成工具,将所有模块集成在自动化测试框架中;
框架管理子模块对自动化测试框架进行包括启动、终止、监控的管理工作;
统一测试结果生成子模块使用ReportLab报告生成工具,生成统一的统合测试结果。
模块集成器利用Jenkins持续集成工具将测试模块集成在自动化测试框架中,实现测试流程的自动化,提高测试效率和一致性。框架管理子模块负责对测试框架进行启动、终止和监控,确保测试环境的可用性和稳定性。统一测试结果生成子模块使用ReportLab报告生成工具生成综合测试结果,方便查看和分析测试结果,加快问题定位和解决。整体而言,松耦合的自动化测试框架模块的实施能够提高测试效率、可靠性和可用性,简化测试流程,减少手动操作,并提供全面的测试结果报告。
请参阅图10,一种计算机软件测试方法,包括以下步骤:
使用Logstash、Pandas和MySQL工具,利用数据挖掘算法收集大规模测试数据,并进行预处理,获取原始测试数据;
基于原始测试数据,利用Scikit-learn进行数据特征工程,并使用支持向量机、随机森林算法生成测试质量评估模型,获取测试质量度量数据;
利用One-Class SVM异常检测算法,基于测试质量度量数据进行自动缺陷分析,生成缺陷报告;
根据缺陷报告,通过代码分析和模式识别生成自动修复建议;
使用SonarQube、Valgrind工具,结合静态分析和动态分析对采用自动修复建议修复后的软件进行综合测试,获取多模态测试结果;
根据多模态测试结果,使用DQN强化学习算法调整测试策略和测试环境,生成自适应测试策略;
利用ARIMA时间序列预测算法,结合历史错误数据和自适应测试策略,预测软件的问题和缺陷,生成预测性缺陷报告;
通过Jenkins持续集成工具,集成和管理各模块,并使用ReportLab生成统一的测试结果报告,作为统合测试结果。
计算机软件测试方法包括使用Logstash、Pandas和MySQL工具进行数据收集和预处理,利用Scikit-learn进行数据特征工程和测试质量评估模型构建,应用One-Class SVM异常检测算法进行自动缺陷分析和生成缺陷报告,通过代码分析和模式识别生成自动修复建议,使用SonarQube、Valgrind等工具进行综合测试和生成测试结果报告,通过DQN强化学习算法调整测试策略和预测软件问题和缺陷,并最终通过Jenkins集成工具和ReportLab报告生成工具进行模块集成和统一测试结果报告生成。该方法的实施可以带来多个有益效果:收集大规模测试数据以提供更全面的测试样本和覆盖度,自动化缺陷分析和修复建议加快问题定位和修复速度,综合测试和结果报告评估修复效果和软件质量,自适应测试策略和预测缺陷报告提前预防和解决问题。
一种计算机软件测试计算机设备及存储介质,计算机设备具体为服务器,存储介质具体为硬盘存储器,硬盘存储器用于存储计算机软件测试系统,当服务器调用硬盘存储器时,计算机软件测试系统自动执行计算机软件测试方法。
工作原理:首先,数据收集与处理模块采集大规模测试数据,并经过预处理得到原始测试数据。然后,测试质量度量模块利用机器学习算法建立评估模型,并评估测试质量,并生成度量数据。接下来,缺陷自动检测与分析模块通过异常检测算法分析度量数据,定位缺陷并生成缺陷报告。同时,缺陷自动修复模块根据缺陷报告生成修复建议。多模态测试模块对修复后的软件进行静态和动态分析,生成多模态测试结果。自适应测试模块根据多模态测试结果进行测试策略和环境的动态调整。预测性缺陷分析模块基于历史错误数据和自适应测试策略,预测软件问题和缺陷,并生成预测性缺陷报告。最后,松耦合的自动化测试框架模块集成和管理各模块,并生成统合的测试结果。
以上,仅是本发明的较佳实施例而已,并非对本发明作其他形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其他领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

Claims (10)

1.一种计算机软件测试系统,其特征在于:所述一种计算机软件测试系统是由数据收集与处理模块、测试质量度量模块、缺陷自动检测与分析模块、缺陷自动修复模块、多模态测试模块、自适应测试模块、预测性缺陷分析模块、松耦合的自动化测试框架模块组成;
所述数据收集与处理模块采用数据挖掘算法,收集包括错误日志、用户行为、系统响应的大规模测试数据,对所述大规模测试数据采用数据清洗算法进行预处理,获取原始测试数据;
所述测试质量度量模块基于所述原始测试数据,应用机器学习算法建立测试质量评估模型,自动评估测试的有效性、覆盖率和风险,作为测试质量度量数据;
所述缺陷自动检测与分析模块基于所述测试质量度量数据,采用异常检测算法进行自动缺陷分析,定位缺陷,并生成缺陷报告;
所述缺陷自动修复模块根据所述缺陷报告,采用代码生成技术、模式识别算法,生成自动修复建议;
所述多模态测试模块结合包括静态分析、动态分析的测试方法,对所述自动修复建议修复后的所测试计算机软件进行多角度测试,获取多模态测试结果;
所述自适应测试模块根据所述多模态测试结果,采用强化学习算法动态调整测试策略和测试环境,并生成自适应测试策略;
所述预测性缺陷分析模块基于历史错误数据和所述自适应测试策略,采用时间序列预测算法、回归分析算法,预测软件出现的问题和缺陷,生成预测性缺陷报告;
所述松耦合的自动化测试框架模块建立松耦合的自动化测试框架,集成和管理上述模块,并将所述预测性缺陷报告作为输入,生成统合测试结果。
2.根据权利要求1所述的计算机软件测试系统,其特征在于:所述数据收集与处理模块包括数据采集子模块、数据预处理子模块、数据存储子模块;
所述数据采集子模块使用具体为Logstash的日志收集工具,捕获错误日志、用户行为、系统响应;
所述数据预处理子模块使用具体为Pandas的数据清洗工具,对所述错误日志、用户行为、系统响应中的异常值、重复值进行处理,获取所述原始测试数据;
所述数据存储子模块使用MySQL数据库,存储所述原始测试数据。
3.根据权利要求1所述的计算机软件测试系统,其特征在于:所述测试质量度量模块包括数据特征工程子模块、评估模型生成子模块;
所述数据特征工程子模块采用Scikit-learn工具,在所述原始测试数据中提取特征,进行特征选择和降维;
所述评估模型生成子模块基于所述特征,使用包括支持向量机、随机森林的机器学习算法,建立测试质量评估模型,采用所述测试质量评估模型自动评估测试的有效性、覆盖率和风险,作为所述测试质量度量数据。
4.根据权利要求1所述的计算机软件测试系统,其特征在于:所述缺陷自动检测与分析模块包括异常检测子模块、缺陷报告生成子模块;
所述分析模块异常检测子模块使用One-Class SVM异常检测算法,在所述测试质量度量数据中定位异常;
所述缺陷报告生成子模块基于所述定位异常的结果项,使用Jinja2模板引擎生成缺陷报告。
5.根据权利要求1所述的计算机软件测试系统,其特征在于:所述缺陷自动修复模块包括代码分析子模块、修复建议生成子模块;
所述代码分析子模块根据所述缺陷报告,使用抽象语法树解析代码结构;
所述修复建议生成子模块根据所述缺陷报告和代码结构,利用模式识别算法识别代码模式并生成建议,作为所述自动修复建议。
6.根据权利要求1所述的计算机软件测试系统,其特征在于:所述多模态测试模块包括静态分析子模块、动态分析子模块、多模态结果生成子模块;
所述静态分析子模块使用SonarQube工具,对所测试计算机软件进行静态分析,从结构上寻找错误和风险,生成静态分析结果;
所述动态分析子模块使用Valgrind工具,实时对所测试计算机软件运行状况和性能进行监控和分析,生成动态分析结果;
所述多模态结果生成子模块结合静态分析结果、动态分析结果,生成多模态测试结果。
7.根据权利要求1所述的计算机软件测试系统,其特征在于:所述自适应测试模块包括测试策略评估子模块、策略调整子模块、测试环境调整子模块;
所述测试策略评估子模块根据多模态测试结果进行评估,计算测试覆盖率、错误定位效率;
所述策略调整子模块使用DQN强化学习算法,动态调整测试策略;
所述测试环境调整子模块根据测试策略调整测试环境,修改部署环境;
所述预测性缺陷分析模块包括历史数据分析子模块、预测模型建立子模块、预测性缺陷报告生成子模块;
所述历史数据分析子模块使用数据挖掘算法对历史错误数据进行分析,寻找规律和模式;
所述预测模型建立子模块使用ARIMA时间序列预测算法,基于所述规律和模式建立预测模型;
所述预测性缺陷报告生成子模块使用预测模型,预测软件出现的问题和缺陷,生成预测性缺陷报告。
8.根据权利要求1所述的计算机软件测试系统,其特征在于:所述松耦合的自动化测试框架模块包括模块集成器、框架管理子模块、统一测试结果生成子模块;
所述模块集成器使用Jenkins持续集成工具,将所有模块集成在所述自动化测试框架中;
所述框架管理子模块对所述自动化测试框架进行包括启动、终止、监控的管理工作;
所述统一测试结果生成子模块使用ReportLab报告生成工具,生成统一的统合测试结果。
9.一种计算机软件测试方法,其特征在于,包括以下步骤:
使用Logstash、Pandas和MySQL工具,利用数据挖掘算法收集大规模测试数据,并进行预处理,获取原始测试数据;
基于所述原始测试数据,利用Scikit-learn进行数据特征工程,并使用支持向量机、随机森林算法生成测试质量评估模型,获取测试质量度量数据;
利用One-Class SVM异常检测算法,基于所述测试质量度量数据进行自动缺陷分析,生成缺陷报告;
根据所述缺陷报告,通过代码分析和模式识别生成自动修复建议;
使用SonarQube、Valgrind工具,结合静态分析和动态分析对采用所述自动修复建议修复后的软件进行综合测试,获取多模态测试结果;
根据所述多模态测试结果,使用DQN强化学习算法调整测试策略和测试环境,生成自适应测试策略;
利用ARIMA时间序列预测算法,结合历史错误数据和所述自适应测试策略,预测软件的问题和缺陷,生成预测性缺陷报告;
通过Jenkins持续集成工具,集成和管理各模块,并使用ReportLab生成统一的测试结果报告,作为统合测试结果。
10.一种计算机软件测试计算机设备及存储介质,其特征在于:所述计算机设备具体为服务器,所述存储介质具体为硬盘存储器,所述硬盘存储器用于存储权利要求1-8所述的计算机软件测试系统,当所述服务器调用硬盘存储器时,所述计算机软件测试系统自动执行权利要求9所述的计算机软件测试方法。
CN202311029767.2A 2023-08-15 2023-08-15 一种计算机软件测试系统、方法、计算机设备及存储介质 Withdrawn CN116991738A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311029767.2A CN116991738A (zh) 2023-08-15 2023-08-15 一种计算机软件测试系统、方法、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311029767.2A CN116991738A (zh) 2023-08-15 2023-08-15 一种计算机软件测试系统、方法、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN116991738A true CN116991738A (zh) 2023-11-03

Family

ID=88521257

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311029767.2A Withdrawn CN116991738A (zh) 2023-08-15 2023-08-15 一种计算机软件测试系统、方法、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN116991738A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234954A (zh) * 2023-11-14 2023-12-15 杭银消费金融股份有限公司 一种基于机器学习算法的智能在线测试方法及系统
CN117609100A (zh) * 2024-01-17 2024-02-27 北京智麟科技有限公司 一种自动化代码合并及部署方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117234954A (zh) * 2023-11-14 2023-12-15 杭银消费金融股份有限公司 一种基于机器学习算法的智能在线测试方法及系统
CN117234954B (zh) * 2023-11-14 2024-02-06 杭银消费金融股份有限公司 一种基于机器学习算法的智能在线测试方法及系统
CN117609100A (zh) * 2024-01-17 2024-02-27 北京智麟科技有限公司 一种自动化代码合并及部署方法
CN117609100B (zh) * 2024-01-17 2024-04-23 北京智麟科技有限公司 一种自动化代码合并及部署方法

Similar Documents

Publication Publication Date Title
CN116991738A (zh) 一种计算机软件测试系统、方法、计算机设备及存储介质
WO2020001642A1 (zh) 一种运维系统及方法
WO2017084186A1 (zh) 挠性电路板制造过程自动监测和智能分析系统及方法
CN101470426B (zh) 一种故障检测的方法和系统
CN110825644A (zh) 一种跨项目软件缺陷预测方法及其系统
CN107479540B (zh) 故障诊断方法以及系统
CN109470946B (zh) 一种发电设备故障检测方法及系统
Groba et al. Architecture of a predictive maintenance framework
Hua et al. Validation of digital twins: challenges and opportunities
CN117055502A (zh) 基于物联网和大数据分析的智能控制系统
CN116882426A (zh) 基于标识解析的机电设备管理平台
CN115952081A (zh) 一种软件测试方法、装置、存储介质及设备
CN111695771A (zh) 基于物联网技术的电力物资智能检测管控系统及其方法
CN111625428A (zh) 监控Java应用程序运行状态的方法、系统、设备和存储介质
CN117520184A (zh) 一种计算机软件开发用测试系统
CN104794771A (zh) 一种巡点检自动规划方法及装置
CN116955434A (zh) 一种工业装备全生命周期管理及多维度能效分析系统
KR102353574B1 (ko) Cnc 공작기계의 공구 관련 비정상 데이터 탐지 시스템
CN117421217A (zh) 一种软件功能自动测试方法、系统、终端及介质
CN116859838A (zh) 一种设备运行情况监测的预警系统
CN111752833A (zh) 一种软件质量体系准出方法、装置、服务器及存储介质
CN109213119B (zh) 基于在线学习的复杂工业关键部件故障预测方法及系统
CN116415851A (zh) 一种基于深度学习的设施运维性态指标智能识别评价方法
Galetto et al. Robustness analysis of inspection design parameters for assembly of short-run manufacturing processes
CN111190944A (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
WW01 Invention patent application withdrawn after publication

Application publication date: 20231103

WW01 Invention patent application withdrawn after publication