Software testing platform based on artificial intelligenceTechnical Field
The invention relates to the technical field of software testing, in particular to a software testing platform based on artificial intelligence.
Background
With the rapid development of computer technology, computer software has been applied to more and more fields, in particular to the key industries of aerospace, finance, medical treatment and other related nationalities. In these fields, software systems are large in scale and complex in logical relationships, and the requirements on the reliability level and the safety level are quite strict. Therefore, people pay more and more attention to software reliability engineering. Meanwhile, as one of the important measures for improving the quality and reliability of software, software reliability testing is gradually becoming the main research direction of software reliability engineering at home and abroad.
However, in the prior art, when software is tested, a proper test mode cannot be matched according to the real-time running state of the software, so that the test of the software lacks pertinence, the test efficiency of the software is reduced, and the cost of the software test process cannot be controlled easily.
In view of the above technical drawbacks, a solution is proposed.
Disclosure of Invention
The invention aims to solve the problems, and provides a software testing platform based on artificial intelligence, which judges the running state of a current analysis object through analysis of the analysis object, so that a proper testing method is matched for the performance test of the analysis object, the accuracy of the test of the analysis object is improved, and the working efficiency of the software test can be improved by aiming at the test; the method for matching and testing the performance test of the analysis object improves the accuracy of the software performance test, and simultaneously, the reasonable matching of the performance test mode can improve the working efficiency of the software performance test, reduce the error of the performance test and improve the reliability of performance data.
The purpose of the invention can be realized by the following technical scheme:
an artificial intelligence based software testing platform comprising:
the reliability verification testing unit is used for performing reliability verification testing on the software, marking the software to be tested as an analysis object, and dividing the analysis object into reliability qualified verification software and non-reliability qualified verification software through the reliability verification testing;
the reliability stability testing unit is used for performing reliability stability testing on the reliability qualified verification software and dividing the reliability qualified verification software into reliability qualified software and reliability unqualified software through the reliability stability testing;
the software analysis unit is used for analyzing the running state of the analysis object, generating a long-period test signal, a short-period test signal and a quality test signal through running state analysis, and sending the long-period test signal, the short-period test signal and the quality test signal to the software test mode matching unit;
the software testing mode matching unit is used for matching the performance test of the analysis object with the testing method;
and the software evaluation terminal is used for evaluating the analysis object and judging whether the test of the analysis object is qualified.
As a preferred embodiment of the present invention, the operation process of the reliability verification test is as follows:
setting a reliability test time period, acquiring the frequency of faults occurring in the operation process of the analysis object and the frequency of incapability of operating the analysis object due to the faults before the operation within the reliability test time period, and respectively marking the frequencies as GZi and YXi; collecting the type number of the corresponding faults of the analysis object in the reliability test time period, and marking the type number as SLi; comparing the reliability verification test coefficient Xi of the analysis object with a reliability verification test coefficient threshold value by analyzing the reliability verification test coefficient Xi of the analysis object obtained by the analysis:
if the reliability verification test coefficient Xi of the analysis object exceeds the reliability verification test coefficient threshold, judging that the reliability verification test of the current analysis object is qualified, marking the current analysis object as reliability qualified verification software, and sending the name of the reliability qualified verification software to a reliability stability test unit;
if the reliability verification test coefficient Xi of the analysis object does not exceed the reliability verification test coefficient threshold, judging that the reliability verification test of the current analysis object is unqualified, marking the current analysis object as non-reliability qualified verification software, and sending the name of the non-reliability qualified verification software to a mobile phone terminal of a manager.
As a preferred embodiment of the present invention, the reliability stability test is performed as follows:
the method comprises the following steps of collecting the frequency of completing a current operation task after a fault occurs in the operation process of the reliability qualification software and the frequency of detecting the fault before the operation of the reliability qualification software, and respectively comparing the frequency with a completion frequency threshold and a detection frequency threshold:
if the frequency of completing the current operation task after a fault occurs in the operation process of the reliability qualification software exceeds the completion frequency threshold and the frequency of detecting the fault before the operation of the reliability qualification software exceeds the detection frequency threshold, judging that the stability analysis of the current reliability qualification software is normal, marking the corresponding reliability qualification software as the reliability qualification software, and sending the name of the reliability qualification software to the software evaluation terminal;
if the frequency of completing the current operation task after the fault occurs in the operation process of the reliability qualified verification software does not exceed the completion frequency threshold, or the frequency of detecting the fault before the operation of the reliability qualified verification software does not exceed the detection frequency threshold, judging that the stability analysis of the current reliability qualified verification software is abnormal, marking the corresponding reliability qualified verification software as the reliability unqualified software, and sending the name of the reliability unqualified software to the mobile phone terminal of the manager.
As a preferred embodiment of the present invention, the operation process of the operation state analysis is as follows:
setting a performance test time period, acquiring a fault cycle of an analysis object in the performance test time period and a ratio of a predicted service life to an actual service life after maintenance is finished on a corresponding fault, and respectively marking the failure cycle and the actual service life as GZZi and SMCi; comparing the running state analysis coefficient Ci of the analysis object with a running state analysis coefficient threshold value by analyzing the running state analysis coefficient Ci of the analysis object:
if the running state analysis coefficient Ci of the analysis object exceeds the running state analysis coefficient threshold, judging that the test period of the current analysis object needs to be long, generating a long-period test signal and sending the long-period test signal and the corresponding analysis object to a software test mode matching unit;
if the running state analysis coefficient Ci of the analysis object does not exceed the running state analysis coefficient threshold, judging that the test period requirement of the current analysis object is short, generating a short-period test signal and sending the short-period test signal and the corresponding analysis object to a software test mode matching unit;
and if the time length difference value of the adjacent fault periods corresponding to the analysis object exceeds the corresponding difference value threshold value, judging that the fault period of the analysis object is unstable, generating a quality test signal and sending the quality test signal and the corresponding analysis object to a software test mode matching unit.
As a preferred embodiment of the present invention, the software testing mode matching unit operates as follows:
after receiving the long-period test signal and the corresponding analysis object, setting the performance test mode of the corresponding analysis object as a quantity test mode, namely setting a test time period, monitoring the number of execution tasks of the corresponding analysis object in the test time period, and judging that the performance test of the corresponding analysis object is qualified if the number of the execution tasks of the analysis object in the test time period exceeds a threshold value of the number of the corresponding execution tasks; if the number of the executed tasks of the analysis object in the test time period does not exceed the threshold value of the number of the corresponding executed tasks, judging that the performance test of the corresponding analysis object is unqualified;
after receiving the short-period test signal and the corresponding analysis object, setting the performance test mode of the corresponding analysis object as a defect test mode, monitoring the operation defects of the corresponding analysis object in a test time period, and if the number of the operation defects of the analysis object in the test time period exceeds the threshold value of the number of the corresponding operation defects, judging that the performance test of the corresponding analysis object is unqualified; if the number of the operation defects of the analysis object in the test time period does not exceed the threshold value of the number of the corresponding operation defects, judging that the performance test of the corresponding analysis object is qualified;
after receiving a quality test signal and a corresponding analysis object, setting a performance test mode of the corresponding analysis object as a quality test mode, monitoring the operation quality of the corresponding analysis object in a test time period, acquiring the task execution time after the analysis object fails in the test time period and the frequency of generating early warning before the analysis object fails in the test time period, respectively marking the task execution time after the failure and the frequency of generating early warning, and respectively comparing the execution time after the failure and the frequency of generating early warning with an execution time threshold and an early warning frequency threshold:
if the execution time length after the fault exceeds the execution time length threshold value and the generated early warning frequency exceeds the early warning frequency threshold value, judging that the performance test of the corresponding analysis object is qualified; if the execution time length does not exceed the execution time length threshold value after the fault or the generated early warning frequency does not exceed the early warning frequency threshold value, judging that the performance test of the corresponding analysis object is unqualified;
marking the analysis object with unqualified performance test as unqualified performance test software; marking the analysis object qualified by the performance test as performance test qualified software; and the name of the qualified software of the performance test is sent to the software evaluation terminal.
In a preferred embodiment of the present invention, the software evaluation terminal operates as follows:
after receiving the corresponding names of the performance test qualified software and the reliability qualified software, analyzing an analysis object: if the analysis objects are performance test qualified software and reliability qualified software, judging that the test of the corresponding analysis object is qualified; if the analysis objects are not both performance test qualified software and reliability qualified software, judging that the test of the corresponding analysis object is unqualified, and performing software optimization on the corresponding analysis object; if the analysis objects are not performance test qualified software or reliability qualified software, judging that the test of the corresponding analysis object is unqualified, and performing software maintenance on the corresponding analysis object.
Compared with the prior art, the invention has the beneficial effects that:
according to the invention, the software is subjected to the reliability verification test, and the reliability of the software is subjected to the verification test, so that the accuracy of the software test is improved, and meanwhile, the reliability of the software is rectified in real time, and the capability of stable operation of the software is judged; the reliability stability test is carried out on the reliability qualified verification software, and the operation stability of the reliability qualified verification software when a fault occurs is judged, so that the software is further tested, and the accuracy of the software test is improved; the running state of the current analysis object is analyzed and judged through the analysis object, so that a proper test method is matched for the performance test of the analysis object, the accuracy of the analysis object test is improved, and the working efficiency of the software test can be improved by carrying out the specific test; the method for matching and testing the performance test of the analysis object improves the accuracy of the software performance test, and simultaneously, the working efficiency of the software performance test can be improved by reasonably matching the performance test mode, the error of the performance test is reduced, and the reliability of performance data is improved.
Drawings
In order to facilitate understanding for those skilled in the art, the present invention will be further described with reference to the accompanying drawings.
Fig. 1 is a schematic block diagram of the present invention.
Detailed Description
The technical solutions of the present invention will be described clearly and completely with reference to the following embodiments, and it should be understood that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Therefore, in the using process of the software, the qualified running of the software directly affects the using quality of a user, so that the software testing is an important link of software maintenance, and the importance of the software testing is as follows: ensuring the quality of the software through software testing; providing information for developers to conveniently prepare for risk assessment; the software test runs through the whole software development process, so that the high quality of the whole software development process is ensured; the software testing is used for discovering the software errors, effectively defining and realizing the assembly process of the software components from the lower layer to the higher layer; whether the software meets the technical requirements specified by the task book and the system definition document is verified through software testing;
the system is used for analyzing the reliability and performance test of the software and evaluating the software according to the result of the reliability and performance test analysis; referring to fig. 1, a software testing platform based on artificial intelligence; the reliability verification test unit is used for carrying out the reliability verification test on the software, the reliability of the software is verified and tested, the accuracy of the software test is improved, meanwhile, the reliability of the software is rectified in real time, and the capability of stable operation of the software is judged;
marking software to be tested as an analysis object, setting a mark i as a natural number larger than 1, setting a reliability test time period, acquiring the frequency of faults occurring in the operation process of the analysis object and the frequency of failure of the analysis object before operation, and respectively marking the frequency of faults occurring in the operation process of the analysis object and the frequency of failure of the analysis object before operation as GZi and YXi; collecting the type number of the faults corresponding to the analysis object in the reliability test time period, and marking the type number of the faults corresponding to the analysis object in the reliability test time period as SLi;
by the formula
Obtaining a reliability verification test coefficient Xi of an analysis object, wherein a1, a2 and a3 are all preset proportionality coefficients, and a1 is more than a2 is more than a3 is more than 0; comparing the reliability verification test coefficient Xi of the analysis object with a reliability verification test coefficient threshold value:
if the reliability verification test coefficient Xi of the analysis object exceeds the reliability verification test coefficient threshold, judging that the reliability verification test of the current analysis object is qualified, marking the current analysis object as reliability verification software, and sending the name of the reliability verification software to a reliability stability test unit;
if the reliability verification test coefficient Xi of the analysis object does not exceed the reliability verification test coefficient threshold, judging that the reliability verification test of the current analysis object is unqualified, marking the current analysis object as non-reliability qualified verification software, sending the name of the non-reliability qualified verification software to a mobile phone terminal of a manager, and upgrading and maintaining the non-reliability qualified verification software by the manager, so that the fault rate of the corresponding non-reliability qualified verification software is reduced;
the reliability stability testing unit is used for performing reliability stability testing on the reliability qualified verification software and judging the operation stability of the reliability qualified verification software when a fault occurs, so that the software is further tested, and the accuracy of software testing is improved;
acquiring the frequency of completing the current running task after a fault occurs in the running process of the reliability qualification software and the frequency of detecting the fault before the running of the reliability qualification software, and comparing the frequency of completing the current running task after the fault occurs in the running process of the reliability qualification software and the frequency of detecting the fault before the running of the reliability qualification software with a completion frequency threshold and a detection frequency threshold respectively:
if the frequency of completing the current operation task after a fault occurs in the operation process of the reliability qualification software exceeds the completion frequency threshold and the frequency of detecting the fault before the operation of the reliability qualification software exceeds the detection frequency threshold, judging that the stability analysis of the current reliability qualification software is normal, marking the corresponding reliability qualification software as the reliability qualification software, and sending the name of the reliability qualification software to the software evaluation terminal; if the frequency of completing the current operation task after a fault occurs in the operation process of the qualified reliability verification software does not exceed the completion frequency threshold, or the frequency of detecting the fault before the operation of the qualified reliability verification software does not exceed the detection frequency threshold, judging that the stability analysis of the current qualified reliability verification software is abnormal, marking the corresponding qualified reliability verification software as unqualified reliability software, sending the name of the unqualified reliability software to a mobile phone terminal of a manager, and increasing the software fault detection strength of the unqualified reliability software by the manager;
the running state of the analysis object is analyzed through the software analysis unit, and the running state of the current analysis object is judged through analysis of the analysis object, so that a proper test method is matched for the performance test of the analysis object, the accuracy of the test of the analysis object is improved, and meanwhile, the working efficiency of the software test can be improved through targeted test;
setting a performance test time period, acquiring a fault cycle of an analysis object in the performance test time period and a ratio of a predicted service life to an actual service life after maintenance is finished corresponding to a fault, and respectively marking the fault cycle of the analysis object in the performance test time period and the ratio of the predicted service life to the actual service life after maintenance is finished corresponding to the fault as GZZi and SMCi; acquiring a running state analysis coefficient Ci of an analysis object by a formula Ci ═ beta (GZZi × s1+ SMCi × s2), wherein s1 and s2 are both preset proportional coefficients, s1 is larger than s2 is larger than 0, and beta is an error correction factor and takes a value of 1.24;
comparing the running state analysis coefficient Ci of the analysis object with a running state analysis coefficient threshold value:
if the running state analysis coefficient Ci of the analysis object exceeds the running state analysis coefficient threshold, judging that the test period of the current analysis object needs to be long, generating a long-period test signal and sending the long-period test signal and the corresponding analysis object to a software test mode matching unit; if the running state analysis coefficient Ci of the analysis object does not exceed the running state analysis coefficient threshold, judging that the test period requirement of the current analysis object is short, generating a short-period test signal and sending the short-period test signal and the corresponding analysis object to a software test mode matching unit;
if the time length difference value of the analysis object corresponding to the adjacent fault period exceeds the corresponding difference value threshold value, the fault period of the analysis object is judged to be unstable, a quality test signal is generated, and the quality test signal and the corresponding analysis object are sent to a software test mode matching unit; in the application, if the time length difference value of the adjacent fault periods corresponding to the analysis object does not exceed the corresponding difference value threshold, the corresponding analysis object is judged to have regularity, namely, the running state analysis coefficients of the corresponding analysis object are compared;
the performance test of the analysis object is matched with the test method through the software test mode matching unit, so that the accuracy of the software performance test is improved, meanwhile, the working efficiency of the software performance test can be improved by reasonably matching the performance test mode, the error of the performance test is reduced, and the reliability of performance data is improved;
after receiving the long-period test signal and the corresponding analysis object, setting the performance test mode of the corresponding analysis object as a quantity test mode, namely setting a test time period, monitoring the number of execution tasks of the corresponding analysis object in the test time period, and judging that the performance test of the corresponding analysis object is qualified if the number of the execution tasks of the analysis object in the test time period exceeds a threshold value of the number of the corresponding execution tasks; if the number of the executed tasks of the analysis object in the test time period does not exceed the threshold value of the number of the corresponding executed tasks, judging that the performance test of the corresponding analysis object is unqualified;
after receiving the short-period test signal and the corresponding analysis object, setting the performance test mode of the corresponding analysis object as a defect test mode, monitoring the operation defects of the corresponding analysis object in a test time period, and if the number of the operation defects of the analysis object in the test time period exceeds the threshold value of the number of the corresponding operation defects, judging that the performance test of the corresponding analysis object is unqualified; if the number of the operation defects of the analysis object in the test time period does not exceed the threshold value of the number of the corresponding operation defects, judging that the performance test of the corresponding analysis object is qualified; the operation defects are expressed as related operation defects such as fault frequency, buffer duration and the like in the software operation process;
after receiving a quality test signal and a corresponding analysis object, setting a performance test mode of the corresponding analysis object as a quality test mode, monitoring the operation quality of the corresponding analysis object in a test time period, acquiring the task execution time after the analysis object fails in the test time period and the frequency of generating early warning before the analysis object fails in the test time period, and comparing the task execution time after the analysis object fails in the test time period and the frequency of generating early warning before the analysis object fails in the test time period with an execution time threshold and an early warning frequency threshold respectively:
if the task execution time after the analysis object fails in the test time period exceeds the execution time threshold, and the frequency of generating early warning before the analysis object fails in the test time period exceeds the early warning frequency threshold, judging that the performance test of the corresponding analysis object is qualified; if the task execution time after the analysis object fails in the test time period does not exceed the execution time threshold, or the frequency of generating early warning before the analysis object fails in the test time period does not exceed the early warning frequency threshold, determining that the performance test of the corresponding analysis object is unqualified;
marking the analysis object with unqualified performance test as unqualified performance test software; marking the analysis object qualified by the performance test as performance test qualified software; sending the name of the qualified software of the performance test to a software evaluation terminal, and simultaneously performing performance rectification on the unqualified performance test software;
after the software evaluation terminal receives the corresponding names of the performance test qualified software and the reliability qualified software, analyzing the analysis object, and if the analysis objects are the performance test qualified software and the reliability qualified software, judging that the test of the corresponding analysis object is qualified; if the analysis objects are not both performance test qualified software and reliability qualified software, judging that the test of the corresponding analysis object is unqualified, and performing software optimization on the corresponding analysis object; if the analysis objects are not performance test qualified software or reliability qualified software, judging that the test of the corresponding analysis object is unqualified, and performing software maintenance on the corresponding analysis object.
The formulas are obtained by acquiring a large amount of data and performing software simulation, and the coefficients in the formulas are set by the technicians in the field according to actual conditions;
when the device is used, the reliability verification test unit is used for carrying out the reliability verification test on the software, the software for testing is marked as an analysis object, and the analysis object is divided into the reliability qualified verification software and the non-reliability qualified verification software through the reliability verification test; the reliability stability testing unit is used for carrying out reliability stability testing on the reliability qualified verification software, and the reliability qualified verification software is divided into reliability qualified software and reliability unqualified software through the reliability stability testing; analyzing the running state of an analysis object through a software analysis unit, generating a long-period test signal, a short-period test signal and a quality test signal through running state analysis, and sending the long-period test signal, the short-period test signal and the quality test signal to a software test mode matching unit; matching the performance test of the analysis object with a test method through a software test mode matching unit; and evaluating the analysis object through a software evaluation terminal, and judging whether the test of the analysis object is qualified.
The preferred embodiments of the invention disclosed above are intended to be illustrative only. The preferred embodiments are not intended to be exhaustive or to limit the invention to the precise forms disclosed. Obviously, many modifications and variations are possible in light of the above teaching. The embodiments were chosen and described in order to best explain the principles of the invention and the practical application, to thereby enable others skilled in the art to best utilize the invention. The invention is limited only by the claims and their full scope and equivalents.