CN108345541A - 一种程序检测方法及系统 - Google Patents

一种程序检测方法及系统 Download PDF

Info

Publication number
CN108345541A
CN108345541A CN201810142655.0A CN201810142655A CN108345541A CN 108345541 A CN108345541 A CN 108345541A CN 201810142655 A CN201810142655 A CN 201810142655A CN 108345541 A CN108345541 A CN 108345541A
Authority
CN
China
Prior art keywords
less
program
detected
testing requirements
waiting
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810142655.0A
Other languages
English (en)
Inventor
黄之怡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Quantum Intelligence Technology Co Ltd
Original Assignee
Beijing Quantum Intelligence Technology Co Ltd
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 Beijing Quantum Intelligence Technology Co Ltd filed Critical Beijing Quantum Intelligence Technology Co Ltd
Priority to CN201810142655.0A priority Critical patent/CN108345541A/zh
Publication of CN108345541A publication Critical patent/CN108345541A/zh
Pending 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3612Software analysis for verifying properties of programs by runtime 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/362Software debugging
    • G06F11/3628Software debugging of optimised code

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种程序检测方法及系统,该程序检测方法包括:获取待检测程序的运行性能数据;将运行性能数据与存储在数据库中的检测要求进行对比;当运行性能数据满足检测要求时,确认待检测程序为最优程序。通过本发明实施例提供的一种程序检测方法及系统,能对企业研发的应用程序进行质量评估,从而确保应用程序开发的质量和部署上线速度技术效果。

Description

