A method for establishing a crowd-testing alliance based on perturbed particle swarm

By using an optimization algorithm based on perturbation particle swarm in the crowd testing field, the problems of high crowd testing cost and low task allocation efficiency are solved, and the task decomposition and personnel division of labor are optimized, ensuring that The tasks are completed in quality and quantity and reduce costs.

CN112418671BActive Publication Date: 2024-12-13NANJING UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202011325632.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-11-24
Publication Date
2024-12-13
Estimated Expiration
2040-11-24

AI Technical Summary

Technical Problem

In the field of software testing, the cost of crowd testing tasks is higher than expected and the tasks cannot be completed in quality and quantity, mainly due to the inefficiency of task allocation caused by the uncertainty of testers' information and self-interest, especially in the lack of initial task quality optimization. Effective solution.

Method used

Using the public testing alliance establishment method based on perturbing particle swarm, the task allocation is performed according to the worker's ability through the optimization particle swarm (PSO) algorithm, and the particle position is dynamically adjusted using feature data of functional testing, performance testing, compatibility testing and safety testing. To find the optimal solution, achieve the optimization of task decomposition and personnel division of labor.

Benefits of technology

This method effectively reduces the cost of crowd testing, and realizes the optimal sorting of task allocation through the optimization of particle swarm algorithm, maximizes personal gain, and maintains good convergence and adaptability in high-dimensional complex tasks, avoiding self-interest Zoom in, ensuring that the task is completed in quality and quantity.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112418671B_ABST
    Figure CN112418671B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for establishing a crowd-testing alliance based on a perturbed particle group, wherein the remuneration of crowd-testing workers is initialized according to the capability function, and characteristic data is obtained; a three-dimensional data set composed of all characteristic data and capability functions is obtained as the initial position distribution of group optimization, and a PSO algorithm is used. After adding a certain disturbance, the initial position distribution of particles is within a certain range, and the crowd-testing alliance is initialized; in the alliance optimization stage, the optimal solution based on the benefit is calculated according to the initialization data and the given capability function, and the capability function in the calculation process is adjusted according to different characteristic data; in the alliance formation stage, each particle dynamically adjusts its flight speed by following its own individual best position and the global best position of the group, and finally finds the approximate optimal solution through search iteration. The present invention can maximize personal benefits, thereby saving costs as much as possible from the perspective of optimizing personnel allocation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention mainly relates to a method for establishing a crowd-testing alliance based on a perturbation particle swarm, and belongs to the field of model algorithm design. Background Art

[0002] The dramatic increase and diversity of data caused by a large number of user groups under the Internet model has gradually led to the rise of crowdsourcing technology and other technologies that utilize group intelligence resources. Crowdsourcing is one of the research hotspots in group intelligence collaborative computing. Through the release of tasks, task participants voluntarily complete tasks and distribute benefits through collaborative cooperation. Software testing is an important part of the software industry and a relatively mature technology that has been developed for a long time. In the era of big data, some changes have also occurred in the field of software testing. Crowd testing platforms have gradually become mainstream. Compared with traditional testing, crowd testing gathers testing experts distributed in various industries and with relevant resources in various fields. They can respond to the testing needs of crowd testing platforms at any time, and achieve full coverage of industries, time periods, equipment, and regions in software testing. However, due to the uncertainty of testers' information and their self-interest, the cost of crowd testing tasks may be higher than expected, or even lead to the inability to complete tasks as scheduled and in quality and quantity. Based on this background, this paper attempts to design an optimization model for task allocation of testers' work in the crowd testing process, and designs a corresponding game mechanism based on the model to reduce the cost of paying testers.

[0003] In order to save costs as much as possible while obtaining high-quality results, the most widely used model framework in existing crowd-testing systems is the iteration-aggregation model framework. The demander submits the test task to the crowd-testing platform, and the task is assigned to several test workers. After the platform obtains the results of each worker, it organizes and aggregates them and generates answers.

[0004] With the optimization goal of maximizing cost-benefit and saving costs, a task allocation mechanism is designed using a greedy strategy to solve the problems related to task allocation in the crowdsourcing process. The worker's historical information is then used to update the worker's reliability. A reliability mechanism is designed based on historical records and the completion quality of the current task, and is linked to the final payment to motivate workers to continue to complete tasks with high quality. However, this must be based on a certain data foundation and does not solve the optimization problem of the user's initial task quality. Summary of the invention

