Method and apparatus for allocating test tasks
By obtaining reference project and tester collections for project identification and similarity threshold matching, combining machine learning models and business scenario filtering, the problem of low accuracy of the test task allocation mechanism is solved, and more efficient tester allocation and task matching is achieved.
Patent Information
- Application Number
- CN202410231205.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-02-29
- Publication Date
- 2025-08-01
- Estimated Expiration
- 2044-02-29
AI Technical Summary
The existing test task allocation mechanism relies on simple keyword matching or manual screening, resulting in low accuracy of task allocation, low matching between testers and tasks, and lacks scientificity and systematicity.
By obtaining the project identity of the target project, determining the reference project and tester collection that matches its similarity threshold, using machine learning models for filtering and recommendations, and accurately assigning testers in combination with business scenarios.
Improve the accuracy and efficiency of testing task allocation, especially in the face of cybersecurity threats and software quality challenges, it can quickly match the right testers with specific testing tasks, optimize resource utilization and test results quality.
Smart Images

Figure CN117993677B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the fields of Internet security testing and software quality assurance, and in particular, to a method and device for allocating test tasks. Background Art
[0002] Common problems in current crowdsourcing testing platforms include low matching degree between test tasks and testers, low task allocation efficiency, and lack of scientificity and systematicness in tester selection. Specifically, existing test task allocation mechanisms mostly rely on simple keyword matching or manual screening, which not only reduces the accuracy of task allocation, but also increases time and resource consumption. At the same time, due to the lack of effective matching algorithms, testers often have difficulty finding tasks that match their expertise and interests, resulting in low participation and efficiency. In addition, customers also face challenges in selecting suitable testers, especially in the evaluation of skills, experience, and reliability, lacking effective evaluation systems and screening mechanisms.
[0003] Regarding the problem that most of the test task allocation mechanisms in the above related technologies rely on simple keyword matching or manual screening, resulting in low accuracy of task allocation, no effective solution has been proposed yet. Summary of the Invention
[0004] Embodiments of the present invention provide a method and device for allocating test tasks, so as to at least solve the technical problem that most of the test task allocation mechanisms in the related technologies rely on simple keyword matching or manual screening, resulting in low accuracy of task allocation.
[0005] According to an aspect of an embodiment of the present invention, a method for allocating test tasks is provided, including: when receiving a target test task, obtaining a project identifier of a target project corresponding to the target test task, where the project identifier is used to represent the project type of the target project; when the project identifier indicates that the target project is a new project, determining partial reference projects whose similarity to the target project is greater than a first similarity threshold, and obtaining a set of second testers who submit vulnerabilities generated during the test process among the first testers participating in the test tasks corresponding to the partial reference projects, where the new project is a project that has not been run; when the project identifier indicates that the target project is a non-new project, according to the third testers participating in the test tasks corresponding to the non-new project, and determining a set of fourth testers whose similarity to the third testers is greater than a second similarity threshold, where the non-new project is a project that has already been run; filtering the set of second testers and the set of fourth testers according to the business scenario of the target project to obtain a set of target testers; sending the target testers to the terminal devices of the testers in the set of target testers to complete the allocation of the target testers.
[0006] Optionally, obtaining the project identifier of the target project corresponding to the target test task includes: obtaining the project description information of the target project; determining the project type of the target project according to the project description information; adding a project identifier to the target project according to the project type to obtain the project identifier of the target project.
[0007] Optionally, determining partial reference projects whose similarity to the target project is greater than a first similarity threshold includes: determining multiple reference projects of the target project; respectively calculating the similarity between the target project and each of the multiple reference projects; comparing the similarity with the first similarity threshold to determine the partial reference projects whose similarity to the target project is greater than the first similarity threshold.
[0008] Optionally, obtaining a set of second testers who submit vulnerabilities generated during the test process among the first testers participating in the test tasks corresponding to the partial reference projects includes: determining fifth testers participating in the test tasks corresponding to each of the partial reference projects; determining sixth testers among the fifth testers who submit the vulnerabilities generated during the test process; obtaining the characteristic information of the sixth testers to obtain the set of second testers.
[0009] Optionally, determining a set of fourth testers whose similarity to the third tester is greater than a second similarity threshold includes: determining the characteristic information of the third tester participating in the test task corresponding to the non-new project; calculating the similarity between each of multiple optional testers and the third tester according to the characteristic information of the third tester; comparing the similarity between each of the multiple optional testers and the third tester with the second similarity threshold to obtain the set of fourth testers.
[0010] Optionally, before determining partial reference projects whose similarity to the target project is greater than a first similarity threshold, the test task allocation method further includes: obtaining the reference project characteristic information of each reference project among the multiple reference projects; generating a project characteristic vector for each of the multiple reference projects according to the reference project characteristic information; obtaining a project characteristic vector library according to the project characteristic vector of each.
[0011] Optionally, before calculating the similarity between each of the multiple optional testers and the third tester based on the characteristic information of the third tester, the test task allocation method further includes: obtaining the tester characteristic information of the multiple optional testers; generating a user characteristic vector for each of the multiple optional testers according to the tester characteristic information; and obtaining a user characteristic vector library based on the user characteristic vector of each of them.
[0012] Optionally, filtering the second tester set and the fourth tester set according to the business scenario of the target project to obtain a target tester set, including: obtaining clickstream characteristic information of multiple testers; inputting the clickstream characteristic information into a clickstream prediction model to process the clickstream characteristic information by using the clickstream prediction model, so as to obtain the test participation probability of each of the multiple testers, wherein the clickstream prediction model is a model trained by machine learning using multiple sets of training data, and each set of the multiple sets of training data includes: sample clickstream characteristic information and sample test participation probability; comparing the test participation probability of each tester with a test participation probability threshold respectively to obtain a seventh tester set in which the test participation probability of each tester is higher than the test participation probability threshold; and filtering the second tester set, the fourth tester set and the seventh tester set according to the business scenario of the target project to obtain the target tester set.
[0013] Optionally, after sending the target tester to the terminal device of the tester in the target tester set to complete the allocation of the target tester, the test task allocation method further includes: sending test invitation information to the terminal devices of the multiple optional testers; obtaining feedback information of the multiple optional testers based on the test invitation information; and updating the user characteristic vector of each of the multiple optional testers according to the feedback information to update the user characteristic vector library.
[0014] According to another aspect of the embodiments of the present invention, there is also provided a device for allocating test tasks, including: an acquisition unit, configured to, when receiving a target test task, acquire the project identifier of the target project corresponding to the target test task, where the project identifier is used to represent the project type of the target project; a first determination unit, configured to, when the project identifier indicates that the target project is a new project, determine partial reference projects whose similarity to the target project is greater than a first similarity threshold, and acquire a set of second testers among the first testers participating in the test tasks corresponding to the partial reference projects and submitting vulnerabilities generated during the test process, where the new project is a project that has not been run; a second determination unit, configured to, when the project identifier indicates that the target project is a non-new project, determine, according to the third testers participating in the test tasks corresponding to the non-new project, a set of fourth testers whose similarity to the third testers is greater than a second similarity threshold, where the non-new project is a project that has been run; a filtering unit, configured to filter the set of second testers and the set of fourth testers according to the business scenario of the target project to obtain a set of target testers; an allocation unit, configured to send the target testers to the terminal devices of the testers in the set of target testers to complete the allocation of the target testers.
[0015] Optionally, the acquisition unit includes: a first acquisition module, configured to acquire the project description information of the target project; a first determination module, configured to determine the project type of the target project according to the project description information; a second acquisition module, configured to add a project identifier to the target project according to the project type to obtain the project identifier of the target project.
[0016] Optionally, the first determination unit includes: a second determination module, configured to determine multiple reference projects of the target project; a calculation module, configured to calculate the similarity between the target project and each of the multiple reference projects respectively; a third determination module, configured to compare the similarity with the first similarity threshold to determine the partial reference projects whose similarity to the target project is greater than the first similarity threshold.
[0017] Optionally, the first determination unit includes: a fourth determination module, configured to determine the fifth testers participating in the test tasks corresponding to each of the partial reference projects; a fifth determination module, configured to determine the sixth testers among the fifth testers who submit the vulnerabilities generated during the test process; a third acquisition module, configured to acquire the feature information of the sixth testers to obtain the set of second testers.
[0018] Optionally, the second determination unit includes: a sixth determination module, configured to determine the characteristic information of the third tester participating in the test task corresponding to the non-new project; a calculation module, configured to calculate the similarity between each of the multiple optional testers and the third tester according to the characteristic information of the third tester; and a fourth acquisition module, configured to compare the similarity between each of the multiple optional testers and the third tester with the second similarity threshold to obtain the fourth tester set.
[0019] Optionally, the test task allocation device further includes: a fifth acquisition module, configured to acquire the reference project characteristic information of each reference project in the multiple reference projects before determining the partial reference projects whose similarity to the target project is greater than the first similarity threshold; a first generation module, configured to generate the project characteristic vector of each of the multiple reference projects according to the reference project characteristic information; and a sixth acquisition module, configured to obtain a project characteristic vector library according to the project characteristic vector of each.
[0020] Optionally, the test task allocation device further includes: a seventh acquisition module, configured to acquire the tester characteristic information of each of the multiple optional testers before calculating the similarity between each of the multiple optional testers and the third tester according to the characteristic information of the third tester; a second generation module, configured to generate the user characteristic vector of each of the multiple optional testers according to the tester characteristic information; and an eighth acquisition module, configured to obtain a user characteristic vector library according to the user characteristic vector of each.
[0021] Optionally, the filtering unit includes: a ninth acquisition module, configured to acquire the click stream characteristic information of multiple testers; a processing module, configured to input the click stream characteristic information into a click stream prediction model to process the click stream characteristic information by using the click stream prediction model to obtain the test participation probability of each tester in the multiple testers, where the click stream prediction model is a model trained by machine learning using multiple sets of training data, and each set of the multiple sets of training data includes: sample click stream characteristic information and sample test participation probability; a comparison module, configured to compare the test participation probability of each tester with a test participation probability threshold respectively to obtain a seventh tester set in which the test participation probability of each tester is higher than the test participation probability threshold; and a filtering module, configured to filter the second tester set, the fourth tester set, and the seventh tester set according to the business scenario of the target project to obtain the target tester set.
[0022] Optionally, the allocation device for the test task further includes: a sending module, configured to send test invitation information to the terminal devices of the multiple optional testers after sending the target tester to the terminal device of the tester in the target tester set to complete the allocation of the target tester; a tenth obtaining module, configured to obtain feedback information of the multiple optional testers based on the test invitation information; and an updating module, configured to update the user feature vector of each of the multiple optional testers according to the feedback information, so as to update the user feature vector library.
[0023] According to another aspect of the embodiments of the present invention, there is also provided a crowdsourcing testing platform tester recommendation system, and the crowdsourcing testing platform tester recommendation system uses the test task allocation method described in any one of the above.
[0024] According to another aspect of the embodiments of the present invention, there is also provided a computer-readable storage medium, and the computer-readable storage medium includes a stored program, wherein the program executes the test task allocation method described in any one of the above.
[0025] According to another aspect of the embodiments of the present invention, there is also provided a processor, and the processor is used to run a program, wherein when the program runs, it executes the test task allocation method described in any one of the above.
[0026] In an embodiment of the present invention, when a target test task is received, the project identifier of the target project corresponding to the target test task is obtained, where the project identifier is used to represent the project type of the target project; when the project identifier indicates that the target project is a new project, partial reference projects with a similarity greater than the first similarity threshold to the target project are determined, and a set of second testers who submitted vulnerabilities generated during the test process among the first testers participating in the test tasks corresponding to the partial reference projects is obtained, where the new project is a project that has not been run; when the project identifier indicates that the target project is a non-new project, third testers participating in the test tasks corresponding to the non-new project are used, and a set of fourth testers with a similarity greater than the second similarity threshold to the third testers is determined, where the non-new project is a project that has been run; the set of second testers and the set of fourth testers are filtered according to the business scenario of the target project to obtain a set of target testers; the target testers are sent to the terminal devices of the testers in the set of target testers to complete the allocation of the target testers. Through the technical solution provided by the present invention, when a project test task is received, a selection method for testers can be selected according to the type of the project corresponding to the project test task, and the testers selected based on this selection method are filtered based on business rules to obtain the final testers, achieving the purpose of improving the efficiency and accuracy of the crowdsourcing testing platform in the process of test task distribution and tester selection. Especially for Internet companies facing growing network security threats and software quality challenges, they can quickly and accurately match suitable testers with specific test tasks, thereby solving the technical problem that the test task allocation mechanism in the related art mostly relies on simple keyword matching or manual screening, resulting in low accuracy of task allocation. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The drawings described herein are used to provide a further understanding of the present invention, and constitute a part of this application. The schematic embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation to the present invention. In the drawings:
[0028] Figure 1 is a hardware structure block diagram of a mobile terminal for a test task allocation method according to an embodiment of the present invention;
[0029] Figure 2 is a flowchart of a test task allocation method according to an embodiment of the present invention;
[0030] Figure 3 is a schematic diagram of a tester recommendation system according to an embodiment of the present invention;
[0031] Figure 4 is a flowchart of an optional test task allocation method according to an embodiment of the present invention;
[0032] Figure 5 It is a schematic diagram of an allocation device for test tasks according to an embodiment of the present invention. Detailed implementation manners
[0033] In order to enable those skilled in the art to better understand the solution of the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are only a part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0034] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily need to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present invention described here can be implemented in an order different from those illustrated or described here. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but may include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0035] As introduced in the background art, most of the test task allocation mechanisms in the related art rely on simple keyword matching or manual screening, resulting in low accuracy of task allocation. To address the above drawbacks, in the embodiments of the present invention, a test task allocation method and device, a crowdsourcing platform tester recommendation system, a computer-readable storage medium, and a processor are provided.
[0036] The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.
[0037] The method embodiments provided in the embodiments of the present invention can be executed on a mobile terminal, a computer terminal, or a similar computing device. Taking running on a mobile terminal as an example, Figure 1 It is a hardware structure block diagram of a mobile terminal of a test task allocation method according to an embodiment of the present invention. As Figure 1 shown, the mobile terminal may include one or more ( Figure 1Only one processor 102 is shown (the processor 102 may include, but is not limited to, a processing device such as a microprocessor MCU or a field programmable gate array FPGA), and a memory 104 for storing data. Among them, the mobile terminal may further include a transmission device 106 for communication functions and an input / output device 108. Those of ordinary skill in the art can understand that Figure 1 The structure shown is only schematic and does not limit the structure of the above-mentioned mobile terminal. For example, the mobile terminal may further include more or fewer components than Figure 1 shown in, or have a different configuration from Figure 1 shown.
[0038] The memory 104 can be used to store computer programs. For example, software programs and modules of application software, such as the computer program corresponding to the test task allocation method in the embodiments of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, implements the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memories, or other non-volatile solid-state memories. In some instances, the memory 104 may further include a memory remotely set relative to the processor 102, and these remote memories can be connected to the mobile terminal through a network. Examples of the above network include, but are not limited to, the Internet, an enterprise intranet, a local area network, a mobile communication network, and combinations thereof. The transmission device 106 is used to receive or send data via a network. Specific examples of the above network may include a wireless network provided by a communication provider of the mobile terminal. In one instance, the transmission device 106 includes a network adapter (Network Interface Controller, abbreviated as NIC), which can be connected to other network devices through a base station and thus communicate with the Internet. In one instance, the transmission device 106 may be a radio frequency (Radio Frequency, abbreviated as RF) module, which is used to communicate with the Internet wirelessly.
[0039] According to an embodiment of the present invention, a method embodiment of a test task allocation method is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although the logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in a different order from here.
[0040] Figure 2 is a flowchart of the test task allocation method according to an embodiment of the present invention, as Figure 2 shown, the test task allocation method includes the following steps:
[0041] Step S202: When receiving a target test task, obtain the project identifier of the target project corresponding to the target test task, where the project identifier is used to represent the project type of the target project.
[0042] Optionally, the target test task here is the task corresponding to the target project, that is, the test task corresponding to testing the target project.
[0043] Optionally, the project identifier here can be used to represent the project type of the target project. For example, whether the project is a new project or a project that has been running for some time.
[0044] In this embodiment, when receiving a target test task, the corresponding target project can be determined first, and then the project identifier of the target project can be obtained, so as to select a suitable test task allocation method subsequently and improve the rationality of test task allocation.
[0045] Step S204: When the project identifier indicates that the target project is a new project, determine partial reference projects whose similarity to the target project is greater than the first similarity threshold, and obtain a set of second testers among the first testers who participated in the test tasks corresponding to the partial reference projects and submitted vulnerabilities generated during the test process, where the new project is a project that has not been run.
[0046] In this embodiment, when it is determined that the target project is a new project, since there are no users participating when the new project goes online, when automatically inviting some users to test the new project, the similarity between the users and the project can be calculated, that is, the recommendation of testers can be completed through a content-based recommendation algorithm.
[0047] In addition, when the new project goes online, similar previous projects can also be found according to the similarity, that is, reference projects that are relatively similar to the target project, and the users of the previous similar projects (that is, reference projects) are taken, and then the users are sorted according to their characteristics, and the top K are taken. That is, the recommendation of testers can be carried out in a way based on similar projects.
[0048] Step S206: When the project identifier indicates that the target project is not a new project, based on the third testers who participated in the test tasks corresponding to the non-new project, and determine a set of fourth testers whose similarity to the third testers is greater than the second similarity threshold, where the non-new project is a project that has been run.
[0049] In this embodiment, if the target project has been online for some time and there are already some white hats participating in the test, the similarity between the users participating in the test and all users can be calculated, and the top K are taken. That is, the testers can be recommended in a way based on similar users.
[0050] In addition, the recommendation of testers for the target project can also be completed by means of a collaborative filtering algorithm. For example, if the project has been launched for some time and there are already some white-hat testers participating in the testing, this method can be used to recommend testers.
[0051] Step S208: Filter the second tester set and the fourth tester set according to the business scenario of the target project to obtain a target tester set.
[0052] In this embodiment, the second tester set and the fourth tester set can be filtered based on preset business rules to obtain a target tester set.
[0053] This step is mainly set for the business scenario. Specifically for some specific business scenarios, some white-hat testers who do not meet the business requirements will be filtered out. For example, when it is a private project, white-hat testers who do not meet the requirements will be filtered out.
[0054] Step S210: Send the target testers to the terminal devices of the testers in the target tester set to complete the allocation of the target testers.
[0055] As can be seen from the above, in the embodiment of the present invention, when receiving a target test task, the project identifier of the target project corresponding to the target test task is obtained, where the project identifier is used to represent the project type of the target project; when the project identifier indicates that the target project is a new project, some reference projects with a similarity greater than the first similarity threshold to the target project are determined, and a second tester set of the second testers who submitted vulnerabilities generated during the test process among all the first testers participating in the test tasks corresponding to the partial reference projects is obtained, where the new project is a project that has not been run; when the project identifier indicates that the target project is a non-new project, the third testers participating in the test tasks corresponding to the non-new project are determined, and a fourth tester set with a similarity greater than the second similarity threshold to the third testers is determined, where the non-new project is a project that has already been run; the second tester set and the fourth tester set are filtered according to the business scenario of the target project to obtain a target tester set; the target testers are sent to the terminal devices of the testers in the target tester set to complete the allocation of the target testers, realizing a selection method of selecting testers according to the type of the project corresponding to the project test task when receiving a project test task, and filtering the testers selected based on this selection method according to business rules to obtain the final testers, achieving the purpose of improving the efficiency and accuracy of the crowdsourcing testing platform in the process of test task distribution and tester selection. Especially for Internet companies facing growing network security threats and software quality challenges, it can quickly and accurately match suitable testers with specific test tasks.
[0056] Therefore, through the technical solutions provided by the above embodiments of the present invention, the technical problem in the related art that most of the test task allocation mechanisms rely on simple keyword matching or manual screening, resulting in low accuracy of task allocation, is solved.
[0057] According to the above embodiments of the present invention, obtaining the project identifier of the target project corresponding to the target test task may include: obtaining the project description information of the target project; determining the project type of the target project according to the project description information; adding a project identifier to the target project according to the project type to obtain the project identifier of the target project.
[0058] In this embodiment, when obtaining the project description information of the target project corresponding to the target test task, then determining the project type of the target project based on the project description information, and further adding a project identifier to the target project according to the project type, so as to obtain the project identifier of the target project.
[0059] According to the above embodiments of the present invention, determining some reference projects whose similarity to the target project is greater than the first similarity threshold includes: determining a plurality of reference projects of the target project; respectively calculating the similarity between the target project and each of the plurality of reference projects; comparing the similarity with the first similarity threshold to determine some reference projects whose similarity to the target project is greater than the first similarity threshold.
[0060] In this embodiment, for a new project, a tester recommendation algorithm based on similar projects can be adopted. For example, when a new project goes online, the recommendation system obtains system information and converts it into a feature vector, and selects testers in the tester recommendation algorithm for similar projects based on this feature vector.
[0061] Specifically, a. First, convert the project into a vector according to the following features: business type, difficulty level, reward level, test terms, test steps; b. Calculate the cosine similarity between this project feature vector and the vector of each project. A high similarity represents a good fit with the project. Select all users who have submitted vulnerabilities for the top 5 similar projects; c. For the top N user set, calculate the weight coefficient of each user according to the following rules, and then take the top K according to the inverse ranking of the weight coefficient.
[0062] Among them, the above rules for calculating weights are shown in Table 1 below:
[0063] Table 1
[0064]
[0065] Among them, these feature values all exist in Table 2, but only need to be calculated according to the weights.
[0066] According to the above embodiments of the present invention, obtaining a set of second testers among the first testers who participated in the test tasks corresponding to some reference projects and submitted vulnerabilities generated during the test process includes: determining a fifth tester who participated in the test tasks corresponding to each of the some reference projects; determining a sixth tester among the fifth testers who submitted vulnerabilities generated during the test process; obtaining the characteristic information of the sixth testers to obtain the set of second testers.
[0067] In this embodiment, it is possible to first determine the fifth testers who participated in the test tasks corresponding to each of the some reference projects, then determine the sixth testers among the fifth testers who submitted vulnerabilities generated during the test process, and further obtain the set of second testers based on the characteristic information of the sixth testers.
[0068] According to the above embodiments of the present invention, determining a set of fourth testers whose similarity to the third tester is greater than the second similarity threshold may include: determining the characteristic information of the third tester who participated in the test tasks corresponding to non-new projects; calculating the similarity between each of multiple optional testers and the third tester according to the characteristic information of the third tester; comparing the similarity between each of the multiple optional testers and the third tester with the second similarity threshold to obtain the set of fourth testers.
[0069] In this embodiment, if the project has been running for some time and there are already users participating in the project, then recommendation based on similar users can be adopted at this time, because the accuracy of this recommendation method is higher than collaborative filtering. The specific implementation method is as follows: At this time, calculate the similarity with the entire user feature vector library according to the users who have already participated. The calculated feature vectors are shown in Table 2, and the calculation method is cosine similarity. Calculate the top K users with the minimum similarity distance between all users and the users who have already participated.
[0070] Table 2
[0071]
[0072]
[0073] Here, it is possible to create based on user feature values. These feature values are constructed according to the understanding of business experts' experience to build features that can effectively measure the recommendation effect, and build a user preference profile (User Profile) for each user (User). After determining the features, calculate each feature according to the existing data obtained by the company. The feature content is shown in Table 2 above.
[0074] Here, it is possible to use the existing data to perform data cleaning, feature engineering, modeling, etc. This part of the data is mainly stored in the database, mainly related data such as user tables, project tables, and vulnerability tables.
[0075] According to the above embodiments of the present invention, before determining the partial reference items whose similarity to the target item is greater than the first similarity threshold, the method for allocating the test task further includes: obtaining the reference item feature information of each of the multiple reference items; generating an item feature vector for each of the multiple reference items according to the reference item feature information; and obtaining an item feature vector library according to the item feature vector of each one.
[0076] In this embodiment, a feature vector library needs to be constructed for each item to prepare for subsequent recommendation based on the matrix. The main content of the item features is shown in Table 3 below:
[0077] Table 3
[0078]
[0079]
[0080] As can be seen from the above, in the embodiments of the present invention, when a new item is launched, two models, namely, the "content-based recommendation algorithm" and the "recommendation based on similar users", can be selected. Obviously, the "recommendation based on similar users" has a better effect than the "recommendation based on similar items". Therefore, when a new item is launched, the "recommendation based on similar items" is selected.
[0081] Table 4 shows the accuracy rates of different testers' recommendation algorithms:
[0082] Table 4
[0083]
[0084] As can be analyzed from Table 4 above, when the item has been in use for a period of time and there are some users using it, when making recommendations based on the existing users, the two optional models are the "collaborative filtering recommendation" and the "recommendation based on similar users". It can be clearly seen from the above table that the "recommendation based on similar users" model has a better effect. Therefore, the "recommendation based on similar users" model is selected.
[0085] Regarding the above collaborative filtering algorithm: when the item has been launched for some time and there are some white hats participating, this method of recommendation can be adopted.
[0086] After selecting the model in the previous step, after selecting the model, the selection of features and weights needs to be carried out based on the selected model.
[0087] "Recommendation algorithm based on similar users": All features are shown in Table 2. Among all user features, the average accuracy rate is 0.389. However, when adding the "bugs submitted by users for the item as weights", the accuracy rate is increased to 0.472. The final user features are shown in Table 2.
[0088] It should be noted that in the embodiments of the present invention, three models, namely Random Forest, SVM, and Logistic Regression, are selected for testing. Since the Random Forest model performs the best, the Random Forest model is selected.
[0089] In addition, in the embodiments of the present invention, 20% of the samples are reserved as the test set to optimize the model parameters, and the optimal parameters of the model are found through gridsearch. (The accuracy of the Random Forest model is tested, and the effects of specific models are tested by offline staff. The models need to be dynamically tested according to different specific businesses, mainly for business scenarios such as new users and activating dormant users.)
[0090] "Recommendation based on similar projects": The optimization of this model mainly adjusts the weight of each feature to maximize the accuracy of the user's performance when taking the top K. The adjustable weights are shown in Table 5 below:
[0091] Table 5
[0092]
[0093] In this embodiment, the features of the Click-Through Rate (CTR) model. The above are all based on the collaborative filtering mechanism for the recommendation of testers. However, the above recommendation methods cannot operate not only for special situations such as new users, but also cannot adapt to diversified business scenarios during the recommendation. Therefore, this model is adopted mainly to solve the following problems:
[0094] 1). Add a targeted invitation function (for confidential projects) for targeted personnel to study online.
[0095] 2). Improve the recommendation accuracy for new users, users with strong capabilities, activation of dormant users, and invitation for private projects.
[0096] 3). The model can automatically learn the positive feedback on the quality of white hats, reduce the marking by reviewers, and reduce the dependence on staff. The features mainly include the content shown in Table 6 below:
[0097] Table 6
[0098]
[0099]
[0100] According to the above embodiments of the present invention, before calculating the similarity between each of the multiple candidate testers and the third tester based on the feature information of the third tester, the test task allocation method further includes: obtaining the tester feature information of the multiple candidate testers; generating a user feature vector for each of the multiple candidate testers according to the tester feature information; and obtaining a user feature vector library based on each user feature vector.
[0101] In this embodiment, the user feature vector library is as shown in Table 2 above. Based on user feature values, these feature values are constructed according to the understanding of business expert experience to build features that can effectively measure the recommendation effect, and a user preference profile is constructed for each user.
[0102] According to the above embodiments of the present invention, filtering the second tester set and the fourth tester set according to the business scenario of the target project to obtain a target tester set includes: obtaining the clickstream feature information of multiple testers; inputting the clickstream feature information into a clickstream prediction model to process the clickstream feature information using the clickstream prediction model to obtain the test participation probability of each of the multiple testers, where the clickstream prediction model is a model trained by machine learning using multiple sets of training data, and each set of the multiple sets of training data includes: sample clickstream feature information and sample test participation probability; comparing the test participation probability of each tester with a test participation probability threshold respectively to obtain a seventh tester set in which the test participation probability of each tester is higher than the test participation probability threshold; and filtering the second tester set, the fourth tester set, and the seventh tester set according to the business scenario of the target project to obtain a target tester set.
[0103] In this embodiment, the clickstream prediction model (CTR) is mainly used for recommendation for specific users or specific business scenarios. For example, in cases such as new users, activating dormant users, and inviting high-credit users for private projects, it can make up for the deficiencies of the recommendation models based on similar projects and similar users. First, a trained random forest model needs to be loaded, then feature vectors are extracted according to Table 6, and then model prediction is performed to obtain the probability of each user participating, and users with low probabilities are filtered out through a preset threshold.
[0104] In this embodiment, the testers obtained from the recommendation model based on similar projects, the recommendation model based on similar users, and the clickstream prediction model (CTR) can be merged, and these users are the users to be recommended.
[0105] The click-through rate prediction (CTR) model here mainly solves the recommendation for different types of users, such as new users / users with strong capabilities / active users / dormant users / private invitation users.
[0106] According to the above embodiments of the present invention, after sending the target tester to the terminal device of the tester in the target tester set to complete the allocation of the target tester, the test task allocation method further includes: sending test invitation information to the terminal devices of multiple optional testers; obtaining feedback information of the multiple optional testers based on the test invitation information; updating the user feature vector of each of the multiple optional testers according to the feedback information to update the user feature vector library.
[0107] In this embodiment, white hats can be invited / recommended, and invitations are made according to the recommended white hats. The behaviors of these white hats are not the same. For example, some white hats will accept the invitation and start the physical test; some white hats will reject the invitation; and some white hats will accept the invitation and submit high-quality vulnerabilities. The behaviors of each user are different, and the label values of the user feature vectors will also change. Moreover, positive or negative samples can be generated according to whether the user accepts or rejects, and online learning (real-time model optimization) can be performed based on these samples.
[0108] According to the user behavior after being invited in the above steps, the label values (the values in Table 2) of the user feature vectors are calculated in real time. The calculated new feature values are updated to the user feature vector table. As the user data continues to be enriched, the prediction effect of the model will also continue to improve.
[0109] In the embodiment of the present invention, the click stream prediction model performs online learning. First, the model feature values (the features in Table 6) are dynamically updated in real time according to the user behavior. If the user participates in this model, this piece of data is a positive sample, otherwise it is a negative sample. Then, this piece of data is incrementally and real-time trained for the click stream prediction model. After training the model, the click stream prediction model is updated.
[0110] Figure 3 It is a schematic diagram of the tester recommendation system according to the embodiment of the present invention, as Figure 3 shown, obtaining the existing data of the company from the database, and performing data cleaning, feature engineering, modeling, etc. using the existing data; then establishing a user feature label library, a project feature label library, and click stream prediction model features; for the user feature label library and the project feature label library, matrix factorization and model selection can be based on, and feature selection can be based on similarity calculation; for the click stream prediction model features, model selection and parameter tuning can be performed for model training.
[0111] Figure 4 It is a flowchart of an optional test task allocation method according to the embodiment of the present invention, as Figure 4As shown in the figure, when a new project goes live, it is possible to select a recommendation method based on similar users or similar projects to obtain a white hat set to be recommended, filter the recommended white hat set based on business rules, recommend or invite white hats, update the feature values, and iteratively feedback them into the recommendation model based on similar users or similar projects. In addition, after recommending or inviting white hats, the online model is immediately fed back into clickstream prediction.
[0112] Through the technical solution provided by the embodiments of the present invention, the efficiency and accuracy in the process of test task distribution and tester selection on the crowdsourcing testing platform are improved. Especially for Internet companies facing growing network security threats and software quality challenges, they can quickly and accurately match suitable testers with specific test tasks. The present invention aims to solve the limitations of existing systems in task allocation and personnel selection, improve the personalized matching degree in the testing process, reduce task allocation errors and time delays, thereby optimizing resource utilization and enhancing the quality and reliability of test results.
[0113] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that this application is not limited by the described action sequence, because according to this application, certain steps can be performed in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to this application.
[0114] Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disc), and includes several instructions to enable a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in various embodiments of this application.
[0115] According to an embodiment of the present invention, there is also provided a test task allocation device for implementing the above test task allocation method. Figure 5 It is a schematic diagram of the test task allocation device according to an embodiment of the present invention, as Figure 5 shown. The device includes: an acquisition unit 501, a first determination unit 503, a second determination unit 505, a filtering unit 507, and an allocation unit 509. The following will describe the test task allocation device in detail.
[0116] An acquisition unit 501, configured to obtain the project identifier of the target project corresponding to the target test task when receiving the target test task, where the project identifier is used to represent the project type of the target project.
[0117] A first determination unit 503, configured to determine partial reference projects whose similarity to the target project is greater than a first similarity threshold when the project identifier indicates that the target project is a new project, and obtain a set of second testers among the first testers who participated in the test tasks corresponding to the partial reference projects and submitted vulnerabilities generated during the test process, where the new project is a project that has not been run.
[0118] A second determination unit 505, configured to determine a set of fourth testers whose similarity to the third testers is greater than a second similarity threshold according to the third testers who participated in the test tasks corresponding to the non-new project when the project identifier indicates that the target project is a non-new project, where the non-new project is a project that has been run.
[0119] A filtering unit 507, configured to filter the set of second testers and the set of fourth testers according to the business scenario of the target project to obtain a set of target testers.
[0120] An allocation unit 509, configured to send the target testers to the terminal devices of the testers in the set of target testers to complete the allocation of the target testers.
[0121] It should be noted here that the above acquisition unit 501, first determination unit 503, second determination unit 505, filtering unit 507, and allocation unit 509 correspond to steps S202 to S210 in the above embodiment. The instances and application scenarios implemented by the five units and the corresponding steps are the same, but are not limited to the content disclosed in the above embodiment.
[0122] As described above, in the solution described in the above embodiments of the present invention, when the acquisition unit receives a target test task, it can acquire the project identifier of the target project corresponding to the target test task, where the project identifier is used to represent the project type of the target project; when the project identifier indicates that the target project is a new project, the first determination unit determines partial reference projects whose similarity to the target project is greater than the first similarity threshold, and acquires a set of second testers among the first testers who participated in the test tasks corresponding to the partial reference projects and submitted vulnerabilities generated during the test process, where the new project is a project that has not been run; when the project identifier indicates that the target project is a non-new project, the second determination unit determines, according to the third testers who participated in the test tasks corresponding to the non-new project, a set of fourth testers whose similarity to the third testers is greater than the second similarity threshold, where the non-new project is a project that has been run; the filtering unit filters the set of second testers and the set of fourth testers according to the business scenario of the target project to obtain a set of target testers; the allocation unit sends the target testers to the terminal devices of the testers in the set of target testers to complete the allocation of the target testers, realizing that when receiving a project test task, a selection method for selecting testers can be based on the type of the project corresponding to the project test task, and filtering the testers selected based on this selection method according to business rules to obtain the final testers, achieving the technical effect of improving the efficiency and accuracy of the crowdsourcing testing platform in the process of test task distribution and tester selection. Especially for Internet companies facing growing network security threats and software quality challenges, it can quickly and accurately match suitable testers with specific test tasks.
[0123] Therefore, through the technical solution provided by the above embodiments of the present invention, the technical problem that in the related art, most of the test task allocation mechanisms rely on simple keyword matching or manual screening, resulting in low accuracy of task allocation, is solved.
[0124] In an alternative embodiment, the acquisition unit includes: a first acquisition module, configured to acquire the project description information of the target project; a first determination module, configured to determine the project type of the target project according to the project description information; and a second acquisition module, configured to add a project identifier to the target project according to the project type to obtain the project identifier of the target project.
[0125] In an alternative embodiment, the first determination unit includes: a second determination module, configured to determine multiple reference projects of the target project; a calculation module, configured to calculate the similarity between the target project and each of the multiple reference projects respectively; and a third determination module, configured to compare the similarity with the first similarity threshold to determine partial reference projects whose similarity to the target project is greater than the first similarity threshold.
[0126] In an alternative embodiment, the first determination unit includes: a fourth determination module configured to determine a fifth tester participating in each corresponding test task in the partial reference project; a fifth determination module configured to determine a sixth tester among the fifth testers who submits vulnerabilities generated during the test process; and a third acquisition module configured to acquire the feature information of the sixth tester to obtain a second tester set.
[0127] In an alternative embodiment, the second determination unit includes: a sixth determination module configured to determine the feature information of a third tester participating in the test task corresponding to the non-new project; a calculation module configured to calculate the similarity between each of a plurality of optional testers and the third tester according to the feature information of the third tester; and a fourth acquisition module configured to compare the similarity between each of the plurality of optional testers and the third tester with a second similarity threshold to obtain a fourth tester set.
[0128] In an alternative embodiment, the test task allocation device further includes: a fifth acquisition module configured to acquire the reference project feature information of each reference project in a plurality of reference projects before determining the partial reference project whose similarity to the target project is greater than a first similarity threshold; a first generation module configured to generate a project feature vector for each of the plurality of reference projects according to the reference project feature information; and a sixth acquisition module configured to obtain a project feature vector library according to the project feature vector of each.
[0129] In an alternative embodiment, the test task allocation device further includes: a seventh acquisition module configured to acquire the tester feature information of a plurality of optional testers before calculating the similarity between each of the plurality of optional testers and the third tester according to the feature information of the third tester; a second generation module configured to generate a user feature vector for each of the plurality of optional testers according to the tester feature information; and an eighth acquisition module configured to obtain a user feature vector library according to the user feature vector of each.
[0130] In an alternative embodiment, the filtering unit includes: a ninth acquisition module configured to acquire clickstream feature information of multiple testers; a processing module configured to input the clickstream feature information into a clickstream prediction model to process the clickstream feature information by using the clickstream prediction model to obtain a test participation probability of each of the multiple testers, wherein the clickstream prediction model is a model obtained by machine learning training using multiple sets of training data, and each set of the multiple sets of training data includes: sample clickstream feature information and a sample test participation probability; a comparison module configured to compare the test participation probability of each tester with a test participation probability threshold respectively to obtain a seventh tester set in which the test participation probability of each tester is higher than the test participation probability threshold; and a filtering module configured to filter the second tester set, the fourth tester set, and the seventh tester set according to the business scenario of the target project to obtain a target tester set.
[0131] In an alternative embodiment, the test task allocation device further includes: a sending module configured to send test invitation information to the terminal devices of multiple optional testers after sending the target testers to the terminal devices of the testers in the target tester set to complete the allocation of the target testers; a tenth acquisition module configured to acquire feedback information of the multiple optional testers based on the test invitation information; and an update module configured to update the user feature vector of each of the multiple optional testers according to the feedback information to update the user feature vector library.
[0132] According to another aspect of the embodiments of the present invention, there is also provided a crowdsourcing platform tester recommendation system, and the crowdsourcing platform tester recommendation system uses the test task allocation method of any one of the above.
[0133] According to another aspect of the embodiments of the present invention, there is also provided a computer-readable storage medium, and the computer-readable storage medium includes a stored program, wherein the program executes the test task allocation method of any one of the above.
[0134] Optionally, in the present embodiment, the above computer-readable storage medium may be located in any one of the computer terminals in the computer terminal group in the computer network, or in any one of the communication devices in the communication device group.
[0135] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: when receiving a target test task, obtain the project identifier of the target project corresponding to the target test task, where the project identifier is used to represent the project type of the target project; when the project identifier indicates that the target project is a new project, determine partial reference projects whose similarity to the target project is greater than a first similarity threshold, and obtain a set of second testers among all the first testers who participated in the test tasks corresponding to the partial reference projects and submitted vulnerabilities generated during the test process, where the new project is a project that has not been run; when the project identifier indicates that the target project is not a new project, based on the third testers who participated in the test tasks corresponding to the non-new project, and determine a set of fourth testers whose similarity to the third testers is greater than a second similarity threshold, where the non-new project is a project that has been run; filter the set of second testers and the set of fourth testers according to the business scenario of the target project to obtain a set of target testers; send the target testers to the terminal devices of the testers in the set of target testers to complete the assignment of the target testers.
[0136] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: obtain the project description information of the target project; determine the project type of the target project according to the project description information; add a project identifier to the target project according to the project type to obtain the project identifier of the target project.
[0137] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: determine multiple reference projects of the target project; calculate the similarity between the target project and each of the multiple reference projects respectively; compare the similarity with the first similarity threshold to determine partial reference projects whose similarity to the target project is greater than the first similarity threshold.
[0138] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: determine the fifth testers who participated in the test tasks corresponding to each of the partial reference projects; determine the sixth testers among the fifth testers who submitted vulnerabilities generated during the test process; obtain the characteristic information of the sixth testers to obtain the set of second testers.
[0139] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: determine the characteristic information of the third testers who participated in the test tasks corresponding to the non-new project; calculate the similarity between each of multiple optional testers and the third testers according to the characteristic information of the third testers; compare the similarity between each of the multiple optional testers and the third testers with the second similarity threshold to obtain the set of fourth testers.
[0140] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: before determining partial reference items whose similarity to the target item is greater than the first similarity threshold, obtain the reference item feature information of each reference item among a plurality of reference items; generate an item feature vector for each of the plurality of reference items according to the reference item feature information; and obtain an item feature vector library according to the item feature vector of each one.
[0141] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: before calculating the similarity between each of a plurality of optional testers and the third tester according to the feature information of the third tester, obtain the tester feature information of each of the plurality of optional testers; generate a user feature vector for each of the plurality of optional testers according to the tester feature information; and obtain a user feature vector library according to the user feature vector of each one.
[0142] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: obtain the click stream feature information of a plurality of testers; input the click stream feature information into a click stream prediction model to process the click stream feature information by using the click stream prediction model, so as to obtain the test participation probability of each tester among the plurality of testers, where the click stream prediction model is a model obtained by machine learning training using multiple sets of training data, and each set of the multiple sets of training data includes: sample click stream feature information and sample test participation probability; compare the test participation probability of each tester with a test participation probability threshold respectively to obtain a seventh tester set in which the test participation probability of each tester is higher than the test participation probability threshold; and filter the second tester set, the fourth tester set, and the seventh tester set according to the business scenario of the target item to obtain a target tester set.
[0143] Optionally, in this embodiment, the computer-readable storage medium is configured to store program code for performing the following steps: after sending the target tester to the terminal device of the tester in the target tester set to complete the assignment of the target tester, send test invitation information to the terminal devices of the plurality of optional testers; obtain the feedback information of the plurality of optional testers based on the test invitation information; and update the user feature vector of each of the plurality of optional testers according to the feedback information to update the user feature vector library.
[0144] According to another aspect of the embodiments of the present invention, a processor is further provided, and the processor is used to run a program, where when the program runs, it executes the test task assignment method of any one of the above.
[0145] The serial numbers of the embodiments of the present invention above are only for description and do not represent the superiority or inferiority of the embodiments.
[0146] In the above embodiments of the present invention, the descriptions of the respective embodiments have their own emphases. For the parts not detailed in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.
[0147] In the several embodiments provided by the present application, it should be understood that the disclosed technical content can be implemented in other ways. Among them, the device embodiments described above are only illustrative. For example, the division of the units can be a logical function division. In actual implementation, there can be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the couplings or direct couplings or communication connections shown or discussed with each other can be through some interfaces. The indirect couplings or communication connections of the units or modules can be in electrical or other forms.
[0148] The units described as separate components may or may not be physically separated. The components shown as units may or may not be physical units, that is, they can be located in one place or distributed to multiple units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0149] In addition, the functional units in the various embodiments of the present invention can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.
[0150] If the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. And the aforementioned storage medium includes: USB flash drives, read-only memories (ROMs), random access memories (RAMs), mobile hard disks, magnetic disks or optical disks and other various media that can store program codes.
[0151] The above are only the preferred embodiments of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and refinements can be made, and these improvements and refinements should also be regarded as the protection scope of the present invention.
Claims
1. A method for allocating test tasks, characterized in that, Including: When receiving a target test task, obtain the project identifier of the target project corresponding to the target test task, where the project identifier is used to represent the project type of the target project; When the project identifier indicates that the target project is a new project, determine partial reference projects whose similarity to the target project is greater than a first similarity threshold, and obtain a set of second testers among the first testers who participated in the test tasks corresponding to the partial reference projects and submitted vulnerabilities generated during the test process, where the new project is a project that has not been run; When the project identifier indicates that the target project is a non-new project, based on the third testers who participated in the test tasks corresponding to the non-new project, and determine a set of fourth testers whose similarity to the third testers is greater than a second similarity threshold, where the non-new project is a project that has been run; Filter the set of second testers and the set of fourth testers according to the business scenario of the target project to obtain a set of target testers; Send the target testers to the terminal devices of the testers in the set of target testers to complete the assignment of the target testers.
2. The allocation method of the test task according to claim 1, characterized in that, Obtaining the project identifier of the target project corresponding to the target test task includes: Obtain the project description information of the target project; Determine the project type of the target project according to the project description information; Add a project identifier to the target project according to the project type to obtain the project identifier of the target project.
3. The allocation method of the test task according to claim 1, characterized in that, Determining partial reference projects whose similarity to the target project is greater than a first similarity threshold includes: Determine multiple reference projects of the target project; Calculate the similarity between the target project and each of the multiple reference projects respectively; Compare the similarity with the first similarity threshold to determine the partial reference projects whose similarity to the target project is greater than the first similarity threshold.
4. The method for allocating test tasks according to claim 1, wherein Obtaining a set of second testers among the first testers who participated in the test tasks corresponding to the partial reference projects and submitted vulnerabilities generated during the test process includes: Determine the fifth testers who participated in the test tasks corresponding to each of the partial reference projects; Determine the sixth testers among the fifth testers who submitted the vulnerabilities generated during the test process; Obtain the characteristic information of the sixth testers to obtain the set of second testers.
5. The allocation method of the test task according to claim 1, characterized in that Determining a set of fourth testers whose similarity to the third testers is greater than a second similarity threshold includes: Determine the characteristic information of the third testers who participated in the test tasks corresponding to the non-new project; Calculate the similarity between each of multiple optional testers and the third testers according to the characteristic information of the third testers; Compare the similarity between each of the multiple optional testers and the third testers with the second similarity threshold to obtain the set of fourth testers.
6. The method for allocating test tasks according to claim 3, wherein, Before determining partial reference projects whose similarity to the target project is greater than a first similarity threshold, it further includes: Obtain the reference item feature information of each of the multiple reference items; Generate an item feature vector for each of the multiple reference items according to the reference item feature information; Obtain an item feature vector library according to the item feature vector of each one.
7. The allocation method of the test task according to claim 3, characterized in that Before calculating the similarity between each of the multiple optional testers and the third tester according to the feature information of the third tester, it further includes: Obtain the tester feature information of the multiple optional testers; Generate a user feature vector for each of the multiple optional testers according to the tester feature information; Obtain a user feature vector library according to the user feature vector of each one.
8. The method for allocating test tasks according to claim 1, wherein Filter the second tester set and the fourth tester set according to the business scenario of the target project to obtain a target tester set, including: Obtain the clickstream feature information of multiple testers; Input the clickstream feature information into a clickstream prediction model to use the clickstream prediction model to process the clickstream feature information to obtain the test participation probability of each of the multiple testers, where the clickstream prediction model is a model obtained by machine learning training using multiple sets of training data, and each set of the multiple sets of training data includes: sample clickstream feature information and sample test participation probability; Compare the test participation probability of each tester with a test participation probability threshold respectively to obtain a seventh tester set in which the test participation probability of each tester is higher than the test participation probability threshold; Filter the second tester set, the fourth tester set and the seventh tester set according to the business scenario of the target project to obtain the target tester set.
9. The allocation method of the test task according to claim 7, characterized in that, After sending the target tester to the terminal device of the tester in the target tester set to complete the assignment of the target tester, it further includes: Send test invitation information to the terminal devices of the multiple optional testers; Obtain the feedback information of the multiple optional testers based on the test invitation information; Update the user feature vector of each of the multiple optional testers according to the feedback information to update the user feature vector library.
10. An allocation device for test tasks, characterized in that, It includes: An acquisition unit, configured to obtain the project identifier of the target project corresponding to the target test task when receiving the target test task, where the project identifier is used to represent the project type of the target project; A first determination unit, configured to determine a partial reference project whose similarity to the target project is greater than a first similarity threshold when the project identifier indicates that the target project is a new project, and obtain a second tester set of the first testers who participated in the test tasks corresponding to the partial reference project and submitted vulnerabilities generated during the test process, where the new project is a project that has not been run; A second determination unit, configured to, when the project identifier indicates that the target project is a non-new project, determine, according to third testers participating in the test task corresponding to the non-new project, a set of fourth testers whose similarity to the third testers is greater than a second similarity threshold, where the non-new project is a project that has been run; A filtering unit, configured to filter the set of second testers and the set of fourth testers according to the business scenario of the target project to obtain a set of target testers; An allocation unit, configured to send the target testers to the terminal devices of the testers in the set of target testers to complete the allocation of the target testers.
Citation Information
Patent Citations
Information processing method and device based on personnel allocation, equipment and storage medium
CN117314121A
Machine learning techniques for automated software testing configuration management
US20230251960A1