一种程序检测方法及系统
技术领域
本发明涉及程序开发技术领域,具体涉及一种程序检测方法及系统。
背景技术
程序测试是应用程序开发过程中的一个重要组成部分,是贯穿整个应用程序开发生命周期、对应用程序产品(包括阶段性产品)进行验证和确认的活动过程,其目的是尽快尽早地发现在应用程序产品中所存在的各种问题——与用户需求、预先定义的不一致性。但是,当前各行各业的应用程序在开发、测试和生产上线过程中,并没有一套通用的程序测试方法来评估、衡量这个应用程序的代码质量、结构质量是否优秀。因此,急需一种程序测试方法来解决应用程序在开发、测试过程中无法评估、衡量应用代码质量标准的问题。
发明内容
本发明的目的在于提供一种程序检测方法及装置,用以解决在应用程序开发、测试过程中无法评估、衡量应用代码质量标准的问题。
为实现上述目的,本发明的技术方案为一种程序检测方法,该程序检测方法包括以下步骤:获取待检测程序的运行性能数据;将运行性能数据与存储在数据库中的检测要求进行对比;当运行性能数据满足检测要求时,确认待检测程序为最优程序。
优选的,获取待检测程序的运行性能数据的步骤之前,所述方法还包括:检测和记录数据库端待检测程序的运行性能数据。
优选的,检测要求为:每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%和设置等待小于10%;
当程序特征分别满足检测要求时,确认待检测程序为安全程序的步骤具体包括:当运行性能指标满足每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%和设置等待小于10%时,确认待检测程序为最优程序。
优选的,该程序检测方法还包括:当运行性能数据不满足检测要求时,将待检测程序优化。
为实现上述目的,本发明的技术方案为一种程序检测系统,该程序检测系统可以包括:数据库,存储检测要求;获取模块,用于获取待检测程序的运行性能数据;比对模块,用于将运行性能数据与检测要求进行对比;确认模块,当运行性能数据满足检测要求时,确认待检测程序为最优程序。
优选的,该程序检测系统还包括:统计模块;该统计模块具体用于检测和记录数据库端待检测程序的运行性能数据。
优选的,检测要求为:每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%和设置等待小于10%;
确认模块,具体用于:当运行性能指标满足每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%和设置等待小于10%时,确认待检测程序为最优程序。
该程序检测系统还包括:优化模块;优化模块,用于:当运行性能数据不满足至少一个检测要求时,优化待检测程序。
本发明实施例提供的一种程序检测方法及系统,能对企业研发的应用程序进行质量评估,从而确保应用程序开发的质量和部署上线速度技术效果,以及解决在应用程序开发、测试过程中无法评估、衡量应用代码质量标准的问题。
附图说明
图1为本发明实施例提供了一种程序检测方法的流程图。
图2为本发明实施例提供了一种程序检测系统的结构示意图。
具体实施方式
以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例1
图1为本发明实施例提供了一种程序检测方法的流程图。如图1所示,该程序检测方法可以包括以下步骤:
步骤S101:获取待检测程序的运行性能数据;
步骤S102:将运行性能数据与存储在数据库中的检测要求进行比较;
步骤S103:当运行性能数据满足检测要求时,确认待检测程序为最优程序。
可选的,在步骤S101之前,该程序检测方法还包括:
步骤S104:检测和记录数据库端待检测程序的各项运行性能数据;
在本发明实施例中,通过守护星智能管理软件长期跟踪和记录数据库端待检测程序的各项运行性能数据,也可以通过其他的软件长期跟踪和记录数据库端待检测数据的各项运行性能数据。长期使用守护星智能管理软件,进行数据分析和用户实践,得出了在待检测程序符合哪些检测要求时,程序的运行可被认为是最优的。
优选的,检测指标为:每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%和设置等待小于10%。
优选的,当运行性能数据满足检测要求时,将待检测程序确认为最优程序的步骤具体包括:当运行性能数据满足每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%以及设置等待小于10%时,将待检测程序确认为最优程序。
在本申请实施例中,数据库端为oracle数据库。
优选的,在步骤S103之后,程序检测方法还包括:
步骤S105:当运行性能数据不满足检测要求时,将待检测程序优化。
具体地,当运行性能数据不满足检测要求时,针对不满足的检测要求,对该待检测程序进行优化。
假设,运行性能数据不满足每秒硬解析小于20,可以分析当前产生硬解析最多的语句,就可以知道是哪些语句造成的硬解析不达标了。如果运行性能数据中的每秒硬解析超过20,接下来查看造成硬解析高的是哪些具体语句(可通过监控工具或者直接查看一些数据库的性能视图获取)。知道了具体是哪些语句造成硬解析高之后,就可以根据这些语句的具体书写格式进行修改,从而实现优化,接下来步骤S101-步骤S103,如果优化后的待检测程序的运行性能数据不满足检测要求时,那么接着进行优化,然后再执行步骤S101-步骤S103,直到优化后的待检测程序的运行性能数据满足检测要求为止。
每秒硬解析:数据库每秒产生的语句解析数量(含生成解析树和执行计划),硬解析过高,说明待检测程序很可能存在大量未使用绑定变量的结构化查询语言(StructuredQuery Language,SQL)语句,对于联机事务处理过程(On-Line Transaction Processing,OLTP)系统,每秒硬解析的建议值是不高于20。
每秒登录数:待检测程序每秒向数据库发起连接请求的数量,该值过高,表明应用访问很可能存在大量短连接,每秒登录数的建议值不高于10。
并发等待:并发(concurrency)类型的资源等待占DB_Time的百分比,该值建议应低于10%,如果该值过高,系统可能存在较严重的资源不足或应用代码缺陷导致的资源争用问题。例如:内存不足引发的latch library cache;硬解析过多引发的library cachelock;频繁操作某一个数据对象导致的row cache lock等。
应用等待:application类型的资源等待占Db_Time的百分比,建议值应低于10%,如果该值过高,系统很可能存在行锁等待、客户端或DBlink的断开/重置请求等。
设置等待:configuration类型的资源等待占Db_Time的百分比,建议值应低于10%,如果该值过高,表明数据库存在配置上的不足或故障。
需要说明的是,DB_time是Oracle数据库系统使用的CPU资源加上所有非空闲等待时间之和,又可称为数据库负载。
实施例2
图2为本发明实施例提供了一种程序检测系统的结构示意图。如图2所示,该程序检测系统可以包括:
数据库200,存储检测要求;获取模块210,用于获取待检测程序放的运行性能数据;比对模块220,用于将运行性能数据与检测要求进行对比;确认模块230,当运行性能数据满足检测要求时,确认待检测程序为最优程序。
可选的,该程序检测系统,还可包括:统计模块240;
统计模块240,用于检测和记录数据库端待检测程序的各项运行性能数据。
获取模块210,具体用于从数据库210获取待检测程序放的运行性能数据.
在本发明实施例中,通过守护星智能管理软件长期跟踪和记录数据库端待检测程序的各项运行性能数据,也可以通过其他的软件长期跟踪和记录数据库端待检测数据的各项运行性能数据。长期使用守护星智能管理软件,进行数据分析和用户实践,得出了在待检测程序符合哪些检测要求时,程序的运行可被认为是最优的。
可选的,检测要求为:每秒登录数小于10、并发等待小于10%、应用等待小于10%以和设置等待小于10%。
确认模块230,具体用于:当运行性能数据满足每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%以及设置等待小于10%时,将待检测程序确认为最优程序。
需要说明的是,确认模块230的具体描述与步骤S103的描述相同,故在此处不再描述。
当待检测程序不满足检测要求时,该程序检测系统,还可包括:优化模块250。
该优化模块250,用于:当运行性能数据不满足检测要求时,优化待检测程序。
优化模块250,具体用于:当运行性能数据不满足检测要求时,针对不满足的检测要求,优化该待检测程序。
需要说明的是,确认模块250的具体描述与步骤S105的描述相同,故在此处不再描述。
本发明实施例中提及的程序,被用于被用于OLTP时,该程序访问Oracle数据库的SQL代码符合检测要求时,程序的运行一般被认为是非常健康的,反之,当有代码指标超出这个标准时,该程序的代码质量被认为有优化空间。可将符合检测要求的程序确认为最优程序,最优程序是指程序的代码质量和结构质量都是比较好的。
本发明实施例提供的一种程序检测方法及系统,能对企业研发的应用程序进行质量评估,从而确保应用程序开发的质量和部署上线速度技术效果,以及解决在应用程序开发、测试过程中无法评估、衡量应用代码质量标准的问题。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。

