CN112395199B - Distributed software instance testing method based on cloud computing and software development platform - Google Patents

Distributed software instance testing method based on cloud computing and software development platform Download PDF

Info

Publication number
CN112395199B
CN112395199B CN202011333531.4A CN202011333531A CN112395199B CN 112395199 B CN112395199 B CN 112395199B CN 202011333531 A CN202011333531 A CN 202011333531A CN 112395199 B CN112395199 B CN 112395199B
Authority
CN
China
Prior art keywords
instance
application service
service execution
software
execution
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011333531.4A
Other languages
Chinese (zh)
Other versions
CN112395199A (en
Inventor
罗嗣扬
季明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Luo Siyang
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN202011333531.4A priority Critical patent/CN112395199B/en
Priority to CN202110531179.3A priority patent/CN113220577A/en
Priority to CN202110531178.9A priority patent/CN113176999A/en
Publication of CN112395199A publication Critical patent/CN112395199A/en
Application granted granted Critical
Publication of CN112395199B publication Critical patent/CN112395199B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

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

Abstract

The embodiment of the application provides a distributed software instance testing method and a software development platform based on cloud computing, and at least two application service execution instances can be clustered into a target clustering instance according to instance parameter information of a plurality of application service execution instances in an application service instance execution map of a distributed application program package, wherein the target clustering instance is used for indicating software testing tasks of service instances represented by the clustered application service execution instances to be tested. And then, the application service instance execution map can be updated by adopting the target clustering instance, and the updated application service instance execution map is sent to the software instance test program, so that the software instance test program can test the software test task of the service instance represented by the clustered application service execution instance according to the indication of the target clustering instance in the process of testing the distributed application program package, thereby reducing the number of times of re-calling for testing, saving cloud computing resources and shortening the total testing time.

Description

Distributed software instance testing method based on cloud computing and software development platform
Technical Field
The application relates to the technical field of distributed software development, in particular to a distributed software instance testing method and a software development platform based on cloud computing.
Background
In a distributed software development process, extensive software development compilation is typically involved. In the related art, after software development and compilation are performed, software testing is required to be performed before the software development and compilation is put into actual project updating. However, the inventor researches and finds that in the current testing scheme, each application service execution instance (for example, an instance of an order placing function, an instance of a payment function and the like for a certain order service) needs to be tested separately in a loop, which results in a large number of times of re-calling for each test. However, the inventor tests and finds that, in fact, development and use of many software function services generally exist in a cluster, and how to reduce the number of times of test recall to save cloud computing resources and shorten the total test time is a technical problem to be solved in the field.
Disclosure of Invention
In order to overcome at least the above disadvantages in the prior art, the present application aims to provide a distributed software instance testing method and a software development platform based on cloud computing, which can test software testing tasks of service instances represented by clustered application service execution instances according to the instructions of target clustering instances, thereby reducing the number of times of re-calling for testing, saving cloud computing resources, and shortening the total testing time.
In a first aspect, the present application provides a distributed software instance testing method based on cloud computing, which is applied to a software development platform, where the software development platform is in communication connection with a plurality of software development editing terminals, and the method includes:
acquiring a distributed application program package obtained based on a current compiled file of different software function partitions;
acquiring instance parameter information of a plurality of application service execution instances in an application service instance execution map of the distributed application program package; each application service execution instance is used for representing one or more service instances which need to be executed in the function implementation process of the distributed application program package, and the software testing task of the service instance represented by each application service execution instance needs to be tested; the instance parameter information of any application service execution instance is used for reflecting the incidence relation between the application service execution instance and other application service execution instances;
clustering at least two application service execution instances into a target clustering instance according to instance parameter information of each application service execution instance, wherein the target clustering instance is used for indicating software test tasks of service instances represented by the clustered application service execution instances to be tested;
and updating the application service instance execution map by adopting the target clustering instance, sending the updated application service instance execution map to a software instance test program, wherein the updated application service instance execution map is used for indicating the software instance test program to test the software test task of the service instance represented by the clustered application service execution instance in the function implementation process of the distributed application program package according to the indication of the target clustering instance, and outputting a test result.
In a possible implementation manner of the first aspect, the multiple application service execution instances correspond to a target service execution path, and the target service execution path is obtained by connecting the application service execution instances with multiple service flow direction lines based on a service path relationship of the application service execution instances in the application service instance execution map;
the traffic path relationship is used to indicate: one application service execution instance accesses the path relation of other application service execution instances along at least one execution path in the application service instance execution map;
the instance test information of any application service execution instance comprises at least one of the following items: the instance test point set of any application service execution instance and the reverse instance test point set of any application service execution instance;
the example test points in the example test point set of any application service execution example are as follows: the application service execution instances which pass through all forward paths from the initial application service execution instance in the target service execution path to any application service execution instance;
the embodiment test point set of any application service execution example is the first embodiment test point of any application service execution example;
the reverse instance test points in the reverse instance test point set of any application service execution instance are: the application service execution examples which are passed by all reverse paths from the initial application service execution example to any one of the application service execution examples in the reverse path relation corresponding to the target service execution path;
the reverse instance test point set of any application service execution instance is the first reverse instance test point of any application service execution instance;
the reverse path relation is a path relation obtained by performing reverse processing on each service flow direction line in the target service execution path;
the clustering at least two application service execution examples into a target clustering example according to the example parameter information of each application service execution example comprises:
constructing instance test topology distribution formed by the application service execution instances according to the instance parameter information of each application service execution instance;
extracting clustering distribution information based on the example test topological distribution;
the cluster distribution information includes: the method comprises the steps that example groups required by multilayer clustering are obtained, and at least one example exists in each example group and is used as an application service execution example;
and performing at least one layer of clustering iteration processing on the plurality of application service execution examples according to the clustering distribution information to obtain a target clustering example.
In a possible implementation manner of the first aspect, the constructing an instance test topology distribution composed of the multiple application service execution instances according to the instance parameter information of each application service execution instance includes:
taking the initial application service execution example in the target service execution path as a basic example of example test topology distribution, and determining the rest application service execution examples except the initial application service execution example in the target service execution path in the plurality of application service execution examples;
acquiring a first instance test point of each residual application service execution instance from an instance test point set in instance parameter information of each residual application service execution instance;
determining the first incidence relation among the application service execution examples according to the first example test point of each residual application service execution example;
and adding the residual application service execution examples to the basic examples according to the first incidence relation so as to obtain example testing topological distribution.
In a possible implementation manner of the first aspect, the parent instance of each application service execution instance in the instance test topology distribution except for the base instance is: the first instance test point of each application service execution instance; p example test pairs exist in the application service execution examples, and one example test pair is associated with an example group required by at least one layer of clustering; wherein, P is a positive integer;
the extracting clustering distribution information based on the instance test topology distribution comprises:
according to the traversal sequence of the hierarchical distribution, selecting a first application service execution example from the application service execution examples which are not traversed in the example test topology distribution;
detecting whether a second application service execution instance and the first application service execution instance form a P instance test pair according to a reverse instance test point set of each application service execution instance except the last application service execution instance in the target service execution path, wherein P belongs to [1, P ];
the second application service execution instance satisfies the following conditions: the second application service execution example is the first example test point of the first application service execution example, and the first application service execution example is the first reverse example test point of the second application service execution example;
if the second application service execution example exists, selecting at least one application service execution example from the plurality of application service execution examples according to the second application service execution example, adding the selected application service execution example into an example group required by the target layer clustering associated with the No. P example test pair, and continuously traversing the example test topology distribution; and if not, reselecting the first application service execution example until all the application service execution examples in the example test topology distribution are traversed.
In a possible implementation manner of the first aspect, if the first application service execution instance exists, selecting at least one application service execution instance from the multiple application service execution instances according to the second application service execution instance, and adding the selected application service execution instance to an instance group required by a target layer cluster associated with the pth instance test pair, includes:
if the second application service execution instance exists, acquiring a derived instance set of the second application service execution instance from the instance test topology distribution;
if the derived instance set only comprises the first application service execution instance and the derived instance of the first application service execution instance, selecting the first application service execution instance and the second application service execution instance, and adding the first application service execution instance and the second application service execution instance into an instance group required by a target layer cluster associated with the No. P instance test pair;
and if the derivative instance set comprises other derivative instances except the first application service execution instance and the derivative instance of the first application service execution instance, selecting the other derivative instances to add into the instance group required by the target layer cluster.
In a possible implementation manner of the first aspect, the selecting the first application service execution instance and the second application service execution instance, and adding the selected first application service execution instance and the second application service execution instance to an instance group required by a target layer cluster associated with the pth instance test pair includes:
detecting whether a first past example group exists in an example group required by the previous P-1 example tests for clustering the associated past layers, wherein the first past example group comprises the first application service execution example;
if the first past instance group exists, adding the clustering instance corresponding to the first past instance group and the second application service execution instance to an instance group required by clustering of a target layer associated with the No. P instance test pair;
and if the first past instance group does not exist, adding the first application service execution instance and the second application service execution instance to the instance group required by the target layer clustering.
In a possible implementation manner of the first aspect, the selecting the other derived instances to be added to the set of instances required by the target layer clustering includes:
detecting whether a second past instance group comprising the clustering instances corresponding to the other derived instances exists in an instance group required by the previous P-1 instance tests for clustering the associated past layers;
if the second past instance group exists, adding the clustering instance corresponding to the second past instance group, the first application service execution instance and the second application service execution instance to the instance group required by the target layer clustering;
and if the second past instance group does not exist, adding the other derived instances to the instance group required by the target-level cluster, and adding the cluster instances clustered by the other derived instances, the first application service execution instance and the second application service execution instance to the instance group required by the next-level cluster which is associated with the P-th instance test pair and is positioned below the target-level cluster.
In a possible implementation manner of the first aspect, the updating the application service instance execution graph with the target cluster instance includes:
adding the target clustering instances in the application service instance execution map, and connecting the target clustering instances and the clustered application service execution instances by adopting a service flow direction line;
adding a matched instance to the application service execution instance which is not clustered in the application service instance execution map, and adding a matched instance to the target clustering instance in the application service instance execution map.
In a possible implementation manner of the first aspect, the step of obtaining a distributed application package obtained based on a current compiled file of different software functional partitions includes:
acquiring a software development kit configuration file of the software development editing terminal, and performing distributed compilation software package analysis on the software development kit configuration file through a cloud computing software development service to obtain distributed compilation software package information of software function partitions in the software development kit configuration file, wherein the software development kit configuration file is a configuration file formed by software development kit configuration data edited by each software function partition generated based on software development statistical requirements;
performing source compiling characteristic analysis based on the distributed compiling software package information of the software function partition to obtain a target source compiling characteristic of the software function partition;
performing distributed compiling description information analysis on the software development kit configuration file based on a distributed compiling program to obtain distributed compiling description information of the software functional partition;
performing compilation dependency relationship matching on target source compilation characteristics of software function partitions in the configuration file of the software development kit and distributed compilation description information of the software function partitions to obtain compilation dependency relationship matching information of the software function partitions, and performing source code file compilation on the distributed compilation software package based on the compilation dependency relationship matching information of the software function partitions to obtain a current compilation file of the software function partitions;
performing software signature according to the current compiled file of the software function partition to obtain a corresponding distributed application program package;
the step of obtaining instance parameter information of a plurality of application service execution instances in an application service instance execution graph of the distributed application program package includes:
extracting each application service instance in the distributed application program package to construct an application service instance execution map according to the service relationship of each application service instance, obtaining instance parameter information of each application service instance according to the association relationship between each application service execution instance and other application service execution instances, wherein the association relationship between each application service execution instance and other application service execution instances is obtained from the header information in the distributed application program package
In a second aspect, an embodiment of the present application further provides a distributed software instance testing apparatus based on cloud computing, which is applied to a software development platform, where the software development platform is in communication connection with a plurality of software development editing terminals, and the apparatus includes:
the first acquisition module is used for acquiring a distributed application program package obtained based on the current compiled file of different software function partitions;
the second acquisition module is used for acquiring the instance parameter information of a plurality of application service execution instances in the application service instance execution map of the distributed application program package; each application service execution instance is used for representing one or more service instances which need to be executed in the function implementation process of the distributed application program package, and the software testing task of the service instance represented by each application service execution instance needs to be tested; the instance parameter information of any application service execution instance is used for reflecting the incidence relation between the application service execution instance and other application service execution instances;
the clustering module is used for clustering at least two application service execution instances into a target clustering instance according to the instance parameter information of each application service execution instance, and the target clustering instance is used for indicating the software test task of the service instance represented by the clustered application service execution instances to be tested;
and the testing module is used for updating the application service instance execution map by using the target clustering instance and sending the updated application service instance execution map to a software instance testing program, wherein the updated application service instance execution map is used for indicating the software instance testing program to test the software testing task of the service instance represented by the clustered application service execution instance in the function realization process of the distributed application program package according to the indication of the target clustering instance and outputting a testing result.
In a third aspect, an embodiment of the present application further provides a distributed software instance testing system based on cloud computing, where the distributed software instance testing system based on cloud computing includes a software development platform and a plurality of software development editing terminals in communication connection with the software development platform;
the software development platform is used for:
acquiring a distributed application program package obtained based on a current compiled file of different software function partitions;
acquiring instance parameter information of a plurality of application service execution instances in an application service instance execution map of the distributed application program package; each application service execution instance is used for representing one or more service instances which need to be executed in the function implementation process of the distributed application program package, and the software testing task of the service instance represented by each application service execution instance needs to be tested; the instance parameter information of any application service execution instance is used for reflecting the incidence relation between the application service execution instance and other application service execution instances;
clustering at least two application service execution instances into a target clustering instance according to instance parameter information of each application service execution instance, wherein the target clustering instance is used for indicating software test tasks of service instances represented by the clustered application service execution instances to be tested;
and updating the application service instance execution map by adopting the target clustering instance, sending the updated application service instance execution map to a software instance test program, wherein the updated application service instance execution map is used for indicating the software instance test program to test the software test task of the service instance represented by the clustered application service execution instance in the function implementation process of the distributed application program package according to the indication of the target clustering instance, and outputting a test result.
In a fourth aspect, an embodiment of the present application further provides a software development platform, where the software development platform includes a processor, a machine-readable storage medium, and a network interface, where the machine-readable storage medium, the network interface, and the processor are connected through a bus system, the network interface is used for being communicatively connected with at least one software development editing terminal, the machine-readable storage medium is used for storing a program, an instruction, or a code, and the processor is used for executing the program, the instruction, or the code in the machine-readable storage medium to perform the cloud computing-based distributed software instance testing method in the first aspect or any one of the possible implementation manners in the first aspect.
In a fifth aspect, an embodiment of the present application provides a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the instructions are executed, the computer executes the method for testing a distributed software instance based on cloud computing in the first aspect or any one of the possible implementations of the first aspect.
Based on any one of the above aspects, the application may cluster at least two application service execution instances into a target clustering instance according to instance parameter information of a plurality of application service execution instances in an application service instance execution map of a distributed application package, where the target clustering instance is used to instruct to test software test tasks of service instances represented by the clustered application service execution instances. And then, the application service instance execution map can be updated by adopting the target clustering instance, and the updated application service instance execution map is sent to the software instance test program, so that the software instance test program can test the software test task of the service instance represented by the clustered application service execution instance according to the indication of the target clustering instance in the process of testing the distributed application program package, thereby reducing the number of times of re-calling for testing, saving cloud computing resources and shortening the total testing time.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings that need to be called in the embodiments are briefly described below, it should be understood that the following drawings only illustrate some embodiments of the present application and therefore should not be considered as limiting the scope, and for those skilled in the art, other related drawings can be obtained according to the drawings without inventive efforts.
Fig. 1 is a schematic application scenario diagram of a distributed software instance testing system based on cloud computing according to an embodiment of the present application;
fig. 2 is a schematic flowchart of a cloud computing-based distributed software instance testing method according to an embodiment of the present application;
fig. 3 is a functional module schematic diagram of a distributed software example testing device based on cloud computing according to an embodiment of the present application;
fig. 4 is a schematic block diagram of structural components of a software development platform for implementing the cloud computing-based distributed software instance testing method according to the embodiment of the present application.
Detailed Description
The present application will now be described in detail with reference to the drawings, and the specific operations in the method embodiments may also be applied to the apparatus embodiments or the system embodiments.
FIG. 1 is an interaction diagram of a distributed software instance testing system 10 based on cloud computing according to an embodiment of the present application. The cloud computing-based distributed software instance testing system 10 may include a software development platform 100 and a software development editing terminal 200 communicatively connected to the software development platform 100. The cloud-based distributed software instance testing system 10 shown in fig. 1 is merely one possible example, and in other possible embodiments, the cloud-based distributed software instance testing system 10 may include only a portion of the components shown in fig. 1 or may include other components.
Based on the inventive concept of the technical solution provided by the present application, the software development platform 100 provided by the present application can be applied to scenes such as smart medical care, smart city management, smart industrial internet, general service monitoring management, and the like, in which a big data technology or a cloud computing technology can be applied, and for example, the software development platform can also be applied to scenes such as but not limited to new energy automobile system management, smart cloud office, cloud platform data processing, cloud game data processing, cloud live broadcast processing, cloud automobile management platform, block chain financial data service platform, and the like, but is not limited thereto.
In this embodiment, the software development platform 100 and the software development editing terminal 200 in the cloud computing-based distributed software instance testing system 10 may execute the cloud computing-based distributed software instance testing method described in the following method embodiment in a matching manner, and the detailed description of the following method embodiment may be referred to for the execution step portions of the software development platform 100 and the software development editing terminal 200.
In order to solve the technical problem in the foregoing background art, fig. 2 is a schematic flowchart of a cloud computing-based distributed software instance testing method provided in an embodiment of the present application, where the cloud computing-based distributed software instance testing method provided in the present embodiment may be executed by the software development platform 100 shown in fig. 1, and the cloud computing-based distributed software instance testing method is described in detail below.
Step S110, obtaining a distributed application program package obtained based on the current compiled file of different software function partitions.
Step S120, obtaining the instance parameter information of a plurality of application service execution instances in the application service instance execution map of the distributed application program package.
In this embodiment, each application service execution instance may be used to represent one or more service instances that the distributed application package needs to be executed in the function implementation process, and the software testing task of the service instance represented by each application service execution instance needs to perform a test.
In this embodiment, the service instance representation refers to the actual function of the service represented by the process of creating an object by using an abstract concept class in object-oriented programming.
In this embodiment, the instance parameter information of any application service execution instance is used to reflect the association relationship between any application service execution instance and other application service execution instances. For example, for order service, there is an association relationship between the application service execution instance of the order placing service and the application service execution instance of the order payment service and the application service execution instance of the order confirmation service, and after the order is placed, the order payment needs to be performed, and after the order payment, the order receipt information needs to be confirmed.
Step S130, clustering at least two application service execution instances into a target clustering instance according to the instance parameter information of each application service execution instance.
In this implementation, the target clustering instance is used to instruct the software testing task of the service instance represented by the clustered application service execution instance to be tested.
And step S140, updating the application service instance execution map by using the target clustering instance, and sending the updated application service instance execution map to the software instance test program.
In this implementation, the updated application service instance execution map may be used to instruct the software instance test program to test the software test task of the service instance represented by the clustered application service instance in the function implementation process of the distributed application package according to the instruction of the target clustering instance, and output a test result.
In detail, in some possible implementation manners, the software testing task may be configured according to the requirement of the actual software function, and may be specifically customized, or refer to a conventional testing task in the prior art, which is not limited herein. In addition, the specific test logic of the software instance test program can be adaptively configured by referring to the software test task, and the content and the form of the specific test are not the technical problems which are intended to be solved by the embodiments of the present application and are not described in detail herein.
Based on the above steps, in this embodiment, at least two application service execution instances may be clustered into a target clustering instance according to instance parameter information of multiple application service execution instances in an application service instance execution map of a distributed application package, where the target clustering instance is used to instruct to test software test tasks of service instances represented by the clustered application service execution instances. And then, the application service instance execution map can be updated by adopting the target clustering instance, and the updated application service instance execution map is sent to the software instance test program, so that the software instance test program can test the software test task of the service instance represented by the clustered application service execution instance according to the indication of the target clustering instance in the process of testing the distributed application program package, thereby reducing the number of times of re-calling for testing, saving cloud computing resources and shortening the total testing time.
In a possible implementation manner, before the embodiments of the present application are described in detail, the following first explains the respective definitions so that a person skilled in the art can clearly and completely implement the solution of the embodiments of the present application.
In detail, the plurality of application service execution instances correspond to one target service execution path. The target service execution path is obtained by connecting each application service execution instance with a plurality of service flow lines based on the service path relation of each application service execution instance in the application service instance execution map.
As such, in the art, traffic path relationships may be used to indicate: one application service execution instance accesses path relationships of other application service execution instances along at least one execution path in the application service instance execution graph.
The instance test information of any application service execution instance comprises at least one of the following items: the instance test point set of any application service execution instance and the reverse instance test point set of any application service execution instance.
It should be noted that the example test points in the example test point set of any application service execution example can be understood as follows: and the application service execution instances pass through all forward paths from the starting application service execution instance in the target service execution path to any application service execution instance.
The example test point set of any application service execution example is the first example test point of any application service execution example, and the example test point set of any application service execution example is the first example test point of any application service execution example.
In this embodiment, the reverse instance test point in the reverse instance test point set of any application service execution instance may be understood as: and the application service execution examples are passed by all reverse paths from the initial application service execution example to any application service execution example in the reverse path relation corresponding to the target service execution path.
In this embodiment, the reverse instance test point set of any application service execution instance is the first reverse instance test point from any application service execution instance, and is the first reverse instance test point of any application service execution instance.
In this embodiment, the reverse path relationship refers to a path relationship obtained by performing reverse processing on each service flow direction line in the target service execution path.
In this way, for step S130, in the process of clustering at least two application service execution instances into a target clustering instance according to the instance parameter information of each application service execution instance, the following exemplary sub-steps can be implemented, which are described in detail below.
And a substep S131, constructing instance test topology distribution composed of a plurality of application service execution instances according to the instance parameter information of each application service execution instance.
And a substep S132 of extracting clustering distribution information based on the example test topology distribution.
In this embodiment, the cluster distribution information may include: and clustering example groups required by multiple layers, wherein at least one example exists in each example group and is an application service execution example.
And a substep S133 of performing at least one layer of clustering iteration processing on the plurality of application service execution instances according to the clustering distribution information to obtain a target clustering instance.
For example, in one possible implementation manner, an nth instance group required by the nth-layer cluster may be determined according to the cluster distribution information, and the total number of instance hops of the nth instance group is determined according to the number of instance hops of each instance in the nth instance group; n belongs to [1, N ], and N is the distribution layer series of the clustering distribution information. And when the total number of the example jumping times of the nth example group is less than or equal to the example jumping time threshold value, clustering the examples in the nth example group to obtain the nth clustering example. And if the current value of N is less than N and the sum of the example jumping times of the N +1 th example group required by the N +1 th layer clustering acquired according to the clustering level information is greater than the example jumping time threshold, acquiring a target clustering example according to the N-th clustering example.
In one possible implementation, the substep S131 can be implemented by the following embodiments.
(1) And taking the initial application service execution example in the target service execution path as a basic example of example test topology distribution, and determining the rest application service execution examples except the initial application service execution example in the target service execution path in the plurality of application service execution examples.
(2) And acquiring the first instance test point of each residual application service execution instance from the instance test point set in the instance parameter information of each residual application service execution instance.
(3) And determining the first incidence relation among the application service execution examples according to the first example test point of each residual application service execution example.
(4) And adding each residual application service execution example to the basic example according to the first incidence relation so as to obtain example testing topological distribution.
In a possible implementation manner, the parent instance of each application service execution instance in the instance test topology distribution except the base instance is: the first instance test point of each application service execution instance. P example test pairs exist in a plurality of application service execution examples, and one example test pair is associated with an example group required by at least one layer of clustering. Wherein P is a positive integer.
Thus, the substep S132 can be realized by the following embodiments.
(1) And according to the traversal sequence of the hierarchical distribution, selecting a first application service execution example from the application service execution examples which are not traversed in the example test topology distribution.
(2) And detecting whether a second application service execution instance and the first application service execution instance form a P-th instance test pair according to a reverse instance test point set of each application service execution instance except the last application service execution instance in the target service execution path, wherein P belongs to [1, P ].
(3) The second application service execution instance satisfies the following conditions: the second application service execution instance is a first instance test point of the first application service execution instance, and the first application service execution instance is a first reverse instance test point of the second application service execution instance.
(4) If the target layer clustering exists, selecting at least one application service execution example from the multiple application service execution examples according to the second application service execution example, adding the selected application service execution example into an example group required by the target layer clustering associated with the pth example test pair, and continuously traversing the example test topology distribution. And if not, reselecting the first application service execution example until all the application service execution examples in the example test topology distribution are traversed.
For example, if the first application service execution instance and the second application service execution instance are included in the derived instance set, the first application service execution instance and the second application service execution instance are selected and added to the instance group required by the target layer cluster associated with the pth instance test pair. Or if the derivative instance set comprises other derivative instances except the first application service execution instance and the derivative instance of the first application service execution instance, selecting other derivative instances to add into the instance group required by the target layer clustering.
Illustratively, in the process of selecting a first application service execution instance and a second application service execution instance and adding the first application service execution instance and the second application service execution instance to an instance group required by a target layer cluster associated with a pth instance test pair, it may be detected whether a first past instance group including the first application service execution instance exists in an instance group required by a previous P-1 instance test pair associated with a past layer cluster.
For example, if there is a first past instance group, adding a clustering instance and a second application service execution instance corresponding to the first past instance group to an instance group required for clustering of a target layer associated with a pth instance test pair.
For another example, if there is no first past instance group, the first application service execution instance and the second application service execution instance are added to the instance group required by the target layer cluster.
In a possible implementation manner, in the process of selecting other derived instances to add to the instance group required by the target layer clustering, it may be specifically detected whether a second past instance group exists in the instance group required by the previous P-1 instance tests for the associated past layer clustering, where the second past instance group includes the clustering instances corresponding to the other derived instances.
For example, if a second past instance group exists, the clustering instance, the first application service execution instance and the second application service execution instance corresponding to the second past instance group are added to the instance group required by the target layer clustering.
For another example, if there is no second past instance group, then add the other derived instances to the instance group needed by the target-level cluster, and add the cluster instance clustered by the other derived instances, the first application service execution instance, and the second application service execution instance to the instance group needed by the next level cluster below the target-level cluster associated with the pth instance test pair.
In one possible implementation manner, for step S140, in the process of updating the application service instance execution graph with the target clustering instance, the following exemplary sub-steps can be implemented, which are described in detail below.
And a substep S141, adding a target clustering example in the application service example execution map, and connecting the target clustering example and the clustered application service execution example by adopting a service flow line.
And a substep S142, adding a matched instance for the application service execution instance which is not clustered in the application service instance execution map, and adding a matched instance for the target clustering instance in the application service instance execution map.
In one possible implementation manner, for step S110, in the process of obtaining the distributed application package obtained based on the current compiled file of the different software functional partitions, the following exemplary sub-steps can be implemented, which are described in detail below.
And a substep S111, obtaining a software development kit configuration file of the software development editing terminal 200, and performing distributed compilation software package analysis on the software development kit configuration file through the cloud computing software development service to obtain distributed compilation software package information of the software function partition in the software development kit configuration file.
And a substep S112, performing source compiling characteristic analysis based on the distributed compiling software package information of the software function partition to obtain a target source compiling characteristic of the software function partition.
And a substep S113, performing distributed compiling description information analysis on the software development kit configuration file based on the distributed compiling program to obtain the distributed compiling description information of the software function partition.
And a substep S114, performing compiling dependency relationship matching on the target source compiling characteristics of the software function partitions in the configuration file of the software development kit and the distributed compiling description information of the software function partitions to obtain compiling dependency relationship matching information of the software function partitions, and performing source code file compiling on the distributed compiling software package based on the compiling dependency relationship matching information of the software function partitions to obtain the current compiling file of the software function partitions.
In this embodiment, the cloud computing software development service may be understood as a software development service running in the cloud, for example, each software development module in the software development process may be configured in the cloud in advance, for example, a function module that needs to be used in the embodiment of the present application and is parsed by the distributed compiled software package, and then this operation is performed. For the operation of the functional module parsed by the specific distributed compiled software package, reference may be made to the following detailed description of step S111.
In this embodiment, the software development kit configuration file may be understood as a configuration file formed by configuration data of the software development kit edited by each software functional partition generated based on statistical requirements of software development. Here, the distributed compilation software package may refer to a software package generated by configuring a code using a software development kit when the software development editing terminal 200 performs arbitrary software development compilation. The software function partition may refer to a new software function formed under the distributed compiled software package, or an updated software function, or a code file directory area formed by existing software functions.
In this embodiment, the source compiling characteristic may be used to represent compiling policy information of a source code corresponding to each software function partition, and the distributed compiling description information may be used to describe compiling policy information for each distributed node in the distributed compiling process.
In this embodiment, the compiling dependency relationship may refer to that, in the compiling process, one class uses an object of another class as a parameter of an operation, one class uses an object of another class as a data member of the class, one class transmits information to another class, and the like, and there is a dependency relationship between the two classes. Therefore, in the compiling process, the compiling dependency relationship needs to be considered, so that the operation of targeted software compiling is performed according to the characteristic distribution of the compiling dependency relationship. In this way, the compiling dependency relationship is matched with the target source compiling characteristics of the software function partition and the distributed compiling description information of the software function partition, so that the distributed compiling software package information of the software function partition and the distributed compiling description information of the software function partition are integrated, and rich compiling dependency relationships of the software function partition are extracted, thereby facilitating efficient distributed compiling based on the compiling dependency relationship in the compiling process; in addition, source code file compiling is carried out on the software function partition through the target source compiling characteristic of the software function partition to obtain the current compiling file of the software function partition, so that modular unit compiling is facilitated, and compiling restart time after compiling failure is reduced.
In a possible implementation manner, for step S112, in the process of obtaining instance parameter information of a plurality of application service instances in an application service instance execution map of a distributed application package, each application service instance in the distributed application package may be extracted to construct an application service instance execution map according to a service relationship of each application service instance, and each application service instance is associated with another application service instance, so as to obtain instance parameter information of each application service instance according to an association relationship between each application service instance and another application service instance.
It should be noted that the association relationship between each application service execution instance and other application service execution instances is obtained from header information in the distributed application package.
On the basis of the above, some alternative implementations of the embodiments of the present application will be described below, and it should be understood that the following description of the embodiments is only an example and should not be understood as an essential technical feature for implementing the present application.
In a possible implementation manner, for step S111, in the process of performing distributed compiled software package analysis on the software development kit configuration file through the cloud computing software development service to obtain the distributed compiled software package information of the software function partition in the software development kit configuration file, the following exemplary sub-steps may be implemented, which are described in detail below.
In sub-step S1111, a change source code file set edited by the software development editor of each configuration source code file in the configuration files of the software development kit is obtained.
In this embodiment, it is worth explaining that the change source code file set includes a change source code file that uses each image file as a reference unit, and the change source code file includes a call code condition, a call code result, and a call code update record in the image file of the image file. For example, the image file may be used to represent the relevant business scope in the code editing configuration process, the calling code condition may be used to characterize the condition when calling the code (e.g., a function code may be used as a condition when called), and the calling code result may be used to characterize the indicated execution result after calling the code.
For example, in the present embodiment, the software development editor may be a software program, and the software development editor refers to a program with an editing function. It is possible to display a source program stored in a computer on a screen and then perform operations such as addition, deletion, replacement, and linkage as needed.
For example, the user uses the program to perform processing such as adding, deleting, modifying, and cutting and pasting a document volume stored in the computer. Adding refers to inserting several lines of records in the old file or adding several characters in one line of records.
For example, Aptana is an Eclipse-based integrated development environment, which includes a JavaScript editor and a debugger, and may include JavaScript, JavaScript functions, HTML, and Code Assist functions of CSS language.
Substep S1112, for each image file, updating a record row according to each configuration source code file in each of a plurality of update record rows in the call code update record of the image file, determining whether each code update interpretation information in the update record line is a new compiled code instance based on the interpretation vector representation of the code update interpretation information in the update record line, according to the instance type of the new compiled code instance in the update record line, determining the index code segment of each code resource packet corresponding to the update record line, aiming at the index code segment of each code resource packet, dividing the index code segment of the code resource packet into a plurality of sub index code segments, and determining whether the index code segment of the code resource packet is the index code segment of the target index program packet or not according to the interpretation tag of the code updating interpretation information in each sub-index code segment and a preset tag interval.
It is worth mentioning that each code update interpretation information corresponds to each compiled classification code update behavior.
And a substep S1113, obtaining compiled classification template block information of each code update interpretation information in the index code segment of the preset compiled classification template matching target index program package, wherein the compiled classification template block information comprises a compiled classification code function label and a compiled classification code application label, and the preset compiled classification template comprises matching strategies corresponding to different compiled classification code use types.
Substep S1114, determining variable information of a compiling traversal variable and constant information of each compiling traversal constant of each compiling classification code according to compiling classification template block information recorded by updating each calling code of each different image file in the source code file set, determining a compiling classification code tag object of each configuration source code file in the image file according to the variable information of the compiling traversal variable and the constant information of each compiling traversal constant of each compiling classification code in the index code segment of the target index program package, and after using software package information in a header information interval of the compiling classification code tag object and software package information in a header information interval of the compiling classification code associated with the compiling classification code tag object outside the header information interval of the compiling classification code tag object as distributed compiling program information of each configuration source code file in the image file, and summarizing the distributed compiling program information of each configuration source code file in all the mirror image files to obtain the distributed compiling software package information of the software function partitions in the configuration files of the software development kit.
For example, a compiled traversal constant refers to data whose value remains constant throughout an operation, and is usually given directly in a command or program, and the types of data used as constants are numeric, character, date, logical, and monetary. For another example, the compile traversal variable refers to data whose value changes in the whole operation process, and has an abstraction of a storage space, and the compile traversal variable is a convenient placeholder for referencing a memory address, which can store modifiable program information when the Script runs.
In a possible implementation manner, for step S112, in the process of performing source compilation feature analysis based on the distributed compiled software package information of the software functional partition to obtain a target source compilation feature of the software functional partition, the following exemplary sub-steps may be implemented, which are described in detail below.
And a substep S1121, obtaining dependent declaration code scheduling information of a dependent declaration code set added to the calling code description information of each piece of distributed compiler information in the distributed compilation software package information of the software functional partition, and determining a first dependent declaration source code set corresponding to the dependent declaration code scheduling information.
For example, the dependency declaration may be descriptive interpretation information that the code needs to rely on another class object, and the dependency declaration code may be coding information that describes the interpretation information, and may include a dependency mode, or code representation information such as a dependency object.
It should be noted that the dependency declaration code scheduling information includes dependency instance object information of the dependency rule calculation relationship information determined from the dependency rule input information and the dependency rule output information of the dependency declaration code set, and the first dependency declaration source code set includes a high-low order of priorities of a plurality of dependency instances of the dependency instance object information.
In sub-step S1122, it is determined that the calling code description information of each distributed compiler information is based on the first dependency rule component of the dependency rule input information and the second dependency rule component of the dependency rule output information.
And a substep S1123 of determining a logistic regression analysis parameter for conducting logistic regression analysis on the first dependency declaration source code set according to the dependency instance priority relationship between the first dependency rule component and the second dependency rule component.
In sub-step S1124, a logistic regression analysis is performed on the first dependent claim source code set based on the logistic regression analysis parameters to obtain a second dependent claim source code set.
And a substep S1125, performing dependency mode division on the second dependency declaration source code set to obtain a plurality of dependency mode division sets, and performing feature extraction on each dependency mode division set to obtain a dependency mode division variable.
Substep S1126, according to the source compiling characteristics corresponding to the plurality of dependency mode partition variables corresponding to the second dependency declaration source code set, determines the source compiling characteristics for each distributed compiler information.
And a substep S1127 of obtaining a target source compilation characteristic of the software functional partition based on the source compilation characteristic of each distributed compiler information.
Further, in a possible implementation manner, for step S113, in the process of performing distributed compilation description information analysis on the software development kit configuration file based on the distributed compiler to obtain the distributed compilation description information of the software functional partition, the following exemplary sub-steps may be implemented, which are described in detail below.
And a substep S1131, inputting the configuration file of the software development kit into a preset distributed compiling program, and obtaining a matching degree of the configuration file of the software development kit matching each preset compiling environment.
And a substep S1132, determining a target compiling environment corresponding to the software development kit configuration file according to the matching degree of the software development kit configuration file matched with each preset compiling environment.
For example, a predetermined compiling environment with a matching degree greater than a predetermined matching degree threshold may be determined as the target compiling environment corresponding to the software development kit configuration file.
And a substep S1133, extracting the distributed compiling description information matched with each software function partition from the compiling environment description information of the target compiling environment corresponding to the software development kit configuration file.
For example, in the extraction process, feature information with structured description information that matches each software function partition in the compiling environment description information may be specifically extracted.
In a possible implementation manner, for step S114, in the process of performing compilation dependency matching on the target source compilation features of the software functional partition in the software development kit configuration file and the distributed compilation description information of the software functional partition to obtain compilation dependency matching information of the software functional partition, the following exemplary sub-steps may be implemented, which are described in detail below.
And a substep S1141 of adding the target source compiling characteristics and the distributed compiling description information of the software function partition into a compiling dependency relationship matching program, and determining the dependency relationship distribution circle of the target source compiling characteristics and the distributed compiling description information of the software function partition corresponding to each compiling dependency component from the compiling dependency relationship matching program.
And a substep S1142 of dividing each dependency distribution circle in a dependent manner according to the relationship labels of the component relationships among the compiled dependent components in each different dependency distribution circle to obtain at least one dependency distribution circle sequence.
In this embodiment, the relationship label of the component relationship of the compiling dependency component in any two dependency relationship distribution circles in the same dependency relationship distribution circle sequence covers the preset label interval.
And a substep S1143, determining, for each dependency distribution circle sequence, program dependency calling information corresponding to the target source compiling characteristic and the distributed compiling description information of the dependency distribution circle sequence for the software function partition from the compiling dependency matching program based on each dependency distribution circle in the dependency distribution circle sequence.
In this embodiment, the program dependency call information at least includes feature information data of each dependency distribution circle in the dependency distribution circle sequence for a target source compilation feature of the software function partition and each dependency program coding entry of the distributed compilation description information, and the program dependency call information is used to determine a code output result of a compilation dependency component in each dependency distribution circle in the dependency distribution circle sequence corresponding to a target source compilation feature of the software function partition and a dependency relationship of the distributed compilation description information.
And a substep S1144 of determining a code output result of the dependency relationship corresponding to the compiling dependency component in each dependency relationship distribution circle in the dependency relationship distribution circle sequence based on the program dependency call information, classifying the code output result of the dependency relationship by adopting a preset component relationship classification model to obtain a classification result, and obtaining compiling dependency relationship matching information of the software function partition according to the classification result.
Illustratively, in a possible example, for the sub-step S1144, in the process of determining, based on the program dependency call information, a code output result of a dependency relationship corresponding to a compiled dependency component in each dependency relationship distribution circle in the dependency relationship distribution circle sequence, the following alternative embodiments may be implemented.
And a substep S11441 of determining the dependent call development information and the dependent call category of the program dependent call information, determining a plurality of dependent call linkage combinations according to a plurality of component relationship distributions in the past component relationship component result, performing dependent service relationship calculation according to the dependent parameters of the dependent call development information and the dependent call category, which are distributed in each dependent call linkage combination according to each component relationship, obtaining a plurality of dependent service relationship calculation results respectively corresponding to the plurality of dependent call linkage combinations, and taking the linkage parameter of the dependent call linkage combination corresponding to each dependent service relationship calculation result as the dependent linkage parameter of each dependent service relationship calculation result.
And a substep S11442 of respectively obtaining simulation component relationship nodes of each dependency relationship distribution circle determined in the dependency call development information and corresponding to the dependency call category based on the multiple dependency service relationship calculation results to obtain multiple simulation component relationship nodes, and integrating the multiple simulation component relationship nodes obtained based on the multiple dependency service relationship calculation results according to the dependency linkage parameter of each dependency service relationship calculation result to obtain a first simulation component relationship node set.
It should be noted that linkage parameters between any two component relationship distributions in each dependent call linkage combination are equal, linkage parameters corresponding to different dependent call linkage combinations are unequal, each dependent service relationship calculation result is used for determining common compilation dependency information corresponding to compilation dependency components in each dependent relationship distribution circle corresponding to a dependent call category in any set time sequence section, and the dependent service relationship calculation result is obtained by performing dependent service relationship calculation according to past component relationship component results.
And a substep S11443, obtaining a compilation dependency result between the plurality of compilation dependency components in the dependency call development information and the dependency call category according to the past component relationship component result and the common compilation dependency information of the plurality of compilation dependency components corresponding to the dependency call category, and using an application service execution instance corresponding to the compilation dependency result corresponding to the plurality of compilation dependency components as a second simulation component relationship node.
And a substep S11444 of comparing the component relationship related parameters of the first simulation component relationship node set and the second simulation component relationship node, and determining a code output result of the dependency relationship corresponding to each compiling dependency component according to the component relationship related parameters and the common compiling dependency information of each compiling dependency component.
For example, in an alternative embodiment, for sub-step S11444, the following embodiment may be implemented.
(1) And determining compiling field information of a component relation ring network corresponding to each compiling dependent component based on the component relation related parameters, and determining compiling compatible information of each compiling dependent component according to the covering relation of the common compiling dependent information of each compiling dependent component in the corresponding dependency relation distribution ring.
(2) And extracting a first source compiling characteristic sequence corresponding to the compiling field information and a second source compiling characteristic sequence corresponding to the compiling compatibility information, and determining a plurality of compiling measurement models with different compiling characteristic segments respectively included in the first source compiling characteristic sequence and the second source compiling characteristic sequence.
The compiling metric model can be understood as a model formed by the source compiling features which have the incidence relation in the first source compiling feature sequence and the second source compiling feature sequence.
(3) On the premise that the function component relationship of the first source compiling characteristic sequence is the same as the function component relationship of the second source compiling characteristic sequence, the interface relationship information of any compiling metric model of the compiling field information in the first source compiling characteristic sequence is obtained, and the compiling metric model with the minimum compiling characteristic segment in the second source compiling characteristic sequence is determined to be the target compiling metric model in parallel.
(4) And adding the interface relation information to the target compiling measurement model based on the extraction strategy of each compiling dependent component, and determining data dictionary information corresponding to the interface relation information in the target compiling measurement model.
(5) And generating a compiling compatible point between the compiling field information and the compiling compatible information through an interface relation dictionary object between the interface relation information and the data dictionary information.
(6) And acquiring target compiling measurement multi-element group information in the target compiling measurement model by taking the data dictionary information as reference information, adding the target compiling measurement multi-element group information to the compiling measurement model where the interface relation information is located according to a plurality of compatible point paths corresponding to the compiling compatible points, so as to obtain a dependent abstract type result corresponding to the target compiling measurement multi-element group information in the compiling measurement model where the interface relation information is located, and determining the dependent abstract type result as a dependent program coding result according to the reference information.
The target compiling metric tuple information can be understood as information of a compiling metric tuple corresponding to the compiling operation.
(7) And determining a corresponding component relation result when the interface relation information is added to the target compiling measurement model.
(8) According to the association degree between the dependency abstract class result and the component relation feature labels corresponding to the component relation tracing nodes in the component relation result, sequentially acquiring the dependent program code labels corresponding to the dependent program code result in the second source compiling characteristic sequence according to the sequence of the time sequence weight from large to small until the number of the software frame update nodes of the compiling measurement model where the acquired dependent program code labels are located is consistent with the number of the software frame update nodes of the dependent program code result in the first source compiling characteristic sequence, stopping acquiring the dependent program code label in the next compiling measurement model, and establishing traceability association information between the dependent program coding result and the dependent program coding label obtained last time, and determining a code output result of the dependency relationship corresponding to each compiling dependent component based on the traceability association information.
In a possible implementation manner, still referring to step S114, in the process of compiling the source code file of the distributed compiled software package based on the compiling dependency relationship matching information of the software function partition to obtain the current compiled file of the software function partition, the following exemplary sub-steps may be implemented, which are described in detail below.
And a substep S1145 of obtaining source code file compiling information of the software functional partition under the distributed compiling software package.
In the substep S1146, a source code file compilation item under the source code file compilation information and component relationship configuration information corresponding to each source code file compilation item are obtained.
And a substep S1147 of covering and configuring the compiling dependency relationship matching information of the software functional partition under the component relationship configuration information corresponding to each source code file compiling item to obtain a current compiling file of the software functional partition.
Fig. 3 is a schematic functional module diagram of a distributed software instance testing apparatus 300 based on cloud computing according to an embodiment of the present disclosure, and in this embodiment, functional modules of the distributed software instance testing apparatus 300 based on cloud computing may be divided according to a method embodiment executed by the software development platform 100, that is, the following functional modules corresponding to the distributed software instance testing apparatus 300 based on cloud computing may be used to execute each method embodiment executed by the software development platform 100. The distributed software instance testing apparatus 300 based on cloud computing may include a first obtaining module 310, a second obtaining module 320, a clustering module 330, and a testing module 340, and the functions of the functional modules of the distributed software instance testing apparatus 300 based on cloud computing are described in detail below.
A first obtaining module 310, configured to obtain a distributed application package obtained based on a current compiled file of a different software functional partition. The first obtaining module 310 may be configured to perform the step S110, and for a detailed implementation of the first obtaining module 310, reference may be made to the detailed description of the step S110.
A second obtaining module 320, configured to obtain instance parameter information of multiple application service execution instances in an application service instance execution map of the distributed application package; each application service execution instance is used for representing one or more service instances which need to be executed in the function implementation process of the distributed application program package, and the software testing task of the service instance represented by each application service execution instance needs to be tested; and the instance parameter information of any application service execution instance is used for reflecting the incidence relation between the application service execution instance and other application service execution instances. The second obtaining module 320 may be configured to perform the step S120, and for a detailed implementation of the second obtaining module 320, reference may be made to the detailed description of the step S120.
The clustering module 330 is configured to cluster at least two application service execution instances into a target clustering instance according to the instance parameter information of each application service execution instance, where the target clustering instance is used to instruct to test software test tasks of service instances represented by the clustered application service execution instances. The clustering module 330 may be configured to perform the step S130, and the detailed implementation of the clustering module 330 may refer to the detailed description of the step S130.
The testing module 340 is configured to update the application service instance execution map with the target clustering instance, and send the updated application service instance execution map to a software instance testing program, where the updated application service instance execution map is used to instruct the software instance testing program to test a software testing task of a service instance represented by the clustered application service execution instance in a function implementation process of the distributed application package according to an instruction of the target clustering instance, and output a testing result. The testing module 340 may be configured to perform the step S140, and the detailed implementation manner of the testing module 340 may refer to the detailed description of the step S140.
It should be noted that the division of the modules of the above apparatus is only a logical division, and the actual implementation may be wholly or partially integrated into one physical entity, or may be physically separated. And these modules may all be implemented in software invoked by a processing element. Or may be implemented entirely in hardware. And part of the modules can be realized in the form of calling software by the processing element, and part of the modules can be realized in the form of hardware. For example, the first obtaining module 310 may be a separate processing element, or may be integrated into a chip of the apparatus, or may be stored in a memory of the apparatus in the form of program code, and a processing element of the apparatus calls and executes the functions of the first obtaining module 310. Other modules are implemented similarly. In addition, all or part of the modules can be integrated together or can be independently realized. The processing element described herein may be an integrated circuit having signal processing capabilities. In implementation, each step of the above method or each module above may be implemented by an integrated logic circuit of hardware in a processor element or an instruction in the form of software.
Fig. 4 is a hardware schematic diagram of a software development platform 100 for implementing the cloud computing-based distributed software instance testing method, provided by the embodiment of the present disclosure, and as shown in fig. 4, the software development platform 100 may include a processor 110, a machine-readable storage medium 120, a bus 130, and a transceiver 140.
In a specific implementation process, at least one processor 110 executes computer-executable instructions stored in the machine-readable storage medium 120 (for example, the first obtaining module 310, the second obtaining module 320, the clustering module 330, and the testing module 340 included in the cloud-computing-based distributed software instance testing apparatus 300 shown in fig. 3), so that the processor 110 may execute the cloud-computing-based distributed software instance testing method according to the above method embodiment, where the processor 110, the machine-readable storage medium 120, and the transceiver 140 are connected through the bus 130, and the processor 110 may be configured to control the transceiving action of the transceiver 140, so as to perform data transceiving with the aforementioned software development editing terminal 200.
For a specific implementation process of the processor 110, reference may be made to the above-mentioned method embodiments executed by the software development platform 100, which implement principles and technical effects similar to each other, and details of this embodiment are not described herein again.
In the embodiment shown in fig. 4, it should be understood that the Processor may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of a method disclosed in connection with the present invention may be embodied directly in a hardware processor, or in a combination of the hardware and software modules within the processor.
The machine-readable storage medium 120 may comprise high-speed RAM memory and may also include non-volatile storage NVM, such as at least one disk memory.
The bus 130 may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended ISA (EISA) bus, or the like. The bus 130 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, the buses in the figures of the present application are not limited to only one bus or one type of bus.
In addition, the embodiment of the application also provides a readable storage medium, wherein the readable storage medium stores computer execution instructions, and when a processor executes the computer execution instructions, the distributed software instance testing method based on cloud computing is realized.
The foregoing description has been directed to specific embodiments of this disclosure. Other embodiments are within the scope of the following claims. In some cases, the actions or steps recited in the claims may be performed in a different order than in the embodiments and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may also be possible or may be advantageous.
Having thus described the basic concept, it will be apparent to those skilled in the art that the foregoing detailed disclosure is to be regarded as illustrative only and not as limiting the present specification. Various modifications, improvements and adaptations to the present description may occur to those skilled in the art, although not explicitly described herein. Such modifications, improvements and adaptations are proposed in the present specification and thus fall within the spirit and scope of the exemplary embodiments of the present specification.
Also, particular push elements are used in this description to describe embodiments of this description. Reference to "one embodiment," "an embodiment," and/or "some embodiments" means that a particular feature, structure, or characteristic described in connection with at least one embodiment of the specification. Therefore, it is emphasized and should be appreciated that two or more references to "an embodiment" or "one embodiment" or "an alternative embodiment" in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, some features, structures, or characteristics of one or more embodiments of the specification may be combined as appropriate.
Moreover, those skilled in the art will appreciate that aspects of the present description may be illustrated and described in terms of several patentable species or contexts, including any new and useful combination of processes, machines, manufacture, or materials, or any new and useful improvement thereof. Accordingly, aspects of this description may be performed entirely by hardware, entirely by software (including firmware, resident software, micro-code, etc.), or by a combination of hardware and software. The above hardware or software may be referred to as "data block," module, "" engine, "" unit, "" component, "or" system. Furthermore, aspects of the present description may be represented as a computer product, including computer readable program code, embodied in one or more computer readable media.
The computer storage medium may comprise a propagated data signal with the computer program code embodied therewith, for example, on baseband or as part of a carrier wave. The propagated signal may take any of a variety of forms, including electromagnetic, optical, etc., or any suitable combination. A computer storage medium may be any computer-readable medium that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, or device. Program code located on a computer storage medium may be propagated over any suitable medium, including radio, cable, fiber optic cable, RF, or the like, or any combination of the preceding.
Computer program code required for the operation of various portions of this specification may be written in any one or more programming languages, including an object oriented programming language such as Java, Scala, Smalltalk, Eiffel, JADE, Emerald, C + +, C #, VB.NET, Python, and the like, a conventional programming language such as C, VisualBasic, Fortran2003, Perl, COBOL2002, PHP, ABAP, a passive programming language such as Python, Ruby, and Groovy, or other programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any network format, such as a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet), or in a cloud computing environment, or as a service, such as a software as a service (SaaS).
Additionally, the order in which the elements and sequences are processed, the use of alphanumeric characters, or the use of other designations in this specification is not intended to limit the order of the processes and methods in this specification, unless otherwise specified in the claims. While various presently contemplated embodiments of the invention have been discussed in the foregoing disclosure by way of example, it is to be understood that such detail is solely for that purpose and that the appended claims are not limited to the disclosed embodiments, but, on the contrary, are intended to cover all modifications and equivalent arrangements that are within the spirit and scope of the embodiments herein. For example, although the system components described above may be implemented by hardware devices, they may also be implemented by software-only solutions, such as installing the described system on an existing server or mobile device.
Similarly, it should be noted that in the preceding description of embodiments of the present specification, various features are sometimes grouped together in a single embodiment, figure, or description thereof for the purpose of streamlining the disclosure aiding in the understanding of one or more of the embodiments. This method of disclosure, however, is not intended to imply that more features than are expressly recited in a claim. Indeed, the embodiments may be characterized as having less than all of the features of a single embodiment disclosed above.
Finally, it should be understood that the examples in this specification are only intended to illustrate the principles of the examples in this specification. Other variations are also possible within the scope of this description. Thus, by way of example, and not limitation, alternative configurations of the embodiments of the specification can be considered consistent with the teachings of the specification. Accordingly, the embodiments of the present description are not limited to only those embodiments explicitly described and depicted herein.

Claims (10)

1. A distributed software instance testing method based on cloud computing is applied to a software development platform, the software development platform is in communication connection with a plurality of software development editing terminals, and the method comprises the following steps:
acquiring a distributed application program package obtained based on a current compiled file of different software function partitions;
acquiring instance parameter information of a plurality of application service execution instances in an application service instance execution map of the distributed application program package; each application service execution instance is used for representing one or more service instances which need to be executed in the function implementation process of the distributed application program package, and the software testing task of the service instance represented by each application service execution instance needs to be tested; the instance parameter information of any application service execution instance is used for reflecting the incidence relation between the application service execution instance and other application service execution instances;
clustering at least two application service execution instances into a target clustering instance according to instance parameter information of each application service execution instance, wherein the target clustering instance is used for indicating software test tasks of service instances represented by the clustered application service execution instances to be tested;
and updating the application service instance execution map by adopting the target clustering instance, sending the updated application service instance execution map to a software instance test program, wherein the updated application service instance execution map is used for indicating the software instance test program to test the software test task of the service instance represented by the clustered application service execution instance in the function implementation process of the distributed application program package according to the indication of the target clustering instance, and outputting a test result.
2. The cloud-computing-based distributed software instance testing method according to claim 1, wherein the plurality of application service execution instances correspond to a target service execution path, and the target service execution path is obtained by connecting each application service execution instance with a plurality of service flow direction lines based on a service path relationship of each application service execution instance in the application service instance execution map;
the traffic path relationship is used to indicate: one application service execution instance accesses the path relation of other application service execution instances along at least one execution path in the application service instance execution map;
the instance test information of any application service execution instance comprises at least one of the following items: the instance test point set of any application service execution instance and the reverse instance test point set of any application service execution instance;
the example test points in the example test point set of any application service execution example are as follows: the application service execution instances which pass through all forward paths from the initial application service execution instance in the target service execution path to any application service execution instance;
the embodiment test point set of any application service execution example is the first embodiment test point of any application service execution example;
the reverse instance test points in the reverse instance test point set of any application service execution instance are: the application service execution examples which are passed by all reverse paths from the initial application service execution example to any one of the application service execution examples in the reverse path relation corresponding to the target service execution path;
the reverse instance test point set of any application service execution instance is the first reverse instance test point of any application service execution instance;
the reverse path relation is a path relation obtained by performing reverse processing on each service flow direction line in the target service execution path;
the clustering at least two application service execution examples into a target clustering example according to the example parameter information of each application service execution example comprises:
constructing instance test topology distribution formed by the application service execution instances according to the instance parameter information of each application service execution instance;
extracting clustering distribution information based on the example test topological distribution;
the cluster distribution information includes: the method comprises the steps that example groups required by multilayer clustering are obtained, and at least one example exists in each example group and is used as an application service execution example;
and performing at least one layer of clustering iteration processing on the plurality of application service execution examples according to the clustering distribution information to obtain a target clustering example.
3. The cloud-computing-based distributed software instance testing method according to claim 2, wherein the constructing an instance testing topology distribution composed of the plurality of application service execution instances according to the instance parameter information of each application service execution instance comprises:
taking the initial application service execution example in the target service execution path as a basic example of example test topology distribution, and determining the rest application service execution examples except the initial application service execution example in the target service execution path in the plurality of application service execution examples;
acquiring a first instance test point of each residual application service execution instance from an instance test point set in instance parameter information of each residual application service execution instance;
determining the first incidence relation among the application service execution examples according to the first example test point of each residual application service execution example;
and adding the residual application service execution examples to the basic examples according to the first incidence relation so as to obtain example testing topological distribution.
4. The distributed software instance testing method based on cloud computing according to claim 3, wherein the parent instance of each application service execution instance in the instance testing topology distribution except the base instance is: the first instance test point of each application service execution instance; p example test pairs exist in the application service execution examples, and one example test pair is associated with an example group required by at least one layer of clustering; wherein, P is a positive integer;
the extracting clustering distribution information based on the instance test topology distribution comprises:
according to the traversal sequence of the hierarchical distribution, selecting a first application service execution example from the application service execution examples which are not traversed in the example test topology distribution;
detecting whether a second application service execution instance and the first application service execution instance form a P instance test pair according to a reverse instance test point set of each application service execution instance except the last application service execution instance in the target service execution path, wherein P belongs to [1, P ];
the second application service execution instance satisfies the following conditions: the second application service execution example is the first example test point of the first application service execution example, and the first application service execution example is the first reverse example test point of the second application service execution example;
if the second application service execution example exists, selecting at least one application service execution example from the plurality of application service execution examples according to the second application service execution example, adding the selected application service execution example into an example group required by the target layer clustering associated with the No. P example test pair, and continuously traversing the example test topology distribution; and if not, reselecting the first application service execution example until all the application service execution examples in the example test topology distribution are traversed.
5. The cloud-computing-based distributed software instance testing method of claim 4, wherein if the second application service execution instance exists, selecting at least one application service execution instance from the plurality of application service execution instances according to the second application service execution instance, and adding the selected application service execution instance to an instance group required by a target-level cluster associated with the pth instance test pair, comprises:
if the second application service execution instance exists, acquiring a derived instance set of the second application service execution instance from the instance test topology distribution;
if the derived instance set only comprises the first application service execution instance and the derived instance of the first application service execution instance, selecting the first application service execution instance and the second application service execution instance, and adding the first application service execution instance and the second application service execution instance into an instance group required by a target layer cluster associated with the No. P instance test pair;
and if the derivative instance set comprises other derivative instances except the first application service execution instance and the derivative instance of the first application service execution instance, selecting the other derivative instances to add into the instance group required by the target layer cluster.
6. The cloud-computing-based distributed software instance testing method of claim 5, wherein the selecting the first application service execution instance and the second application service execution instance to add to the set of instances required for clustering the target layer associated with the pth instance test pair comprises:
detecting whether a first past example group exists in an example group required by the previous P-1 example tests for clustering the associated past layers, wherein the first past example group comprises the first application service execution example;
if the first past instance group exists, adding the clustering instance corresponding to the first past instance group and the second application service execution instance to an instance group required by clustering of a target layer associated with the No. P instance test pair;
and if the first past instance group does not exist, adding the first application service execution instance and the second application service execution instance to the instance group required by the target layer clustering.
7. The method for testing distributed software instances based on cloud computing according to claim 5, wherein the selecting the other derived instances to be added to the set of instances required by the target-level clustering includes:
detecting whether a second past instance group comprising the clustering instances corresponding to the other derived instances exists in an instance group required by the previous P-1 instance tests for clustering the associated past layers;
if the second past instance group exists, adding the clustering instance corresponding to the second past instance group, the first application service execution instance and the second application service execution instance to the instance group required by the target layer clustering;
and if the second past instance group does not exist, adding the other derived instances to the instance group required by the target-level cluster, and adding the cluster instances clustered by the other derived instances, the first application service execution instance and the second application service execution instance to the instance group required by the next-level cluster which is associated with the P-th instance test pair and is positioned below the target-level cluster.
8. The distributed software instance testing method based on cloud computing according to any one of claims 1-7, wherein the updating the application service instance execution graph with the target cluster instance comprises:
adding the target clustering instances in the application service instance execution map, and connecting the target clustering instances and the clustered application service execution instances by adopting a service flow direction line;
adding a matched instance to the application service execution instance which is not clustered in the application service instance execution map, and adding a matched instance to the target clustering instance in the application service instance execution map.
9. The distributed software instance testing method based on cloud computing according to any one of claims 1 to 7, wherein the step of obtaining the distributed application package obtained based on the current compiled file of different software function partitions includes:
acquiring a software development kit configuration file of the software development editing terminal, and performing distributed compilation software package analysis on the software development kit configuration file through a cloud computing software development service to obtain distributed compilation software package information of software function partitions in the software development kit configuration file, wherein the software development kit configuration file is a configuration file formed by software development kit configuration data edited by each software function partition generated based on software development statistical requirements;
performing source compiling characteristic analysis based on the distributed compiling software package information of the software function partition to obtain a target source compiling characteristic of the software function partition;
performing distributed compiling description information analysis on the software development kit configuration file based on a distributed compiling program to obtain distributed compiling description information of the software functional partition;
performing compilation dependency relationship matching on target source compilation characteristics of software function partitions in the configuration file of the software development kit and distributed compilation description information of the software function partitions to obtain compilation dependency relationship matching information of the software function partitions, and performing source code file compilation on the distributed compilation software package based on the compilation dependency relationship matching information of the software function partitions to obtain a current compilation file of the software function partitions;
performing software signature according to the current compiled file of the software function partition to obtain a corresponding distributed application program package;
the step of obtaining instance parameter information of a plurality of application service execution instances in an application service instance execution graph of the distributed application program package includes:
extracting each application service instance in the distributed application program package to construct an application service instance execution map according to the service relationship of each application service instance, obtaining instance parameter information of each application service instance according to the association relationship between each application service execution instance and other application service execution instances, wherein the association relationship between each application service execution instance and other application service execution instances is obtained from header information in the distributed application program package.
10. A software development platform, characterized in that the software development platform comprises a processor, a machine-readable storage medium, and a network interface, the machine-readable storage medium, the network interface and the processor are connected through a bus system, the network interface is used for being connected with at least one software development editing terminal in a communication manner, the machine-readable storage medium is used for storing programs, instructions or codes, and the processor is used for executing the programs, instructions or codes in the machine-readable storage medium to execute the distributed software instance testing method based on cloud computing according to any one of claims 1 to 9.
CN202011333531.4A 2020-11-24 2020-11-24 Distributed software instance testing method based on cloud computing and software development platform Active CN112395199B (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011333531.4A CN112395199B (en) 2020-11-24 2020-11-24 Distributed software instance testing method based on cloud computing and software development platform
CN202110531179.3A CN113220577A (en) 2020-11-24 2020-11-24 Software testing task testing method and system based on cloud computing
CN202110531178.9A CN113176999A (en) 2020-11-24 2020-11-24 Software testing method and system based on distributed application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011333531.4A CN112395199B (en) 2020-11-24 2020-11-24 Distributed software instance testing method based on cloud computing and software development platform

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202110531178.9A Division CN113176999A (en) 2020-11-24 2020-11-24 Software testing method and system based on distributed application program
CN202110531179.3A Division CN113220577A (en) 2020-11-24 2020-11-24 Software testing task testing method and system based on cloud computing

Publications (2)

Publication Number Publication Date
CN112395199A CN112395199A (en) 2021-02-23
CN112395199B true CN112395199B (en) 2021-07-02

Family

ID=74607167

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202110531178.9A Withdrawn CN113176999A (en) 2020-11-24 2020-11-24 Software testing method and system based on distributed application program
CN202011333531.4A Active CN112395199B (en) 2020-11-24 2020-11-24 Distributed software instance testing method based on cloud computing and software development platform
CN202110531179.3A Withdrawn CN113220577A (en) 2020-11-24 2020-11-24 Software testing task testing method and system based on cloud computing

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202110531178.9A Withdrawn CN113176999A (en) 2020-11-24 2020-11-24 Software testing method and system based on distributed application program

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110531179.3A Withdrawn CN113220577A (en) 2020-11-24 2020-11-24 Software testing task testing method and system based on cloud computing

Country Status (1)

Country Link
CN (3) CN113176999A (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114185619B (en) * 2021-12-14 2024-04-05 平安付科技服务有限公司 Breakpoint compensation method, device, equipment and medium based on distributed operation
CN114218098A (en) * 2021-12-14 2022-03-22 平安国际融资租赁有限公司 Software system testing method and device, computer equipment and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530231A (en) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 Application program testing method and system based on service process control
CN107783876A (en) * 2016-08-29 2018-03-09 博彦科技股份有限公司 Across the service test method and device of actuating station
CN111611171A (en) * 2020-05-25 2020-09-01 网易(杭州)网络有限公司 Test case processing method and device and storage medium
CN111767226A (en) * 2020-06-30 2020-10-13 上海云轴信息科技有限公司 Method, system and equipment for testing cloud computing platform resources

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788907B (en) * 2010-01-04 2013-05-22 北京航空航天大学 Automatic generation method for combination service simplified test case and device therefor
US10691585B2 (en) * 2017-11-30 2020-06-23 The University Of Massachusetts Efficient software testing system
US10073763B1 (en) * 2017-12-27 2018-09-11 Accenture Global Solutions Limited Touchless testing platform
CN111858301B (en) * 2020-06-05 2022-10-11 中国船舶重工集团公司第七0九研究所 Change history-based composite service test case set reduction method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530231A (en) * 2013-10-12 2014-01-22 北京京东尚科信息技术有限公司 Application program testing method and system based on service process control
CN107783876A (en) * 2016-08-29 2018-03-09 博彦科技股份有限公司 Across the service test method and device of actuating station
CN111611171A (en) * 2020-05-25 2020-09-01 网易(杭州)网络有限公司 Test case processing method and device and storage medium
CN111767226A (en) * 2020-06-30 2020-10-13 上海云轴信息科技有限公司 Method, system and equipment for testing cloud computing platform resources

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于状态聚类的分布式模糊测试技术;邓一杰等;《计算机工程与设计》;20190930;第40卷(第9期);第2428-2434页 *

Also Published As

Publication number Publication date
CN112395199A (en) 2021-02-23
CN113220577A (en) 2021-08-06
CN113176999A (en) 2021-07-27

Similar Documents

Publication Publication Date Title
CN112394942B (en) Distributed software development compiling method and software development platform based on cloud computing
CN107704265B (en) Configurable rule generation method for service flow
US11494181B2 (en) Automating generation of library suggestion engine models
US11340896B2 (en) Library model addition
US10289541B2 (en) Source code flow analysis using information retrieval
US8312440B2 (en) Method, computer program product, and hardware product for providing program individuality analysis for source code programs
CN109189469B (en) Reflection-based android application micro-servitization method and system
US20100235814A1 (en) Apparatus and a method for generating a test case
US11307975B2 (en) Machine code analysis for identifying software defects
CN112395199B (en) Distributed software instance testing method based on cloud computing and software development platform
CN109240666B (en) Function calling code generation method and system based on call stack and dependent path
CN113326442A (en) Recommended material pushing method and system based on big data positioning and cloud computing center
US20210405980A1 (en) Long method autofix engine
CN113590454A (en) Test method, test device, computer equipment and storage medium
CN108897678B (en) Static code detection method, static code detection system and storage device
CN112506999B (en) Cloud computing and artificial intelligence based big data mining method and digital content server
CN110928535A (en) Derivative variable deployment method, device, equipment and readable storage medium
CN114791865A (en) Method, system and medium for detecting self-consistency of configuration items based on relational graph
CN107577476A (en) A kind of Android system source code difference analysis method, server and medium based on Module Division
CN112463595A (en) Mobile terminal software development processing method based on cloud computing and cloud computing software platform
Shah et al. CloudScent: a model for code smell analysis in open-source cloud
US20240135210A1 (en) Replacing lambda expressions in a rete network with corresponding code classes
US20240232666A9 (en) Replacing lambda expressions in a rete network with corresponding code classes
CN115934118A (en) Program test method and system for program upgrading
CN118193382A (en) Application program testing method, device, equipment, storage medium and program product

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
CB03 Change of inventor or designer information

Inventor after: Luo Siyang

Inventor after: Ji Ming

Inventor before: Ji Ming

CB03 Change of inventor or designer information
TA01 Transfer of patent application right

Effective date of registration: 20210603

Address after: 201100 Room 302, no.6, 59zhinong, Lane 3, Fuqiang street, Qibao town, Minhang District, Shanghai

Applicant after: Luo Siyang

Address before: No. 1603-1607, 16 / F, building a, Hecheng international R & D center, high tech Zone, Kunming, Yunnan 650000

Applicant before: Ji Ming

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant