CN110046087B - 非接触式测试平台 - Google Patents
非接触式测试平台 Download PDFInfo
- Publication number
- CN110046087B CN110046087B CN201811605261.0A CN201811605261A CN110046087B CN 110046087 B CN110046087 B CN 110046087B CN 201811605261 A CN201811605261 A CN 201811605261A CN 110046087 B CN110046087 B CN 110046087B
- Authority
- CN
- China
- Prior art keywords
- test
- test cases
- module
- graphical representation
- codebase
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3183—Generation of test inputs, e.g. test vectors, patterns or sequences
- G01R31/318342—Generation of test inputs, e.g. test vectors, patterns or sequences by preliminary fault modelling, e.g. analysis, simulation
- G01R31/31835—Analysis of test coverage or failure detectability
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/008—Reliability or availability analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3438—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment monitoring of user actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- 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/3604—Software analysis for verifying properties of programs
- G06F11/3616—Software analysis for verifying properties of programs using software metrics
-
- 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/3664—Environments for testing or debugging software
-
- 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
- G06F11/3676—Test management for coverage analysis
-
- 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
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
- G06F11/3692—Test management for test results analysis
-
- 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/3696—Methods or tools to render software testable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0224—Process history based detection method, e.g. whereby history implies the availability of large amounts of data
- G05B23/0227—Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions
- G05B23/0229—Qualitative history assessment, whereby the type of data acted upon, e.g. waveforms, images or patterns, is not relevant, e.g. rule based assessment; if-then decisions knowledge based, e.g. expert systems; genetic algorithms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
用于非接触式测试平台的方法、***和装置(包括编码于计算机存储介质上的计算机程序)被用于例如创建自动化测试脚本,对测试用例进行定序,并且实现确定缺陷解决方案。在一个方面中,一种方法包括以下动作:接收包括从代码库生成的日志记录的日志文件;通过模式挖掘算法来处理日志文件以确定使用模式;基于使用模式的分析来生成图形表示;通过机器学习算法来处理图形表示以从针对代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的测试用例中的每个;基于优先级值来对测试用例的集合进行定序;以及将经定序的测试用例的集合发送到测试执行引擎。
Description
技术领域
本申请要求于2017年12月27日提交的题为“Touchless Testing Platform”的印度专利申请No.201711046829和于2018年3月5日提交的题为“TOUCHLESS TESTINGPLATFORM”的美国专利申请No.15/911,968的优先权,其整体内容通过引用并入本文。
技术领域
本申请总体上涉及生成并执行自动化测试脚本。
背景技术
软件应用被设计为适应许多事务,其中每个事务通常要求执行大量功能。软件应用的测试可以包括基于要求来创建测试用例并且之后通过例如检测缺陷的测试脚本来执行测试用例。测试用例可以使用商业工具和开源工具来自动化以减少执行时间。例如,回归测试套件是测试用例的集合,其通常以脚本的形式编写,被设计为在修改底层程序代码之后确保这些功能中的每个保持准确且正确。这些套件的执行帮助确保缺陷尚未由于修改而被引入或未覆盖在代码库的未改变的区域中。此外,每个级别的测试(例如,单元测试、***测试以及验收测试)可以具有它自己的回归测试套件。这些软件应用和/或它们对应的服务的提供商面临如下问题:具有被手动执行的大型回归测试套件并且需要使这些测试套件自动化以在大量工业标准自动化工具中的任何一个内进行工作。一旦自动化,这些测试用例就可以被重复地且频繁地执行,其增加针对相应程序的测试覆盖量。然而,对测试用例的这样的套件的高效且有效的管理既是耗时的又是工作密集的。
发明内容
本公开的实施方式总体上涉及非接触式自动化平台***。更具体地,实施方式涉及一种***,其基于根据要求文档确定的测试用例来创建自动化测试脚本,对用于执行的测试用例进行定序,并且实现根据涉及的特定应用功能而确定的缺陷解决方案。
在一般的实施方式中,一种***包括:一个或多个处理器;以及计算机可读存储设备,其耦合到一个或多个处理器并且具有存储于其上的指令,指令当由一个或多个处理器执行时使一个或多个处理器执行包括以下各项的操作:接收包括从代码库生成的日志记录的日志文件;通过模式挖掘算法来处理日志文件以确定使用模式;基于使用模式的分析来生成图形表示;通过机器学习算法来处理图形表示以从针对代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的测试用例中的每个;基于优先级值来对测试用例的集合进行定序;以及将经定序的测试用例的集合发送到测试执行引擎。
在另一一般的实施方式中,一种由一个或多个处理器执行的计算机实现的方法包括:接收包括从代码库生成的日志记录的日志文件;通过模式挖掘算法来处理日志文件以确定使用模式;基于使用模式的分析来生成图形表示;通过机器学习算法来处理图形表示以从针对代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的测试用例中的每个;基于优先级值来对测试用例的集合进行定序;以及将经定序的测试用例的集合发送到测试执行引擎。
在又一一般的实施方式中,一个或多个非瞬态计算机可读存储介质,其耦合到一个或多个处理器并且具有存储于其上的指令,指令当由一个或多个处理器执行时使一个或多个处理器执行包括以下各项的操作:接收包括从代码库生成的日志记录的日志文件;通过模式挖掘算法来处理日志文件以确定使用模式;基于使用模式的分析来生成图形表示;通过机器学习算法来处理图形表示以从针对代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的测试用例中的每个;基于优先级值来对测试用例的集合进行定序;以及将经定序的测试用例的集合发送到测试执行引擎。
在可与一般的实施方式中的任何组合的方面中,操作还包括基于使用模式、故障模式、业务流图或异常来生成报告;以及将报告发送到控制中心应用。
在可与先前方面中的任何组合的另一方面中,操作还包括分析使用模式以标识模式组;以及生成针对所标识的模式组的元数据。
在可与先前方面中的任何组合的另一方面中,操作还包括:基于对代码库的配置和编码变化的分析来确定扰动数据;通过人工智能(AI)模型来处理测试结果、扰动数据和代码库,AI模型使用包括针对代码库的报告的缺陷的解决方案的训练数据来训练;以及确定针对代码库的功能中的至少一个功能的故障的可能性,其中图形表示还基于针对代码库的功能中的至少一个功能的故障的可能性来生成。
在可与先前方面中的任何组合的另一方面中,操作还包括在对代码库进行测试之前基于测试结果的分析来确定故障模式,其中测试用例的集合中的测试用例中的每个测试用例还基于故障模式来选择,并且其中针对测试用例的集合中的测试用例中的每个测试用例的分配的优先级值还基于故障模式来确定。
在可与先前方面中的任何组合的另一方面中,操作还包括:在接收日志文件之前,从要求文档提取术语;基于已知术语的语料库来将所提取的术语分类到类别中;以及基于所分类的术语来生成过程图。
在可与先前方面中的任何组合的另一方面中,操作还包括:在选择测试用例的集合之前,基于上下文相似性来聚类针对代码库的多个测试用例。
在可与先前方面中的任何组合的另一方面中,操作还包括:在接收日志文件之前,接收通过用户接口选择的测试情景和上下文文件,上下文文件包括对象图,对象图包括与针对代码库的显示页面的相应部件相关的对象,测试情景描述涉及与显示页面上的部件中的至少一个的意图交互的测试用例中的一个测试用例;将与至少一个部件的意图交互与对象图中的对应对象相关;通过AI模型来处理意图交互和对应对象,AI模型使用包括由显示页面的部件支持的多个过程和相应过程步骤的训练数据来训练;基于处理和选择的自动化工具来确定脚本模板;基于处理将脚本模板应用到意图交互和相关的对象以生成针对选择的自动化工具的自动化测试脚本;以及将所生成的自动化测试脚本分配给测试用例中的一个测试用例。
在可与先前方面中的任何组合的另一方面中,操作还包括:在接收日志文件之前,确定针对测试用例中的每个相对于彼此的上下文距离;基于上下文距离将测试用例中的每个分配给至少一个聚类;以及基于相对于至少一个聚类中的其他测试用例检测缺陷的鲁棒性将分数值分配给每个测试用例。
在可与先前方面中的任何组合的另一方面中,操作还包括:确定针对缺陷的解决方案,缺陷基于执行被分配给经定序的测试用例的集合中的一个测试用例的测试脚本的结果来报告;以及在代码库中实施解决方案。
在可与先前方面中的任何组合的另一方面中,图形表示是热图。
在可与先前方面中的任何组合的另一方面中,通过模式挖掘算法来处理日志文件还确定故障模式、业务流图或异常。
在可与先前方面中的任何组合的另一方面中,图形表示描绘代码库的功能的测试优先级。
在可与先前方面中的任何组合的另一方面中,测试用例基于标准被选择并且被分配以优先级。
在可与先前方面中的任何组合的另一方面中,标准是执行的每个测试用例产生的缺陷的最大化。
在可与先前方面中的任何组合的另一方面中,机器学习算法是被训练为使每个测试用例产生的缺陷最大化的寻赏算法。
在可与先前方面中的任何组合的另一方面中,测试情景中的每个由描绘业务过程的层级的过程图表示。
在可与先前方面中的任何组合的另一方面中,针对每个测试用例的上下文距离包括针对测试用例中的每个相对于彼此的语义距离、针对测试用例中的每个相对于彼此的缺陷距离、以及针对测试用例中的每个相对于彼此的代码命中距离。
在一般的实施方式中,一种***包括:一个或多个处理器;以及计算机可读存储设备,其耦合到一个或多个处理器并且具有存储于其上的指令,指令当由一个或多个处理器执行时使一个或多个处理器执行包括以下各项的操作:接收包括从代码库生成的日志记录的日志文件;通过模式挖掘算法来处理日志文件以确定使用模式;基于使用模式的分析来生成图形表示;通过机器学习算法来处理图形表示以从针对代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的测试用例中的每个;基于优先级值来对测试用例的集合进行定序;以及将经定序的测试用例的集合发送到测试执行引擎。
在另一一般的实施方式中,一种由一个或多个处理器执行的计算机实现的方法包括:接收包括从代码库生成的日志记录的日志文件;通过模式挖掘算法来处理日志文件以确定使用模式;基于使用模式的分析来生成图形表示;通过机器学习算法来处理图形表示以从针对代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的测试用例中的每个;基于优先级值来对测试用例的集合进行定序;以及将经定序的测试用例的集合发送到测试执行引擎。
在又一一般的实施方式中,一个或多个非瞬态计算机可读存储介质,其耦合到一个或多个处理器并且具有存储于其上的指令,指令当由一个或多个处理器执行时使一个或多个处理器执行包括以下各项的操作:接收包括从代码库生成的日志记录的日志文件;通过模式挖掘算法来处理日志文件以确定使用模式;基于使用模式的分析来生成图形表示;通过机器学习算法来处理图形表示以从针对代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的测试用例中的每个;基于优先级值来对测试用例的集合进行定序;以及将经定序的测试用例的集合发送到测试执行引擎。
在可与一般的实施方式中的任何组合的方面中,操作还包括基于使用模式、故障模式、业务流图或异常来生成报告;以及将报告发送到控制中心应用。
在可与先前方面中的任何组合的另一方面中,操作还包括:分析使用模式以标识模式组;以及生成针对所标识的模式组的元数据。
在可与先前方面中的任何组合的另一方面中,操作还包括:基于对代码库的配置和编码变化的分析来确定扰动数据;通过人工智能(AI)模型来处理测试结果、扰动数据和代码库,AI模型使用包括针对代码库的报告的缺陷的解决方案的训练数据来训练;以及确定针对代码库的功能中的至少一个功能的故障的可能性,其中图形表示还基于针对代码库的功能中的至少一个功能的故障的可能性来生成。
在可与先前方面中的任何组合的另一方面中,操作还包括在对代码库进行测试之前基于测试结果的分析来确定故障模式,其中测试用例的集合中的测试用例中的每个测试用例还基于故障模式来选择,并且其中针对测试用例的集合中的测试用例中的每个测试用例的分配的优先级值还基于故障模式来确定。
在可与先前方面中的任何组合的另一方面中,操作还包括:在接收日志文件之前,从要求文档提取术语;基于已知术语的语料库来将所提取的术语分类到类别中;以及基于所分类的术语来生成过程图。
在可与先前方面中的任何组合的另一方面中,操作还包括:在选择测试用例的集合之前,基于上下文相似性来聚类针对代码库的多个测试用例。
在可与先前方面中的任何组合的另一方面中,操作还包括:在接收日志文件之前,接收通过用户接口选择的测试情景和上下文文件,上下文文件包括对象图,对象图包括与针对代码库的显示页面的相应部件相关的对象,测试情景描述涉及与显示页面上的部件中的至少一个的意图交互的测试用例中的一个测试用例;将与至少一个部件的意图交互与对象图中的对应对象相关;通过AI模型来处理意图交互和对应对象,AI模型使用包括由显示页面的部件支持的多个过程和相应过程步骤的训练数据来训练;基于处理和选择的自动化工具来确定脚本模板;基于处理将脚本模板应用到意图交互和相关的对象以生成针对选择的自动化工具的自动化测试脚本;以及将所生成的自动化测试脚本分配给测试用例中的一个测试用例。
在可与先前方面中的任何组合的另一方面中,操作还包括:在接收日志文件之前,确定针对测试用例中的每个相对于彼此的上下文距离;基于上下文距离将测试用例中的每个分配给至少一个聚类;以及基于相对于至少一个聚类中的其他测试用例检测缺陷的鲁棒性将分数值分配给每个测试用例。
在可与先前方面中的任何组合的另一方面中,操作还包括:确定针对缺陷的解决方案,缺陷基于执行被分配给经定序的测试用例的集合中的一个测试用例的测试脚本的结果来报告;以及在代码库中实施解决方案。
在可与先前方面中的任何组合的另一方面中,图形表示是热图。
在可与先前方面中的任何组合的另一方面中,通过模式挖掘算法来处理日志文件还确定故障模式、业务流图或异常。
在可与先前方面中的任何组合的另一方面中,图形表示描绘代码库的功能的测试优先级。
在可与先前方面中的任何组合的另一方面中,测试用例基于标准被选择并且被分配以优先级。
在可与先前方面中的任何组合的另一方面中,标准是执行的每个测试用例产生的缺陷的最大化。
在可与先前方面中的任何组合的另一方面中,机器学习算法是被训练为使每个测试用例产生的缺陷最大化的寻赏算法。
在可与先前方面中的任何组合的另一方面中,测试情景中的每个由描绘业务过程的层级的过程图表示。
在可与先前方面中的任何组合的另一方面中,针对每个测试用例的上下文距离包括针对测试用例中的每个相对于彼此的语义距离、针对测试用例中的每个相对于彼此的缺陷距离、以及针对测试用例中的每个相对于彼此的代码命中距离。
应认识到,根据本公开的方法可以包括本文描述的方面和特征的任何组合。即,根据本公开的方法不限于本文具体描述的方面和特征的组合,而且可以包括提供的方面和特征的任何组合。
在附图和下面的描述中阐述本公开的一个或多个实施方式的细节。本公开的其他特征和优点将从说明书和附图、并且从权利要求书变得显而易见。
附图说明
图1A-1C描绘了示例非接触式测试平台***。
图2A和2B描绘了测试情景和过程图提取器引擎的示例实施方式。
图3描绘了自动化加速器引擎的示例。
图4描绘了测试套件分析器引擎的示例。
图5描绘了日志分析器和模式挖掘器引擎的示例。
图6描绘了测试优先级图形表示生成器引擎的示例。
图7描绘了动态测试用例选择器和定序器引擎的示例。
图8描绘了动态缺陷分析器引擎的示例。
图9A-9B描绘了在非接触式测试平台***内采用的示例过程的流程图。
图10示出了计算设备和移动计算设备的示例。
具体实施方式
应用和***测试包括涉及测试用例设计、执行和缺陷报告的活动的定义的集合。随着信息技术(IT)架构的日益增加的复杂性,对敏捷开发和开发运营的日益增加的采用,以及更快的市场化速度,针对总体性能的测试实践预期和产品发布的效率被增加。因此,确保***和应用以最短可能时间上线准备以用于发布的测试方法以及这些方法的质量、稳定性和可靠性的改进是有益的。因此,存在对拓宽用于测试的命令以及在回归套件的创建、维护和执行内采用新策略和技术的需求。例如,方法可以用于基于标准集合(诸如使测试覆盖最大化)来创建测试用例。方法可以通过例如增加发现的缺陷的自动化和有效报告来满足标准。因此,鲁棒的测试平台包含速度和数据驱动的智能,其使得用户能够高效地且敏捷地产生质量结果。
鉴于前述内容,本公开的实现方式总体上涉及一种用于创建自动化测试脚本、对测试用例进行定序以及实现缺陷解决方案的非接触式测试平台***。所描述的***采用技术,诸如数据挖掘、人工智能、机器学习、以及自然语言处理,以构建并维持企业测试套件。以要求文档开始,所描述的***生成测试情景,其用于一旦应用或***已经被构建就创建测试用例。要求文档(例如,业务要求、功能要求、使用用例、用户故事、等等)捕获例如与将由软件支持的(一个或多个)业务过程相关的信息,将通过软件执行的意图动作,管理的数据,规则集合,非功能属性(例如,响应时间、可访问性、访问和权限)、等等。使用该文档,所描述的***可以用于通过例如名称实体识别、话题分割、词性标记、术语和关系提取技术、语义聚类、以及测试用例思维图(其可以通过采用例如语义图来生成)来提取关键过程和事件、特征要求、非功能测试、等等。基于该提取的信息,测试情景被生成。测试情景解释例如总体过程而不关注实施方式。一旦软件的设计可用,测试情景可以被转换成(一个或多个)相应业务要求的实施方式特定的测试用例。
所描述的***通过快速地标识要被测试的关键属性以及它们的操作和关系来向测试设计者提供益处,因此显著地改进测试用例的生产力和质量。例如,自然语言处理(NLP)和聚类技术可以被用于从测试用例提取意图并且自动地创建代码。作为示例,登录到应用或程序(诸如web应用)中可以要求用户名和密码或在web应用中利用某些信息集合完成特定表单。所描述的***可以将使用的意图与web应用的选择的页面或屏幕上的(一个或多个)对象相关。一旦意图和对象被相关,***就选择对应于指定自动化工具的(一个或多个)模板以生成针对所确定的测试情景的自动化测试脚本。一旦测试情景已经被转化为自动化测试脚本,测试情景就可以被频繁地测试并且使用相应自动化测试脚本在各种测试过程中被使用。
另外,测试自动化可以通过鲁棒自动化框架来实现“无人看管的测试”,鲁棒自动化框架提供更好的编码实践,诸如改进的异常处理;跨环境和应用的便携性;以及将测试数据和部署环境集成到自动化逻辑中。在一些示例中,测试脚本不是由于***故障而是由于环境故障和/或不正确的测试数据而故障。因此,所描述的***提供协调器过程以提供回归套件的端到端执行的监督。例如,所描述的***可以生成关于由于用于测试正被测试的特定应用或***的功能的测试环境和/或特定数据的故障的警报。这些过程还收集***日志并跟踪何时遇到故障。
尽管使测试过程最大化***要求的覆盖是重要的,但是所描述的***包括搜索并发现缺陷的鲁棒且优化的测试过程。例如,测试优化的一个目标是使相对于在测试上花费的成本(例如,时间)量产生的缺陷最大化。所描述的***通过采用AI和NLP技术以例如移除重复的测试用例和/或锻炼相同执行路径的测试用例来优化测试。NLP可以被描述为当人类语音被说出或写出时计算机程序或软件理解人类语音的能力。NLP能够使AI程序通过分解相应语法以确定输入的含义和/或确定合适的动作来接收会话输入或文本输入。
另外,所描述的***通过经由标识可重新使用的部件(诸如可以通过其他测试用例执行的测试步骤和测试用例)来改进回归套件的维护能力和重新使用来优化测试。
另外,诸如热图的图形表示可以被创建并用于定量分析和选择测试用例的集合以执行。例如,热图可以通过确定可以从生产日志提取的***使用和故障模式来创建,其中具有更高使用和/或更高故障倾向的功能可以指示针对增加的测试优先级的情况。热图还可以用于确定功能,其中变化以增加的速率发生。这些类型的因素还可以指示针对增加的测试优先级的情况。另外,要被测试的代码库可以被分析以基于代码库内的各种模块的所确定的质量来设置测试优先级。
所描述的***还提供用于动态测试定序的过程。这些过程基于测试优先级来选择要执行的测试用例,其可以根据所生成的图形表示来确定。在一些实施方式中,测试用例执行的顺序或测试定序被动态地确定以使各种阈值或标准(诸如执行的每个测试用例产生的缺陷)最大化。这可以通过例如基于根据先前执行结果训练的机器学习算法来聚类测试用例而完成。
所描述的***提供增加测试用例生命力的过程。测试用例的生命力包括其激活故障链、触发故障和/或检测缺陷的能力。例如,测试用例使用越长,其生命力由于诸如故障路径的不足的覆盖或对由测试用例覆盖的功能的改进的因素而越多地降低。所描述的***还包括执行测试生命力分析以例如移除呈现差生命力的测试用例的过程,因此改进执行的每个单元测试用例产生的缺陷。
所描述的***还集成功能测试和非功能测试,因为测试故障可能由于功能和/或非功能根本原因而发生。例如,功能缺陷可以源自非功能原因,诸如导致用户接口(UI)上的不正确更新的数据库超时。在这样的示例中,测试者可以将UI问题标记为功能缺陷。为了提供该集成,所描述的***包括分析性能、可扩展性、稳定性、复原能力、异常处理、升级、等等的过程,其在测试周期中和/或并行执行。另外,所描述的***使用应用监视和日志挖掘以在功能测试正在运行时将有用洞察构建到底层架构行为中。例如,针对已知的问题模式和监视警报的阈值可以被设置并且机器学习用于确定典型***行为以及搜索异常。
所描述的***还包括在测试的***生命周期中连续地构建数据驱动的洞察的过程。这些洞察允许实现校正和预防动作以例如实现项目目标。洞察可以包括使用模式,诸如***如何正被使用,UI通路最经常被锻炼,以及最流行的控制和数据流通路;故障预测和建模,诸如最可能故障的***部件,激活内部故障链并触发故障的最可能的通路,典型***和运行时间行为挖掘和异常检测,以及为故障的预兆的异常;扰动模式,诸如经历(一个或多个)变化源自于的最大扰动的模块,模块经历突发改变;代码和架构质量,诸如扰动是否正影响代码和/或架构质量;缺陷分析,诸如缺陷的可能根本原因;以及故障链关系,诸如彼此的缺陷因果关系,根本缺陷对比症状,以及复制。
图1A-1C描绘了示例非接触式测试平台***100。示例***100包括控制中心110、非接触式测试平台模块120、以及数据和工件储存库130。在描绘的示例中,示例非接触式测试平台***100可以被部署为任何专用计算机***。示例***可以使用任何合适数量和类型的计算设备中的一个或多个计算设备来提供。这样的计算设备的配置包括共享的、虚拟的、管理的/专用的、聚类的/网格的、基于云的资源和/或其任何组合。
***100通过控制中心110提供对用户112的访问,其可以通过网络(未示出)访问。在描绘的***中100,用户112可以分析针对应用或***的要求并且之后通过应用计算机科学和数学分析的理论和原理来设计、开发并测试软件。控制中心110包括一系列屏幕,其可以使用例如web浏览器程序在用户设备上接收和观察。页面可以在服务器或虚拟服务器上被生成并且经由网络发送。控制中心110允许(一个或多个)用户112将测试情景(例如,测试用例)和控制命令提供到包括在测试平台模块120中的各种模块(其在下面详细描述)并且提供到数据和工件储存库130。控制中心110还允许(一个或多个)用户112分析并观察测试结果。
数据和工件储存库130可以是被实现于企业数据库服务器或虚拟服务器上的关系数据库,诸如Oracle或DB2。数据和工件储存库130可以存储:测试数据,诸如***要求131,其包括针对正被测试的应用或***的要求;缺陷和过去的解决方案数据132,其包括报告的缺陷和(一个或多个)相应的解决方案;配置和控制数据133,其包括针对测试的应用或***的配置;生产数据134,其包括来自针对测试的***或应用的生产或其他部署环境的数据;测试用例135,其包括针对测试的应用或***的功能特征的测试用例;测试结果136,其包括回归套件和各种测试脚本的结果;应用日志137,其包括来自针对测试的应用或***的各种部署环境的日志;跟踪数据138,其包括关于测试的应用或***的执行的信息;以及代码质量分析数据139,其包括针对测试的应用或***的质量分析的结果。这些各种类型的测试数据131-139被提供为示例。其他类型的测试数据可以被存储在数据和工件储存库130中并且由控制中心110和/或测试平台模块120使用。
测试平台模块120包括测试情景和过程图提取器引擎121、自动化加速器引擎122、测试套件分析器引擎123、日志分析器和模式挖掘器引擎124、测试优先级图形表示生成器引擎125、动态测试用例选择器和定序器引擎126以及缺陷分析器引擎127。测试平台模块120实现由数据驱动的智能引导的测试生命周期的无缝自动化工作流。该数据驱动的智能由加速在各个测试阶段做出的活动和决策的自动化的AI和机器学***台模块120集成这些模块以及第三方工具和开源工具。
测试情景和过程图提取器引擎121扫描要求文档并创建高级测试情景和过程图。自动化加速器引擎122分析手动测试用例,提取意图,并将意图转换为可执行的自动化脚本。测试套件分析器引擎123分析测试套件并基于上下文距离将上下文相似的测试用例分组到聚类中。日志分析器和模式挖掘器引擎124摄取来自诸如生产或测试环境的部署环境的日志文件,并提取各种洞察,诸如使用和/或故障模式、典型的***行为、和/或异常(其转而可以被用作可能故障的早期警告)。测试优先级图形表示生成器引擎125生成图形表示,诸如热图,其描绘各种功能的测试优先级。图形表示可以基于使用模式、故障模式、模块扰动、代码质量分析、或其组合来生成。动态测试用例选择器和定序器引擎126基于可配置的标准来选择要执行的测试用例的下一集合。缺陷分析器引擎127分析缺陷数据并提供数据驱动的洞察。下面参考图2A-9更详细地描述这些引擎中的每个。
图2A描绘了测试情景和过程图提取器引擎121的示例200,其包括术语提取器模块210、业务过程分类器模块220、操作分类器模块222、数据集分类器模块224、业务过程图构建器模块230、测试情景图构建器模块232、以及非功能属性构建器模块234。如以上关于图1所描述的,测试情景和过程图提取器引擎121扫描要求文档并创建可以由用户122(诸如测试设计者)采用以创建测试套件的高级测试情景和过程图。
术语提取器模块210通过使用诸如术语提取的技术从要求文档中提取各种术语。例如,术语提取器模块210可以拾取与业务过程、操作和/或数据和控制有关的关键术语。该信息被馈送到例如以下三个分类器模块之一中:业务过程分类器模块220、操作分类器模块222、以及数据集分类器模块224。这三个分类器中的每个可以通过使用诸如话题分割的技术将接收的术语分类成例如业务过程、操作和动作或数据集。业务过程分类器模块220对与例如在要求文档中描述的业务过程有关的术语进行分类。操作分类器模块222对与例如可适用于由业务过程分类器模块220分类的业务过程的业务操作有关的术语进行分类。数据集分类器模块224对执行由操作分类器模块222分类的操作的数据和控制信息要求进行分类。这三个分类器模块中的每个还可以根据测试要求使用实体术语语料库151,其被存储在数据和工件储存库130中。实体术语语料库151包括业务过程术语、操作术语、技术术语以及数据集术语,其是领域特定的和/或与相应要求文档的范围相关。一旦分类,数据就被馈送到这三个构建器模块中。这三个分类器模块被示出和描述;然而,其他分类器模块可以被采用于测试情景和过程图提取器引擎121中。
过程图构建器模块230使用诸如关系提取和/或语义图的技术来构建过程图(例如,图)。过程图可以描绘例如业务过程的层级。测试情景图构建器模块232使用诸如知识表示的技术来构建测试情景。测试情景可以使用知识图来描绘,知识图可以描绘例如测试情景、可适用于相应过程的操作以及针对这样的操作要求的数据集。非功能属性构建器模块234标识需要非功能属性(例如,质量属性)的要求并使用诸如关系提取的技术来提取那些属性。该信息通过控制中心110被传递给用户122。
图2B描绘了测试情景和过程图提取器引擎121的另一示例250,其包括术语提取器模块260、测试情景元素分类器模块270、语义图构建器模块280、过程图构建器模块282、以及测试情景图构建器和质量属性提取器模块290。如以上关于图1和2A所描述的,测试情景和过程图提取器引擎121扫描要求文档并创建可以由用户122(诸如测试设计者)采用以创建测试套件的高级测试情景和业务过程图。
在描绘的示例200中,术语提取器模块210从要求文档提取术语262。操作分类器模块270解析这些提取的术语262并将它们分类为过程术语272、操作术语274以及数据集术语276/根据过程术语272、操作术语274以及数据集术语276对它们进行分类。语义图构建器模块280使用分类的术语来构建语义图。过程图构建器模块282使用语义图来构建过程图284。测试情景图构建器290使用所生成的语义图和过程图来生成测试情景图292。
术语提取器模块260基本上类似于来自图2A的术语提取器模块210。另外,术语提取器模块260解析存储于数据和工件储存库130中或以其他方式从用户112接收的要求文档。术语提取器模块260提取关键术语,提取的术语262与过程(例如,由开发的应用执行的业务或***过程)、操作、动作以及数据的流和控制有关。在一些实施方式中,术语提取器模块260基于被存储于数据和工件储存库130中的实体术语语料库151来标识单字、双字、或多字术语。如以上所陈述的,实体术语语料库151包括业务过程术语、操作术语、技术术语、以及数据集术语,其是领域特定的和/或与相应要求文档的范围相关。由术语提取器模块260从要求文档中标识或学习的提取的术语262可以包括新术语。这些新术语可以被添加到实体术语语料库151,如图2B所示。
测试情景元素分类器模块270通过采用诸如话题分割等的技术来将提取的术语262分类成过程术语272、操作术语274以及数据集术语276。过程术语272包括与例如在要求文档中标识的业务过程有关的术语。操作术语274包括例如可适用于标识的业务过程的业务操作。数据集术语276包括关于执行标识的操作的要求的信息,诸如特定形式要求什么数据或者为了解析脚本执行需要什么类型的数据。测试情景元素分类器模块270可以采用现有的已知术语的语料库来帮助标识术语并相应地对它们进行分类。
语义图构建器模块280处理分类的术语以构建标准化的语法准确的且无歧义的语句。例如,要求文档可以包括陈述“外币核算模块应当能够产生可以支持以下3种类型的事务的一般外汇凭证:借方付款凭证、外汇收款凭证、货币兑换凭证”的语言。针对该信息构建的要求的该行的语义图可以包括针对“外币核算”的节点,其被链接到“一般外汇凭证”节点,其被链接到针对“借方付款凭证”、“外汇收款凭证”、“货币兑换凭证”的节点。
过程图构建器模块282采用由语义图构建器模块280生成的语义图来生成过程流图284。过程流图包括关于各种过程如何与彼此相关的信息。诸如,过程如何层级相关。示例过程流包括相应应用与之集成或管理的业务过程。其他示例过程流包括数据流过程、功能、工作流、块链等等。每个生成的过程流图284还可以包括关于与相应过程相关的操作以及数据的流和控制的细节。所生成的过程流图可以被存储在过程图储存库286中。在一些实施方式中,用户112审查所生成的过程图以更新信息和/或将它们合并到在过程图储存库286中包含的其他数据中。
测试情景图构建器290使用所生成的语义图和过程图来生成针对相应要求文档的测试情景图292。语义图和过程图包括基于要求文档可以针对应用测试的过程和功能、针对每个功能的有效和无效操作、预期的输出以及各个过程之间的诸如层级关系的关系。
所生成的测试情景图可以包括嵌套的测试情景。这些情景(或情景的分组)可以跨多个要求和应用重新使用。例如,“登录到应用中”是可以在“搜索产品”情景中使用的情景,并且“搜索产品”情景可以是“比较产品”情景的部分。测试情景图构建器290对来自(一个或多个)语义图的要求语句进行模块化并通过使用例如NLP将它们转化为完整语句。例如,要求语句可以被解析以提取意图、对象、动作和/或预期的结果。测试数据元素还在可用的情况下被标识。这些的组合然后由测试情景图构建器290用于构建完整语句。测试情景图构建器290然后分类功能测试情景和非功能测试情景。功能情景可以由自动化加速器引擎122用于生成自动化测试脚本。非功能情景可以由(一个或多个)测试队伍采用以生成针对它们相应领域(诸如性能、安全和架构测试)的测试用例。在一些实施方式中,测试情景图构建器290包括非功能属性构建器,其扫描要求文档并提取可能具有性能和可扩展性要求的要求。这些非功能属性,诸如响应时间、并发用户限制、等待时间、页面、部件加载时间、等等,以及指定的值被标识。这些属性被用于构建例如性能和加载测试模型。存储于数据和工件储存库130中的所生成的测试情景由自动化加速器引擎122使用,如下面所描述的。
图3描绘了自动化加速器引擎122的示例300,其包括NLP引擎310、应用对象扫描器模块320、对象相关器模块330以及脚本生成器模块340。NLP引擎310包括解析器模块312和意图提取器模块314。如以上关于图1所描述的,自动化加速器引擎122分析手动测试用例,提取意图,并将意图转换为可执行的自动化脚本。
例如,自动化加速器引擎22根据提供的测试情景和上下文文件来生成(一个或多个)自动化测试脚本。自动化加速器引擎122通过采用例如自然语言处理(NLP)技术从每个测试情景提取意图的交互(意图)和相关测试数据。意图与提供的上下文文件中的(一个或多个)合适的测试对象相关。例如,如果测试情景记载了“点击提交按钮”,则自动化加速器引擎122解析自然语言并导出上下文作为“提交按钮”,其然后映射到来自提交的上下文文件的对象图的提交按钮对象。针对选择的自动化工具的模板被应用到提取的意图和数据以及(一个或多个)相关的对象以生成得到的自动化测试脚本。
在高级别处,NLP引擎310采用NLP来解析并提取来自手动测试用例的意图。对象相关器模块330根据提取的意图来创建逻辑对象,其映射到上下文文件中的对象。应用对象扫描器模块320扫描测试的应用或***并标识例如UI页面内的对象。脚本生成器模块340基于来自对象相关器模块330的输入来生成测试脚本。
例如,测试用例(例如,测试情景)可以以没有任何良好定义的格式的自由流程语言形式和以自然语言或各方同意的语言(诸如英语)描述。因此,难以使计算机程序将该信息转化为自动化测试脚本。此外,开发项目越来越多地使用以使用格式化语言(诸如Gherkin)的行为驱动的开发(BDD)风格编写的测试情景。格式化语言允许指令以传统编写语言(诸如英语或60种其他语言中的一种)以某种额外结构编写为纯文本的指令。这些格式化语言被设计为容易被非程序员学习,而且足够结构化以允许简要描述示例以说明大多数现实世界领域中的业务规则。以这种方式,格式化语言可以用于捕获要求并定义测试情景。
通过示例,测试情景或情景的列表可以被包括在被称为特征文件的内容中,其中格式化语言(诸如Gherkin)用于以人类可读方式编写情景。这样的特征文件可以被使用在生成针对自动化工具的自动化测试脚本中。示例自动化工具包括统一功能测试(UFT)、Tricentis ToscaTM、Worksoft CertifyTM以及SeleniumTM。测试自动化工具提供可以用于为测试情景中的每个提供支持软件结构(诸如步骤定义)的框架。步骤定义用作自动化代码块可以被实现于其中的骨架占位。例如,给定情景中的每个步骤可以映射到步骤定义。自动化代码块针对每个步骤定义被实现并且当情景由测试框架运行时被执行。自动化代码块可以以基于***要求选择的各种编程语言编写,诸如Ruby、C++、Java、Scala、Python等等。一旦生成,步骤定义和相应代码块可以被称为自动化测试脚本。测试自动化工具提供针对这些生成的脚本的运行环境,其可以针对验收和/或回归测试运行。
自动化测试脚本可以由开发者手动地实现或被自动地生成。关于从测试情景对自动化测试脚本的自动化代码生成的难点之一在于测试情景可以以许多不同的方式来编写,因为格式化语言(例如,Gherkin)的灵活性质。例如,每个测试者可以以他或她自己的方式描述测试的功能性或功能。例如,“点击提交按钮”、“推动提交按钮”、或者“击打提交按钮”,其全部意指相同事情。另一问题在于自动化测试脚本中的代码块可以是重复的,因此自动化代码可以变得臃肿。另外,可以在文件的大部分中使用的自由形式英语(或任何其他语言)缺乏结构。例如,“登录到应用”和“输入用户名,输入密码,并且点击登入按钮”两者表示相同功能;一个是单个句子,而另一个是三个句子。然而,相同的自动化代码块(脚本)应当在这些示例中的每个中被生成。
自动化加速器引擎122基于自然语言处理技术来解析提供的测试情景以确定针对正在测试的代码库的情景的意图以及与情景有关的任何数据。作为示例,情景的意图可以是利用用户名和密码登录到给定应用或程序,诸如web应用,或者利用特定信息集合完成web应用中的特定表单。在继续的示例中,用户名和密码以及信息集合是与情景有关的数据。***将意图与web应用的选择的页面或屏幕上的(一个或多个)对象相关。一旦意图和对象被相关,***就选择对应于指定的自动化工具的(一个或多个)模板以生成针对提供的情景的自动化测试脚本。一旦测试情景已经被转化为自动化测试脚本,测试情景就可以被频繁地测试并且在各种测试过程中通过使用相应自动化测试脚本来使用。另外,自动化测试脚本可以比手动版本更精确并且还可以被使用于对关于相应应用和/或测试的结果的报告的生成中。
在描绘的示例中,NLP引擎310从数据和工件储存库130接收(一个或多个)测试情景,并且可选地从控制中心110接收上下文文件。接收到的测试情景可以由测试情景和过程图提取器引擎121生成,如以上所描述的。测试情景还可以包括现有测试用例、特征文件、APi定义文件,诸如Web服务描述语言(WSDL)、Web应用描述语言(WADL)、Swagger等等。NLP引擎310接收输入并解析测试情景。NLP可以被描述为在人类语音被说出或写出时计算机程序或软件理解人类语音的能力。NLP引擎310可以采用NLP应用程序接口(API),诸如ApacheOpenNLPTM。
作为示例,解析器模块312从接收的测试情景读取一行或行的集合,其可以被包括在特征文件中。解析器模块312确定特征文件中的(一个或多个)句子的各种对象。对象用于提供针对测试情景中的指令的上下文。基于该信息,意图提取器模块314确定针对标识的对象中的每个的情景的意图。例如,情景可以阅读“登录,输入用户名,输入密码,点击提交,输入导航”。意图提取器模块314提取针对该情景的各种意图(例如,“点击”、“登录”、和“输入”)。一旦已经标识了意图,其就可以由对象相关器模块330基于从应用对象扫描器模块320接收的并且由用户112通过控制中心110选择的上下文文件与上下文文件中的(一个或多个)对象相关。
定制动作还可以被训练到意图解析器模块312中用于复杂描述。意图提取器模块314还针对每个确定的意图标识任何相关联的数据,例如,用户名和密码。诸如文本解析、分词器以及名称查找器的技术可以用于标识在测试情景内对定制数据的提及,因为数据特定的词语可以在句子的任何部分中被提及。
对象相关器模块330获取所标识的意图和任何相关联的数据并将信息与上下文文件内的对象相关。对象相关器模块330首先基于NLP处理来生成针对意图的名称。名称基于测试情景中提供的上下文,并且被称为逻辑名。对象相关器模块330搜索上下文文件中的对象图以确定最佳匹配对象。例如,关于售卖各种产品的web应用的测试情景可以具有电影商店部分。测试情景(例如,登录到电影商店)可以是指作为“DVD电影商店”的站点的部分。意图提取器模块314可以确定针对情景的意图作为“输入DVD电影商店”,其中“DVD电影商店”是被分配给对象的逻辑名。对象相关器模块330获取分配的逻辑名并从针对对象的上下文文件中搜索对象图,其具有与逻辑名匹配或是针对对象的名称的最接近匹配的标识符。该匹配基于所确定的意图、对象的NLP以及上下文文件中的任何对应数据(例如,标识符和/或相关联的参数)来确定。对象相关器模块330将意图(例如,登录、输入、点击)与来自上下文文件的匹配的对象相关。对于电影商店示例,对象相关器模块330可以返回对应于将用户带到站点的DVD电影商店部分的按钮或链接的对象,其之后与情景的意图或动作(例如,点击电影商店链接)相关。
脚本生成器模块340基于所确定的意图以及来自提供的情景的相关联的数据和来自提供的上下文文件的(一个或多个)相关的对象来生成自动化测试脚本。例如,所确定的意图可以在元素级别(点击、输入)或者业务过程级别(登录,填写表单)。登录可以要求一系列步骤,诸如1)输入用户名,2)输入密码,以及3)点击登入。另一示例可以是创建购买订单,其可能需要利用多个步骤填写表单。
为了生成文件,脚本生成器模块340可以采用通过被应用到使用这些元素和业务级别步骤的算法的一系列机器学习技术训练的AI模型。机器学习使模型构建自动化并允许发现洞察而不被显式编程。使用自动化且迭代的算法,模型可以被训练以找到数据内的高阶交互和模式。AI模型可以针对特定应用或程序被训练以应用完成应用内的各种任务或过程需要的(一个或多个)动作。例如,AI模型可以被训练以理解购买订单意指什么,登录意指什么,以及如何在特定应用或程序内执行每个。在一些实施方式中,提供的上下文文件用于确定合适的AI模型以用来构建得到的自动化测试脚本。
脚本生成器模块340从数据和工件储存库130选择(一个或多个)脚本模板。在一些实施方式中,脚本模板是用于自动化的标准化表单,其可以被采用在关键字驱动的、数据驱动的和/或混合自动化框架中。在一些实施方式中,脚本模板是由诸如Tricentis ToscaTM的自动化工具定义的标准或专属模板。脚本模板基于自动化工具来选择,针对其生成自动化测试脚本(例如,UFT、Tricentis ToscaTM、Worksoft CertifyTM或SeleniumTM)。基于AI模型,脚本生成器模块340确定(一个或多个)动作以执行针对正在测试的UI的相应页面中的相关的对象的所确定的意图。脚本生成器模块340通过将所选择的模板应用到针对意图和相关的对象的所确定的动作、从提供的测试情景读取的数据以及来自测试情景的步骤定义(例如,特征文件)来生成自动化脚本。数据还可以从配置或属性文件中读取。该数据可以被用作默认数据,除非在测试情景中提供了具体信息。在一些实例中,动作可以不要求任何额外数据,诸如,例如,当简单地跟随链接或者点击UI内的特定页面的按钮。
图4描绘了测试套件分析器引擎123的示例400,其包括上下文距离计算器模块410、聚集相似性聚类构建器模块420和生命力分析器模块430。如以上关于图1所描述的,测试套件分析器引擎123分析测试套件并基于上下文距离将上下文相似的测试用例分组到聚类中。这些聚类使得用户112(诸如测试分析师)能够标识重复的测试用例并且还帮助优化测试套件及其执行。
上下文距离计算器模块410计算测试用例与其他测试用例之间的上下文距离。上下文距离计算器模块410包括:文本和语义距离计算器模块412,其基于例如文本内容和语义来确定测试用例的相似性;缺陷距离计算器模块414,其基于例如每个相应测试用例检测的缺陷来确定测试用例的相似性;以及代码命中距离模块416,其基于例如正由测试用例执行的代码的部分来确定测试用例的相似性。聚集相似性聚类构建器模块420接收关于测试用例的计算的上下文距离信息并构建相似性聚类。生命力分析器模块430之后获取聚类的数据以分析每个测试用例及其鲁棒性以基于例如过去的历史来检测缺陷。例如,每个测试用例可以基于其相对于分配的聚类中的其他测试用例检测缺陷的鲁棒性而被分配以分数值。该信息通过控制中心110被传递给用户122。
图5描绘了日志分析器和模式挖掘器引擎124的示例500,其包括日志限定器模块510、算法选择器模块520、模式分析器模块530、元数据创建器模块540、数据提取器模块550以及报告生成器560。如以上关于图1所描述的,日志分析器和模式挖掘器引擎124摄取并分析来自诸如生产或测试环境的部署环境的日志,并提取各种洞察,诸如使用和/或故障模式、典型的***行为、异常(其转而可以被用作可能故障的早期警告)。
日志限定器模块510对来自各种来源的收集的日志(诸如应用日志、服务器日志和UI日志)进行限定。算法选择器模块520从日志限定器模块510接收限定的日志并基于初始限定来选择模式挖掘算法。模式分析器模块530接收所选择的模式和限定的日志以分析存在于日志中的模式。元数据创建器模块540从模式分析器模块530接收关于模式的信息并创建针对模式分组中的每个模式分组的元数据。数据提取器模块560从先前模块接收信息并从所标识的模式提取各种感兴趣数据。报告生成器模块560从其他模块接收所确定的信息并生成关于例如使用模式、故障模式、业务流图和异常的报告。该信息被传递到测试优先级图形表示生成器引擎125。
图6描绘了测试优先级图形表示生成器引擎125的示例600,其包括模块扰动分析器模块610、测试结果分析器模块620、代码质量分析器模块630、故障预测模块640、以及图形表示生成器模块650。如以上关于图1所描述的,测试优先级图形表示生成器引擎125基于使用模式、故障模式、模块扰动以及代码质量分析来生成图形表示,诸如热图,其描绘各种功能的测试优先级。
模块扰动分析器模块610连续地分析配置和控制以及模块扰动数据133。测试结果分析器模块620连续地分析执行运行135的结果并提取故障模式。代码质量分析器模块630基于预设规则来分析静态代码质量。静态代码可以从代码储存库152接收,其可以被存储于数据和工件储存库130中。故障预测模块640从模块610-630接收提取的和分析的信息并采用机器学习算法来预测测试的应用或***中的哪些功能有可能故障。图形表示生成器模块650基于来自模块640的预测和从模块610-640接收的信息来生成描绘功能和相关联的测试用例的相对测试优先级的图形表示。所生成的图形表示被传递到动态测试用例选择器和定序器引擎126。
图7描绘了动态测试用例选择器和定序器引擎126的示例700,其包括测试用例选择器模块710、测试用例聚类构建器模块720、测试结果分析器730以及测试用例定序器模块740。如以上关于图1所描述的,动态测试用例选择器和定序器引擎126基于可配置的标准(诸如执行的每个测试用例产生的缺陷的最大化)来选择要执行的测试用例的下一集合。
测试用例选择器模块710从自测试优先级图形表示生成器引擎125接收的测试优先级图形表示中选择要执行的测试用例。测试用例聚类构建器模块720基于上下文相似性来对所选择的测试用例进行聚类。测试结果分析器730连续地分析执行运行的结果并提取故障模式136。测试用例定序器模块740接收所选择的和聚类的测试用例以及执行结果并且使用例如寻赏机器学习算法以基于可配置的标准(诸如使每个测试用例产生的缺陷最大化)来设置聚类的测试用例的执行顺序。测试用例的该序列被传递到测试执行引擎140。
测试执行引擎140包括运行在非接触式测试平台***100内采用的自动化工具/平台的自动化脚本服务器,诸如统一功能测试(UFT)、Tricentis ToscaTM、WorksoftCertifyTM或SeleniumTM。这样的自动化工具被用于向利益相关者提供关于被测试的应用或***的质量的信息。测试执行引擎140可以被部署在服务器或虚拟服务器上。
图8描绘了动态缺陷分析器引擎127的示例800,其包括相似性聚类构建器模块810和缺陷分析器模块820。如以上关于图1所描述的,动态缺陷分析器引擎127分析通过执行定序测试用例和针对测试的应用或***运行的其他测试用例发现的缺陷。动态缺陷分析器引擎127基于可配置的标准(诸如阈值事件)来确定推荐解决方案并且执行确定的解决方案。
相似性聚类构建器模块810基于相似性分析来对缺陷132进行聚类。缺陷分析器模块820基于利用例如过去的解决方案数据通过机器学习训练的AI模块来对聚类的缺陷进行分类。该确定的推荐和执行的解决方案的结果借助于控制中心120被传递给用户112。在一些实施方式中,动态缺陷分析器引擎127可以通过缺陷分析器模块820确定基于执行被分配给经定序的测试用例的集合中的一个测试用例的测试脚本的结果而报告的缺陷的解决方案并且在针对要测试的应用或***的代码库中实施解决方案。
控制中心120可以通过提供对报告特征的分析和访问的报告引擎将该信息提供给用户112。执行引擎160可以保持来自在报告数据库(未示出)中执行所生成的自动化测试脚本的结果。报告引擎可以生成来自存储于报告数据库中的信息的报告,其可以由用户112审查。这些报告提供关于在执行自动化测试脚本期间***的性能的细节并且可以包括处理时间、响应时间以及由非接触式测试平台模块120的各种引擎131-137显示的任何警告消息以及生成的信息。还可以生成统计报告,其概述***的健康以及选择的任何重要数据点。
图9A描绘了在非接触式测试平台***(诸如非接触式测试平台***100)内采用以生成用于由执行引擎(诸如执行引擎140)执行的经定序的测试用例的集合的示例过程900的流程图。日志分析器和模式挖掘器引擎接收(902)包括从代码库生成的日志记录的日志文件。由日志分析器和模式挖掘器引擎通过模式挖掘算法来处理(904)日志文件以确定使用模式。诸如热图的图形表示由测试优先级图形表示生成器引擎基于对使用模式的分析来生成(906)。由动态测试用例选择器和定序器引擎通过经由机器学习算法处理图形表示来选择(908)测试用例的集合并分配所选择的测试用例中的每个测试用例。由动态测试用例选择器和定序器引擎模块基于所分配的优先级来对测试用例的集合进行定序(910)。将经定序的测试用例的集合发送(912)到测试执行引擎以用于执行并且过程结束。
图9B描绘了在非接触式测试平台***(诸如非接触式测试平台***100)内采用以通过UI向测试者(诸如用户112)提供测试情景图的示例过程920的流程图。测试情景和过程图提取器通过UI接收(922)针对相应应用或***的要求文档。由术语模块分析(924)要求文档以基于实体术语语料库来提供术语,这些术语由测试情景元素分类器基于已知术语的语料库来分类。根据从分类的提取的术语构建的标准化语句来生成(926)语义图。通过从语义图标识应用或***的过程和每个过程之间的相应关系来生成(928)针对应用或***的过程流程图。根据过程流程图和语义图生成(930)针对应用的测试情景的测试情景图。通过UI向测试者提供(932)测试情景图并且过程结束。
图10示出了可以用于实现本文描述的技术的计算设备1200和移动计算设备1250的示例。计算设备1000旨在表示各种形式的数字计算机,例如膝上型计算机、台式计算机、工作站、个人数字助理、服务器、刀片服务器、主机和其他合适的计算机。移动计算设备1050旨在表示各种形式的移动设备,诸如个人数字助理、蜂窝电话、智能电话、以及其他类似的计算设备。另外,计算设备1000或1050可以包括通用串行总线(USB)闪速驱动器。USB闪速驱动器可以存储操作***和其他应用。USB闪速驱动器可以包括输入/输出部件,诸如无线发送器或可以被***另一计算设备的USB端口中的USB连接器。本文示出的部件、其连接和关系以及其功能旨在仅仅为示例,并且不旨在为限制性的。
计算设备1000包括处理器1002、存储器1004、存储设备1006、连接到存储器1004和多个高速扩展端口1010的高速接口1008以及连接到低速扩展端口1014和存储设备1006的低速接口1012。处理器1002、存储器1004、存储设备1006、高速接口1008、高速扩展端口1010中的每个使用各种总线相互连接,并且可以被安装在常见主板上或在适当的情况下以其他方式来安装。处理器1002能够处理用于在计算设备1000内执行的指令,包括存储在存储器1004中或存储设备1006上的用于为诸如耦合到高速接口1008的显示器1016的外部输入/输出设备上的GUI显示图形信息的指令。在其他实施方式中,可以在适当的情况下使用多个处理器和/或多个总线,以及多个存储器和多种类型的存储器。此外,多个计算设备可以与提供必要的操作的部分的每个设备连接(例如,作为服务器阵列、刀片服务器组或多处理器***)。
存储器1004存储计算设备1000内的信息。在一些实施方式中,存储器1004是一个或多个易失性存储器单元。在一些实施方式中,存储器1004是一个或多个非易失性存储器单元。存储器1004还可以是另一形式的计算机可读介质,例如磁盘或光盘。
存储设备1006能够提供针对计算设备1000的大容量存储。在一些实施方式中,存储设备1006可以是或包含计算机可读介质,例如软盘设备、硬盘设备、光盘设备或磁带设备、闪速存储器或其他类似的固态存储器设备或包括在存储区域网络或其他配置中的设备的设备阵列。指令可以被存储在信息载波中。当由一个或多个处理设备(例如,处理器1002)执行时,指令执行一种或多种方法,诸如以上描述的那些。指令还可以由诸如计算机或机器可读介质(例如,存储器1004、存储设备1006或处理器1002上的存储器)的一个或多个存储设备存储。
高速接口1008管理针对计算设备1000的带宽密集操作,而低速接口1012管理较低的带宽密集操作。对功能的这样的分配仅仅是示例。在一些实施方式中,高速接口1008耦合到存储器1004、(例如,通过图形处理器或加速器)显示器1016并且耦合到高速扩展端口1010,其可以接受各种扩展卡。在该实施方式中,低速接口1012被耦合到存储设备1006和低速扩展端口1014。可以包括各种通信端口(例如,USB、蓝牙、以太网、无线以太网)的低速扩展端口1014可以被耦合到一个或多个输入/输出设备。这样的输入/输出设备可以包括扫描器1030、打印设备1034、或键盘或鼠标1036。输入/输出设备还可以通过网络适配器耦合到低速扩展端口1014。这样的网络输入/输出设备可以包括例如交换机或路由器1032。
计算设备1000可以以如图10中示出的许多不同的形式来实施。例如,其可以被实施为标准服务器1020,或在这样的服务器组中被实施多次。另外,其可以被实施在诸如膝上型计算机1022的个人计算机中。其还可以被实施为机架服务器***1024的部分。备选地,来自计算设备1000的部件可以与诸如移动计算设备1050的移动设备中的其他部件组合。这样的设备中的每个可以包含计算设备1000、移动计算设备1050中的一个或多个,并且整个***可以由彼此通信的多个计算设备组成。
移动计算设备1050包括处理器1052、存储器1064、诸如显示器1054的输入/输出设备、通信接口1066以及收发器1068以及其他部件。移动计算设备650还可以被提供有诸如微型驱动器或其他设备的存储设备以提供额外的存储。处理器1052、存储器1064、显示器1054、通信接口1066和收发器1068中的每个使用各种总线相互连接,并且部件中的几个可以被安装在常见主板上或在适当的情况下以其他方式来安装。
处理器1052能够在移动计算设备1050内执行指令,包括存储在存储器1064中的指令。处理器1052可以被实施为包括单独的模拟和数字处理器和多个模拟和数字处理器的芯片的芯片组。例如,处理器1052可以是复杂指令集计算机(CISC)处理器、精简指令集计算机(RISC)处理器或最小指令集计算机(MISC)处理器。处理器1052可以提供例如对移动计算设备1050的其他部件的协调,例如对UI、由移动计算设备1050运行的应用和由移动计算设备1050进行的无线通信的控制。
处理器1052可以通过耦合到显示器1054的控制接口1058和显示接口1056与用户通信。显示器1054可以例如是薄膜晶体管液晶显示器(TFT)显示器或有机发光二极管(OLED)显示器或其他适当的显示技术。显示接口1056可以包括用于驱动显示器1054以向用户呈现图形信息和其他信息的适当的电路。控制接口1058可以接收来自用户的命令并且将它们转换以用于提交给处理器1052。另外,外部接口1062可以提供与处理器1052的通信,从而使得移动计算设备1050能够与其他设备进行近区域通信。外部接口1062可以在一些实施方式中提供例如有线通信或在其他实施方式中提供无线通信,并且还可以使用多个接口。
存储器1064存储移动计算设备1050内的信息。存储器1064能够被实施为一个或多个计算机可读介质、一个或多个易失性存储器单元或一个或多个非易失性存储器单元中的一个或多个。扩展存储器1074还可以被提供并且通过扩展接口1072连接到移动计算设备1050,扩展接口可以包括例如单列直插存储器模块(SIMM)卡接口。扩展存储器1074可以为移动计算设备1050提供额外的存储空间,或者还可以存储针对移动计算设备1050的应用或其他信息。具体地,扩展存储器1074可以包括用于执行或补充以上描述的过程的指令,并且还可以包括安全信息。因此,例如,扩展存储器1074可以被提供为移动计算设备1050的安全性模块,并且可以被编程有允许对移动计算设备1050的安全使用的指令。另外,安全应用可以经由SIMM卡与额外的信息一起被提供,例如以不可非法入侵的方式将标识信息放置在SIMM卡上。
存储器可以包括例如闪存和/或非易失性随机访问存储器(NVRAM),如下面所讨论的。在一些实施方式中,指令被存储在信息载体中。当由一个或多个处理设备(例如,处理器1052)执行时,指令执行一种或多种方法,诸如以上描述的那些。指令还可以由诸如一个或多个计算机或机器可读介质(例如,存储器1064、扩展存储器1074或处理器1052上的存储器)的一个或多个存储设备存储。在一些实施方式中,指令可以例如通过收发器1068或外部接口1062在传播信号中接收。
移动计算设备1050可以通过通信接口1066无线通信,通信接口1066可以在必要的情况下包括数字信号处理电路。通信接口1066可以提供在各种模式或协议下的通信,诸如全球移动通信***(GSM)语音呼叫、短消息服务(SMS)、增强消息传送服务(EMS)、或多媒体消息传送服务(MMS)消息传送、码分多址(CDMA)、时分多址(TDMA)、个人数字蜂窝(PDC)、宽带码分多址(WCDMA)、CDMA2000或通用分组无线电服务(GPRS)等等。这样的通信可以例如使用射频通过收发器1068进行。另外,短程通信可以诸如使用蓝牙、WiFi或其他这样的收发器进行。另外,全球定位***(GPS)收发器模块1070可以向移动计算设备1050提供额外的导航和位置相关的无线数据,其可以在适当的情况下由运行在移动计算设备1050上的应用使用。
移动计算设备1050还可以使用音频编解码器1060可听地通信,音频编解码器可以接收来自用户的口语信息并且将其转换为有用的数字信息。音频编解码器1060可以类似地诸如通过例如移动计算设备1050的头戴式设备中的扬声器生成针对用户的可听声音。这样的声音可以包括来自语音电话呼叫的声音,可以包括记录的声音(例如,语音消息、音乐文件等)并且还可以包括由操作在移动计算设备1050上的应用生成的声音。
移动计算设备1050可以以如附图中示出的许多不同的形式来实施。例如,其可以被实施为蜂窝电话1080。其还可以被实施为智能电话、个人数字助理或其他类似的移动设备的部分。
本文描述的***和技术的各种实施方式能够被实现在数字电子电路、集成电路、专门设计的专用集成电路(ASIC)、计算机硬件、固件、软件和/或其组合中。这些各种实施方式能够包括以一个或多个计算机程序的实施方式,一个或多个计算机程序可执行和/或可解释在包括可以用于专用目的或通用目的的至少一个可编程处理器的可编程***上,至少一个可编程处理器被耦合以从存储***、至少一个输入设备和至少一个输出设备接收数据和指令并且将数据和指令发送到存储***、至少一个输入设备和至少一个输出设备。
这些计算机程序(也被称为程序、软件、软件应用或代码)包括针对可编程处理器的机器指令,并且能够以高级程序化和/或面向对象编程语言和/或以汇编/机器语言来实施。如本文中使用的,术语机器可读介质和计算机可读介质是指用于向可编程处理器提供机器指令和/或数据的任何计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器、可编程逻辑器件(PLD)),包括接收机器指令作为机器可读信号的机器可读介质。术语机器可读信号是指用于向可编程处理器提供机器指令和/或数据的任何信号。
为了提供与用户的交互,本文描述的***和技术能够被实施在计算机上,计算机具有用于将信息显示给用户的显示设备(例如,阴极射线管(CRT)或液晶显示(LCD)监视器)以及通过其用户能够提供输入到计算机的键盘和指点设备(例如,鼠标或轨迹球)。其他种类的设备也能够用于提供与用户的交互;例如被提供给用户的反馈能够是任何形式的感觉反馈(例如,视觉反馈、听觉反馈或触觉反馈);以及来自用户的输入能够以包括听觉输入、语音输入或触觉输入的任何形式来接收。
本文描述的***和技术能够被实施在计算***中,计算***包括后端部件(例如,为数据服务器),或包括中间件部件(例如,应用服务器),或包括前端部件(例如,具有通过其用户能够与本文中描述的***和技术的实施方式交互的图形UI或Web浏览器的客户端计算机),或者包括这样的后端部件、中间件部件或前端部件的任何组合。***的部件能够通过数字数据通信的任何形式或介质(例如,通信网络)相互连接。通信网络的示例包括局域网(LAN)、广域网(WAN)以及互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般在彼此的远程并且通常通过通信网络交互。客户端和服务器的关系借助于运行在相应计算机上并且具有相对于彼此的客户端服务器关系的计算机程序而出现。
尽管以上已经详细描述了几个实施方式,但是其他修改是可能的。例如,尽管客户端应用被描述为访问(一个或多个)代理,但是在其他实施方式中,(一个或多个)代理可以由通过一个或多个处理器实现的其他应用(诸如在一个或多个服务器上执行的应用)采用。另外,各图中描绘的逻辑流程不要求示出的特定次序或者顺序次序以实现期望的结果。另外,可以提供其他动作,或者可以从所描述的流程中消除动作,并且可以将其他部件添加到所描述的***或者从所描述的***去除其他部件。因此,其他实施方式处在权利要求书的范围内。
Claims (20)
1.一种由一个或多个处理器执行的计算机实现的方法,所述方法包括:
接收包括从代码库生成的日志记录的日志文件;
通过模式挖掘算法来处理所述日志文件以确定至少一个洞察;
基于所述至少一个洞察的分析来生成图形表示;
通过机器学习算法来处理所述图形表示以从针对所述代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的所述测试用例中的每个测试用例;
基于所述优先级值来对所述测试用例的集合进行定序;以及
将经定序的所述测试用例的集合发送到测试执行引擎。
2.根据权利要求1所述的方法,其中所述图形表示是热图。
3.根据权利要求1所述的方法,其中所述至少一个洞察包括使用模式、故障模式、业务流图或异常。
4.根据权利要求3所述的方法,还包括:
基于所述至少一个洞察来生成报告;以及
将所述报告发送到控制中心应用。
5.根据权利要求1所述的方法,还包括:
所述至少一个洞察是使用模式;
分析所述使用模式以标识模式组;以及
生成针对所标识的所述模式组的元数据。
6.根据权利要求1所述的方法,还包括:
基于对所述代码库的配置和编码变化的分析来确定扰动数据;
通过人工智能AI模型来处理测试结果、所述扰动数据和所述代码库,所述AI模型使用训练数据而被训练,所述训练数据包括对针对所述代码库而报告的缺陷的解决方案;以及
确定所述代码库的功能中的至少一个功能的故障的可能性,其中所述图形表示还基于如下而被生成:所述代码库的所述功能中的所述至少一个功能的故障的所述可能性。
7.根据权利要求6所述的方法,其中所述图形表示描绘所述代码库的所述功能的测试优先级。
8.根据权利要求1所述的方法,其中所述测试用例基于标准被选择并且被分配以优先级。
9.根据权利要求8所述的方法,其中所述标准是每个执行的测试用例的缺陷产生的最大化。
10.一种或多种非瞬态计算机可读存储介质,其耦合到一个或多个处理器并且具有存储于其上的指令,所述指令当由所述一个或多个处理器执行时使所述一个或多个处理器执行包括以下各项的操作:
接收包括从代码库生成的日志记录的日志文件;
通过模式挖掘算法来处理所述日志文件以确定至少一个洞察;
基于所述至少一个洞察的分析来生成图形表示;
通过机器学习算法来处理所述图形表示以从针对所述代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的所述测试用例中的每个测试用例;
基于所述优先级值来对所述测试用例的集合进行定序;以及
将经定序的所述测试用例的集合发送到测试执行引擎。
11.根据权利要求10所述的一种或多种非瞬态计算机可读存储介质,其中所述操作还包括:
在对所述代码库进行测试之前基于测试结果的分析来确定故障模式,其中所述测试用例的集合中的所述每个测试用例还基于所述故障模式被选择,并且其中针对所述测试用例的集合中的每个测试用例的所分配的所述优先级值还基于所述故障模式被确定。
12.根据权利要求10所述的一种或多种非瞬态计算机可读存储介质,其中所述机器学习算法是被训练为使每个测试用例的缺陷产生最大化的算法。
13.根据权利要求10所述的一种或多种非瞬态计算机可读存储介质,其中所述操作还包括:
在接收所述日志文件之前,从要求文档提取术语;
基于已知术语的语料库来将所提取的所述术语分类到类别中;以及
基于所分类的所述术语来生成过程图。
14.根据权利要求10所述的一种或多种非瞬态计算机可读存储介质,其中所述操作还包括:
在选择测试用例的集合之前,基于上下文相似性来聚类所述代码库的所述多个测试用例。
15.一种用于测试的***,包括:
一个或多个处理器;以及
计算机可读存储设备,其耦合到所述一个或多个处理器并且具有存储于其上的指令,所述指令当由所述一个或多个处理器执行时使所述一个或多个处理器执行包括以下各项的操作:
接收包括从代码库生成的日志记录的日志文件;
通过模式挖掘算法来处理所述日志文件以确定至少一个洞察;
基于所述至少一个洞察的分析来生成图形表示;
通过机器学习算法来处理所述图形表示以从针对所述代码库的多个测试用例中选择测试用例的集合并且将优先级值分配给所选择的所述测试用例中的每个测试用例;
基于所述优先级值来对所述测试用例的集合进行定序;以及
将经定序的所述测试用例的集合发送到测试执行引擎。
16.根据权利要求15所述的***,其中所述操作还包括:
在接收所述日志文件之前,接收通过用户接口选择的测试情景和上下文文件,所述上下文文件包括对象图,所述对象图包括如下对象:所述对象与针对所述代码库的显示页面的相应部件相关,所述测试情景描述涉及与所述显示页面上的所述部件中的至少一个部件的意图交互的所述测试用例中的一个测试用例;
使与所述至少一个部件的所述意图交互与所述对象图中的对应对象相关;
通过人工智能AI模型来处理所述意图交互和所述对应对象,所述AI模型使用如下训练数据而被训练:所述训练数据包括由所述显示页面的所述部件支持的多个过程和相应过程步骤;
基于所述处理和选择的自动化工具来确定脚本模板;
基于所述处理将所述脚本模板应用到所述意图交互和相关的所述对象以生成针对所述选择的自动化工具的自动化测试脚本;以及
将所生成的所述自动化测试脚本分配给所述测试用例中的所述一个测试用例。
17.根据权利要求16所述的***,其中所述测试情景中的每个测试情景由描绘业务过程的层级的过程图表示。
18.根据权利要求15所述的***,其中所述操作还包括:
在接收所述日志文件之前,确定针对所述测试用例中的每个测试用例相对于彼此的上下文距离;
基于所述上下文距离将所述测试用例中的每个测试用例分配给至少一个聚类;以及
基于相对于所述至少一个聚类中的其他测试用例检测缺陷的鲁棒性将分数值分配给每个测试用例。
19.根据权利要求18所述的***,其中针对每个测试用例的所述上下文距离包括针对所述测试用例中的每个测试用例相对于彼此的语义距离、针对所述测试用例中的每个测试用例相对于彼此的缺陷距离、以及针对所述测试用例中的每个测试用例相对于彼此的代码命中距离。
20.根据权利要求15所述的***,其中所述操作还包括:
确定针对缺陷的解决方案,所述缺陷基于如下而被报告:被分配给经定序的所述测试用例的集合中的一个测试用例的测试脚本的执行的结果;以及
在所述代码库中实施所述解决方案。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN201711046829 | 2017-12-27 | ||
US15/911,968 | 2018-03-05 | ||
IN201711046829 | 2018-03-05 | ||
US15/911,968 US10073763B1 (en) | 2017-12-27 | 2018-03-05 | Touchless testing platform |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110046087A CN110046087A (zh) | 2019-07-23 |
CN110046087B true CN110046087B (zh) | 2022-09-02 |
Family
ID=63406437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811605261.0A Active CN110046087B (zh) | 2017-12-27 | 2018-12-26 | 非接触式测试平台 |
Country Status (3)
Country | Link |
---|---|
US (6) | US10073763B1 (zh) |
EP (1) | EP3508981B1 (zh) |
CN (1) | CN110046087B (zh) |
Families Citing this family (104)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10558809B1 (en) | 2017-04-12 | 2020-02-11 | Architecture Technology Corporation | Software assurance system for runtime environments |
US10073763B1 (en) | 2017-12-27 | 2018-09-11 | Accenture Global Solutions Limited | Touchless testing platform |
US10642721B2 (en) | 2018-01-10 | 2020-05-05 | Accenture Global Solutions Limited | Generation of automated testing scripts by converting manual test cases |
US11086765B2 (en) * | 2018-02-02 | 2021-08-10 | Jpmorgan Chase Bank, N.A. | Test reuse exchange and automation system and method |
US10678678B1 (en) * | 2018-03-12 | 2020-06-09 | Amazon Technologies, Inc. | Ordered test execution based on test coverage |
EP3547143B1 (en) * | 2018-03-27 | 2022-06-01 | Siemens Aktiengesellschaft | System and method for model-based and behaviour-driven testing |
US10891016B2 (en) * | 2018-06-05 | 2021-01-12 | Viacom International Inc. | Graphical representation showing information to a user |
EP3588303B1 (en) * | 2018-06-12 | 2021-02-17 | Syntel, Inc. | System and method for identifying test cases for software development |
US10628282B2 (en) * | 2018-06-28 | 2020-04-21 | International Business Machines Corporation | Generating semantic flow graphs representing computer programs |
US10868825B1 (en) | 2018-08-14 | 2020-12-15 | Architecture Technology Corporation | Cybersecurity and threat assessment platform for computing environments |
US10956302B2 (en) * | 2018-10-19 | 2021-03-23 | International Business Machines Corporation | Code coverage collection based on limited select debug information |
US20200133823A1 (en) * | 2018-10-24 | 2020-04-30 | Ca, Inc. | Identifying known defects from graph representations of error messages |
CN109582563B (zh) * | 2018-10-26 | 2024-04-05 | 平安科技(深圳)有限公司 | 测试案例的测试方法、装置、计算机设备及存储介质 |
US11095642B2 (en) * | 2018-11-07 | 2021-08-17 | Cylance Inc. | Verifying user identity through human / computer interaction |
US11507853B2 (en) | 2019-01-04 | 2022-11-22 | Kloudform Ltd | Knowledge driven architecture for information system lifecycle development and method to operate the same |
US11080171B2 (en) | 2019-01-17 | 2021-08-03 | Accenture Global Solutions Limited | Test cycle optimization using contextual association mapping |
US11321749B2 (en) * | 2019-01-23 | 2022-05-03 | Kyndryl, Inc. | Metering based on application code complexity |
US11106567B2 (en) | 2019-01-24 | 2021-08-31 | International Business Machines Corporation | Combinatoric set completion through unique test case generation |
US11010282B2 (en) | 2019-01-24 | 2021-05-18 | International Business Machines Corporation | Fault detection and localization using combinatorial test design techniques while adhering to architectural restrictions |
US11099975B2 (en) | 2019-01-24 | 2021-08-24 | International Business Machines Corporation | Test space analysis across multiple combinatoric models |
US11263116B2 (en) | 2019-01-24 | 2022-03-01 | International Business Machines Corporation | Champion test case generation |
US11010285B2 (en) | 2019-01-24 | 2021-05-18 | International Business Machines Corporation | Fault detection and localization to generate failing test cases using combinatorial test design techniques |
US11119901B2 (en) | 2019-02-01 | 2021-09-14 | Micro Focus Llc | Time-limited dynamic testing pipelines |
EP3693860B1 (en) * | 2019-02-05 | 2021-08-11 | Siemens Aktiengesellschaft | Generation of test models from behavior driven development scenarios based on behavior driven development step definitions and similarity analysis using neuro linguistic programming and machine learning mechanisms |
US10949338B1 (en) * | 2019-02-07 | 2021-03-16 | Architecture Technology Corporation | Automated software bug discovery and assessment |
US10922210B2 (en) * | 2019-02-25 | 2021-02-16 | Microsoft Technology Licensing, Llc | Automatic software behavior identification using execution record |
US11237825B2 (en) * | 2019-02-28 | 2022-02-01 | International Business Machines Corporation | Refining a software system using live documentation mapping |
US11151019B2 (en) * | 2019-03-07 | 2021-10-19 | Wipro Limited | Method and system for dynamically testing a product and process in a virtual testing environment |
US11544048B1 (en) * | 2019-03-14 | 2023-01-03 | Intrado Corporation | Automatic custom quality parameter-based deployment router |
US11221942B2 (en) * | 2019-04-25 | 2022-01-11 | Hewlett Packard Enterprise Development Lp | System and methods for amalgamation of artificial intelligence (AI) and machine learning (ML) in test creation, execution, and prediction |
US11232020B2 (en) | 2019-06-13 | 2022-01-25 | International Business Machines Corporation | Fault detection using breakpoint value-based fingerprints of failing regression test cases |
US10970197B2 (en) | 2019-06-13 | 2021-04-06 | International Business Machines Corporation | Breakpoint value-based version control |
US10970195B2 (en) * | 2019-06-13 | 2021-04-06 | International Business Machines Corporation | Reduction of test infrastructure |
US10963366B2 (en) | 2019-06-13 | 2021-03-30 | International Business Machines Corporation | Regression test fingerprints based on breakpoint values |
US11036624B2 (en) | 2019-06-13 | 2021-06-15 | International Business Machines Corporation | Self healing software utilizing regression test fingerprints |
US11422924B2 (en) | 2019-06-13 | 2022-08-23 | International Business Machines Corporation | Customizable test set selection using code flow trees |
US10990510B2 (en) * | 2019-06-13 | 2021-04-27 | International Business Machines Corporation | Associating attribute seeds of regression test cases with breakpoint value-based fingerprints |
CN112115039B (zh) * | 2019-06-21 | 2023-09-19 | 百度在线网络技术(北京)有限公司 | 测试用例生成方法、装置及设备 |
US20190317885A1 (en) * | 2019-06-27 | 2019-10-17 | Intel Corporation | Machine-Assisted Quality Assurance and Software Improvement |
CN110243834B (zh) * | 2019-07-11 | 2020-03-31 | 西南交通大学 | 基于知识图谱的变压器设备缺陷分析方法 |
CN110456766B (zh) * | 2019-07-30 | 2021-03-23 | 北京经纬恒润科技股份有限公司 | 一种生成分析用例的方法及装置 |
US10891129B1 (en) | 2019-08-29 | 2021-01-12 | Accenture Global Solutions Limited | Decentralized development operations blockchain system |
US11042472B2 (en) * | 2019-09-10 | 2021-06-22 | Sauce Labs Inc. | Authoring automated test suites using artificial intelligence |
US11853196B1 (en) | 2019-09-27 | 2023-12-26 | Allstate Insurance Company | Artificial intelligence driven testing |
US11442439B2 (en) * | 2019-09-27 | 2022-09-13 | Rockwell Automation Technologies, Inc. | System and method for industrial automation device library |
US20210110284A1 (en) * | 2019-10-11 | 2021-04-15 | Rohde & Schwarz Gmbh & Co. Kg | Method and system for automatic error diagnosis in a test environment |
US10997062B1 (en) * | 2019-10-15 | 2021-05-04 | Jpmorgan Chase Bank, N.A. | System and method for implementing an automated regression testing module |
US10983904B1 (en) * | 2019-11-06 | 2021-04-20 | Accenture Global Solutions Limited | Test automation for data processing |
US11144437B2 (en) * | 2019-11-25 | 2021-10-12 | International Business Machines Corporation | Pre-populating continuous delivery test cases |
CN110825649A (zh) * | 2019-11-26 | 2020-02-21 | 京东数字科技控股有限公司 | 应用测试方法、装置、设备及存储介质 |
US10783064B1 (en) | 2019-11-27 | 2020-09-22 | Capital One Services, Llc | Unsupervised integration test builder |
US11573790B2 (en) | 2019-12-05 | 2023-02-07 | International Business Machines Corporation | Generation of knowledge graphs based on repositories of code |
CN111124928B (zh) * | 2019-12-27 | 2023-03-14 | 成都康赛信息技术有限公司 | 一种基于数据的测试用例设计方法 |
US11269760B2 (en) * | 2020-01-02 | 2022-03-08 | Accenture Global Solutions Limited | Systems and methods for automated testing using artificial intelligence techniques |
US11150919B2 (en) * | 2020-01-20 | 2021-10-19 | EMC IP Holding Company LLC | Logging of scripts executed in an information technology workflow orchestration system |
CN111260504B (zh) * | 2020-02-11 | 2020-11-17 | 南京瀚元科技有限公司 | 智能电网监控方法、***及智能电网控制器 |
US11397667B2 (en) * | 2020-02-20 | 2022-07-26 | Accenture Global Solutions Limited | Software test case sequencing |
US11307975B2 (en) * | 2020-02-20 | 2022-04-19 | International Business Machines Corporation | Machine code analysis for identifying software defects |
US11663113B2 (en) | 2020-02-20 | 2023-05-30 | International Business Machines Corporation | Real time fault localization using combinatorial test design techniques and test case priority selection |
US11176026B2 (en) * | 2020-02-20 | 2021-11-16 | International Business Machines Corporation | Assignment of test case priorities based on combinatorial test design model analysis |
US11354223B2 (en) | 2020-03-04 | 2022-06-07 | Micro Focus Llc | Maximally parallel test script execution |
US11442839B2 (en) * | 2020-03-10 | 2022-09-13 | International Business Machines Corporation | Runtime metrics based test ordering |
US11132286B1 (en) * | 2020-04-16 | 2021-09-28 | International Business Machines Corporation | Dynamic reordering of test case execution |
CN111459773B (zh) * | 2020-04-30 | 2023-09-05 | 众能联合数字技术有限公司 | swagger服务监控与告警***及方法 |
US11748239B1 (en) * | 2020-05-06 | 2023-09-05 | Allstate Solutions Private Limited | Data driven testing automation using machine learning |
CN113297060A (zh) * | 2020-05-11 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 一种数据测试方法及其装置 |
US11994979B2 (en) * | 2020-05-13 | 2024-05-28 | Synopsys, Inc. | Smart regression test selection for software development |
CN113704077B (zh) * | 2020-05-20 | 2023-09-19 | ***通信集团浙江有限公司 | 测试用例生成方法及装置 |
CN111666209B (zh) * | 2020-05-20 | 2023-03-31 | 牡丹江师范学院 | 一种基于多目标优化的测试用例优先级排序方法 |
US11972364B2 (en) * | 2020-07-23 | 2024-04-30 | Dell Products L.P. | Automated service design using AI/ML to suggest process blocks for inclusion in service design structure |
US11379350B2 (en) | 2020-08-21 | 2022-07-05 | Accenture Global Solutions Limited | Intelligent software testing |
US11720478B2 (en) * | 2020-09-01 | 2023-08-08 | Rajat Kumar | System and method for automated generation of test cases and test data for validating a software application |
CN112084110B (zh) * | 2020-09-08 | 2024-05-28 | 北京百度网讯科技有限公司 | 数据处理方法、装置、设备以及存储介质 |
CN112162734B (zh) * | 2020-10-23 | 2022-03-08 | 福州大学 | 一种面向深度学习的模型生成方法 |
US11243866B1 (en) * | 2020-11-10 | 2022-02-08 | Mozark Pte. Ltd. | Method and system for conducting application quality tests on communication devices |
CN112100086B (zh) * | 2020-11-17 | 2021-02-26 | 深圳市房多多网络科技有限公司 | 软件自动化测试方法、装置、设备和计算机可读存储介质 |
CN113220577A (zh) * | 2020-11-24 | 2021-08-06 | 季明 | 基于云计算的软件测试任务测试方法及*** |
WO2022125111A1 (en) * | 2020-12-11 | 2022-06-16 | Hewlett-Packard Development Company, L.P. | Testing nodes |
CN112612909B (zh) * | 2021-01-06 | 2022-06-07 | 杭州恒生数字设备科技有限公司 | 一种基于知识图谱的智能试卷质量评测方法 |
US20220245060A1 (en) * | 2021-02-04 | 2022-08-04 | The Toronto-Dominion Bank | System and Method for Automated Testing |
US11874931B2 (en) * | 2021-02-11 | 2024-01-16 | Bank Of America Corporation | Electronic system for identifying faulty code and vulnerabilities in software programs using linked evaluation tools |
CN112948610B (zh) * | 2021-02-25 | 2022-07-29 | 杭州欧若数网科技有限公司 | 图查询语言的结果行为验证方法和*** |
EP4302103A1 (en) * | 2021-03-02 | 2024-01-10 | Nokia Technologies Oy | Methods and apparatuses for testing user equipment (ue) machine learning-assisted radio resource management (rrm) functionalities |
US20220300400A1 (en) * | 2021-03-17 | 2022-09-22 | Cigna Intellectual Property, Inc. | System and method for using machine learning for test data preparation and expected results prediction |
US11630749B2 (en) | 2021-04-09 | 2023-04-18 | Bank Of America Corporation | Electronic system for application monitoring and preemptive remediation of associated events |
US11256609B1 (en) | 2021-05-03 | 2022-02-22 | Intec Billing, Inc. | Systems and methods to optimize testing using machine learning |
US20220374344A1 (en) * | 2021-05-24 | 2022-11-24 | Infor (Us), Llc | Techniques for visual software test management |
CN113312260B (zh) * | 2021-05-28 | 2022-12-02 | 建信金融科技有限责任公司 | 一种接口测试方法、装置、设备及存储介质 |
CN117396876A (zh) * | 2021-05-28 | 2024-01-12 | 捷普有限公司 | 用于功能测试故障预测的装置、***和方法 |
US11687441B2 (en) * | 2021-07-08 | 2023-06-27 | Bank Of America Corporation | Intelligent dynamic web service testing apparatus in a continuous integration and delivery environment |
CN113688017B (zh) * | 2021-07-26 | 2023-12-22 | 济南浪潮数据技术有限公司 | 多节点BeeGFS文件***自动化异常测试方法及装置 |
CN113656309A (zh) * | 2021-08-19 | 2021-11-16 | 蔚来汽车科技(安徽)有限公司 | 测试用例生命周期迭代管理方法和***以及介质 |
US11892507B2 (en) | 2021-08-27 | 2024-02-06 | Exfo Inc. | Early detection of quality control test failures for manufacturing end-to-end testing optimization |
US12020073B2 (en) | 2021-09-09 | 2024-06-25 | Dell Products L.P. | Workflow automation utilizing metadata structure |
US11768674B2 (en) * | 2021-10-01 | 2023-09-26 | International Business Machines Corporation | Application development mechanism based on a reference architecture |
US11550702B1 (en) | 2021-11-04 | 2023-01-10 | T-Mobile Usa, Inc. | Ensuring that computer programs are accessible to users with disabilities, such as for use with mobile phones |
US11789798B2 (en) | 2021-11-18 | 2023-10-17 | International Business Machines Corporation | Method and system for enhancing orchestration and automating communication between teams during IT systems testing |
CN113901285B (zh) * | 2021-12-09 | 2022-03-15 | 深圳佑驾创新科技有限公司 | 车辆道路试验方法、装置、电子设备及存储介质 |
US11709765B1 (en) | 2022-01-04 | 2023-07-25 | Bank Of America Corporation | Intelligent test cases generation based on voice conversation |
CN116483598A (zh) * | 2022-01-13 | 2023-07-25 | 戴尔产品有限公司 | 通过lstm的ai缺陷修复定位 |
US11954019B2 (en) | 2022-02-04 | 2024-04-09 | Optum, Inc. | Machine learning techniques for automated software testing configuration management |
US11954424B2 (en) | 2022-05-02 | 2024-04-09 | International Business Machines Corporation | Automatic domain annotation of structured data |
US20240061762A1 (en) * | 2022-08-19 | 2024-02-22 | Sap Se | On-demand contextual trace log generation |
CN116578499B (zh) * | 2023-07-13 | 2023-09-22 | 建信金融科技有限责任公司 | 公共组件功能变更影响的智能化分析测试方法及其*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908020A (zh) * | 2010-08-27 | 2010-12-08 | 南京大学 | 一种基于分类挖掘和版本变更的测试用例优先化方法 |
CN105721427A (zh) * | 2016-01-14 | 2016-06-29 | 湖南大学 | 一种从Web日志中挖掘攻击频繁序列模式的方法 |
CN106294162A (zh) * | 2016-08-12 | 2017-01-04 | 江苏大学 | 一种基于数据挖掘的第三方构件安全性测试方法 |
Family Cites Families (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6513027B1 (en) * | 1999-03-16 | 2003-01-28 | Oracle Corporation | Automated category discovery for a terminological knowledge base |
DE10244131B4 (de) * | 2002-09-23 | 2006-11-30 | Siemens Ag | Verfahren zur Unterstützung einer Identifizierung einer defekten Funktionseinheit in einer technischen Anlage |
US7007251B2 (en) * | 2003-11-12 | 2006-02-28 | International Business Machines Corporation | Database mining system and method for coverage analysis of functional verification of integrated circuit designs |
US7685576B2 (en) * | 2004-01-26 | 2010-03-23 | Siemens Corporation | System and method for model based system testing of interactive applications |
US20060010348A1 (en) * | 2004-07-09 | 2006-01-12 | Bylund Stefan E | Method and apparatus for capture and formalization of system requirements and their transformation to test instructions |
TW200622275A (en) * | 2004-09-06 | 2006-07-01 | Mentor Graphics Corp | Integrated circuit yield and quality analysis methods and systems |
KR100575581B1 (ko) * | 2004-12-15 | 2006-05-03 | 한국전자통신연구원 | 우선순위 그래프를 이용한 제품 계열의 기능 분석 및테스팅 경로 분석 장치 및 그 방법 |
US7673292B2 (en) | 2005-01-11 | 2010-03-02 | International Business Machines Corporation | Auto conversion of tests between different functional testing tools |
US9129038B2 (en) * | 2005-07-05 | 2015-09-08 | Andrew Begel | Discovering and exploiting relationships in software repositories |
US8464188B1 (en) | 2005-08-23 | 2013-06-11 | The Mathworks, Inc. | Multi-rate hierarchical state diagrams |
US7676077B2 (en) * | 2005-11-18 | 2010-03-09 | Kla-Tencor Technologies Corp. | Methods and systems for utilizing design data in combination with inspection data |
US7668796B2 (en) * | 2006-01-06 | 2010-02-23 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Automata learning algorithms and processes for providing more complete systems requirements specification by scenario generation, CSP-based syntax-oriented model construction, and R2D2C system requirements transformation |
JP4445480B2 (ja) * | 2006-03-23 | 2010-04-07 | 富士通株式会社 | シナリオ生成方法、シナリオ生成プログラム、シナリオ生成装置 |
DE102006050112A1 (de) * | 2006-10-25 | 2008-04-30 | Dspace Digital Signal Processing And Control Engineering Gmbh | Verfahren zur Erstellung einer Anforderungsbeschreibung für ein eingebettetes System |
US8417715B1 (en) * | 2007-12-19 | 2013-04-09 | Tilmann Bruckhaus | Platform independent plug-in methods and systems for data mining and analytics |
US7961955B1 (en) * | 2008-01-28 | 2011-06-14 | Thomas Cecil Minter | Adaptive bayes feature extraction |
US20110145653A1 (en) * | 2008-08-15 | 2011-06-16 | Verum Holding B.V. | Method and system for testing complex machine control software |
US8359576B2 (en) * | 2008-11-14 | 2013-01-22 | Fujitsu Limited | Using symbolic execution to check global temporal requirements in an application |
WO2011041672A1 (en) | 2009-10-02 | 2011-04-07 | Massachusetts Institute Of Technology | Translating text to, merging, and optimizing graphical user interface tasks |
KR101149828B1 (ko) * | 2010-10-20 | 2012-05-24 | 홍익대학교 산학협력단 | 유스케이스 다이어그램을 기반으로 하는 테스트 케이스 생성 프로그램 및 이를 이용하여 테스트 케이스를 생성하는 방법 |
US8825447B2 (en) * | 2011-01-28 | 2014-09-02 | Accenture Global Services Limited | Automatic correlation accelerator |
US9047414B1 (en) | 2011-03-15 | 2015-06-02 | Symantec Corporation | Method and apparatus for generating automated test case scripts from natural language test cases |
US8707248B2 (en) * | 2011-03-26 | 2014-04-22 | Accenture Global Services Limited | Transformation framework |
US8448146B2 (en) * | 2011-03-31 | 2013-05-21 | Infosys Limited | Generation of functional tests for re-hosted applications |
US9286193B2 (en) * | 2011-04-12 | 2016-03-15 | Accenture Global Services Limited | Prioritization and assignment manager for an integrated testing platform |
US9032360B1 (en) * | 2011-05-08 | 2015-05-12 | Panaya Ltd. | Selecting a test scenario template based on similarity of testing profiles belonging to different organizations |
US20130074051A1 (en) * | 2011-09-20 | 2013-03-21 | National Ict Australia Limited | Tracking and analysis of usage of a software product |
US8799869B2 (en) * | 2011-10-03 | 2014-08-05 | Accenture Global Services Limited | System for ensuring comprehensiveness of requirements testing of software applications |
US9038026B2 (en) * | 2011-10-17 | 2015-05-19 | International Business Machines Corporation | System and method for automating test automation |
KR101862785B1 (ko) | 2011-10-17 | 2018-07-06 | 삼성전자주식회사 | 타일 기반 렌더링을 위한 캐쉬 메모리 시스템 및 캐슁 방법 |
US9262404B2 (en) * | 2012-01-12 | 2016-02-16 | Accenture Global Services Limited | System for generating test scenarios and test conditions and expected results |
KR101695015B1 (ko) * | 2012-07-05 | 2017-01-11 | 한국전자통신연구원 | 오류 기반 소프트웨어 시험 방법 및 오류 기반 소프트웨어 시험 시스템 |
US9003135B2 (en) | 2013-01-15 | 2015-04-07 | International Business Machines Corporation | Efficient allocation and reclamation of thin-provisioned storage |
US20140380280A1 (en) * | 2013-06-25 | 2014-12-25 | International Business Machines Corporation | Debugging tool with predictive fault location |
US9519477B2 (en) | 2013-09-16 | 2016-12-13 | International Business Machines Corporation | Automatic pre-detection of potential coding issues and recommendation for resolution actions |
DE102013224378A1 (de) * | 2013-09-18 | 2015-03-19 | Rohde & Schwarz Gmbh & Co. Kg | Automatisierte Auswertung von Testprotokollen im Telekommunikationsbereich |
US20150227452A1 (en) | 2014-02-12 | 2015-08-13 | Wipro Limited | System and method for testing software applications |
US9355016B2 (en) | 2014-03-05 | 2016-05-31 | Microsoft Technology Licensing, Llc | Automated regression testing for software applications |
US9471470B2 (en) * | 2014-06-25 | 2016-10-18 | Hcl Technologies Ltd | Automatically recommending test suite from historical data based on randomized evolutionary techniques |
US10318882B2 (en) | 2014-09-11 | 2019-06-11 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
US11100420B2 (en) | 2014-06-30 | 2021-08-24 | Amazon Technologies, Inc. | Input processing for machine learning |
US10452992B2 (en) | 2014-06-30 | 2019-10-22 | Amazon Technologies, Inc. | Interactive interfaces for machine learning model evaluations |
US9348739B2 (en) * | 2014-07-10 | 2016-05-24 | International Business Machines Corporation | Extraction of problem diagnostic knowledge from test cases |
US9672029B2 (en) * | 2014-08-01 | 2017-06-06 | Vmware, Inc. | Determining test case priorities based on tagged execution paths |
US9021440B1 (en) | 2014-08-11 | 2015-04-28 | Pmc-Sierra Us, Inc. | System and method for automated test script generation |
US20160077956A1 (en) * | 2014-09-11 | 2016-03-17 | Wipro Limited | System and method for automating testing of software |
US9864674B2 (en) * | 2015-01-23 | 2018-01-09 | Accenture Global Services Limited | Test case generation system |
US20170004064A1 (en) | 2015-06-30 | 2017-01-05 | Sap Se | Actions test automation |
US10176426B2 (en) | 2015-07-07 | 2019-01-08 | International Business Machines Corporation | Predictive model scoring to optimize test case order in real time |
US9720813B2 (en) | 2015-08-13 | 2017-08-01 | Ca, Inc. | Method and apparatus for recommending regression tests |
US20170212829A1 (en) * | 2016-01-21 | 2017-07-27 | American Software Safety Reliability Company | Deep Learning Source Code Analyzer and Repairer |
US10289535B2 (en) * | 2016-05-31 | 2019-05-14 | Accenture Global Solutions Limited | Software testing integration |
US10108535B2 (en) | 2016-07-08 | 2018-10-23 | Accenture Global Solutions Limited | Web application test script generation to test software functionality |
US10122866B2 (en) * | 2016-09-02 | 2018-11-06 | Ricoh Company, Ltd. | Automated test suite mechanism |
US10169200B2 (en) * | 2016-10-28 | 2019-01-01 | International Business Machines Corporation | Code component debugging in an application program |
US10114738B2 (en) | 2017-03-16 | 2018-10-30 | Wipro Limited | Method and system for automatic generation of test script |
US10884906B2 (en) | 2017-06-23 | 2021-01-05 | Ge Aviation Systems Llc | Generating scripts that facilitate execution of tasks within different run-time environments that utilize different languages and syntax |
US10528458B2 (en) | 2017-08-31 | 2020-01-07 | Micro Focus Llc | Continuous integration and continuous deployment system failure analysis and resolution |
US10915522B2 (en) * | 2017-11-29 | 2021-02-09 | Business Objects Software Ltd. | Learning user interests for recommendations in business intelligence interactions |
US10678682B2 (en) * | 2017-12-04 | 2020-06-09 | Bank Of America Corporation | Intelligent batch job testing |
US10073763B1 (en) | 2017-12-27 | 2018-09-11 | Accenture Global Solutions Limited | Touchless testing platform |
US10642721B2 (en) | 2018-01-10 | 2020-05-05 | Accenture Global Solutions Limited | Generation of automated testing scripts by converting manual test cases |
US10559308B2 (en) * | 2018-06-18 | 2020-02-11 | Sas Institute Inc. | System for determining user intent from text |
-
2018
- 2018-03-05 US US15/911,968 patent/US10073763B1/en active Active
- 2018-09-10 US US16/126,570 patent/US10430323B2/en active Active
- 2018-11-23 EP EP18208043.2A patent/EP3508981B1/en active Active
- 2018-12-04 US US16/209,067 patent/US10989757B2/en active Active
- 2018-12-04 US US16/209,103 patent/US10578673B2/en active Active
- 2018-12-26 CN CN201811605261.0A patent/CN110046087B/zh active Active
-
2019
- 2019-08-15 US US16/541,985 patent/US10830817B2/en active Active
-
2020
- 2020-01-22 US US16/749,775 patent/US11099237B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908020A (zh) * | 2010-08-27 | 2010-12-08 | 南京大学 | 一种基于分类挖掘和版本变更的测试用例优先化方法 |
CN105721427A (zh) * | 2016-01-14 | 2016-06-29 | 湖南大学 | 一种从Web日志中挖掘攻击频繁序列模式的方法 |
CN106294162A (zh) * | 2016-08-12 | 2017-01-04 | 江苏大学 | 一种基于数据挖掘的第三方构件安全性测试方法 |
Also Published As
Publication number | Publication date |
---|---|
EP3508981B1 (en) | 2024-02-28 |
US11099237B2 (en) | 2021-08-24 |
CN110046087A (zh) | 2019-07-23 |
US10989757B2 (en) | 2021-04-27 |
US10830817B2 (en) | 2020-11-10 |
US20190196948A1 (en) | 2019-06-27 |
US10578673B2 (en) | 2020-03-03 |
US20190196949A1 (en) | 2019-06-27 |
US10430323B2 (en) | 2019-10-01 |
US10073763B1 (en) | 2018-09-11 |
US20190370160A1 (en) | 2019-12-05 |
US20190196950A1 (en) | 2019-06-27 |
EP3508981A1 (en) | 2019-07-10 |
US20200158780A1 (en) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046087B (zh) | 非接触式测试平台 | |
US11226892B2 (en) | Analyzing software test failures using natural language processing and machine learning | |
US11281708B2 (en) | Utilizing a machine learning model to predict metrics for an application development process | |
US11568134B2 (en) | Systems and methods for diagnosing problems from error logs using natural language processing | |
US11494295B1 (en) | Automated software bug discovery and assessment | |
CN110018955A (zh) | 通过转换手动测试用例来生成自动化测试脚本 | |
US20170192882A1 (en) | Method and system for automatically generating a plurality of test cases for an it enabled application | |
EP3683683B1 (en) | Test cycle optimization using contextual association mapping | |
EP3511834A1 (en) | System and method for tool chain data capture through parser for empirical data analysis | |
WO2023177442A1 (en) | Data traffic characterization prioritization | |
Kohyarnejadfard et al. | Anomaly detection in microservice environments using distributed tracing data analysis and NLP | |
WO2024044038A1 (en) | Software development context history operations | |
Liu et al. | Ex pede Herculem: Augmenting Activity Transition Graph for Apps via Graph Convolution Network | |
Aghili et al. | Studying the characteristics of AIOps projects on GitHub | |
CN113900956A (zh) | 测试用例的生成方法、装置、计算机设备及存储介质 | |
Bello et al. | Software bugs: detection, analysis and fixing | |
US20230394327A1 (en) | Generating datasets for scenario-based training and testing of machine learning systems | |
Jayapal et al. | Automation of Trace Analysis | |
Alam | AI-HUB 2.0 PROJECT REPORT: Application Of Large Language | |
Li et al. | An exploratory study on just-in-time multi-programming-language bug prediction | |
Haben | Test Flakiness Prediction Techniques for Evolving Software Systems | |
Gupta et al. | Capturing uncertainties through log analysis using DevOps | |
Hong et al. | Investigating and Detecting Silent Bugs in PyTorch Programs |
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 |