Claims (8)

1.一种程序检测方法,其特征在于,所述检测方法包括:
获取待检测程序的运行性能数据;
将所述运行性能数据与存储在数据库中的检测要求进行对比;
当所述运行性能数据满足所述检测要求时,确认所述待检测程序为最优程序。
2.根据权利要求1所述的方法,其特征在于,所述获取待检测程序的运行性能数据的步骤之前,所述方法还包括:
检测和记录数据库端待检测程序的运行性能数据。
3.根据权利要求1或2所述的方法,其特征在于,所述检测要求为:每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%和设置等待小于10%;
当所述程序特征满足检测要求时,确认待检测程序为最优程序的步骤具体包括:
当所述运行性能指标满足每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%和设置等待小于10%时,确认所述待检测程序为最优程序。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
当所述运行性能数据不满足所述至少一个检测要求时,将所述待检测程序优化。
5.一种程序检测系统,其特征在于,包括:
数据库,存储检测要求;
获取模块,用于获取待检测程序的运行性能数据;
比对模块,用于将所述运行性能数据与所述检测要求进行对比;
确认模块,当所述运行性能数据满足所述检测要求时,确认所述待检测程序为最优程序。
6.根据权利要求5所述的系统,其特征在于,所述系统还包括:统计模块;
所述统计模块,具体用于检测和记录数据库端待检测程序的运行性能数据。
7.根据权利要求5或6所述的系统,其特征在于,所述检测要求为:每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%和设置等待小于10%;
确认模块,具体用于:
当所述运行性能指标满足每秒硬解析小于20、每秒登录数小于10、并发等待小于10%、应用等待小于10%和设置等待小于10%时,确认所述待检测程序为最优程序。
8.根据权利要求7所述的系统,其特征在于,所述系统还包括:优化模块;
所述优化模块,用于:当所述运行性能数据不满足所述至少一个检测要求时,优化所述待检测程序。
CN201810142655.0A 2018-02-11 2018-02-11 一种程序检测方法及系统 Pending CN108345541A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810142655.0A CN108345541A (zh) 2018-02-11 2018-02-11 一种程序检测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810142655.0A CN108345541A (zh) 2018-02-11 2018-02-11 一种程序检测方法及系统

Publications (1)

Publication Number Publication Date
CN108345541A true CN108345541A (zh) 2018-07-31

Family

ID=62959361

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810142655.0A Pending CN108345541A (zh) 2018-02-11 2018-02-11 一种程序检测方法及系统