[0005] Purpose of the invention: The main technical problem solved by the present invention is that, based on the crowd-testing background of software testing, the project cost is minimized as the research goal, and the task allocation is studied. The task decomposition and the division of labor of testers are optimized to avoid the problems of self-interest amplification that may be caused by human participation. The present invention proposes a method for establishing a crowd-testing alliance based on a perturbed particle swarm. The present invention optimizes the decomposition of complex tasks of high dimensions, performs initial task allocation according to the capabilities of the workers, and uses the optimization particle swarm (PSO) optimization algorithm to obtain the optimal order of workers under each task.

[0006] Technical solution: To achieve the above purpose, the technical solution adopted by the present invention is:

[0007] A method for establishing a crowd-testing alliance based on a perturbed particle swarm. In the data collection phase, the remuneration of crowd-testing workers is initialized according to the capability function, and sufficient data of four features of functional testing, performance testing, compatibility testing, and safety testing of objects in real application scenarios are obtained; in the data preprocessing phase, the safety test and the performance test are synthesized to obtain a three-dimensional data set composed of all feature data and capability functions as the initial position distribution of the group optimization. The PSO algorithm is used. After adding a certain disturbance, the initial position distribution of the particles is within a certain range to initialize the crowd-testing alliance; in the alliance optimization phase, the optimal solution based on the benefit is calculated according to the initialization data and the given capability function, and the capability function in the calculation process is adjusted according to different feature data; in the alliance formation phase, each particle dynamically adjusts its flight speed by following its own individual best position and the global best position of the group, and finally finds the approximate optimal solution through search iteration, which specifically includes the following steps:

[0008] Step 1, data collection: initialize the worker's reward according to the capability function, and obtain the data of the four features of function testing, performance testing, compatibility testing, and security testing owned by the objects in the application scenario;

[0009] Step 2, data preprocessing: synthesize the safety test and performance test features to obtain a three-dimensional data set consisting of all feature data and capability functions as the initial position distribution of the group optimization. Use the PSO algorithm to add a certain disturbance, and the initial position distribution of the particles is within a certain range to initialize the crowd testing alliance.

[0010] Step 3, alliance optimization: Based on step 2, calculate and obtain the optimal solution based on benefits according to the initialization data and the given capability function, and adjust the capability function in the calculation process according to different feature data;

[0011] Step 4: Alliance formation, iteratively perform the operation of step 3. Each particle dynamically adjusts its flight speed by following its own individual best position and the global best position of the group, and finally finds the approximate optimal solution through search iteration.

[0012] Preferably: the data preprocessing method in step 2 is as follows:

[0013] Step 2a), define the capability function:

[0014]

[0015] in, represents the capability function, represents the position vector, t represents the number of iterations, Indicates the speed at a certain position;

[0016] Synthesize safety test and performance test feature data to obtain a three-dimensional data set;

[0017] Step 2b) Add disturbance so that the initial position of the particles is distributed within a certain range and the initial velocity in, Initial Position in, Each parameter meets the following requirements:

[0018]

[0019] Among them, K i represents the particle number, represents the particle velocity, Indicates the position of the particle.

[0020] Step 2c), initialize the crowd testing alliance and define the group size m;

[0021] Step 2d), use PSO algorithm to calculate.

[0022] Preferred: Alliance optimization method in step 3:

[0023] Step 3a), initialize the maximum number of iterations t max , algorithm accuracy ε, and parameters r1,r2,c1,c2,ω max ,ω min , where parameters r1, r2 satisfy 0≤r1, r2≤1;

[0024] Step 3b), determine the termination condition of the PSO algorithm: if If it is established, the current position vector and accuracy value are output, and the algorithm ends;

[0025] Step 3c), otherwise, determine t>t maxIs it true? If so, output the current position vector and accuracy value and end the algorithm;

[0026] Step 3d), if not, repeat steps 3b) and 3c) until the condition is met.

[0027] Preferred: Method of alliance formation in step 4:

[0028] Step 4a), in the t+1th iteration, the particle updates its velocity and position using the following formula:

[0029]

[0030] Among them: r1, r2 are random weights between [0,1], used to maintain the diversity of the group, c1, c2 are learning factors, V i t+1 represents the velocity of particle i at the t+1th iteration, ω represents the inertia weight, P i best represents the optimal position that particle i has searched so far, G best It represents the optimal position searched by the entire particle swarm so far. represents the position of particle j at the tth iteration;

