CN108595323A - A kind of system detection method and relevant apparatus - Google Patents
A kind of system detection method and relevant apparatus Download PDFInfo
- Publication number
- CN108595323A CN108595323A CN201810303854.5A CN201810303854A CN108595323A CN 108595323 A CN108595323 A CN 108595323A CN 201810303854 A CN201810303854 A CN 201810303854A CN 108595323 A CN108595323 A CN 108595323A
- Authority
- CN
- China
- Prior art keywords
- terminal
- aging
- software component
- software
- detection data
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3698—Environments for analysis, debugging or testing of software
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种软件系统测试方法,包括:首先,确定第一终端中处于老化状态的第一软件组件;与第二终端进行交互以实现与所述第一软件组件对应的老化工具在所述第二终端上的安装,以使得所述第二终端运行所述老化工具对所述第二终端的第一软件组件进行老化并达到所述老化状态,所述第二终端的型号及软件系统版本与所述第一终端相同;向所述第一终端推送用于解决老化问题的软件包,其中,软件包根据第二终端执行达到老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到的特征信息生成。本申请实施例可用于快速制造软件组件的老化状态,达到指定的老化效果。
The present application discloses a software system testing method, including: first, determining the first software component in the aging state in the first terminal; interacting with the second terminal to realize the aging tool corresponding to the first software component in the The installation on the second terminal, so that the second terminal runs the aging tool to age the first software component of the second terminal and reach the aging state, the model and software system of the second terminal The version is the same as that of the first terminal; a software package for solving the aging problem is pushed to the first terminal, wherein the software package executes the function corresponding to the first software component that reaches the aging state according to the second terminal or performs based on The characteristic information obtained by the function realized by the first software component is generated. The embodiments of the present application can be used to quickly manufacture the aging state of software components to achieve a specified aging effect.
Description
技术领域technical field
本申请涉及软件测试领域,尤其涉及一种软件系统测试方法及相关装置。The present application relates to the field of software testing, in particular to a software system testing method and related devices.
背景技术Background technique
随着多媒体时代的快速发展,人们对终端设备运行的流畅度要求越来越高。但是随着使用时间的增加,终端设备的性能和可靠性会明显降低,例如手机经常会出现软件系统老化的问题,轻微的如卡顿、操作不灵敏等老化问题,严重还会产生如黑屏、莫名重启等等问题,如此一来严重影响了用户体验。With the rapid development of the multimedia era, people have higher and higher requirements for the fluency of terminal equipment operation. However, as the use time increases, the performance and reliability of terminal equipment will be significantly reduced. For example, mobile phones often have software system aging problems, such as mild aging problems such as freezes and insensitive operations, and serious problems such as black screens, Inexplicable restarts and other issues seriously affect the user experience.
而终端内软件老化的根本原因是系统内部状态错误的长期积累和系统资源的不断消耗。传统的测试软件老化问题的方法是通过重复调用某项功能操作,以此模拟用户长期使用的情况,激发出软件老化问题,从而能够发现激发老化问题的老化因子,然后研发人员再根据老化因子和得到的终端检测数据进行分析,找出修复软件组件的方法。The root cause of software aging in the terminal is the long-term accumulation of system internal state errors and the continuous consumption of system resources. The traditional method of testing software aging problems is to simulate the long-term use of users by repeatedly calling a certain function operation to stimulate software aging problems, so that the aging factors that stimulate the aging problems can be found, and then the R&D personnel then use the aging factors and The resulting endpoint detection data is analyzed to find ways to repair software components.
当通过重复调用功能操作制造相同的老化状态以便找出老化因子时,从重复调用功能操作到该功能操作引起老化问题之间历经的时间周期太长,并且资源消耗较大,无法及时解决终端出现的老化问题。When the same aging state is created by repeatedly calling the function operation to find out the aging factor, the time period between repeatedly calling the function operation and causing the aging problem caused by the function operation is too long, and the resource consumption is too large to solve the problem of terminal failure in time. aging problem.
发明内容Contents of the invention
本申请提供了一种软件系统测试方法、相关装置及终端设备,可消耗极少的资源在短时间内使得终端的软件组件快速达到指定的老化状态。The present application provides a software system testing method, a related device and a terminal device, which can make the software components of the terminal quickly reach a specified aging state within a short period of time by consuming very few resources.
有鉴于此,本申请实施例第一方面提供了一种软件系统测试的方法,包括:In view of this, the first aspect of the embodiment of the present application provides a method for software system testing, including:
用户终端向服务器发送第一检测数据或反馈信息使得服务器确定用户终端中处于老化状态的第一软件组件,以使得服务器向用户终端推送软件更新包,该软件更新包中包括修复的软件组件,修复的软件组件为研发人员根据测试终端运行相关的测试实例得到的反馈信息进行修复得到的;其中,所述第一检测数据为所述第一终端对所述第一终端中的软件组件进行检测得到的数据,所述第一检测数据包括所述第一终端内每个软件组件的响应时间以及运行所述每个软件组件时的状态和参数,所述反馈信息用于反馈所述第一终端中处于老化状态的第一软件组件。The user terminal sends the first detection data or feedback information to the server so that the server determines the first software component in the aging state in the user terminal, so that the server pushes a software update package to the user terminal, the software update package includes repaired software components, repairs The software components are obtained by repairing the software components in the first terminal according to the feedback information obtained by the test terminal running related test instances; wherein, the first detection data is obtained by the first terminal detecting the software components in the first terminal The first detection data includes the response time of each software component in the first terminal and the status and parameters of each software component when running, and the feedback information is used to feed back the first terminal A first software component in an aged state.
所述用户终端接收服务器推送的用于解决老化问题的软件包,其中,所述修复后的第一软件组件根据第二终端执行所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到的信息生成。The user terminal receives the software package pushed by the server to solve the aging problem, wherein the repaired first software component executes the function corresponding to the first software component according to the second terminal or executes a function based on the first software The information generated by the function implemented by the component.
本申请实施例中用户终端出现的老化问题通过在测试终端上复现,并在测试终端上运行相应的测试实例得到反馈信息,研发人员根据该反馈信息修复老化的软件组件,并且服务器打包该软件组件使之成为软件包推送给用户终端进行安装。通过上述方式,用户终端进行检测和安装软件更新包都可由用户随时随地自行完成,无需将用户终端送至厂商,节省了运输时间和运输成本,提高了用户体验In the embodiment of this application, the aging problem of the user terminal is reproduced on the test terminal, and the corresponding test instance is run on the test terminal to obtain feedback information. The R&D personnel repair the aging software components according to the feedback information, and the server packages the software Components make it a software package and push it to the user terminal for installation. Through the above method, the user terminal can detect and install the software update package by the user anytime, anywhere, without sending the user terminal to the manufacturer, saving transportation time and cost, and improving user experience
本申请实施例第二方面提供了一种软件系统测试的方法,包括:首先,服务器确定第一终端中处于老化状态的第一软件组件,然后研发人员可根据检测数据和第一软件组件的内部原理生成对应的老化工具。针对第一软件组件以及记录的数据和状态等参数,在深入理解软件组件的内部原理和算法的基础上,从工具库中匹配出针对于某一软件组件的老化工具,若没有相匹配的老化工具,研发人员可根据检测数据以及老化软件组件的内部原理等有针对性地实时开发出对应的老化工具。老化工具实质上是根据第一软件组件的内部运行原理以及对终端的检测数据开发出来的应用程序,用于对相应的软件组件进行老化,能够利用极低资源达到快速老化的目的。接着,服务器与第二终端进行交互以实现老化工具在第二终端上的安装,以使得第二终端运行老化工具对第二终端的第一软件组件进行老化并达到上述老化状态,即第二终端中第一软件组件需要达到第一终端中第一软件组件的老化状态,并且第二终端的型号及软件系统的版本与第一终端相同。第二终端在该老化环境下,执行达到所述老化状态的第一软件组件对应的功能或执行基于第一软件组件实现的功能,记录这些功能执行过程中的数据,这些数据可反映激起老化状态的原因以及具体的老化现象,研发人员根据这些特征信息进行分析并生成用于解决上述老化问题的软件包,软件包中可能是研发人员根据特征信息生成的新的第一软件组件,也可能是针对老化的第一软件组件的补丁等等。The second aspect of the embodiment of the present application provides a software system testing method, including: first, the server determines the first software component in the aging state in the first terminal, and then the developer can The principle generates the corresponding aging tool. For the first software component and the recorded data and status parameters, on the basis of a deep understanding of the internal principles and algorithms of the software component, match the aging tool for a certain software component from the tool library. If there is no matching aging tool Tools, R&D personnel can develop corresponding aging tools in real time according to the detection data and the internal principles of aging software components. The aging tool is essentially an application program developed based on the internal operation principle of the first software component and the detection data of the terminal, and is used for aging the corresponding software component, and can achieve the purpose of rapid aging with extremely low resources. Next, the server interacts with the second terminal to implement the installation of the aging tool on the second terminal, so that the second terminal runs the aging tool to age the first software component of the second terminal and achieve the above aging state, that is, the second terminal The first software component needs to reach the aging state of the first software component in the first terminal, and the model and software system version of the second terminal are the same as those of the first terminal. Under the aging environment, the second terminal executes the function corresponding to the first software component that has reached the aging state or performs the function based on the first software component, and records the data during the execution of these functions, which can reflect the aging The cause of the state and the specific aging phenomenon, the research and development personnel analyze and generate a software package to solve the above aging problems according to these characteristic information, the software package may be a new first software component generated by the research and development personnel according to the characteristic information, or it may is a patch for an aging first software component and so on.
本申请实施例中,通过开发或直接确定对应的老化工具,并将老化工具部署到相同型号的第二终端(测试终端)上,使得第二终端造成与第一终端(用户终端)同样的老化问题和老化状态,目的是复现出第一终端的老化情况,然后通过运行第二终端上软件组件的相关功能得到特征信息,该特征信息可帮助研发人员分析老化问题。本申请实施例用老化工具代替传统的重复执行终端操作的方法,无需经过从重复执行操作到出现老化问题的漫长过程,也无需对终端进行成千上万次暴力的功能操作,因此能做到利用极低的资源快速制造老化效果并达到指定的老化状态。In the embodiment of the present application, by developing or directly determining the corresponding aging tool, and deploying the aging tool to the second terminal (test terminal) of the same model, the second terminal causes the same aging as the first terminal (user terminal) Problems and aging status, the purpose is to reproduce the aging situation of the first terminal, and then obtain characteristic information by running related functions of software components on the second terminal, which can help developers analyze aging problems. In this embodiment of the present application, an aging tool is used to replace the traditional method of repeatedly executing terminal operations. It does not need to go through a long process from repeated operations to aging problems, and does not need to perform thousands of violent functional operations on the terminal, so it can be achieved Use extremely low resources to quickly create aging effects and achieve the specified aging state.
结合本申请实施例第二方面,本申请实施例第二方面的第一种实施方式中,服务器确定第一终端中处于老化状态的第一软件组件,包括:In combination with the second aspect of the embodiment of the present application, in the first implementation manner of the second aspect of the embodiment of the present application, the server determines the first software component in the aging state in the first terminal, including:
根据所述第一终端发送的第一检测数据或反馈信息确定第一终端中处于老化状态的所述第一软件组件;其中,所述第一检测数据为所述第一终端对所述第一终端中的软件组件进行检测得到的数据,所述第一检测数据包括所述第一终端内每个软件组件的响应时间以及运行所述每个软件组件时的状态和参数,所述反馈信息用于反馈所述第一终端中处于老化状态的第一软件组件。Determine the first software component in the aging state in the first terminal according to the first detection data or feedback information sent by the first terminal; The data obtained by detecting the software components in the terminal, the first detection data includes the response time of each software component in the first terminal and the status and parameters when each software component is running, and the feedback information is used Feedback the first software component in the aging state in the first terminal.
当服务器根据第一终端发送的第一检测数据确定老化的第一软件组件时,该第一检测数据只是一个中间数据,该数据包括第一终端内每个软件组件的响应时间以及运行所述每个软件组件时的状态和参数,服务器需要根据这些数据分析出处于老化状态的软件组件。When the server determines the aging first software component according to the first detection data sent by the first terminal, the first detection data is only intermediate data, and the data includes the response time of each software component in the first terminal and the running time of each software component. The status and parameters of each software component, the server needs to analyze the software components in the aging state based on these data.
此外,第一终端在对自身进行检测之后也可自行分析出处于老化状态的软件组件,将反应老化的软件组件的结果即反馈信息直接上报服务器使得服务器知晓。In addition, after the first terminal detects itself, it can also analyze software components in an aging state by itself, and directly report the result of reflecting the aging software components, that is, feedback information, to the server so that the server can know it.
本申请实施例中不仅服务器具有一定的分析能力,用户终端也具备一定的分析能力,在某些特殊情况下也能直接确定老化的软件组件,这种模式为检测方法提供了多种方案,提高了方案的灵活性和可实施性。In the embodiment of this application, not only the server has a certain analysis ability, but also the user terminal has a certain analysis ability. In some special cases, the aging software component can also be directly determined. This mode provides a variety of solutions for the detection method and improves It improves the flexibility and implementability of the program.
结合本申请实施例第二方面的第一种实施方式,本申请实施例第二方面的第二种实施方式中,还包括:In combination with the first implementation manner of the second aspect of the embodiment of the present application, the second implementation manner of the second aspect of the embodiment of the present application further includes:
服务器确定老化的软件组件的方法还可以是通过第一检测数据和第二检测数据的对比,具体地,服务器获取第二检测数据,第二检测数据为第三终端通过系统或检测程序对所述第三终端中的软件组件进行检测得到的数据,所述第二检测数据包括所述第三终端内每个软件组件的响应时间,所述第三终端为与所述第一终端型号、软件系统版本相同的且未进行老化状态的设备,然后根据所述第一检测数据和所述第二检测数据确定处于老化状态的所述第一软件组件。The method for the server to determine an aging software component may also be through the comparison of the first detection data and the second detection data, specifically, the server obtains the second detection data, and the second detection data is the third terminal through the system or detection program. The data obtained by detecting the software components in the third terminal, the second detection data includes the response time of each software component in the third terminal, the third terminal is the same as the first terminal model, software system For devices with the same version and not in the aging state, then determine the first software component in the aging state according to the first detection data and the second detection data.
本申请实施例通过未老化状态下软件组件的响应时间可精确判断出某个软件组件是否已经出现老化,明显降低了误判老化组件的可能性,提高了判断的效率。The embodiments of the present application can accurately determine whether a certain software component has aged through the response time of the software component in the non-aging state, which obviously reduces the possibility of misjudging the aging component and improves the efficiency of judgment.
结合本申请实施例第二方面的第一种实施方式中,本申请实施例第二方面的第二种实施方式中,服务器确定第一终端中处于老化状态的第一软件组件,包括:In conjunction with the first implementation manner of the second aspect of the embodiment of the present application, in the second implementation manner of the second aspect of the embodiment of the present application, the server determines the first software component in the aging state in the first terminal, including:
服务器从第一检测数据中获取第一响应时间,并从第二检测数据组中获取第二响应时间,第一响应时间是第一终端执行第二软件组件获得的,第二响应时间是第三终端执行第二软件组件获得的,第一终端和第三终端应执行同一个软件组件并记录下响应时间,然后计算两个响应时间的差值,若该差值大于预设阈值,则确定第二软件组件为处于老化状态的第一软件组件,若差值小于预设阈值,则说明软件组件未被老化,响应时间在正常的变化范围内。The server obtains the first response time from the first detection data, and obtains the second response time from the second detection data group, the first response time is obtained by the first terminal executing the second software component, and the second response time is the third If the terminal executes the second software component, the first terminal and the third terminal should execute the same software component and record the response time, then calculate the difference between the two response times, and if the difference is greater than the preset threshold, determine the second The second software component is the first software component in an aging state, and if the difference is smaller than the preset threshold, it means that the software component is not aged, and the response time is within a normal variation range.
本申请实施例中用未被老化的第三终端作为判断标准可以精确判断出用户终端中已出现老化现象的软件组件,提高了定位老化软件组件的准确性。In the embodiment of the present application, using the third terminal that has not been aged as the judgment standard can accurately determine software components that have aged in the user terminal, thereby improving the accuracy of locating aged software components.
结合本申请实施例第二方面至第二方面的第二种实施方式中,本申请实施例第二方面的第三种实施方式中,服务器获取第一检测数据之前,方法还包括:Combining the second aspect of the embodiment of the present application to the second implementation of the second aspect, in the third implementation of the second aspect of the embodiment of the present application, before the server acquires the first detection data, the method further includes:
由于第一检测数据是用户主动或者系统自动执行老化检测服务得到的数据,也有可能是驻留终端的代理监控到老化现象后,自动执行老化检测服务得到的数据,这些数据属于用户隐私部分,虽然在该过程中会经过匿名化处理,但是也必须经过用户的合理授权,因此在服务器获取这些数据之前,会向第一终端发送授权请求,终端的显示屏上提示用户是否进行授权操作,一旦终端接收到用户同意授权的指令,便将第一检测数据中的数据发送至数据存储云中,可供研发人员进行调用分析。授权的方式可以是仅一次授权,此后每次默认为已授权状态,还可以每次都向用户提供是否授权的对话框。Since the first detection data is the data obtained by the user actively or the system automatically executes the aging detection service, it may also be the data obtained by automatically executing the aging detection service after the agent resident on the terminal monitors the aging phenomenon. These data belong to the user's privacy, although In this process, it will be anonymized, but it must also be reasonably authorized by the user. Therefore, before the server obtains the data, it will send an authorization request to the first terminal, and the terminal screen will prompt the user whether to perform an authorization operation. Once the terminal After receiving the instruction from the user to agree to the authorization, the data in the first detection data will be sent to the data storage cloud, which can be called and analyzed by the research and development personnel. The authorization method can be authorized only once, and then it will default to the authorized state each time, and a dialog box of whether to authorize can also be provided to the user each time.
本申请实施例中用户无需将手机送至厂商进行检测,可直接通过系统或驻留终端的代理服务对手机进行老化检测,然后与研发人员进行配合共同解决软件老化问题,节省了用户终端来回运输的时间和成本,大大缩短了手机检测所需的周期,并且丝毫不会影响用户终端的使用,极大地保证了用户体验。在向服务器提供用户终端的信息和数据之前会先征得用户的同意,提高了本方案的安全性。In the embodiment of this application, the user does not need to send the mobile phone to the manufacturer for testing, but can directly perform aging testing on the mobile phone through the system or the proxy service of the resident terminal, and then cooperate with the R&D personnel to jointly solve the software aging problem, saving the user terminal from transporting back and forth The time and cost are greatly shortened, and the cycle required for mobile phone detection is greatly shortened, and the use of the user terminal will not be affected at all, which greatly guarantees the user experience. Before providing the information and data of the user terminal to the server, the consent of the user will be obtained first, which improves the security of this solution.
结合本申请实施例第二方面的第三种实施方式中,本申请实施例第二方面的第五种实施方式中,还包括:In combination with the third implementation manner of the second aspect of the embodiments of the present application, the fifth implementation manner of the second aspect of the embodiments of the present application further includes:
在有用户终端时,可根据用户终端实际出现的老化问题的软件组件具有针对性地开发老化工具,然后将该老化工具安装在测试终端上使得测试终端中对应的软件组件达到用户终端中老化软件组件的老化状态。可以理解的是,本实施例中还可应用于产品测试发布前,首先预测可能会出现老化问题的软件组件,然后根据该软件组件确定老化工具,在测试终端上使用老化工具对上述软件组件进行老化,达到任意指定的老化状态。When there is a user terminal, an aging tool can be developed according to the software components of the actual aging problem in the user terminal, and then the aging tool can be installed on the test terminal so that the corresponding software components in the test terminal can reach the aging software in the user terminal. The aging state of the component. It can be understood that this embodiment can also be applied to product testing before release, first predicting software components that may have aging problems, and then determining an aging tool based on the software components, and using the aging tool on the test terminal to test the above software components Aging, to an arbitrarily specified aging state.
本申请实施例还可应用于产品测试发布前,使用老化工具制造任意程度的老化状态。在产品发布前,对终端进行老化测试,可提前发现老化问题,提前拦截一些老化问题,从而提高产品的质量。The embodiment of the present application may also be applied to using an aging tool to create an aging state of any degree before product testing is released. Before the release of the product, the aging test is carried out on the terminal, which can detect aging problems in advance and intercept some aging problems in advance, thereby improving the quality of the product.
本申请实施例第三方面提供了一种软件系统测试的方法,包括:The third aspect of the embodiment of the present application provides a method for software system testing, including:
所述服务器用于确定第一终端中处于老化状态的第一软件组件;The server is configured to determine a first software component in an aging state in the first terminal;
所述服务器所述服务器还用于与所述第二终端交互,以实现与所述第一软件组件对应的老化工具在所述第二终端上的安装;The server The server is further configured to interact with the second terminal, so as to implement the installation of an aging tool corresponding to the first software component on the second terminal;
所述第二终端用于运行所述老化工具对所述第二终端的第一软件组件进行老化并达到所述老化状态,所述第二终端的型号及软件系统版本与所述第一终端相同;The second terminal is used to run the aging tool to age the first software component of the second terminal and reach the aging state, and the model and software system version of the second terminal are the same as those of the first terminal ;
所述服务器还用于向所述第一终端推送用于解决老化问题的软件包,其中,所述软件包根据所述第二终端执行达到所述老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到的特征信息生成。The server is further configured to push a software package for solving the aging problem to the first terminal, wherein the software package performs a function corresponding to the first software component that reaches the aging state according to the second terminal Or perform feature information generation based on the functions implemented by the first software component.
本申请实施例中,服务器和第二终端的交互完整了软件系统检测的流程,用老化工具直接制造老化状态的方法代替传统的暴力执行操作功能的方法,大大缩短了检测周期,并且避免了因大量调用功能使得测试终端的使用时间锐减的问题。In the embodiment of this application, the interaction between the server and the second terminal completes the software system detection process, and the method of directly manufacturing the aging state with the aging tool replaces the traditional method of violently executing the operation function, which greatly shortens the detection cycle and avoids the A large number of calling functions makes the use time of the test terminal sharply reduced.
结合本申请实施例第三方面,本申请实施例第三方面的第一种实施方式中:In combination with the third aspect of the embodiment of the present application, in the first implementation mode of the third aspect of the embodiment of the present application:
所述第二终端用于运行所述老化工具对所述第二终端的第一软件组件进行老化并达到所述老化状态时,具体用于运行所述老化工具并根据预定的老化模型以将所述第一软件组件中的数据存储地址改成能够反映第一软件组件老化状态的不连续的存储地址,其中,所述老化模型用于反映各种不连续存储地址与各种老化状态的对应关系。When the second terminal is used to run the aging tool to age the first software component of the second terminal and reach the aging state, it is specifically used to run the aging tool and convert the first software component according to a predetermined aging model. The data storage address in the first software component is changed to a discontinuous storage address that can reflect the aging state of the first software component, wherein the aging model is used to reflect the correspondence between various discontinuous storage addresses and various aging states .
本申请实施例中老化模型中具有软件组件的各种老化状态和存储地址状态的对应关系,在得知哪种老化状态应对应哪种程度的地址不连续状态之后将数据存入该种状态下的存储地址中达到对应的老化状态。通过上述方式可以指定达到任意的老化状态,提高了方案的灵活性和实用性。In the embodiment of the present application, the aging model has the corresponding relationship between various aging states of software components and storage address states, and after knowing which aging state should correspond to which degree of address discontinuity state, store the data in this state The corresponding aging state is reached in the storage address. Through the above method, any aging state can be specified, which improves the flexibility and practicability of the solution.
本申请实施例第四方面提供了一种软件系统测试的方法,包括:The fourth aspect of the embodiment of the present application provides a method for software system testing, including:
首先,第二终端确定需要进行系统测试的软件组件,然后根据预定的老化模型将所述软件组件存储的数据的存储地址改为不连续的存储地址以达到预定的老化状态,所述存储地址是反映软件组件老化状态的数据存储地址,该老化模型用于反映各种不连续存储地址与各种老化状态的对应关系。接着,第二终端执行达到老化状态的软件组件对应的功能或者执行基于所述软件组件实现的功能以得到特征信息。First, the second terminal determines the software components that need to be tested in the system, and then changes the storage addresses of the data stored by the software components into discontinuous storage addresses according to a predetermined aging model to achieve a predetermined aging state, and the storage addresses are The data storage address reflecting the aging state of the software component, and the aging model is used to reflect the corresponding relationship between various discontinuous storage addresses and various aging states. Next, the second terminal executes a function corresponding to the software component that has reached the aging state or executes a function implemented based on the software component to obtain feature information.
本申请实施例中通过修改反映软件组件老化状态的数据存储地址,使得该存储地址处于不连续的状态,再将数据定向注入到不连续的存储地址中以制作数据碎片,以此达到对第二终端上的软件组件进行老化的目的。由于存储地址不连续,因此在读取文件时读取速度会急剧下降,从而达到直接制造老化效果的目的。通过上述方式,摒弃了反复调用操作的传统手段,从重复调用操作到老化状态浮现的这段时间就可以被省去,并且无需经过成千上万次的操作,即节省了时间又节省了调用所需的资源。In the embodiment of the present application, by modifying the data storage address reflecting the aging state of the software component, so that the storage address is in a discontinuous state, and then injecting data into the discontinuous storage address to create data fragments, so as to achieve the second The purpose of aging software components on the terminal. Since the storage addresses are discontinuous, the reading speed will drop sharply when reading the file, so as to achieve the purpose of directly creating the aging effect. Through the above method, the traditional method of repeatedly calling operations is abandoned, and the time from repeatedly calling operations to the emergence of the aging state can be saved, and there is no need to go through thousands of operations, which saves time and calls resources needed.
结合本申请实施例第四方面的第一种实施方式,本申请实施例第四方面的第二种实施方式:In combination with the first implementation manner of the fourth aspect of the embodiment of the present application, the second implementation manner of the fourth aspect of the embodiment of the present application:
所述软件组件为文件系统,相应地,所述软件组件存储的数据为所述文件系统的数据块,所述软件组件存储的数据的存储地址为所述数据块的存储地址。The software component is a file system, correspondingly, the data stored by the software component is a data block of the file system, and the storage address of the data stored by the software component is the storage address of the data block.
本申请实施例通过修改数据块的存储地址使得存储数据的地址呈不连续的状态,再将不同大小的文件碎片间隔地插入文件系统中,直接地制造老化效果,快速地达到想要的老化状态,不用反复对存储器进行擦写删除,可延长存储器和终端的使用寿命。In the embodiment of the present application, by modifying the storage address of the data block so that the address of the stored data is in a discontinuous state, and then inserting file fragments of different sizes into the file system at intervals, the aging effect is directly created and the desired aging state is quickly achieved. , without repeatedly erasing and deleting the memory, which can prolong the service life of the memory and the terminal.
结合本申请实施例第四方面的第一种实施方式,本申请实施例第四方面的第三种实施方式中:In combination with the first implementation manner of the fourth aspect of the embodiment of the present application, in the third implementation manner of the fourth aspect of the embodiment of the application:
所述软件组件为数据库,相应地,所述软件组件存储的数据为所述数据库的页面,所述软件组件存储的数据的存储地址为所述页面的存储地址。The software component is a database, correspondingly, the data stored by the software component is a page of the database, and the storage address of the data stored by the software component is the storage address of the page.
本申请实施例中首先根据第一终端的老化状态,构造一个碎片化的SQLite数据库存储状态,然后反推得到数据库每页的存储状态,最后通过SQLite数据库的页面管理模块将每页数据写入,直接制造老化效果,节省了大量时间。In the embodiment of the present application, first construct a fragmented SQLite database storage state according to the aging state of the first terminal, then reversely obtain the storage state of each page of the database, and finally write the data of each page through the page management module of the SQLite database, Create aging effects directly, saving a lot of time.
有鉴于此,本申请实施例第五方面提供了一种用于系统测试的装置,包括:In view of this, the fifth aspect of the embodiment of the present application provides a device for system testing, including:
确定模块,用于确定第一终端中处于老化状态的第一软件组件;a determining module, configured to determine a first software component in an aging state in the first terminal;
交互模块,用于与第二终端进行交互以实现与所述第一软件组件对应的老化工具在所述第二终端上的安装,以使得所述第二终端运行所述老化工具对所述第二终端的第一软件组件进行老化并达到所述老化状态,所述第二终端的型号及软件系统版本与所述第一终端相同;an interaction module, configured to interact with a second terminal to implement the installation of an aging tool corresponding to the first software component on the second terminal, so that the second terminal runs the aging tool to The first software component of the second terminal is aged and reaches the aging state, and the model and software system version of the second terminal are the same as those of the first terminal;
推送模块,用于向所述第一终端推送用于解决老化问题的软件包,其中,所述软件包根据第二终端执行达到所述老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到的特征信息生成。A push module, configured to push a software package for solving the aging problem to the first terminal, wherein the software package executes a function corresponding to the first software component that reaches the aging state according to the second terminal or executes a function based on The characteristic information obtained by the function realized by the first software component is generated.
本申请实施例用老化工具代替传统的重复执行终端操作的方法,因此无需经过从重复执行操作到出现老化问题的漫长过程,也无需对终端进行成千上万次暴力的功能操作,从而能做到利用极低的资源快速制造老化效果并达到指定的老化状态。In this embodiment of the present application, an aging tool is used to replace the traditional method of repeatedly executing terminal operations, so there is no need to go through a long process from repeated operations to aging problems, and it is not necessary to perform thousands of violent functional operations on the terminal, so that it can be done To use extremely low resources to quickly create aging effects and reach the specified aging state.
结合本申请实施例第五方面,本申请实施例第五方面的第一种实施方式中,所述确定模块包括:In combination with the fifth aspect of the embodiment of the present application, in the first implementation manner of the fifth aspect of the embodiment of the present application, the determination module includes:
第一确定单元,用于根据所述第一终端发送的第一检测数据或反馈信息确定第一终端中处于老化状态的所述第一软件组件;其中,所述第一检测数据为所述第一终端对所述第一终端中的软件组件进行检测得到的数据,所述第一检测数据包括所述第一终端内每个软件组件的响应时间以及运行所述每个软件组件时的状态和参数,所述反馈信息用于反馈所述第一终端中处于老化状态的第一软件组件。A first determining unit, configured to determine the first software component in an aging state in the first terminal according to first detection data or feedback information sent by the first terminal; wherein the first detection data is the first software component in the first terminal; Data obtained by a terminal detecting software components in the first terminal, where the first detection data includes the response time of each software component in the first terminal and the status and parameter, and the feedback information is used to feed back the first software component in the aging state in the first terminal.
本申请实施例中不仅服务器具有一定的分析能力,用户终端也具备一定的分析能力,在某些特殊情况下也能直接确定老化的软件组件,这种模式为老化检测方法提供了多种方案,提高了方案的灵活性和可实施性。In the embodiment of the present application, not only the server has a certain analysis ability, but also the user terminal has a certain analysis ability. In some special cases, the aging software component can also be directly determined. This mode provides a variety of solutions for the aging detection method. Improve the flexibility and implementability of the scheme.
结合本申请实施例第五方面的第一种实施方式中,本申请实施例第五方面的第二种实施方式中,所述系统测试装置还包括:In conjunction with the first implementation of the fifth aspect of the embodiment of the present application, in the second implementation of the fifth aspect of the embodiment of the present application, the system testing device further includes:
获取模块,用于所述确定模块之前获取第二检测数据,所述第二检测数据为第三终端通过系统或检测程序对所述第三终端中的软件组件进行检测得到的数据,所述第二检测数据包括所述第三终端内每个软件组件的响应时间,所述第三终端为与所述第一终端型号、软件系统版本相同的且未进行老化状态的设备;The acquisition module is used to acquire second detection data before the determination module, the second detection data is the data obtained by the third terminal through the system or detection program to detect the software components in the third terminal, the first The second detection data includes the response time of each software component in the third terminal, and the third terminal is a device with the same model and software system version as the first terminal and is not in an aging state;
确定模块,用于根据所述第一检测数据和所述第二检测数据确定处于老化状态的所述第一软件组件。A determining module, configured to determine the first software component in an aging state according to the first detection data and the second detection data.
本申请实施例通过未老化状态下软件组件的响应时间可精确判断出某个软件组件是否已经出现老化,明显降低了误判老化组件的可能性,提高了判断的效率。The embodiments of the present application can accurately determine whether a certain software component has aged through the response time of the software component in the non-aging state, which obviously reduces the possibility of misjudging the aging component and improves the efficiency of judgment.
结合本申请实施例第五方面的第二种实施方式中,本申请实施例第一方面的第三种实施方式中,所述确定模块包括:In combination with the second implementation manner of the fifth aspect of the embodiment of the present application, in the third implementation manner of the first aspect of the embodiment of the present application, the determination module includes:
第一获取单元,用于从所述第一检测数据中获取第一响应时间,所述第一响应时间为所述第一终端执行所述第二软件组件获得;A first obtaining unit, configured to obtain a first response time from the first detection data, the first response time is obtained by the first terminal executing the second software component;
第二获取单元,用于并从所述第二检测数据组中获取第二响应时间,所述第二响应时间为所述第三终端执行所述第二软件组件获得;A second obtaining unit, configured to obtain a second response time from the second detection data group, the second response time is obtained by the third terminal executing the second software component;
第三获取单元,用于获取第一差值,所述第一差值为所述第一响应时间和所述第二响应时间的时间差值;A third acquiring unit, configured to acquire a first difference, where the first difference is a time difference between the first response time and the second response time;
第二确定单元,用于当所述第一差值大于预设阈值时,确定所述第二软件组件为处于老化状态的第一软件组件。The second determining unit is configured to determine that the second software component is the first software component in an aging state when the first difference is greater than a preset threshold.
本申请实施例中用未被老化的第三终端作为判断标准可以精确判断出用户终端中已出现老化现象的软件组件,提高了定位老化软件组件的准确性。In the embodiment of the present application, using the third terminal that has not been aged as the judgment standard can accurately determine software components that have aged in the user terminal, thereby improving the accuracy of locating aged software components.
结合本申请实施例第五方面的第三种实施方式中,本申请实施例第五方面的第四种实施方式中,所述系统测试装置还包括:In combination with the third implementation manner of the fifth aspect of the embodiment of the present application, in the fourth implementation manner of the fifth aspect of the embodiment of the present application, the system testing device further includes:
发送模块,用于所述确定模块之前向所述第一终端发送授权请求,所述授权请求用于指示数据存储云获取第一检测数据。The sending module is configured to send an authorization request to the first terminal before the determining module, where the authorization request is used to instruct the data storage cloud to acquire the first detection data.
本申请实施例中用户无需将手机送至厂商进行检测,可直接通过系统或驻留终端的代理服务对手机进行老化检测,然后与研发人员进行配合共同解决软件老化问题,节省了用户终端来回运输的时间和成本,大大缩短了手机检测所需的周期,并且丝毫不会影响用户终端的使用,极大地保证了用户体验。在向服务器提供用户终端的信息和数据之前会先征得用户的同意,提高了本方案的安全性。In the embodiment of this application, the user does not need to send the mobile phone to the manufacturer for testing, but can directly perform aging testing on the mobile phone through the system or the proxy service of the resident terminal, and then cooperate with the R&D personnel to jointly solve the software aging problem, saving the user terminal from transporting back and forth The time and cost are greatly shortened, and the cycle required for mobile phone detection is greatly shortened, and the use of the user terminal will not be affected at all, which greatly guarantees the user experience. Before providing the information and data of the user terminal to the server, the consent of the user will be obtained first, which improves the security of this solution.
有鉴于此,本申请实施例第六方面提供了一种用于系统测试的装置,包括:In view of this, the sixth aspect of the embodiment of the present application provides a device for system testing, including:
确定模块,用于确定需要进行系统测试的软件组件;Determination module, which is used to determine the software components that need to be tested in the system;
修改模块,用于根据预定的老化模型将所述软件组件存储的数据的存储地址改为不连续的存储地址以达到预定的老化状态,其中,所述老化模型用于反映各种不连续存储地址与各种老化状态的对应关系;A modification module, configured to change the storage address of the data stored by the software component into a discontinuous storage address according to a predetermined aging model to achieve a predetermined aging state, wherein the aging model is used to reflect various discontinuous storage addresses Correspondence with various aging states;
执行模块,用于执行达到所述老化状态的所述软件组件对应的功能或者执行基于所述软件组件实现的功能以得到特征信息。An execution module, configured to execute a function corresponding to the software component that has reached the aging state or execute a function implemented based on the software component to obtain feature information.
本申请实施例中通过修改反映软件组件老化状态的数据存储地址,使得该存储地址处于不连续的状态,再将数据定向注入到不连续的存储地址中以制作数据碎片,以此达到对第二终端上的软件组件进行老化的目的。由于存储数据的地址不连续,因此在读取文件时读取速度会急剧下降,从而达到直接制造老化效果的目的。通过上述方式,摒弃了反复调用操作的传统手段,从重复调用操作到老化状态浮现的这段时间就可以被省去,并且无需经过成千上万次的操作,即节省了时间又节省了调用所需的资源。In the embodiment of the present application, by modifying the data storage address reflecting the aging state of the software component, so that the storage address is in a discontinuous state, and then injecting data into the discontinuous storage address to create data fragments, so as to achieve the second The purpose of aging software components on the terminal. Since the addresses of the stored data are discontinuous, the reading speed will drop sharply when reading the file, so as to achieve the purpose of directly creating the aging effect. Through the above method, the traditional method of repeatedly calling operations is abandoned, and the time from repeatedly calling operations to the emergence of the aging state can be saved, and there is no need to go through thousands of operations, which saves time and calls resources needed.
从以上技术方案可以看出,本申请具有以下优点:As can be seen from the above technical solutions, the present application has the following advantages:
本申请实施例提供了一种系统老化的测试方法,包括:服务器确定第一终端中处于老化状态的第一软件组件;然后,服务器与第二终端进行交互以实现与所述第一软件组件对应的老化工具在所述第二终端上的安装,以使得所述第二终端运行所述老化工具对所述第二终端的第一软件组件进行老化并达到所述老化状态,所述第二终端的型号及软件系统版本与所述第一终端相同;服务器向所述第一终端推送用于解决老化问题的软件包,其中,所述软件包根据第二终端执行达到所述老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到的特征信息生成。本申请实施例中通过开发的老化工具,并将老化工具部署到相同型号的终端设备也就是第二终端设备上,造成与用户终端同样的老化问题和老化状态,复现出用户终端的老化情况,然后通过运行第二终端对应软件组件的相关功能得到反馈信息,并将信息反馈至服务器帮助研发人员分析老化问题。开发的老化工具代替了传统的重复执行终端操作的方法,无需经过从重复执行终端操作到出现老化状态的漫长时间,也无需经过成千上万次的功能调用,可利用极低的资源快速制造老化效果达到老化状态。An embodiment of the present application provides a method for testing system aging, including: the server determines the first software component in the aging state in the first terminal; then, the server interacts with the second terminal to realize the corresponding The aging tool of the second terminal is installed on the second terminal, so that the second terminal runs the aging tool to age the first software component of the second terminal and reaches the aging state, and the second terminal The model and software system version of the first terminal are the same as those of the first terminal; the server pushes a software package for solving the aging problem to the first terminal, wherein the software package reaches the aging state according to the execution of the second terminal. The function or execution corresponding to the first software component is generated based on the feature information obtained by the function realized by the first software component. In the embodiment of the present application, the aging tool is developed and deployed to the terminal device of the same model, that is, the second terminal device, causing the same aging problem and aging state as the user terminal, and reproducing the aging situation of the user terminal , and then obtain feedback information by running the relevant functions of the corresponding software components of the second terminal, and feed the information back to the server to help the research and development personnel analyze the aging problem. The developed burn-in tool replaces the traditional method of repeatedly executing terminal operations. It does not need to go through a long period of time from repeatedly executing terminal operations to the aging state, nor does it need to go through thousands of function calls, and can be quickly manufactured with extremely low resources. The aging effect reaches the aged state.
附图说明Description of drawings
图1为本申请实施例中软件系统的架构示意图;Fig. 1 is a schematic diagram of the architecture of the software system in the embodiment of the present application;
图2为本申请实施例中软件系统测试方法的流程示意图;Fig. 2 is a schematic flow chart of the software system testing method in the embodiment of the present application;
图3为本申请实施例中软件系统测试方法的一个交互示意图;Fig. 3 is an interactive schematic diagram of the software system testing method in the embodiment of the present application;
图4为本申请实施例中软件系统测试方法的一个流程示意图;Fig. 4 is a schematic flow chart of the software system testing method in the embodiment of the present application;
图5为本申请实施例中F2FS文件系统老化的示意图;Fig. 5 is the schematic diagram of F2FS file system aging in the embodiment of the present application;
图6为本申请实施例中SQlite数据库老化的示意图;Fig. 6 is the schematic diagram of SQlite database aging in the embodiment of the present application;
图7为本申请实施例中软件系统测试方法的另一交互示意图;Fig. 7 is another interactive schematic diagram of the software system testing method in the embodiment of the present application;
图8为本申请实施例中第一系统测试装置的一个实施例示意图;FIG. 8 is a schematic diagram of an embodiment of the first system test device in the embodiment of the present application;
图9为本申请实施例中第一系统测试装置的另一实施例示意图;FIG. 9 is a schematic diagram of another embodiment of the first system test device in the embodiment of the present application;
图10为本申请实施例中第一系统测试装置的另一实施例示意图;FIG. 10 is a schematic diagram of another embodiment of the first system testing device in the embodiment of the present application;
图11为本申请实施例中第一系统测试装置的另一实施例示意图;Fig. 11 is a schematic diagram of another embodiment of the first system testing device in the embodiment of the present application;
图12为本申请实施例中第二系统测试装置的一个实施例示意图;Fig. 12 is a schematic diagram of an embodiment of the second system testing device in the embodiment of the present application;
图13为本申请实施例中服务器的结构示意图。FIG. 13 is a schematic structural diagram of a server in an embodiment of the present application.
具体实施方式Detailed ways
本申请提供了一种系统测试方法,本申请实施例中通过开发老化工具,并将老化工具部署到相同型号的终端设备也就是第二终端设备上,复现出第一终端出现的老化问题和老化状态,即造成与用户的终端设备同样的老化问题和同样程度的老化状态,然后通过运行第二终端的相关测试用例准确定位的老化问题。开发的老化工具代替了传统的暴力重复使用终端内操作的老化方法,减少了达到老化状态所需的资源,并且不会对终端设备产生损耗,提高了测试终端的使用寿命。The present application provides a system testing method. In the embodiment of the present application, by developing an aging tool and deploying the aging tool to the terminal device of the same type, that is, the second terminal device, the aging problem and problems of the first terminal are reproduced. Aging state, that is, causing the same aging problem and the same degree of aging state as the user's terminal equipment, and then accurately locating the aging problem by running the relevant test cases of the second terminal. The developed burn-in tool replaces the traditional burn-in method of violently reusing operations in the terminal, reduces the resources required to reach the burn-in state, does not cause wear and tear on the terminal equipment, and improves the service life of the test terminal.
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only some, not all, embodiments of the present invention. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative efforts fall within the protection scope of the present invention.
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。The terms "first", "second", "third", "fourth", etc. (if any) in the description and claims of the present invention and the above drawings are used to distinguish similar objects and not necessarily Describe a specific order or sequence. It is to be understood that the terms so used are interchangeable under appropriate circumstances such that the embodiments described herein can be practiced in sequences other than those illustrated or described herein. Furthermore, the terms "comprising" and "having", as well as any variations thereof, are intended to cover a non-exclusive inclusion, for example, a process, method, system, product or device comprising a sequence of steps or elements is not necessarily limited to the expressly listed Those steps or elements may instead include other steps or elements not explicitly listed or inherent to the process, method, product or apparatus.
在终端设备随处可见的今天,终端的使用体验成为用户购买设备的重要参考指标,但是手机在使用一段时间后,性能和可靠性明显降低,会出现种种由硬件或软件引起的问题,尤其是软件老化问题尤为明显。终端手机搭载的安卓软件系统如图1所示,软件系统的内部组成较为复杂,由几十个组件服务构成,大体可分为应用、应用框架、专业库、安卓运行时间、以及Linux核心五个大的架构,它们各个部分又由很多组件、服务组成,软件系统整体的老化效果是各个软件组件老化效果的叠加。Today, terminal devices can be seen everywhere, and the user experience of the terminal has become an important reference indicator for users to purchase devices. However, after a period of use, the performance and reliability of mobile phones will be significantly reduced, and various problems caused by hardware or software will appear. The aging problem is particularly obvious. The Android software system carried by the terminal mobile phone is shown in Figure 1. The internal composition of the software system is relatively complex, consisting of dozens of component services, which can be roughly divided into five parts: application, application framework, professional library, Android runtime, and Linux core. For a large architecture, each part is composed of many components and services. The overall aging effect of the software system is the superposition of the aging effects of each software component.
当用户使用的手机出现老化问题时,为了不影响用户的继续使用,一般是在另一台手机上重复调用相关的功能操作使得该手机出现和用户手机同样的老化现象,模拟用户长期使用手机的情况,从而激发出软件老化缺陷,继而才能发现导致老化现象的老化因子,手机厂商的研发人员再根据该老化因子以及对检测数据找出修复方法。这种方法虽然也可以找出老化因子,但耗时太长,资源消耗太大,并且需要对终端的存储器进行反复擦写,导致用来测试的终端在软件老化测试完成后,测试终端的寿命锐减,甚至报废。When the user's mobile phone has an aging problem, in order not to affect the user's continued use, it is generally necessary to repeatedly call the relevant function operation on another mobile phone to make the mobile phone have the same aging phenomenon as the user's mobile phone, simulating the user's long-term use of the mobile phone. In this way, software aging defects can be stimulated, and then the aging factor that causes the aging phenomenon can be discovered, and the R&D personnel of the mobile phone manufacturer can then find out a repair method based on the aging factor and the detection data. Although this method can also find out the aging factor, it takes too long, the resource consumption is too large, and the memory of the terminal needs to be erased and written repeatedly, resulting in the terminal used for testing after the software aging test is completed, and the life of the terminal is tested. sharply reduced, or even scrapped.
实质上对测试手机反复执行出现老化现象的功能操作是为了复现出用户手机的老化状态,从而能发现激发老化现象的原因。In essence, the purpose of repeatedly performing the functional operation of the aging phenomenon on the test mobile phone is to reproduce the aging state of the user's mobile phone, so as to find the cause of the aging phenomenon.
因此也可通过其他方式制造老化状态,只要能达到和用户终端一样的老化状态即可。本申请实施例中软件系统的老化测试方法的流程如图2所示,手机厂商的工作人员可借助服务器,针对出现异常现象的软件组件开发出软件老化工具,利用该老化工具对另一台专门用来测试的终端进行老化并达到和用户终端一样的老化效果。在该老化环境下,测试终端运行与出现异常的软件组件相关的功能操作,然后记录激发老化问题的原因及老化现象,这实质也是在复现用户终端出现的老化问题,然后将这些整理成信息记录在老化漏洞列表中,该列表记录了执行异常功能操作时的情况,具体包括执行过程中产生的各类参数以及出现的现象。该老化漏洞列表能够帮助研发人员修复老化漏洞得到更新后的软件组件,然后推送到用户终端,供用户选择是否进行安装。在整个过程中,用户终端或用来测试的测试终端可通过自带的系统或驻留终端内的代理服务对自身进行检测,检测得到的老化检测数据可以存在数据存储云中,这些数据可以帮助研发人员确定已经产生老化现象的软件组件。Therefore, the aging state can also be manufactured in other ways, as long as the same aging state as that of the user terminal can be achieved. The process flow of the aging test method of the software system in the embodiment of the present application is shown in Figure 2. The staff of the mobile phone manufacturer can use the server to develop a software aging tool for software components with abnormal phenomena, and use the aging tool to test another specialized The terminal used for the test is aged to achieve the same aging effect as the user terminal. In this aging environment, the test terminal runs functional operations related to the abnormal software components, and then records the causes and phenomena of the aging problem. This is essentially reproducing the aging problem that occurs in the user terminal, and then organizes these into information It is recorded in the aging vulnerability list, which records the situation when abnormal function operations are executed, including various parameters generated during the execution process and the phenomena that occur. The aging vulnerability list can help developers fix the aging vulnerabilities and obtain updated software components, and then push them to the user terminal for the user to choose whether to install. Throughout the process, the user terminal or the test terminal used for testing can detect itself through its own system or the proxy service resident in the terminal, and the aging detection data obtained from the detection can be stored in the data storage cloud, which can help Developers identify software components that have experienced aging.
本申请实施例中软件系统老化测试方法的一个实施例如图3所示,该实施例可应用在:当用户终端出现老化问题时对用户终端进行老化测试,包括:An embodiment of the software system aging test method in the embodiment of the present application is shown in Figure 3. This embodiment can be applied to: when the user terminal has an aging problem, perform an aging test on the user terminal, including:
101、当用户进行身份授权的情况下,第一终端通过老化检测服务获取关于第一终端的第一检测数据;101. When the user performs identity authorization, the first terminal acquires first detection data about the first terminal through an aging detection service;
由于服务器需要对来自终端的第一检测数据进行分析,因此为了保证用户信息的安全性,在此之前需得到用户的授权,因此服务器向终端发送授权请求指令,该指令用于表示是否允许服务器或数据存储云使用终端的第一检测数据,并且还会告知用户第一检测数据中可能会包含用户的哪些隐私数据。若用户同意授权,服务器或数据存储云就可利用第一检测数据进行分析验证以及后续工作。在终端向服务器提供检测数据时也会对用户进行匿名化处理。授权方式可能是每次执行都需要用户授权,也可能只需用户第一次进行授权,此后默认都处于授权状态。Since the server needs to analyze the first detection data from the terminal, in order to ensure the security of the user information, the user’s authorization must be obtained before that, so the server sends an authorization request instruction to the terminal, which is used to indicate whether the server or The data storage cloud uses the first detection data of the terminal, and also notifies the user which private data of the user may be included in the first detection data. If the user agrees to authorize, the server or data storage cloud can use the first detection data for analysis and verification and follow-up work. When the terminal provides detection data to the server, the user will also be anonymized. The authorization method may require user authorization every time it is executed, or it may only require the user to authorize for the first time, and then it will be in the authorized state by default.
用户在使用终端碰到软件老化问题时,可以主动通过终端的系统执行老化检测服务,除此之外,驻留终端的代理服务在监控到老化现象后,即发现老化指标超过一定阈值时也会自动执行老化检测服务,具体地,例如当某个应用程序的响应时间远远大于正常的标准响应时间时可触发对终端的检测。When users encounter software aging problems when using terminals, they can actively perform aging detection services through the terminal system. In addition, after monitoring the aging phenomenon, the proxy service resident on the terminal will also detect when the aging indicators exceed a certain threshold. The aging detection service is automatically performed. Specifically, for example, when the response time of a certain application program is much longer than the normal standard response time, the detection of the terminal can be triggered.
进行检测的一个重要的目的是确定出现老化问题的软件组件:第一终端可通过检测服务获取到每个软件组件运行时的各类参数,其中包括运行软件组件的响应时间;本申请实施例中可利用动态二进制插桩技术获取运行软件组件时的响应时间,形象地说,是在某个软件组件运行的开始时刻、该软件组件的响应时刻各看成一个点,记录下这两个点之间经历的时间即响应时间。An important purpose of detection is to determine the software components with aging problems: the first terminal can obtain various parameters of each software component during operation through the detection service, including the response time of the running software components; in the embodiment of this application Dynamic binary instrumentation technology can be used to obtain the response time of running software components. To put it bluntly, the start time of a certain software component running and the response time of the software component are each regarded as a point, and the difference between the two points is recorded. The elapsed time is the response time.
当某些功能使用时出现的老化问题不太明显,可通过上述实施方式及早拦截老化问题,并记录老化现象,从而分析判断老化因子。When some functions are used, the aging problem is not obvious. The above implementation method can be used to intercept the aging problem early and record the aging phenomenon, so as to analyze and judge the aging factor.
具体的,本申请实施例中可以先利用用户终端执行某个功能操作获取到一个响应时间,然后再用未出现老化状态的终端执行相应的功能操作得到标准响应时间,通过对比这两个时间,就可以判断该功能操作对应的软件组件是否出现老化问题。Specifically, in this embodiment of the application, a user terminal can be used to perform a certain function operation to obtain a response time, and then a terminal that does not appear to be in an aging state can be used to perform a corresponding function operation to obtain a standard response time. By comparing these two times, It can be determined whether the software component corresponding to the functional operation has an aging problem.
进行检测的第二作用是可同时记录下执行每个软件组件时的情况,具体包括记录老化现象和激发老化问题的原因,老化现象又可包括执行时产生的参数和软件组件的状态。The second function of detection is to simultaneously record the conditions of each software component when it is executed, specifically including recording the aging phenomenon and the cause of the aging problem. The aging phenomenon can also include the parameters generated during execution and the state of the software component.
102、第一终端发送第一检测数据或反馈信息到服务器;102. The first terminal sends the first detection data or feedback information to the server;
当第一终端向服务器发送第一检测数据以使得服务器确定老化的第一软件组件时,该第一检测数据只是一个中间数据,该数据包括第一终端内每个软件组件的响应时间以及运行所述每个软件组件时的状态和参数,服务器需要根据这些数据分析出处于老化状态的软件组件。When the first terminal sends the first detection data to the server to make the server determine the aging first software component, the first detection data is only an intermediate data, and the data includes the response time and running time of each software component in the first terminal. When describing the state and parameters of each software component, the server needs to analyze the software components in the aging state based on these data.
此外,第一终端在对自身进行检测之后也可自行分析出处于老化状态的软件组件,将反应老化的软件组件的结果即反馈信息直接上报服务器使得服务器知晓。In addition, after the first terminal detects itself, it can also analyze software components in an aging state by itself, and directly report the result of reflecting the aging software components, that is, feedback information, to the server so that the server can know it.
103、服务器确定处于老化状态的第一软件组件;103. The server determines the first software component in an aging state;
具体地,服务器根据第一检测数据和第二检测数据确定处于老化状态的第一软件组件的具体过程如图4如下:Specifically, the specific process for the server to determine the first software component in an aging state according to the first detection data and the second detection data is as follows in Figure 4:
1031、第三终端获取运行每个软件组件的响应时间,第三终端的型号与软件系统版本与第一终端相同的且第三终端为未出现老化状态的设备。1031. The third terminal acquires the response time of running each software component. The model and software system version of the third terminal are the same as those of the first terminal, and the third terminal is a device that has not experienced an aging state.
1032、服务器将第一检测数据中每个软件组件的响应时间与第三终端获取的对应软件组件的响应时间相减得到差值;1032. The server subtracts the response time of each software component in the first detection data from the response time of the corresponding software component acquired by the third terminal to obtain a difference;
1033、若差值大于预设阈值,则确定对应的软件组件为处于老化状态的第一软件组件;1033. If the difference is greater than the preset threshold, determine that the corresponding software component is the first software component in an aging state;
1034、若差值小于等于预设阈值,则确定对应的软件组件未达到老化状态;1034. If the difference is less than or equal to the preset threshold, determine that the corresponding software component has not reached the aging state;
判断是否出现老化问题的老化指标中有一项典型的参数就是运行该软件组件时所需的响应时间,若响应时间远远大于正常的终端软件响应时间,则说明该软件组件是异常的,有可能已经出现老化问题。A typical parameter in the aging index for judging whether there is an aging problem is the response time required to run the software component. If the response time is much greater than the normal terminal software response time, it means that the software component is abnormal and may Aging problems have arisen.
第一检测数据包括了第一终端执行每个软件组件的响应时间。对第三终端进行检测可得到第二检测数据,同样的,第二检测数据包括了第三终端执行每个软件组件的响应时间,第三终端为未出现老化现象的终端设备。服务器在通过数据存储云分别获取了第一终端和第三终端执行相同的软件组件所需的响应时间后能分析出处于老化状态的软件组件。除此之外第一检测数据还可以包括其他能够反映老化问题的参数,例如占用的系统资源等。The first detection data includes the response time of each software component executed by the first terminal. The second detection data can be obtained by detecting the third terminal. Similarly, the second detection data includes the response time of each software component executed by the third terminal, and the third terminal is a terminal device with no aging phenomenon. The server can analyze the software components in an aging state after obtaining the response times required by the first terminal and the third terminal to execute the same software components respectively through the data storage cloud. In addition, the first detection data may also include other parameters that can reflect aging problems, such as occupied system resources.
104、服务器将研发人员匹配或开发的老化工具部署在第二终端上,执行软件系统的老化操作;104. The server deploys the aging tool matched or developed by the R&D personnel on the second terminal, and executes the aging operation of the software system;
研发人员可根据检测数据组和第一软件组件的内部原理生成对应的老化工具。针对第一软件组件以及记录的数据和状态等参数,在深入理解软件组件的内部原理和算法的基础上,从工具库中匹配出针对于某一软件组件的老化工具,若没有相匹配的老化工具,研发人员可根据检测数据以及老化软件组件的内部原理等有针对性地实时开发出对应的老化工具。老化工具实质上是根据第一软件组件的内部运行原理以及对终端的检测数据开发出来的应用程序,用于对相应的软件组件进行老化,能够利用极低资源达到快速老化的目的。The research and development personnel can generate corresponding aging tools according to the detection data set and the internal principle of the first software component. For the first software component and the recorded data and status parameters, on the basis of a deep understanding of the internal principles and algorithms of the software component, match the aging tool for a certain software component from the tool library. If there is no matching aging tool Tools, R&D personnel can develop corresponding aging tools in real time according to the detection data and the internal principles of aging software components. The aging tool is essentially an application program developed based on the internal operation principle of the first software component and the detection data of the terminal, and is used for aging the corresponding software component, and can achieve the purpose of rapid aging with extremely low resources.
具体地,假设服务器首先通过分析第一检测数据发现在运行联系人这个应用时响应时间过长,并通过分析其他参数,得知导致终端软件联系人卡顿的主要原因是F2FS文件系统和SQlite数据库老化,据此,厂商的研发人员可利用服务器针对F2FS文件系统和SQlite数据库开发老化工具,老化工具用于快速老化软件组件。Specifically, it is assumed that the server first finds that the response time is too long when running the contact application by analyzing the first detection data, and by analyzing other parameters, it is known that the main cause of terminal software contact freeze is the F2FS file system and the SQlite database Aging, according to which, the R&D personnel of the manufacturer can use the server to develop aging tools for the F2FS file system and the SQlite database, and the aging tools are used for rapidly aging software components.
开发出来的老化工具用于部署在第二终端上,第二终端的型号与系统版本需与第一终端保持一致,这样第二终端被老化后才能达到模拟复现第一终端老化状态的目的。The developed aging tool is used to deploy on the second terminal. The model and system version of the second terminal must be consistent with that of the first terminal. In this way, the aging state of the first terminal can be simulated and reproduced after the second terminal is aged.
具体地,文件系统利用老化工具进行老化的方式如图5所示,图5为文件系统碎片化的传统方式和快速方式,白色代表原始的文件系统,黑色表示导致老化的插入的文件碎片,传统制造碎片化的方式是通过不断对文件系统中的文件进行写入,然后再间隔性地擦除,以此达到老化的目的,而使用老化工具制造老化效果是通过直接操作文件系统中的元数据,然后修改索引节点的数据块的存储地址,使得修改后的存储地址呈间断不连续的状态,然后将不同尺寸的小文件分别存储到不连续的存储地址中达到快速制造文件碎片的目的。在此之前,先要确定文件系统需要达到怎样的老化状态,然后根据该状态反推插入文件碎片的情况。在使用建模进行评估时,可通过扫描文件系统,统计获得系统中4k、8k、16k和32k等不同尺寸文件的碎片数量,通过碎片数量的多少可确定老化程度。Specifically, the aging method of the file system using the aging tool is shown in Figure 5. Figure 5 shows the traditional and fast ways of file system fragmentation. White represents the original file system, and black represents the inserted file fragments that cause aging. Traditional The way to create fragmentation is to continuously write to the files in the file system and then erase them at intervals to achieve the purpose of aging, while using the aging tool to create the aging effect is by directly manipulating the metadata in the file system , and then modify the storage address of the data block of the index node, so that the modified storage address is discontinuous, and then store small files of different sizes in discontinuous storage addresses to achieve the purpose of quickly creating file fragments. Prior to this, it is first necessary to determine what aging state the file system needs to reach, and then deduce the situation of inserting file fragments based on this state. When using modeling for evaluation, the number of fragments of files of different sizes such as 4k, 8k, 16k, and 32k in the system can be obtained statistically by scanning the file system, and the aging degree can be determined by the number of fragments.
若需要对SQlite数据库进行老化,也是通过直接制造与第一终端一样的老化状态。如图6所示,图6为SQlite数据库的老化方法。数据库是以B-tree的形式存储的磁盘文件,B-tree是数据库中存取和查找文件的一种数据结构,B-tree算法可减少定位时所经历的中间过程,加快存取速度。数据库的索引和表的根页面都存储在SQlite_master表中,可以像查询其它表一样查询这个特殊的表,通过SQlite_master表和每页上存储的链接关系便可存取任意页面上的数据,每个页面的根部都存有整个页面的存储情况信息,因此从根页面上遍历所有页面便可知道整个数据库的老化状态。If the SQlite database needs to be aged, it is also by directly producing the same aging state as the first terminal. As shown in Figure 6, Figure 6 shows the aging method of the SQlite database. The database is a disk file stored in the form of B-tree. B-tree is a data structure for accessing and searching files in the database. The B-tree algorithm can reduce the intermediate process of positioning and speed up the access speed. The index of the database and the root page of the table are stored in the SQlite_master table. You can query this special table like other tables. Through the link relationship stored in the SQlite_master table and each page, you can access the data on any page. Each The root of the page stores the storage information of the entire page, so the aging status of the entire database can be known by traversing all pages from the root page.
首先我们可以查询到第一终端上的数据库的老化状态,然后确定第二终端的数据库需要达到的老化状态,根据该状态反推出每一页面的状态,再通过修改数据库对应的内部代码变量来修改每一页面上的存储地址,使得存储数据的存储地址呈不连续的状态,如此一来在读取数据时读取速度变得异常缓慢,呈现出卡顿、响应时间过长、闪退等老化现象。First, we can query the aging state of the database on the first terminal, then determine the aging state that the database of the second terminal needs to achieve, reverse the state of each page according to this state, and then modify the internal code variables corresponding to the database. The storage address on each page makes the storage address of the stored data in a discontinuous state. As a result, the reading speed becomes extremely slow when reading data, showing aging such as lag, long response time, and flashback. Phenomenon.
软件组件的老化状态和存储地址不连续状态之间具有对应关系,可通过提前输入大量的老化状态和存储地址状态的关系建立模型。There is a corresponding relationship between the aging state of the software component and the discontinuous state of the storage address, and a model can be established by inputting a large number of relationships between the aging state and the storage address state in advance.
当期望达到某个老化状态时,通过老化模型便可得知对应的存储地址应该呈现怎样的状态,然后将数据存入该种状态下的存储地址以达到对应的老化状态,通过上述方式可以达到任意指定的老化状态,提高了方案的灵活性和实用性。When it is expected to reach a certain aging state, the aging model can be used to know what state the corresponding storage address should present, and then store the data in the storage address in this state to achieve the corresponding aging state. Through the above method, it can be achieved The aging state can be specified arbitrarily, which improves the flexibility and practicability of the scheme.
本申请实施例中所指的存储地址为实际存在的物理地址,表示存在于硬盘上的实际位置,该地址的连续性会影响存储于该地址上数据的读取速度,从而体现出老化状态。The storage address referred to in the embodiment of the present application is an actual physical address, indicating the actual location on the hard disk, and the continuity of the address will affect the reading speed of the data stored at the address, thereby reflecting the aging state.
总而言之,对于文件系统和数据库的老化都是根据组件的内部运行原理、算法制造出具有针对性的老化工具,利用老化工具直接制造老化效果,而不是重复地执行功能操作模拟达到使用一定年限的终端的老化状态。All in all, for the aging of file systems and databases, targeted aging tools are produced based on the internal operating principles and algorithms of components, and aging tools are used to directly create aging effects, rather than repeatedly performing functional operation simulations to reach terminals that have been used for a certain number of years state of aging.
可以理解的是,本申请实施例中,第二终端需要达到的老化状态可根据用户终端决定,此种情况下实质是在第二终端上模拟复现出用户终端(第一终端)的老化状态,因为制造出一致的老化状态才能准确找出导致用户终端出现老化问题的因素。但若是在产品研发阶段即没有用户终端做标准时,还可以根据需求任意指定老化状态,例如指定第二终端应达到终端使用三年时的老化状态。It can be understood that, in the embodiment of the present application, the aging state that the second terminal needs to achieve can be determined according to the user terminal. In this case, the essence is to simulate and reproduce the aging state of the user terminal (first terminal) on the second terminal. , because a consistent aging state can be produced to accurately find out the factors causing the aging problem of the user terminal. However, if there is no user terminal as a standard in the product development stage, the aging state can also be specified arbitrarily according to requirements, for example, specifying that the second terminal should reach the aging state when the terminal is used for three years.
本申请实施中,第三终端和第二终端可以为同一个终端设备,也可以不同的设备,当为同一个终端设备时,获取未老化的软件组件的响应时间应在部署老化工具之前未进行老化之前。In the implementation of this application, the third terminal and the second terminal can be the same terminal device or different devices. When they are the same terminal device, the response time of unaged software components should be obtained before deploying the aging tool. before aging.
105、第二终端执行达到所述老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到特征信息;105. The second terminal executes a function corresponding to the first software component that has reached the aging state or executes a function implemented based on the first software component to obtain feature information;
在老化工具对相关的软件组件进行老化后,基于快速老化后的终端软件环境,第二终端运行基于第一软件组件上可实现的功能,具体地,例如当联系人应用这个软件组件被认为是处于老化状态的第一软件组件时,根据第一检测数据的特点和历史问题清单分析出可能是文件系统或数据库出现老化,因此第二终端可以通过执行文件系统、数据库或与两者相关联的其他功能,来进一步具体复现第一终端出现的老化问题,然后将执行这些功能形成的特征信息发送给研发人员,从而帮助厂商的研发人员找出具体的老化因子。After the aging tool ages the relevant software components, based on the terminal software environment after rapid aging, the second terminal runs based on the functions that can be realized on the first software component. Specifically, for example, when the contact application software component is considered to be When the first software component is in an aging state, according to the characteristics of the first detection data and the list of historical problems, it is analyzed that the file system or database may be aging, so the second terminal can execute the file system, database, or both. Other functions, to further specifically reproduce the aging problem of the first terminal, and then send the characteristic information formed by executing these functions to the R&D personnel, so as to help the R&D personnel of the manufacturer find out the specific aging factors.
基于第一软件组件的可实现功能可以被认为是用来测试第二终端的相关测试集,相关测试集与用户碰到的异常老化现象有关,针对不同的老化现象具有不同的相关测试集,并且这些相关测试集会存储在公司的测试系统中,可通过终端的自动化测试框架,自动分配到用来测试的第二终端上执行,以快速地复现与定位老化问题。Realizable functions based on the first software component may be considered as a relevant test set for testing the second terminal, the relevant test set is related to the abnormal aging phenomenon encountered by the user, and there are different relevant test sets for different aging phenomena, and These related test sets will be stored in the company's test system, and can be automatically assigned to the second terminal for testing through the terminal's automated test framework to quickly reproduce and locate aging problems.
106、所述服务器向所述第一终端推送用于解决老化问题的软件包,其中,所述软件包根据第二终端执行达到所述老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到的特征信息生成。106. The server pushes a software package for solving the aging problem to the first terminal, wherein the software package executes a function corresponding to the first software component that reaches the aging state according to the second terminal or performs based on The characteristic information obtained by the function realized by the first software component is generated.
将老化问题的激发方法和现象通过信息的形式反馈给设计和开发人员,研发人员通过分析相关特征信息可生成用于解决上述老化问题的软件包,软件包中可能是研发人员根据特征信息生成的新的第一软件组件,也可能是针对老化的第一软件组件的补丁等等。Feedback the excitation method and phenomenon of the aging problem to the design and development personnel in the form of information, and the research and development personnel can generate a software package for solving the above aging problem by analyzing the relevant characteristic information. The software package may be generated by the research and development personnel based on the characteristic information A new first software component, possibly also a patch for an aging first software component, and so on.
在完成各项测试后,修正后的软件组件等模块将被打包成软件更新包,通过驻留终端的代理服务推送给用户终端,并且同时还会发送安装请求,供用户选择是否安装该更新包。After completing various tests, the corrected software components and other modules will be packaged into a software update package, which will be pushed to the user terminal through the proxy service of the resident terminal, and an installation request will be sent at the same time for the user to choose whether to install the update package .
本申请实施例中,针对用户终端出现的老化问题,通过在另一个型号和系统版本都相同的终端上复现出来,并运行该终端出现老化问题的软件组件或运行以该软件组件为中心的其他边缘功能,将运行过程中激发老化问题的原因及现象反馈至服务器,供研发人员分析得出修复措施,通过这种方式既可以通过测试终端复现出用户终端的问题,又不影响用户终端的使用,减小了测试对于用户的影响,极大地提高了用户体验。复现老化问题的方式也是通过老化工具直接制造老化效果,不必重复模拟用户进行操作,大大减小测试周期,并且延长了终端产品的使用寿命。In this embodiment of the application, for the aging problem of the user terminal, it is reproduced on another terminal with the same model and system version, and runs the software component that has the aging problem of the terminal or runs the software component centered on the software component. Other edge functions feed back the causes and phenomena of the aging problem during operation to the server for R&D personnel to analyze and obtain repair measures. In this way, the problem of the user terminal can be reproduced through the test terminal without affecting the user terminal The use of the test reduces the impact of the test on the user and greatly improves the user experience. The way to reproduce the aging problem is to directly create the aging effect through the aging tool, without repeating the simulated user operation, which greatly reduces the test cycle and prolongs the service life of the terminal product.
本申请中实施例中软件系统老化测试方法的另一实施例如图7所示,本申请实施例还可应用于终端软件的研发阶段,在研发阶段可根据预估的软件组件开发老化工具,包括:Another embodiment of the software system aging test method in the embodiment of the present application is shown in FIG. 7. The embodiment of the present application can also be applied to the research and development stage of the terminal software. In the research and development stage, aging tools can be developed according to the estimated software components, including :
201、服务器预估第一软件组件;201. The server estimates the first software component;
本实施例还可应用在终端软件的研发阶段,研发人员可以根据记录的历史问题清单、网上公开数据、科研文献等等定位到在某个使用阶段可能会出现老化问题的软件组件。This embodiment can also be applied in the research and development stage of terminal software, and the research and development personnel can locate the software components that may have aging problems in a certain use stage according to the recorded historical problem list, online public data, scientific research literature, etc.
202、服务器将根据预估的第一软件组件匹配或开发出的老化工具部署在第二终端上,执行软件系统的老化操作;202. The server deploys the aging tool matched or developed according to the estimated first software component on the second terminal, and performs the aging operation of the software system;
研发人员有针对性地匹配或实时开发相应的老化工具。具体地,步骤202中的根据预估的第一软件组件开发对应的老化工具与步骤104服务器根据老化的第一软件组件开发老化工具类似,此处不再赘述。需要说明的是,此时没有用户终端参与,可以根据研发人员指定的任意老化状态确定老化工具应对第二终端老化到何种程度,也可以设定最大值的老化状态进行极限测试。The R&D personnel match in a targeted manner or develop corresponding aging tools in real time. Specifically, developing a corresponding aging tool based on the estimated first software component in step 202 is similar to developing an aging tool based on the aged first software component in step 104, and will not be repeated here. It should be noted that there is no user terminal involved at this time, and the degree to which the aging tool should age the second terminal can be determined according to any aging state specified by the R&D personnel, or the maximum aging state can be set for limit testing.
服务器将老化工具安装部署的第二终端上,并运行该工具自动化地完成对第一软件组件的加速老化,达到一定的老化状态。The server installs and deploys the aging tool on the second terminal, and runs the tool to automatically complete the accelerated aging of the first software component to reach a certain aging state.
203、第二终端执行达到所述老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到特征信息;203. The second terminal executes a function corresponding to the first software component that has reached the aging state or executes a function implemented based on the first software component to obtain feature information;
特征信息用于反映激发上述老化问题的方法及老化现象,研发人员通过分析这些信息可修复老化软件组件。The feature information is used to reflect the methods and aging phenomena that trigger the above aging problems, and developers can repair aging software components by analyzing these information.
204、所述服务器生成用于解决老化问题的软件包,其中,所述软件包根据第二终端执行达到所述老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到的特征信息生成。204. The server generates a software package for solving the aging problem, wherein the software package executes a function corresponding to the first software component that reaches the aging state according to the second terminal or executes a function based on the first software component The feature information obtained by the implemented function is generated.
本申请实施例中的步骤202至步骤204与上个实施例中的步骤104至步骤106基本类似,具体此处不再赘述。Steps 202 to 204 in the embodiment of the present application are basically similar to steps 104 to 106 in the previous embodiment, and details are not repeated here.
本申请实施例中,在研发阶段可根据用户指定的老化状态开发老化工具,在短时间内迅速完成对第二终端软件组件的老化,使得第二终端软件组件达到研发人员指定的老化状态。针对研发阶段的软件系统测试方法预估可能产生老化的软件组件,并可任意指定软件组件的老化状态,这样的方式有助于在发布终端产品前找出以后可能会出现的部分老化问题,提前拦截问题,提高产品质量。In the embodiment of the present application, during the research and development stage, an aging tool can be developed according to the aging state specified by the user, and the aging of the second terminal software component can be completed in a short time, so that the second terminal software component can reach the aging state specified by the researcher. For the software system testing method in the research and development stage, it is possible to estimate the software components that may be aging, and the aging status of the software components can be specified arbitrarily. Intercept problems and improve product quality.
下面对本发明中用于系统测试的装置进行详细描述,请参阅图8,本发明实施例中的用于系统测试的装置包括:The device for system testing in the present invention is described in detail below, please refer to FIG. 8, the device for system testing in the embodiment of the present invention includes:
确定模块301,用于确定第一终端中处于老化状态的第一软件组件;A determining module 301, configured to determine a first software component in an aging state in the first terminal;
交互模块302,用于与第二终端进行交互以实现与所述第一软件组件对应的老化工具在所述第二终端上的安装,以使得所述第二终端运行所述老化工具对所述第二终端的第一软件组件进行老化并达到所述老化状态,所述第二终端的型号及软件系统版本与所述第一终端相同;An interaction module 302, configured to interact with a second terminal to implement the installation of an aging tool corresponding to the first software component on the second terminal, so that the second terminal runs the aging tool on the The first software component of the second terminal is aged and reaches the aging state, and the model and software system version of the second terminal are the same as those of the first terminal;
推送模块303,用于向所述第一终端推送用于解决老化问题的软件包,其中,所述软件包根据第二终端执行达到所述老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到的特征信息生成。Pushing module 303, configured to push a software package for solving the aging problem to the first terminal, wherein the software package performs a function corresponding to the first software component that reaches the aging state according to the second terminal or executes The characteristic information obtained based on the functions realized by the first software component is generated.
基于上述图8对应的实施例,请参阅图9,所述确定模块301包括:Based on the above embodiment corresponding to FIG. 8, please refer to FIG. 9, the determination module 301 includes:
第一确定单元3011,用于根据所述第一终端发送的第一检测数据或反馈信息确定第一终端中处于老化状态的所述第一软件组件;其中,所述第一检测数据为所述第一终端对所述第一终端中的软件组件进行检测得到的数据,所述第一检测数据包括所述第一终端内每个软件组件的响应时间以及运行所述每个软件组件时的状态和参数,所述反馈信息用于反馈所述第一终端中处于老化状态的第一软件组件。The first determining unit 3011 is configured to determine the first software component in the aging state in the first terminal according to the first detection data or feedback information sent by the first terminal; wherein the first detection data is the The data obtained by the first terminal detecting the software components in the first terminal, the first detection data including the response time of each software component in the first terminal and the state when each software component is running and parameters, the feedback information is used to feed back the first software component in the aging state in the first terminal.
基于上述图8对应的实施例,请参阅图10,所述确定模块301还包括:Based on the above-mentioned embodiment corresponding to FIG. 8 , please refer to FIG. 10 , the determination module 301 further includes:
第一获取单元3012,用于获取第二检测数据,所述第二检测数据为第三终端通过系统或检测程序对所述第三终端中的软件组件进行检测得到的数据,所述第二检测数据包括所述第三终端内每个软件组件的响应时间,所述第三终端为与所述第一终端型号、软件系统版本相同的且未进行老化状态的设备;The first acquisition unit 3012 is configured to acquire second detection data, the second detection data is the data obtained by the third terminal through the system or detection program to detect the software components in the third terminal, the second detection The data includes the response time of each software component in the third terminal, and the third terminal is a device with the same model and software system version as the first terminal and not in an aging state;
第二获取单元3013,用于获取第一检测数据;The second acquiring unit 3013 is configured to acquire the first detection data;
确定单元3014,用于根据所述第一检测数据和所述第二检测数据确定处于老化状态的所述第一软件组件。A determining unit 3014, configured to determine the first software component in an aging state according to the first detection data and the second detection data.
所述确定单元包括:The determination unit includes:
第一获取单元,用于从所述第一检测数据中获取第一响应时间,所述第一响应时间为所述第一终端执行所述第二软件组件获得;A first obtaining unit, configured to obtain a first response time from the first detection data, the first response time is obtained by the first terminal executing the second software component;
第二获取单元,用于并从所述第二检测数据组中获取第二响应时间,所述第二响应时间为所述第三终端执行所述第二软件组件获得;A second obtaining unit, configured to obtain a second response time from the second detection data group, the second response time is obtained by the third terminal executing the second software component;
第三获取单元,用于获取第一差值,所述第一差值为所述第一响应时间和所述第二响应时间的时间差值;A third acquiring unit, configured to acquire a first difference, where the first difference is a time difference between the first response time and the second response time;
第二确定单元,用于当所述第一差值大于预设阈值时,确定所述第二软件组件为处于老化状态的第一软件组件。The second determining unit is configured to determine that the second software component is the first software component in an aging state when the first difference is greater than a preset threshold.
基于上述图8对应的实施例,请参阅图11,所述系统测试装置还包括:Based on the above-mentioned embodiment corresponding to FIG. 8 , please refer to FIG. 11 , the system testing device further includes:
发送模块,用于所述确定模块之前向所述第一终端发送授权请求,所述授权请求用于指示数据存储云获取第一检测数据。The sending module is configured to send an authorization request to the first terminal before the determining module, where the authorization request is used to instruct the data storage cloud to acquire the first detection data.
下面对本发明中的另一用于系统测试的装置进行详细描述,请参阅图12,本发明实施例中用于系统测试的装置包括:The following is a detailed description of another device for system testing in the present invention, please refer to Figure 12, the device for system testing in the embodiment of the present invention includes:
确定模块401,用于确定需要进行系统测试的软件组件;Determining module 401, configured to determine the software components that need to be tested in the system;
修改模块402,用于将所述软件组件存储的数据的存储地址改为不连续的存储地址以达到预定的老化状态;A modification module 402, configured to change the storage address of the data stored by the software component into a discontinuous storage address to achieve a predetermined aging state;
执行模块403,用于执行达到所述老化状态的所述软件组件对应的功能或者执行基于所述软件组件实现的功能以得到反馈信息。The execution module 403 is configured to execute a function corresponding to the software component that has reached the aging state or execute a function based on the software component to obtain feedback information.
图13为本申请实施例中服务器的硬件结构示意图。图13所示的服务器1100可以执行上述实施例的方法中服务器执行的相应步骤。FIG. 13 is a schematic diagram of the hardware structure of the server in the embodiment of the present application. The server 1100 shown in FIG. 13 may execute the corresponding steps executed by the server in the methods of the foregoing embodiments.
如图13所示,所述服务器1100包括处理器1101、存储器1102、接口1103和总线1104。其中接口1103可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器1101、存储器1102和接口1103通过总线1104连接。As shown in FIG. 13 , the server 1100 includes a processor 1101 , a memory 1102 , an interface 1103 and a bus 1104 . The interface 1103 can be implemented in a wireless or wired manner, specifically, it can be a network card. The aforementioned processor 1101 , memory 1102 and interface 1103 are connected through a bus 1104 .
所述接口1103具体可以包括发送器和接收器,用于服务器与上述实施例中的终端设备之间收发信息。The interface 1103 may specifically include a transmitter and a receiver for sending and receiving information between the server and the terminal device in the foregoing embodiments.
所述处理器1101用于执行上述实施例中由服务器进行的处理。例如,所述处理器1101用于经由所述第一链路发送数据流的第一总速率是否大于第一链路的带宽;用于确定第一终端中处于老化状态的第一软件组件;用于与第二终端进行交互以实现与所述第一软件组件对应的老化工具在所述第二终端上的安装,以使得所述第二终端运行所述老化工具对所述第二终端的第一软件组件进行老化并达到所述老化状态,所述第二终端的型号及软件系统版本与所述第一终端相同;用于向所述第一终端推送用于解决老化问题的软件包,其中,所述软件包根据第二终端执行达到所述老化状态的所述第一软件组件对应的功能或执行基于所述第一软件组件实现的功能得到的特征信息生成。和/或用于本文所描述的技术的其他过程。The processor 1101 is configured to execute the processing performed by the server in the foregoing embodiments. For example, the processor 1101 is used to determine whether the first total rate of sending data streams via the first link is greater than the bandwidth of the first link; to determine the first software component in the aging state in the first terminal; Interacting with the second terminal to implement the installation of an aging tool corresponding to the first software component on the second terminal, so that the second terminal runs the aging tool on the second terminal of the second terminal. A software component is aging and reaches the aging state, and the model and software system version of the second terminal are the same as the first terminal; it is used to push a software package for solving the aging problem to the first terminal, wherein The software package is generated according to feature information obtained by the second terminal executing the function corresponding to the first software component reaching the aging state or executing a function based on the implementation of the first software component. and/or other processes for the techniques described herein.
存储器1102包括操作系统11021和应用程序11022,用于存储程序、代码或指令,当处理器或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及服务器的处理过程。可选的,所述存储器1102可以包括只读存储器(英文:Read-only Memory,缩写:ROM)和随机存取存储器(英文:Random Access Memory,缩写:RAM)。其中,所述ROM包括基本输入/输出系统(英文:Basic Input/Output System,缩写:BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行服务器1100时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导服务器1100进入正常运行状态。在服务器1100进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及第一网络设备的处理过程。The memory 1102 includes an operating system 11021 and an application program 11022 for storing programs, codes or instructions, and when the processor or hardware device executes these programs, codes or instructions, the process involving the server in the method embodiment can be completed. Optionally, the memory 1102 may include a read-only memory (English: Read-only Memory, abbreviated: ROM) and a random access memory (English: Random Access Memory, abbreviated: RAM). Wherein, the ROM includes a basic input/output system (English: Basic Input/Output System, abbreviated: BIOS) or an embedded system; the RAM includes an application program and an operating system. When the server 1100 needs to be run, the BIOS solidified in the ROM or the bootloader in the embedded system is used to boot the system, and the server 1100 is booted into a normal running state. After the server 1100 enters the normal running state, the application program and the operating system in the RAM run, thereby completing the processing process involving the first network device in the method embodiment.
可以理解的是,图13仅仅示出了服务器1100的简化设计。在实际应用中,服务器可以包含任意数量的接口,处理器或者存储器。It can be understood that FIG. 13 only shows a simplified design of the server 1100 . In practice, a server can contain any number of interfaces, processors, or memory.
另外,本申请实施例提供了一种计算机存储介质,用于储存为上述服务器所用的计算机软件指令,其包含用于执行上述方法实施例所设计的程序。In addition, an embodiment of the present application provides a computer storage medium for storing computer software instructions used by the above-mentioned server, which includes the program designed for executing the above-mentioned method embodiment.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。In the above embodiments, all or part of them may be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on the computer, all or part of the processes or functions according to the embodiments of the present invention will be generated. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable devices. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server, or data center Transmission to another website site, computer, server or data center by wired (such as coaxial cable, optical fiber, digital subscriber line (Digital Subscriber Line, DSL)) or wireless (such as infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be stored by a computer, or a data storage device such as a server or a data center integrated with one or more available media. The available medium may be a magnetic medium (for example, a floppy disk, a hard disk, or a magnetic tape), an optical medium (for example, DVD), or a semiconductor medium (for example, a Solid State Disk (SSD)).
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and brevity of the description, the specific working process of the above-described system, device and unit can refer to the corresponding process in the foregoing method embodiment, which will not be repeated here.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed system, device and method can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or May be integrated into another system, or some features may be ignored, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit. The above-mentioned integrated units can be implemented in the form of hardware or in the form of software functional units.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or part of the contribution to the prior art or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium , including several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), magnetic disk or optical disk and other various media that can store program codes. .
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。As mentioned above, the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still understand the foregoing The technical solutions recorded in each embodiment are modified, or some of the technical features are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the application.
Claims (18)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810303854.5A CN108595323B (en) | 2018-03-30 | 2018-03-30 | A system testing method and related device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201810303854.5A CN108595323B (en) | 2018-03-30 | 2018-03-30 | A system testing method and related device |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN108595323A true CN108595323A (en) | 2018-09-28 |
| CN108595323B CN108595323B (en) | 2021-08-03 |
Family
ID=63624590
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201810303854.5A Active CN108595323B (en) | 2018-03-30 | 2018-03-30 | A system testing method and related device |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN108595323B (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110221781A (en) * | 2019-06-04 | 2019-09-10 | Oppo广东移动通信有限公司 | Manufacturing method and device of disk fragments, storage medium and intelligent terminal |
| CN110399290A (en) * | 2019-06-18 | 2019-11-01 | 深圳壹账通智能科技有限公司 | Test device, method and the storage medium of message push |
| CN110502414A (en) * | 2019-08-20 | 2019-11-26 | Oppo广东移动通信有限公司 | Terminal equipment performance testing method, device, terminal equipment and storage medium |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1110847C (en) * | 1998-07-30 | 2003-06-04 | 曹骥 | High-temperature dynamic aging device for integrated circuit |
| CN103383659A (en) * | 2013-07-11 | 2013-11-06 | 哈尔滨工程大学 | Software accelerating life test method |
| WO2015022890A1 (en) * | 2013-08-12 | 2015-02-19 | 日本電気株式会社 | Software aging test system, software agint test method, and program for software aging test |
| CN104536894A (en) * | 2015-01-09 | 2015-04-22 | 哈尔滨工程大学 | Global optimization method based on maintenance charge and for two-tier software aging phenomenon |
| CN107037980A (en) * | 2015-12-07 | 2017-08-11 | Sap欧洲公司 | Many expressions storage of time series data |
-
2018
- 2018-03-30 CN CN201810303854.5A patent/CN108595323B/en active Active
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN1110847C (en) * | 1998-07-30 | 2003-06-04 | 曹骥 | High-temperature dynamic aging device for integrated circuit |
| CN103383659A (en) * | 2013-07-11 | 2013-11-06 | 哈尔滨工程大学 | Software accelerating life test method |
| WO2015022890A1 (en) * | 2013-08-12 | 2015-02-19 | 日本電気株式会社 | Software aging test system, software agint test method, and program for software aging test |
| CN104536894A (en) * | 2015-01-09 | 2015-04-22 | 哈尔滨工程大学 | Global optimization method based on maintenance charge and for two-tier software aging phenomenon |
| CN107037980A (en) * | 2015-12-07 | 2017-08-11 | Sap欧洲公司 | Many expressions storage of time series data |
Non-Patent Citations (1)
| Title |
|---|
| 刘忠新等: "分布式文件系统在线性能测试平台研究与实现", 《科研信息化技术与应用》 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110221781A (en) * | 2019-06-04 | 2019-09-10 | Oppo广东移动通信有限公司 | Manufacturing method and device of disk fragments, storage medium and intelligent terminal |
| CN110221781B (en) * | 2019-06-04 | 2022-08-23 | Oppo广东移动通信有限公司 | Manufacturing method and device of disk fragments, storage medium and intelligent terminal |
| CN110399290A (en) * | 2019-06-18 | 2019-11-01 | 深圳壹账通智能科技有限公司 | Test device, method and the storage medium of message push |
| CN110502414A (en) * | 2019-08-20 | 2019-11-26 | Oppo广东移动通信有限公司 | Terminal equipment performance testing method, device, terminal equipment and storage medium |
| CN110502414B (en) * | 2019-08-20 | 2023-08-29 | Oppo广东移动通信有限公司 | Terminal equipment performance testing method, device, terminal equipment and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108595323B (en) | 2021-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109302522B (en) | Test method, test device, computer system, and computer medium | |
| CN110992992B (en) | A hard disk testing method, device and storage medium | |
| CN109388569B (en) | Method for remotely detecting environmental anomaly of client, test server and storage medium | |
| CN114902192A (en) | Validation and prediction of cloud readiness | |
| US10592703B1 (en) | Method and system for processing verification tests for testing a design under test | |
| CN109543417B (en) | Vulnerability mining method and device based on Qemu platform | |
| CN116318861B (en) | Ether-mill intelligent contract return value non-testing method based on dynamic transaction information | |
| CN105068934A (en) | Benchmark test system and method for cloud platform | |
| JP2023554057A (en) | System testing infrastructure with hidden variables, hidden attributes, and hidden value detection | |
| CN112269697A (en) | A device storage performance testing method, system and related device | |
| CN108595323B (en) | A system testing method and related device | |
| CN116414722B (en) | Fuzz testing processing method, device, fuzz testing system and storage medium | |
| CN103186463B (en) | Determine the method and system of the test specification of software | |
| CN110781073A (en) | Security testing method and system | |
| US8997048B1 (en) | Method and apparatus for profiling a virtual machine | |
| CN111400171B (en) | Interface testing method, system and device and readable storage medium | |
| CN110806981B (en) | Application program testing method, device, equipment and storage medium | |
| CN117573550A (en) | Test method and device for automatically detecting multi-tenant system string library | |
| CN115904940A (en) | An adaptive regression random testing method, device, terminal and medium | |
| CN115563587A (en) | Interface protection method, device and application | |
| CN115658517A (en) | Automatic driving integrated test method, device, equipment and storage medium | |
| CN114385428A (en) | A test method for terminal equipment and related equipment | |
| CN115310096A (en) | A security vulnerability processing method, device, equipment and medium | |
| CN115858332A (en) | Grafana-based performance test monitoring method, device and medium | |
| CN113342632A (en) | Simulation data automatic processing method and device, electronic equipment and storage medium |
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 |