Country Status (1)

Country Link
CN (1) CN108345541A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933507A (zh) * 2019-03-22 2019-06-25 北京极简智能科技有限公司 一种程序性能检测方法、系统、设备及存储介质
CN111459910A (zh) * 2020-03-25 2020-07-28 中国神华能源股份有限公司神朔铁路分公司 程序优化方法、装置、计算机设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166464B2 (en) * 2008-06-27 2012-04-24 Microsoft Corporation Analysis and detection of soft hang responsiveness program errors
CN103150253A (zh) * 2013-03-15 2013-06-12 珠海市君天电子科技有限公司 一种用于持续性能测试的方法和系统
CN105760286A (zh) * 2016-02-17 2016-07-13 中国工商银行股份有限公司 应用数据库动态性能检测方法及检测装置
CN106202444A (zh) * 2016-07-14 2016-12-07 浪潮软件股份有限公司 一种数据库运维监控的实现方法
CN106776248A (zh) * 2016-11-11 2017-05-31 乐视控股(北京)有限公司 一种数据处理的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166464B2 (en) * 2008-06-27 2012-04-24 Microsoft Corporation Analysis and detection of soft hang responsiveness program errors
CN103150253A (zh) * 2013-03-15 2013-06-12 珠海市君天电子科技有限公司 一种用于持续性能测试的方法和系统
CN105760286A (zh) * 2016-02-17 2016-07-13 中国工商银行股份有限公司 应用数据库动态性能检测方法及检测装置
CN106202444A (zh) * 2016-07-14 2016-12-07 浪潮软件股份有限公司 一种数据库运维监控的实现方法
CN106776248A (zh) * 2016-11-11 2017-05-31 乐视控股(北京)有限公司 一种数据处理的方法和装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933507A (zh) * 2019-03-22 2019-06-25 北京极简智能科技有限公司 一种程序性能检测方法、系统、设备及存储介质
CN109933507B (zh) * 2019-03-22 2023-02-03 北京极简智能科技有限公司 一种程序性能检测方法、系统、设备及存储介质
CN111459910A (zh) * 2020-03-25 2020-07-28 中国神华能源股份有限公司神朔铁路分公司 程序优化方法、装置、计算机设备和存储介质

Similar Documents

Publication Publication Date Title
US10769228B2 (en) Systems and methods for web analytics testing and web development
US8627150B2 (en) System and method for using dependency in a dynamic model to relate performance problems in a complex middleware environment
CN109002391B (zh) 自动检测嵌入式软件接口测试数据的方法
CN104424360A (zh) 用于访问源数据库中的一组数据表格的方法和系统
CN114201408A (zh) 回归测试方法、装置、计算机设备及存储介质
CN103186463B (zh) 确定软件的测试范围的方法和系统
Wang et al. Empirical study of the effects of different profiles on regression test case reduction
CN114372006A (zh) 测试用例自动生成方法、系统、计算机设备和存储介质
CN113190220A (zh) Json文件差异化对比方法及装置
CN112783867A (zh) 为满足实时大数据业务需求的数据库优化方法及云服务器
CN113242157A (zh) 一种分布式处理环境下的集中式数据质量监测方法
CN108345541A (zh) 一种程序检测方法及系统
Jiang et al. Assuring the model evolution of protocol software specifications by regression testing process improvement
Saluja et al. Optimized approach for antipattern detection in service computing architecture
CN112559525B (zh) 数据检查系统、方法、装置和服务器
US8140504B2 (en) Report generation system and method
CN106547860B (zh) 一种分布式数据库性能故障的定位方法
CN114942905A (zh) 一种迁移数据验证方法、装置、设备和存储介质
CN113886205A (zh) 数据库性能瓶颈定位分析方法、装置、系统及存储介质
CN111324542B (zh) 一种Web应用回归测试用例选择系统、方法以及设备
Riehle Analysis of ignored patches in the linux kernel development
Wang et al. Hadoop Performance Tuning based on Parameter Optimization
CN116382697A (zh) 版本一致性检查方法、项目构建方法、设备及介质
CN117149872A (zh) 数据血缘分析方法、介质、装置及计算设备
CN117389840A (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20180731

RJ01 Rejection of invention patent application after publication