[0031] Step 4b), to ensure that the iteration is optimized within a certain range, the inertia weight ω is defined as follows:

[0032]

[0033] Where: max is the initial weight, ω min is the final weight, t max is the maximum number of iterations, t is the current number of iterations;

[0034] Step 4c), update Pbest j and Gbest, the updated representation is as follows: Gbest=argmin(f(Pbest1),f(Pbest2),...,f(Pbest m ),);

[0035] Step 4d), Update and Based on step 4b), the inertia weight ω is updated, and then and to update.

[0036] Compared with the prior art, the present invention has the following beneficial effects:

[0037] The present invention designs a particle swarm optimization algorithm for the task allocation process, analyzes the tasks and performs self-supervised learning according to the worker's capability function, selects indicators of four test types, and conducts comparative experiments with different crowd testing scales and with or without disturbance. The results show that the particle swarm optimization algorithm has good convergence property and can save crowd testing cost well under external disturbance. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] Figure 1 It is the overall flow chart of the method of the present invention;

[0039] Figure 2 A flow chart is established for the crowd testing alliance based on the PSO algorithm used in the present invention. DETAILED DESCRIPTION

[0040] The present invention is further explained below in conjunction with the accompanying drawings and specific embodiments. It should be understood that these examples are only used to illustrate the present invention and are not used to limit the scope of the present invention. After reading the present invention, various equivalent forms of modifications to the present invention by those skilled in the art all fall within the scope defined by the claims attached to this application.

[0041] A method for establishing a crowd-testing alliance based on perturbed particle swarms, such as Figure 1-2 As shown, the following steps are included:

[0042] Step 1, data collection: Initialize the worker's reward according to the capability function, and obtain enough data on the four features of functional testing, performance testing, compatibility testing, and security testing owned by objects in real application scenarios.

[0043] Step 2, data preprocessing: synthesize the safety test and performance test features to obtain a three-dimensional data set consisting of all feature data and capability functions as the initial position distribution of the swarm optimization. Use the PSO algorithm. After adding a certain disturbance, the initial position distribution of the data is within a certain range.

[0044] Step 2:

[0045] Step 2a) Define the capability function:

[0046]

[0047] in, represents the capability function, represents the position vector, t represents the number of iterations, Indicates the speed at a certain position;

[0048] Synthesize safety test and performance test feature data to obtain a three-dimensional data set;

[0049] Step 2b) Add disturbance so that the initial position of the particles is distributed within a certain range and the initial velocity in, Initial Position in, Each parameter satisfies the following formula:

[0050]

[0051] Among them, K i represents the particle number, represents the particle velocity, Indicates the position of the particle.

[0052] Step 2c) Initialize the crowd testing alliance and define the group size m;

[0053] Step 2d) uses the PSO algorithm to calculate.

[0054] Step 3: Alliance optimization: Based on step 2, calculate and obtain the optimal solution based on benefits according to the initialization data and the given capability function, and adjust the capability function in the calculation process according to different feature data;

[0055] Step 3:

[0056] Step 3a) Initialize the maximum number of iterations t max , algorithm accuracy ε, and parameters r1,r2,c1,c2,ω max ,ω min , 0, where each parameter satisfies 0≤r1, r2≤1;

[0057] Step 3b) Determine the termination condition of the PSO algorithm. If it is established, the current position vector and accuracy value are output, and the algorithm ends;

[0058] Step 3c) Otherwise, determine whether t>t max Is it true? If so, output the current position vector and accuracy value and end the algorithm;

[0059] If step 3d) is not satisfied, repeat steps 3b) and 3c) until the condition is satisfied.

[0060] Step 4: Alliance formation, iteratively perform the operation of step 3. Each particle dynamically adjusts its flight speed by following its own individual best position and the global best position of the group, and finally finds the approximate optimal solution through search iteration.

[0061] Step 4:

[0062] Step 4a) In the t+1th iteration, the particle updates its velocity and position using the following formula:

[0063] Among them: r1, r2 are random weights between [0,1], used to maintain the diversity of the group, c1, c2 are learning factors, V i t+1 represents the velocity of particle i at the t+1th iteration, ω represents the inertia weight, P i best represents the optimal position that particle i has searched so far, G best It represents the optimal position searched by the entire particle swarm so far. represents the position of particle j at the tth iteration;

[0064] Step 4b) To ensure that the iteration is optimized within a certain range, ω is defined as follows:

[0065] Where: max is the initial weight; ω min is the final weight; t max is the maximum number of iterations; t is the current number of iterations;

[0066] Step 4c) Update Pbest j and Gbest, the updated representation is as follows: Gbest=argmin(f(Pbest1),f(Pbest2),...,f(Pbest m ),);

[0067] Step 4d) Update and Based on step 4b), the inertia weight ω is updated, and then and to update.

[0068] Through a large number of data experiments, it is proved that the iteration effect is significantly better when the scale is increased. The experimental results can almost reach the global optimum and do not fall into the deadlock of local deadlock, which proves the effectiveness and reliability of the designed particle swarm (PSO) algorithm. After adding disturbance, it has little effect on the convergence result, and the optimal solution is almost the same and can be ignored, indicating that the algorithm still has good adaptability under disturbance.

[0069] In summary, the present invention is based on complex crowd-testing tasks of high dimensions, and adopts the particle swarm optimization (PSO) optimization algorithm to obtain the optimal order of workers under each task, so as to maximize personal benefits, thereby saving costs as much as possible from the perspective of optimizing personnel allocation. The particle swarm (PSO) algorithm model has good convergence and can save crowd-testing costs well under external disturbances.

[0070] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A method for establishing a crowd-testing alliance based on a perturbed particle swarm, characterized in that: The steps include: Step 1, data collection: initialize the worker's reward according to the capability function, and obtain the data of the four features of function testing, performance testing, compatibility testing, and security testing owned by the objects in the application scenario; Step 2, data preprocessing: synthesize the safety test and performance test features to obtain a three-dimensional data set consisting of all feature data and capability functions as the initial position distribution of the group optimization. Use the PSO algorithm to add a certain disturbance, and the initial position distribution of the particles is within a certain range to initialize the crowd testing alliance. The data preprocessing method is as follows: Step 2a), define the capability function: in, represents the capability function, represents the position vector, t represents the number of iterations, Indicates the speed at a certain position; Synthesize safety test and performance test feature data to obtain a three-dimensional data set; Step 2b) Add disturbance so that the initial position of the particles is distributed within a certain range and the initial velocity in, Initial Position in, Each parameter meets the following requirements: Among them, K i represents the particle number, represents the particle velocity, represents the particle position, Step 2c), initialize the crowd testing alliance and define the group size m; Step 2d), using PSO algorithm to calculate; Step 3, alliance optimization: Based on step 2, calculate and obtain the optimal solution based on benefits according to the initialization data and the given capability function, and adjust the capability function in the calculation process according to different feature data; Alliance optimization methods: Step 3a), initialize the maximum number of iterations t max , algorithm accuracy ε, and parameters r1,r2,c1,c2,ω max ,ω min , where parameters r1, r2 satisfy 0≤r1, r2≤1; Step 3b), determine the termination condition of the PSO algorithm: if If it is established, the current position vector and accuracy value are output, and the algorithm ends; Step 3c), otherwise, determine t>t max Is it true? If so, output the current position vector and accuracy value and end the algorithm; Step 3d), if not, repeat steps 3b) and 3c) until the condition is met; Step 4: Alliance formation, iteratively perform the operation of step 3, each particle dynamically adjusts its flight speed by following its own individual best position and the group's global best position, and finally finds the approximate optimal solution through search iteration; Alliance formation method: Step 4a), in the t+1th iteration, the particle updates its velocity and position using the following formula: Among them: r1, r2 are random weights between [0,1], used to maintain the diversity of the group, c1, c2 are learning factors, V i t+1 represents the velocity of particle i at the t+1th iteration, ω represents the inertia weight, P i best represents the optimal position that particle i has searched so far, G best It represents the optimal position searched by the entire particle swarm so far. represents the position of particle j at the tth iteration; Step 4b), to ensure that the iteration is optimized within a certain range, the inertia weight ω is defined as follows: Where: max is the initial weight, ω min is the final weight, t max is the maximum number of iterations, t is the current number of iterations; Step 4c), update Pbest j and Gbest, the updated representation is as follows: Gbest=argmin(f(Pbest1),f(Pbest2),...,f(Pbest m ),); Step 4d), Update and Based on step 4b), the inertia weight ω is updated, and then and to update.