WO2024067039A1 - Application automated testing method, electronic device, and computer readable medium - Google Patents

Application automated testing method, electronic device, and computer readable medium Download PDF

Info

Publication number
WO2024067039A1
WO2024067039A1 PCT/CN2023/117993 CN2023117993W WO2024067039A1 WO 2024067039 A1 WO2024067039 A1 WO 2024067039A1 CN 2023117993 W CN2023117993 W CN 2023117993W WO 2024067039 A1 WO2024067039 A1 WO 2024067039A1
Authority
WO
WIPO (PCT)
Prior art keywords
interface
information
user interface
control
application
Prior art date
Application number
PCT/CN2023/117993
Other languages
French (fr)
Chinese (zh)
Inventor
杨治国
黄来锋
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2024067039A1 publication Critical patent/WO2024067039A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0464Convolutional networks [CNN, ConvNet]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/092Reinforcement learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/764Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/04Arrangements for maintaining operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/06Testing, supervising or monitoring using simulated traffic

Definitions

  • the present disclosure relates to the field of computer technology, and in particular to a dialing method for an application program, an electronic device, and a computer-readable medium.
  • Traffic identification technology used to sense and identify traffic is usually highly dependent on traffic samples, and the technical means of obtaining traffic samples is a byproduct of application (APP) automated testing.
  • APP automated testing focuses on whether the front-end interface or back-end logic of the APP meets the needs of developers during the test process; for network security and operation and maintenance, it is more important to obtain the traffic generated in every link of the APP use process as detailed as possible for subsequent analysis.
  • the embodiments of the present disclosure provide a method for dialing an application program, an electronic device, and a computer-readable medium.
  • the present disclosure provides a method for testing an application program, comprising: obtaining an interface image of the application program and inputting the interface image into a target detection model to detect the interface image of the application program.
  • the control is identified and the control information is obtained; a traversal path is determined using a deep reinforcement learning model according to the control information and the interface image, and the business of the application is traversed; and traffic information generated by the application during the traversal process is obtained.
  • An embodiment of the present disclosure also provides an electronic device, including: one or more processors; a memory, on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the dialing method of the application program of the embodiment of the present disclosure.
  • the embodiment of the present disclosure further provides a computer-readable medium on which a computer program is stored.
  • the processor implements the dialing method of the application program of the embodiment of the present disclosure.
  • FIG1 is a flow chart of a dialing method according to an embodiment of the present disclosure
  • FIG2 is another flow chart of the dialing method according to an embodiment of the present disclosure.
  • FIG3 is another flow chart of the dialing method according to an embodiment of the present disclosure.
  • FIG4 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • FIG5 is a block diagram of a computer-readable medium according to an embodiment of the present disclosure.
  • FIG6 is a schematic diagram of a conventional automatic dialing system according to an embodiment of the present disclosure.
  • FIG7 is a schematic diagram of a training automatic dialing system according to an embodiment of the present disclosure.
  • FIG8 is a schematic diagram of an end-to-end application traffic production system according to an embodiment of the present disclosure.
  • FIG9 is a schematic diagram of a training interface classification model according to an embodiment of the present disclosure.
  • FIG10 is a schematic diagram of a target detection model according to an embodiment of the present disclosure.
  • FIG11 is a schematic diagram of an action prediction network of a deep reinforcement learning model according to an embodiment of the present disclosure.
  • FIG. 12 is a schematic diagram of a deep reinforcement learning model according to an embodiment of the present disclosure.
  • FIG. 1 is a flow chart of a dialing method according to an embodiment of the present disclosure.
  • the application program dialing method includes the following steps S1 to S3 .
  • step S1 an interface image of an application is acquired and input into a target detection model to identify controls in the interface image and obtain control information.
  • step S2 a traversal path is determined using a deep reinforcement learning model according to the control information and the interface image, and the business of the application is traversed.
  • step S3 traffic information generated by the application during the traversal process is obtained.
  • an interface image of any user interface (UI) of the application can be obtained, or an interface image of any user interface (UI) of the application can be obtained each time the application switches to a new user interface.
  • UI user interface
  • the present disclosure embodiment does not specifically limit this.
  • each user interface may have one or more controls, which are not specifically limited in the embodiment of the present disclosure.
  • the target detection model identifies controls in the interface image based on the target detection algorithm. Different from image recognition and image matching algorithms that rely on detailed prior knowledge of controls to identify controls, and different from algorithms that identify controls based on interface description information (e.g., XML description information) of the user interface, identifying controls in interface images based on the target detection algorithm can have better compatibility with a variety of applications.
  • the disclosed embodiment does not specifically limit the target detection model.
  • the target detection model is a Yolo model or a Yolo-V4 model.
  • traversing the services of an application refers to traversing the various service logics of the application by simulating the process of a person using the application.
  • the deep reinforcement learning model by utilizing the traversal path determined by the deep reinforcement learning model, it is possible to traverse as many services of the application as possible, while being able to cover as comprehensively as possible the services that will generate a large amount of traffic, thereby obtaining as much traffic information as possible.
  • the disclosed embodiments do not specifically limit the deep reinforcement learning model.
  • the deep reinforcement learning model is a deep deterministic policy gradient (DDPG, Deep Deterministic Policy Gradient) reinforcement learning model based on the AC (Acotr-Critic) architecture.
  • the traffic information obtained during the traversal process can provide offline analysis training data for upper-layer applications such as network security and network operation and maintenance.
  • the controls in the user interface of the application are identified based on the target detection model, and the services of the application are traversed based on the deep reinforcement learning model. Therefore, it does not rely on detailed prior knowledge of the controls or the interface description information of the user interface, and can also be compatible with a variety of applications, thus achieving highly automated and highly versatile application dialing.
  • the coverage of the application's services is more comprehensive, and the services that will generate a large amount of traffic can be fully traversed, so that richer and more accurate traffic information can be obtained, which is conducive to providing comprehensive and detailed offline analysis training data for upper-level applications such as network security and network operation and maintenance.
  • the application includes a user interface that relies on human-computer logical interaction.
  • the user needs to participate in completing the human-computer interaction process in the user interface before entering the new user interface through the user interface.
  • the login interface and the registration interface are both user interfaces that rely on human-computer logical interaction.
  • the category of the user interface can be identified from the perspective of human-computer interaction, and the corresponding interactive operation is performed according to the category of the user interface.
  • FIG. 2 is another flow chart of the dialing method according to an embodiment of the present disclosure.
  • the dialing method of the application according to the embodiment of the present disclosure further includes steps S41 to S42 .
  • step S41 the interface image is input into the interface classification model, and the category of the user interface corresponding to the interface image is calibrated.
  • step S42 an interactive operation is performed in the user interface according to the category of the user interface.
  • the categories of user interfaces include: user interfaces that require human-computer interaction and user interfaces that do not require human-computer interaction.
  • the categories of user interfaces include: login interface, registration interface, and other interfaces, wherein the login interface and registration interface are user interfaces that require human-computer interaction, and other interfaces are user interfaces that do not require human-computer interaction. The embodiments of the present disclosure do not specifically limit this.
  • the categories of user interfaces are identified from the perspective of human-computer interaction, and corresponding interactive operations are performed according to the categories of user interfaces, so that interfaces that require human-computer interaction can be bypassed, and the application or new user interface can be entered to complete a deep traversal of the entire application.
  • the embodiments of the present disclosure can identify the login interface (or registration interface) and automatically perform interactive operations for login (or registration), avoiding the inability to enter the application or only being able to use some of the functions of the application due to failure to log in (or register), thereby being able to fully traverse all the services of the application.
  • the interface classification model is a convolutional neural network (CNN) model. It should be noted that the CNN-based interface classification model does not rely on the interface description information of the user interface and has higher universality.
  • CNN convolutional neural network
  • performing an interactive operation in the user interface according to the type of the user interface includes: determining whether there is login information for the user interface; if there is login information, performing a login operation in the user interface using the login information; if there is no login information, locating the user according to the interface image; Click the registration jump control in the interface and jump to the registration interface.
  • OCR optical character recognition
  • performing interactive operations in the user interface according to the category of the user interface includes: locating the registration information control in the user interface according to the interface image; filling the registration information in the registration information control according to a preconfigured filling template; and if the registration is successful, storing the registration information as the login information of the user interface.
  • the user interface is scanned and recognized by OCR, and the registration information control in the user interface is located.
  • the deep reinforcement learning model is a deep reinforcement learning model based on an AC architecture.
  • determining a traversal path using a deep reinforcement learning model based on control information and an interface image, and traversing the application's business includes: inputting the interface image and control information into an action prediction network of the deep reinforcement learning model to determine a target control and a target action, wherein the target control is one of the controls in the interface image; inputting the interface image, control information, and target action into an action evaluation network of the deep reinforcement learning model to evaluate the target action; and calculating the error using a reward function to optimize the action prediction network.
  • the present disclosed embodiment does not impose any special limitation on the reward function.
  • ⁇ , ⁇ , and ⁇ are weight factors
  • State change_percent is the percentage of interface pixel change
  • Traffic inc indicates the increase in traffic
  • depth change is the change in traversal depth.
  • the reward function based on formula (1) can enable the deep reinforcement learning model to traverse as many services of the application as possible, and at the same time can cover the services that will generate a large amount of traffic as comprehensively as possible, thereby obtaining as much traffic information as possible.
  • the present disclosure embodiment does not make any changes to the architecture of the deep reinforcement learning model based on the AC architecture.
  • the deep reinforcement learning model based on the AC architecture includes a convolutional neural sub-network and a long short-term memory (LSTM) sub-network.
  • LSTM long short-term memory
  • inputting the interface image and the control information into the action prediction network of the deep reinforcement learning model to determine the target control and the target action includes: inputting the interface image into the convolutional neural subnetwork in the action prediction network to extract features of the interface image and obtain a user interface vector; inputting the control information into the long short-term memory subnetwork in the action prediction network to extract features of the control information and obtain a control information vector; and merging features of the user interface vector and the control information vector to obtain the target control and the target action.
  • the disclosed embodiment does not specifically limit how to obtain the traffic information generated by the application during the traversal process.
  • obtaining the traffic information generated by the application during the traversal process includes: capturing packets of the application during the traversal process to obtain a packet capture message sequence; inserting action information, control location information, and control screenshots during the traversal process into the packet capture message sequence in the form of a piling message to obtain traffic information.
  • the piling message carries identification information, for example, the media access control (MAC) address of the piling message is set to all 0s to identify the piling message.
  • MAC media access control
  • the action information, control location information, and control screenshots during the traversal process are inserted into the packet capture message sequence in the form of piling messages, so as to facilitate the acquisition of traffic information generated by specific segmented services during upper-level application analysis such as network security and network operation and maintenance.
  • FIG. 3 is another flow chart of the dialing method according to an embodiment of the present disclosure.
  • the dialing method of the application according to the embodiment of the present disclosure further includes steps S51 to S52 .
  • step S51 a conventional automatic dialing test system is used to perform dialing test on at least one application to be tested based on the interface description information of the user interface to obtain a training sample set.
  • step S52 the initial target detection model and the initial deep reinforcement learning model are trained using the training sample set to obtain a target detection model and a deep reinforcement learning model.
  • step S51 to step S52 it is equivalent to using a teacher-student combination framework to train the initial target detection model and the initial deep reinforcement learning model.
  • the traditional automatic dialing system based on the interface description information of the user interface is the teacher end, and the initial target detection model and the initial deep reinforcement learning model are the student end.
  • the teacher end performs dialing on at least one application to be tested based on the interface description information of the user interface, and the student end receives the training sample set including the current user interface, action information, control position information, next user interface, etc. of the application to be tested obtained during the dialing process of the teacher end, and trains to obtain the target detection model, the deep reinforcement learning model, and the interface classification model.
  • An evaluation function is designed in the initial deep reinforcement learning model to evaluate the execution results of the teacher end, so that the dialing test should not only traverse the user interface as much as possible, but also take into account the acquisition of as much traffic information as possible.
  • the teacher end will collect the data of manual operation and correct the student end so that the operation of the student end is more in line with the user's behavior of using the application.
  • the initial target detection model and the initial deep reinforcement learning model are trained using a teacher-student combination framework.
  • the initialization effect of the target detection model and the deep reinforcement learning model obtained has a higher starting point, higher completeness of automated testing, and a shorter time to traverse all user interfaces of the application, which is conducive to obtaining a target detection model and a deep reinforcement learning model with better performance.
  • FIG. 4 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • an electronic device provided according to an embodiment of the present disclosure includes: one or more processors 101; a memory 102 on which one or more programs are stored.
  • the one or more processors 101 implement the dialing method of the application according to each embodiment of the present disclosure.
  • one or more I/O interfaces 103 are connected between the processor 101 and the memory 102 to implement information interaction between the processor 101 and the memory 102 .
  • the processor 101 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 102 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I/O interface (read-write interface) 103 is connected between the processor 101 and the memory 102, and can realize information exchange between the processor 101 and the memory 102, including but not limited to a data bus (Bus), etc.
  • RAM random access memory
  • ROM read-only memory
  • EEPROM electrically erasable programmable read-only memory
  • FLASH flash memory
  • the I/O interface (read-write interface) 103 is connected between the processor 101 and the memory 102, and can realize information exchange between the processor 101 and the memory 102, including but not limited to a data bus (Bus), etc.
  • the processor 101 , the memory 102 , and the I/O interface 103 are connected to each other via a bus 104 , and further connected to other components of the computing device.
  • FIG. 5 is a block diagram of a computer-readable medium according to an embodiment of the present disclosure.
  • an embodiment of the present disclosure provides a computer-readable medium on which a computer program is stored.
  • the processor implements the dialing method of the application program of each embodiment of the present disclosure.
  • This embodiment provides an automatic dialing test system, the purpose of which is to obtain traffic information generated by an application during a dialing test.
  • the traditional automatic dialing test system is shown in FIG6 , and the traditional automatic dialing test system can perform dialing test on the application based on the interface description information.
  • the traditional automatic dialing test system parses the XML description information of the UI of the application, and makes a decision based on the parsed controls to determine the next operation of the dialing test until the termination condition is reached (for example, the page traversal is completed or the time setting expires).
  • the automated dialing system will be trained with the operation guidance of the traditional automated dialing system before being independently put online, which can effectively avoid the trial and error stage in the early stage of training and accelerate system optimization.
  • the automated dialing system is significantly better than the traditional automated dialing system in terms of the time to reach the maximum depth, the time consumed to traverse all interfaces, and the amount of traffic obtained.
  • the automatic dialing system is part of an end-to-end application traffic production system.
  • the end-to-end application traffic production system obtains the update status of the APP by monitoring the application market, and then automatically dials the updated APP through the automatic dialing system to obtain the traffic generated when the APP is running. Since the traffic is also mixed with some public traffic, advertising traffic, etc., it is necessary to clean the traffic to remove public traffic, advertising traffic, etc., and obtain a training test set, so that it can be used for practical purposes such as rule extraction and verification.
  • the automatic dialing test system proposed in the embodiment of the present disclosure comprises a traditional automatic dialing test system, an injection
  • the system includes components and modules such as registration interface & login interface judgment, automatic registration and login, target detection model for control positioning, and deep reinforcement learning model for action recommendation.
  • the target detection model and deep reinforcement learning model need to go through a long period of observation and learning of the traditional automatic dialing system.
  • the components based on the target detection model and deep reinforcement learning model will be used as core modules to undertake APP dialing tasks.
  • the traditional automatic dialing test system is an automated testing system built on the classic XML description information based on the UI.
  • the system obtains the location of the control by parsing the XML description information, and then infers and decides what action to use (including single click, double click, left and right swipe, up and down swipe, long press, input, etc.) to perform the operation, so that the interface is refreshed or a new interface is entered.
  • the test of the entire APP is completed through the depth first traversal (DFS, Depth First Search) method, and complete traffic is collected at the same time.
  • DFS Depth First Search
  • the advantage of the traditional automatic dialing test system is that it is simple to implement, and the DFS traversal of the APP can be completed through the interface design logic.
  • the traditional automatic dialing test system is highly dependent on the XML description information of the UI, and it is impossible to perform dialing tests on APPs that cannot obtain XML description information.
  • the registration interface and login interface are interfaces that rely on human-computer logical interaction. In many apps, it is impossible to bypass the registration interface and login interface to enter the app without entering prior information, and it is impossible to complete a deep traversal of the entire app. Therefore, it is very important to identify whether the UI is a registration interface or a login interface during the dialing process.
  • a three-category (registration interface, login interface, other) random forest model is trained based on features such as whether the UI contains specific characters and/or icons (for example, registration, mobile phone number, password, verification code, login, WeChat icon, skip, enter, QQ icon, Sina icon, etc.), the number of clickable controls, and the current interface depth.
  • This model can be used to identify whether the UI is a registration interface or a login interface.
  • the login interface and registration interface are strong interactive logic interfaces that rely on people's prior knowledge. Following the human factors engineering design interface, the automatic registration and login of the APP can be achieved as follows.
  • For the identified login interface check whether there is a registered account. If so, use the registered account to log in. If not, use the verification based on mobile phone number, WeChat, or QQ to log in. If the interface still cannot be logged in, locate the control suspected to be "Jump to registration" through text and click it to enter the registration interface.
  • the disclosed embodiment designs a set of filling templates for common registration interfaces. If an APP has never been registered in the dialing system, the registration interface will be scanned and identified by OCR, the key information controls will be located, and then the pre-configured registration information will be filled in. After successful registration, the relevant registration information will be saved, and the registered information will be used directly to log in during subsequent dialing.
  • the training data of the target detection model comes from the dialing process of the traditional automatic dialing system on the APP with UI cross-sectional description information.
  • the traditional automatic dialing system will cut out the recognized controls from the interface image. When cutting out the control image, it is slightly larger than the actual size of the control (generally enlarged by 20%). The test found that including the information around the control can effectively increase the accuracy of control recognition. At the same time, in order to increase the negative sample data, it will randomly cut out the interface image. Take pictures with a background that does not contain controls or a control area that is less than 20% as non-control samples. The collected sample data will be used to train the Yolo-V4 target detection model (as shown in Figure 10).
  • the trained model will directly use the UI image as input and output the recognized control information (single-click control, double-click control, left-swipe control, right-swipe control, up-swipe control, down-swipe control, input control, long-press control).
  • APP automatic dialing is a typical Markov decision (MDP) process of accepting the current perception state, executing operation behavior, and jumping to a new perception state.
  • MDP Markov decision
  • the automatic dialing system proposed in the embodiment of the present disclosure adopts the DDPG algorithm of the AC architecture to implement the deep reinforcement learning model.
  • the AC architecture separates action prediction and action evaluation, which is conducive to learning prior experience from other homogeneous traditional automatic dialing systems.
  • the starting point of the deep reinforcement learning model is already very high when it actually works, avoiding the early random walk exploration.
  • Reinforcement learning is based on the four-tuple (S t , R t , S t+1 , A t ), where S t represents the state perceived by the current reinforcement learning, S t+1 represents the new environmental state after the reinforcement learning performs the action A t , and R t is the feedback value obtained after switching to the new state.
  • S t represents the state perceived by the current reinforcement learning
  • S t+1 represents the new environmental state after the reinforcement learning performs the action A t
  • R t is the feedback value obtained after switching to the new state.
  • the current UI and the information of all controls will be used as the environmental information perceived by reinforcement learning. After the reinforcement learning perceives the environmental information, it can make a selection operation and select one of the controls to perform an action.
  • ⁇ , ⁇ , and ⁇ are weight factors
  • State change_percent is the percentage of interface pixel change
  • Traffic inc indicates the increase in traffic
  • depth change is the change in traversal depth.
  • can be 1
  • can be 0.01
  • can be 0.05. This configuration can achieve the effect of paying more attention to the degree of interface change in the early stage of dialing and paying more attention to traffic in the later stage.
  • St is the state of the environment perceived by reinforcement learning, including the current UI image of the action to be performed and the position and type information of all controls Xp , Yp , T, where Xp is the horizontal position of the center of the control, Yp is the vertical position of the center of the control, and T is the control type, which is normalized to the range of 0-1 according to the total number of control types).
  • the action prediction (Actor) network in the deep reinforcement learning model shown in Figure 11 includes a CNN subnetwork and an LSTM subnetwork.
  • the Actor network takes the UI and the control information obtained by detection as input, extracts features through the CNN subnetwork and the LSTM subnetwork respectively to obtain the user interface vector and the control information vector, and outputs the predicted action through feature merging.
  • the traditional automatic dialing system passes the process data generated by the operation process to the DDPG reinforcement learning network.
  • the Actor and Critic networks process the input images using the CNN structure shown in Figure 11.
  • the specific training process is shown in Figure 12.
  • the Critic network has an additional action vector input.
  • the feature merging part of the Critic network merges the user interface vector, the control information vector and the action vector to obtain the output result, and then optimizes the Actor network by calculating the error through the reward function.
  • the traditional automatic dialing test system has a large reliance on the XML file describing the front-end UI, and cannot be applied in the scenario where the front-end UI description file cannot be obtained.
  • the disclosed embodiment replaces the reliance of the traditional automatic dialing test system on the XML file by training the control calibration model, thereby realizing a more universal dialing test system.
  • the operable controls are marked by obtaining XML description information, and the controls are divided into 8 categories according to the operable actions, namely: single-click control, double-click control, long-press control, left-swipe control, right-swipe control, up-swipe control, down-swipe control, and input control.
  • the corresponding data samples are saved in the data set.
  • the traditional dial-up test system will continue to collect new data, and when the data accumulates to a certain level, it will repeat the steps of training the YOLO-V4 target detection model.
  • the general update cycle is more than 1 week.
  • the control recognition model replaces the traditional automatic dialing system to obtain XML information and parse Module for control information.
  • a classification model based on a convolutional neural network is trained. After the interface jumps to a new interface, it first passes through the network to determine whether it is a login or registration interface.
  • packet capture is enabled to obtain all message data sent from the test application.
  • the actions, location information, and control screenshots performed during the test are inserted into the packet capture message sequence in the form of spiking messages.
  • the spiking message can be identified by filling the MAC address with 0s.
  • the dialing test system based on the control identification model will implement the dialing test of the entire application according to the depth-first traversal (DFS) logic.
  • DFS depth-first traversal
  • the operable controls are marked by obtaining XML description information, and the controls are divided into 8 categories according to the operable actions, namely: single-click control, double-click control, long-press control, left-swipe control, right-swipe control, up-swipe control, down-swipe control, and input control.
  • the corresponding data samples are saved in the data set.
  • the traditional dial-up test system will continue to collect new data, and when the data accumulates to a certain level, it will repeat the steps of training the YOLO-V4 target detection model.
  • the general update cycle is more than 1 week.
  • the control recognition model replaces the traditional automatic dialing system to obtain XML information and parse Module for control information.
  • a traditional dial-up test system Every time a traditional dial-up test system executes an action, it collects the APP interface before the action is executed, the controls operated, the new interface jumped to after the execution, the traffic gain, the APP depth, etc., and records them in the data set.
  • the reinforcement learning model trains the DDPG reinforcement learning model of operation actions and action evaluation based on the data in the dataset.
  • the action generation Actor model of the reinforcement learning model replaces the deep traversal process of the traditional automatic dialing system.
  • the automatic dialing system replaced with the Actor model will continue to be online and the model will continue to be trained online.
  • a classification model based on a convolutional neural network is trained. After the interface jumps to a new interface, it first passes through the network to determine whether it is a login or registration interface.
  • packet capture is enabled to obtain all message data sent from the test application.
  • the actions, location information, and control screenshots performed during the test are inserted into the packet capture message sequence in the form of spiking messages.
  • the spiking message can be identified by filling the MAC address with 0s.
  • the dialing test system based on the control identification model will complete the dialing test of the entire application according to the traversal path recommended by reinforcement learning.
  • computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules or other data).
  • Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer.
  • communication media typically contain computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

The present disclosure provides an application automated testing method, comprising: acquiring an interface image of an application, and inputting the interface image into a target detection model to identify a control in the interface image and obtain control information; determining a traversal path according to the control information and the interface image by using a deep reinforcement learning model, and traversing a service of the application; and acquiring traffic information generated by the application in the traversal process. The present disclosure also provides an electronic device and a computer readable medium.

Description

应用程序的拨测方法、电子设备、计算机可读介质Application program dialing method, electronic device, and computer-readable medium
相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS
本申请要求于2022年9月27日提交的名称为“应用程序的拨测方法、电子设备、计算机可读介质”的中国专利申请CN202211181563.6的优先权,其全部内容通过引用并入本文中。This application claims priority to Chinese patent application CN202211181563.6, entitled “Dialing method for application, electronic device, and computer-readable medium,” filed on September 27, 2022, the entire contents of which are incorporated herein by reference.
技术领域Technical Field
本公开涉及计算机技术领域,特别涉及一种应用程序的拨测方法、一种电子设备、一种计算机可读介质。The present disclosure relates to the field of computer technology, and in particular to a dialing method for an application program, an electronic device, and a computer-readable medium.
背景技术Background technique
随着近些年移动互联网的蓬勃发展,运营商管道中的流量总量和种类数呈现爆发性增长,给运营商的网络安全和网络运维提出了极大的挑战。对于运营商来说,感知并识别管道中流经的流量是确保管道安全和进行管道维护的基础。With the vigorous development of mobile Internet in recent years, the total amount and types of traffic in operators' pipelines have shown explosive growth, posing great challenges to operators' network security and network operation and maintenance. For operators, sensing and identifying the traffic flowing through the pipeline is the basis for ensuring pipeline security and performing pipeline maintenance.
用于感知并识别流量的流量识别技术通常高度依赖于流量样本,而获取流量样本的技术手段是应用程序(APP)自动化测试的附带产物。APP自动化测试关注的是测试过程中APP的前台界面或者后台逻辑是否符合开发者的需求;而对于网络安全与运维,尽可能细化地获取APP使用过程中每一个环节产生的流量以用于后续分析则更为重要。Traffic identification technology used to sense and identify traffic is usually highly dependent on traffic samples, and the technical means of obtaining traffic samples is a byproduct of application (APP) automated testing. APP automated testing focuses on whether the front-end interface or back-end logic of the APP meets the needs of developers during the test process; for network security and operation and maintenance, it is more important to obtain the traffic generated in every link of the APP use process as detailed as possible for subsequent analysis.
为了满足网络安全和运维的需求,流量样本获取的性能还需进一步提升。In order to meet the needs of network security and operation and maintenance, the performance of traffic sample acquisition needs to be further improved.
发明内容Summary of the invention
本公开实施例提供一种应用程序的拨测方法、一种电子设备、一种计算机可读介质。The embodiments of the present disclosure provide a method for dialing an application program, an electronic device, and a computer-readable medium.
本公开实施例提供一种应用程序的拨测方法,包括:获取应用程序的界面图像,并将其输入目标检测模型,以对所述界面图像中的 控件进行识别,并得到控件信息;根据所述控件信息和所述界面图像利用深度强化学习模型确定遍历路径,并对所述应用程序的业务进行遍历;获取遍历过程中所述应用程序产生的流量信息。The present disclosure provides a method for testing an application program, comprising: obtaining an interface image of the application program and inputting the interface image into a target detection model to detect the interface image of the application program. The control is identified and the control information is obtained; a traversal path is determined using a deep reinforcement learning model according to the control information and the interface image, and the business of the application is traversed; and traffic information generated by the application during the traversal process is obtained.
本公开实施例还提供一种电子设备,包括:一个或多个处理器;存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本公开实施例的应用程序的拨测方法。An embodiment of the present disclosure also provides an electronic device, including: one or more processors; a memory, on which one or more programs are stored, and when the one or more programs are executed by the one or more processors, the one or more processors implement the dialing method of the application program of the embodiment of the present disclosure.
本公开实施例还提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时,使得所述处理器实现本公开实施例的应用程序的拨测方法。The embodiment of the present disclosure further provides a computer-readable medium on which a computer program is stored. When the program is executed by a processor, the processor implements the dialing method of the application program of the embodiment of the present disclosure.
附图说明BRIEF DESCRIPTION OF THE DRAWINGS
图1是根据本公开实施例的拨测方法的流程图;FIG1 is a flow chart of a dialing method according to an embodiment of the present disclosure;
图2是根据本公开实施例的拨测方法的另一流程图;FIG2 is another flow chart of the dialing method according to an embodiment of the present disclosure;
图3是根据本公开实施例的拨测方法的另一流程图;FIG3 is another flow chart of the dialing method according to an embodiment of the present disclosure;
图4是根据本公开实施例的电子设备的组成框图;FIG4 is a block diagram of an electronic device according to an embodiment of the present disclosure;
图5是根据本公开实施例的计算机可读介质的组成框图;FIG5 is a block diagram of a computer-readable medium according to an embodiment of the present disclosure;
图6是根据本公开实施例的传统自动拨测系统的示意图;FIG6 is a schematic diagram of a conventional automatic dialing system according to an embodiment of the present disclosure;
图7是根据本公开实施例的训练自动拨测系统的示意图;FIG7 is a schematic diagram of a training automatic dialing system according to an embodiment of the present disclosure;
图8是根据本公开实施例的端到端的应用流量生产系统的示意图;FIG8 is a schematic diagram of an end-to-end application traffic production system according to an embodiment of the present disclosure;
图9是根据本公开实施例的训练界面分类模型的示意图;FIG9 is a schematic diagram of a training interface classification model according to an embodiment of the present disclosure;
图10是根据本公开实施例的目标检测模型的示意图;FIG10 is a schematic diagram of a target detection model according to an embodiment of the present disclosure;
图11是根据本公开实施例的深度强化学习模型的动作预测网络的示意图;FIG11 is a schematic diagram of an action prediction network of a deep reinforcement learning model according to an embodiment of the present disclosure;
图12是根据本公开实施例的深度强化学习模型的示意图。FIG. 12 is a schematic diagram of a deep reinforcement learning model according to an embodiment of the present disclosure.
具体实施方式Detailed ways
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的应用程序的拨测方法、电子设备、计算机可读 介质进行详细描述。In order to enable those skilled in the art to better understand the technical solution of the present disclosure, the following is a detailed description of the application program dialing method, electronic device, and computer readable medium provided by the present disclosure in conjunction with the accompanying drawings. The medium is described in detail.
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。相反,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。Example embodiments will be described more fully below with reference to the accompanying drawings, but the example embodiments may be embodied in different forms and should not be construed as limited to the embodiments set forth herein. On the contrary, the purpose of providing these embodiments is to make the present disclosure thorough and complete and to enable those skilled in the art to fully understand the scope of the present disclosure.
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。In the absence of conflict, the various embodiments of the present disclosure and the various features therein may be combined with each other.
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。The terms used herein are only used to describe specific embodiments and are not intended to limit the present disclosure. As used herein, the singular forms "a", "an" and "the" are also intended to include the plural forms, unless the context clearly indicates otherwise. It will also be understood that when the terms "comprising" and/or "made of" are used in this specification, the presence of the features, wholes, steps, operations, elements and/or components is specified, but the presence or addition of one or more other features, wholes, steps, operations, elements, components and/or groups thereof is not excluded.
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by those of ordinary skill in the art. It will also be understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with their meaning in the context of the relevant art and the present disclosure, and will not be interpreted as having an idealized or overly formal meaning unless explicitly defined as such herein.
图1是根据本公开实施例的拨测方法的流程图。FIG. 1 is a flow chart of a dialing method according to an embodiment of the present disclosure.
参照图1,根据本公开实施例的应用程序的拨测方法包括以下步骤S1至S3。1 , the application program dialing method according to an embodiment of the present disclosure includes the following steps S1 to S3 .
在步骤S1,获取应用程序的界面图像,并将其输入目标检测模型,以对界面图像中的控件进行识别,并得到控件信息。In step S1, an interface image of an application is acquired and input into a target detection model to identify controls in the interface image and obtain control information.
在步骤S2,根据控件信息和界面图像利用深度强化学习模型确定遍历路径,并对应用程序的业务进行遍历。In step S2, a traversal path is determined using a deep reinforcement learning model according to the control information and the interface image, and the business of the application is traversed.
在步骤S3,获取遍历过程中应用程序产生的流量信息。In step S3, traffic information generated by the application during the traversal process is obtained.
在本公开实施例中,可以获取应用程序的任意一个用户界面(UI,User Interface)的界面图像,也可以在应用程序每次切换到新的用 户界面时获取该新的用户界面的图像。本公开实施例对此不做特殊限定。In the embodiment of the present disclosure, an interface image of any user interface (UI) of the application can be obtained, or an interface image of any user interface (UI) of the application can be obtained each time the application switches to a new user interface. The present disclosure embodiment does not specifically limit this.
在本公开实施例中,每一个用户界面中可以有一个或多个控件。本公开实施例对此不做特殊限定。In the embodiment of the present disclosure, each user interface may have one or more controls, which are not specifically limited in the embodiment of the present disclosure.
需要说明的是,在本公开实施例中,目标检测模型基于目标检测算法对界面图像中的控件进行识别。不同于需要依赖控件详细的先验知识进行控件识别的图像识别、图像匹配算法,也不同于基于用户界面的界面描述信息(例如,XML描述信息)进行控件识别的算法,基于目标检测算法对界面图像中的控件进行识别对于各式各样的应用程序可具有更好的兼容性。本公开实施例对目标检测模型不做特殊限定。例如,目标检测模型为Yolo模型或Yolo-V4模型。It should be noted that in the disclosed embodiment, the target detection model identifies controls in the interface image based on the target detection algorithm. Different from image recognition and image matching algorithms that rely on detailed prior knowledge of controls to identify controls, and different from algorithms that identify controls based on interface description information (e.g., XML description information) of the user interface, identifying controls in interface images based on the target detection algorithm can have better compatibility with a variety of applications. The disclosed embodiment does not specifically limit the target detection model. For example, the target detection model is a Yolo model or a Yolo-V4 model.
在本公开实施例中,对应用程序的业务进行遍历是指,模拟人使用应用程序的过程,遍历应用程序的各个业务逻辑。在一些实施例中,通过利用深度强化学习模型确定的遍历路径,能够遍历应用程序尽可能多的业务,同时能够尽可能全面地覆盖会产生大量流量的业务,从而获取尽可能多的流量信息。本公开实施例对深度强化学习模型不做特殊限定。例如,深度强化学习模型为基于AC(Acotr-Critic)架构的深度确定性策略梯度(DDPG,Deep Deterministic Policy Gradient)强化学习模型。In the disclosed embodiments, traversing the services of an application refers to traversing the various service logics of the application by simulating the process of a person using the application. In some embodiments, by utilizing the traversal path determined by the deep reinforcement learning model, it is possible to traverse as many services of the application as possible, while being able to cover as comprehensively as possible the services that will generate a large amount of traffic, thereby obtaining as much traffic information as possible. The disclosed embodiments do not specifically limit the deep reinforcement learning model. For example, the deep reinforcement learning model is a deep deterministic policy gradient (DDPG, Deep Deterministic Policy Gradient) reinforcement learning model based on the AC (Acotr-Critic) architecture.
在本公开实施例中,在遍历过程中获取的流量信息,能够为网络安全、网络运维等上层应用提供离线分析训练数据。In the disclosed embodiments, the traffic information obtained during the traversal process can provide offline analysis training data for upper-layer applications such as network security and network operation and maintenance.
本公开实施例提供的应用程序的拨测方法中,基于目标检测模型对应用程序的用户界面中的控件进行识别,并基于深度强化学习模型对应用程序的业务进行遍历,因此,不依赖控件详细的先验知识或用户界面的界面描述信息,也能够兼容各式各样的应用程序,实现了高度自动化、高度通用性的应用程序拨测。此外,对应用程序的业务的覆盖更加全面,对会产生大量流量的业务能够进行全面遍历,从而能够获取更加丰富、更加精准的流量信息,有利于为网络安全、网络运维等上层应用提供全面、细化的离线分析训练数据。In the application dialing method provided by the embodiment of the present disclosure, the controls in the user interface of the application are identified based on the target detection model, and the services of the application are traversed based on the deep reinforcement learning model. Therefore, it does not rely on detailed prior knowledge of the controls or the interface description information of the user interface, and can also be compatible with a variety of applications, thus achieving highly automated and highly versatile application dialing. In addition, the coverage of the application's services is more comprehensive, and the services that will generate a large amount of traffic can be fully traversed, so that richer and more accurate traffic information can be obtained, which is conducive to providing comprehensive and detailed offline analysis training data for upper-level applications such as network security and network operation and maintenance.
在一些场景中,应用程序中包括依赖人机逻辑交互的用户界面, 需要用户参与完成该用户界面中的人机交互过程,才能经过该用户界面进入新的用户界面。例如,登录界面和注册界面都属于依赖人机逻辑交互的用户界面。在一些实施例中,能够从人机交互的角度识别用户界面的类别,并根据用户界面的类别执行相应的交互操作。In some scenarios, the application includes a user interface that relies on human-computer logical interaction. The user needs to participate in completing the human-computer interaction process in the user interface before entering the new user interface through the user interface. For example, the login interface and the registration interface are both user interfaces that rely on human-computer logical interaction. In some embodiments, the category of the user interface can be identified from the perspective of human-computer interaction, and the corresponding interactive operation is performed according to the category of the user interface.
图2是根据本公开实施例的拨测方法的另一流程图。FIG. 2 is another flow chart of the dialing method according to an embodiment of the present disclosure.
在一些实施例中,参照图2,据本公开实施例的应用程序的拨测方法还包括步骤S41至S42。In some embodiments, referring to FIG. 2 , the dialing method of the application according to the embodiment of the present disclosure further includes steps S41 to S42 .
在步骤S41,将界面图像输入界面分类模型,并标定界面图像对应的用户界面的类别。In step S41, the interface image is input into the interface classification model, and the category of the user interface corresponding to the interface image is calibrated.
在步骤S42、根据用户界面的类别在用户界面中执行交互操作。In step S42, an interactive operation is performed in the user interface according to the category of the user interface.
在一些实施例中,用户界面的类别包括:需要人机交互的用户界面和不需要人机交互的用户界面。在一些实施例中,用户界面的类别包括:登录界面、注册界面和其他界面,其中,登录界面、注册界面属于需要人机交互的用户界面,其他界面属于不需要人机交互的用户界面。本公开实施例对此不做特殊限定。In some embodiments, the categories of user interfaces include: user interfaces that require human-computer interaction and user interfaces that do not require human-computer interaction. In some embodiments, the categories of user interfaces include: login interface, registration interface, and other interfaces, wherein the login interface and registration interface are user interfaces that require human-computer interaction, and other interfaces are user interfaces that do not require human-computer interaction. The embodiments of the present disclosure do not specifically limit this.
需要说明的是,在本公开实施例中,从人机交互的角度识别用户界面的类别,并根据用户界面的类别执行相应的交互操作,能够绕过需要人机交互的界面,进入应用程序或新的用户界面,完成对整个应用程序的深度遍历。例如,本公开实施例能够识别登录界面(或注册界面),并自动进行登录(或注册)的交互操作,避免未登录(或注册)导致无法进入应用程序或只能使用应用程序的部分功能,从而能够对应用程序的全部业务进行完整遍历。It should be noted that in the embodiments of the present disclosure, the categories of user interfaces are identified from the perspective of human-computer interaction, and corresponding interactive operations are performed according to the categories of user interfaces, so that interfaces that require human-computer interaction can be bypassed, and the application or new user interface can be entered to complete a deep traversal of the entire application. For example, the embodiments of the present disclosure can identify the login interface (or registration interface) and automatically perform interactive operations for login (or registration), avoiding the inability to enter the application or only being able to use some of the functions of the application due to failure to log in (or register), thereby being able to fully traverse all the services of the application.
本公开实施例对于界面分类模型不做特殊限定。在一些实施例中,界面分类模型为卷积神经网络(CNN,Convolutional Neural Networks)模型。需要说明的是,基于CNN的界面分类模型不依赖用户界面的界面描述信息,具有更高的普适性。The disclosed embodiments do not specifically limit the interface classification model. In some embodiments, the interface classification model is a convolutional neural network (CNN) model. It should be noted that the CNN-based interface classification model does not rely on the interface description information of the user interface and has higher universality.
在一些实施例中,在用户界面为登录界面的情况下,根据用户界面的类别在用户界面中执行交互操作包括:判断是否存在用户界面的登录信息;在存在登录信息的情况下,利用登录信息在用户界面中执行登录操作;在不存在登录信息的情况下,根据界面图像定位用户 界面中的注册跳转控件,并跳转到注册界面。In some embodiments, when the user interface is a login interface, performing an interactive operation in the user interface according to the type of the user interface includes: determining whether there is login information for the user interface; if there is login information, performing a login operation in the user interface using the login information; if there is no login information, locating the user according to the interface image; Click the registration jump control in the interface and jump to the registration interface.
在一些实施例中,在不存在登录信息的情况下,利用手机号码、社交账号进行验证登录,在无法验证登录的情况下,利用光学字符识别(OCR,Optical Character Recognition)通过文字定位注册跳转控件,并跳转到注册界面。In some embodiments, if there is no login information, a mobile phone number or social account is used to verify the login. If the login cannot be verified, optical character recognition (OCR) is used to locate the registration jump control through text and jump to the registration interface.
在一些实施例中,在用户界面为注册界面的情况下,根据用户界面的类别在用户界面中执行交互操作包括:根据界面图像定位用户界面中的注册信息控件;根据预配置填充模板在注册信息控件中填充注册信息;在注册成功的情况下,将注册信息作为用户界面的登录信息并存储。In some embodiments, when the user interface is a registration interface, performing interactive operations in the user interface according to the category of the user interface includes: locating the registration information control in the user interface according to the interface image; filling the registration information in the registration information control according to a preconfigured filling template; and if the registration is successful, storing the registration information as the login information of the user interface.
在一些实施例中,对用户界面进行OCR扫描识别,对用户界面中的注册信息控件进行定位。In some embodiments, the user interface is scanned and recognized by OCR, and the registration information control in the user interface is located.
在一些实施例中,深度强化学习模型为基于AC架构的深度强化学习模型。In some embodiments, the deep reinforcement learning model is a deep reinforcement learning model based on an AC architecture.
相应地,在一些实施例中,根据控件信息和界面图像利用深度强化学习模型确定遍历路径,并对应用程序的业务进行遍历(即,步骤S2)包括:将界面图像和控件信息输入深度强化学习模型的动作预测网络,以确定目标控件和目标动作,其中,目标控件为界面图像中的控件中的一者;将界面图像、控件信息和目标动作输入深度强化学习模型的动作评价网络,以对目标动作进行评价;利用奖励函数计算误差,对动作预测网络进行优化。Accordingly, in some embodiments, determining a traversal path using a deep reinforcement learning model based on control information and an interface image, and traversing the application's business (i.e., step S2) includes: inputting the interface image and control information into an action prediction network of the deep reinforcement learning model to determine a target control and a target action, wherein the target control is one of the controls in the interface image; inputting the interface image, control information, and target action into an action evaluation network of the deep reinforcement learning model to evaluate the target action; and calculating the error using a reward function to optimize the action prediction network.
本公开实施例对奖励函数不做特殊限定。The present disclosed embodiment does not impose any special limitation on the reward function.
在一些实施例中,奖励函数表示为如下公式(1):
Reward=∑α*Statechange_percent+β*Trafficinc+λ*|depthchange|   (1)
In some embodiments, the reward function is expressed as follows:
Reward=∑α*State change_percent +β*Traffi cinc +λ*|depth change | (1)
其中,α、β、λ为权重因子,Statechange_percent为界面像素变动百分比,Trafficinc表示流量增加幅度,depthchange为遍历深度变动值。Among them, α, β, and λ are weight factors, State change_percent is the percentage of interface pixel change, Traffic inc indicates the increase in traffic, and depth change is the change in traversal depth.
需要说明的是,在本公开实施例中,基于公式(1)的奖励函数,能够使深度强化学习模型遍历应用程序尽可能多的业务,同时能够尽可能全面覆盖会产生大量流量的业务,从而获取尽可能多的流量信息。It should be noted that in the embodiment of the present disclosure, the reward function based on formula (1) can enable the deep reinforcement learning model to traverse as many services of the application as possible, and at the same time can cover the services that will generate a large amount of traffic as comprehensively as possible, thereby obtaining as much traffic information as possible.
本公开实施例对于基于AC架构的深度强化学习模型的架构不做 特殊限定。在一些实施例中,基于AC架构的深度强化学习模型包括卷积神经子网络和长短期记忆(LSTM,Long Short Term Memory)子网络。The present disclosure embodiment does not make any changes to the architecture of the deep reinforcement learning model based on the AC architecture. Special limitations. In some embodiments, the deep reinforcement learning model based on the AC architecture includes a convolutional neural sub-network and a long short-term memory (LSTM) sub-network.
相应地,在一些实施例中,将所述界面图像和所述控件信息输入所述深度强化学习模型的动作预测网络,以确定目标控件和目标动作包括:将界面图像输入动作预测网络中的卷积神经子网络,以提取界面图像的特征,并得到用户界面向量;将控件信息输入动作预测网络中的长短期记忆子网络,以提取控件信息的特征,并得到控件信息向量;将用户界面向量和控件信息向量进行特征合并,以得到目标控件及目标动作。Accordingly, in some embodiments, inputting the interface image and the control information into the action prediction network of the deep reinforcement learning model to determine the target control and the target action includes: inputting the interface image into the convolutional neural subnetwork in the action prediction network to extract features of the interface image and obtain a user interface vector; inputting the control information into the long short-term memory subnetwork in the action prediction network to extract features of the control information and obtain a control information vector; and merging features of the user interface vector and the control information vector to obtain the target control and the target action.
本公开实施例对于如何获取遍历过程中应用程序产生的流量信息不做特殊限定。The disclosed embodiment does not specifically limit how to obtain the traffic information generated by the application during the traversal process.
在一些实施例中,获取遍历过程中应用程序产生的流量信息(即,步骤S3)包括:在遍历过程中对应用程序进行抓包,以得到抓包报文序列;将遍历过程中的动作信息、控件位置信息、控件截图以打桩报文的形式插入到抓包报文序列中,以得到流量信息。In some embodiments, obtaining the traffic information generated by the application during the traversal process (i.e., step S3) includes: capturing packets of the application during the traversal process to obtain a packet capture message sequence; inserting action information, control location information, and control screenshots during the traversal process into the packet capture message sequence in the form of a piling message to obtain traffic information.
在一些实施例中,打桩报文携带标识信息。例如,将打桩报文的媒体访问控制(MAC,Media Access Control)地址设置为全0来标识打桩报文。In some embodiments, the piling message carries identification information, for example, the media access control (MAC) address of the piling message is set to all 0s to identify the piling message.
需要说明的是,本公开实施例中在拨测抓包时,将遍历过程中的动作信息、控件位置信息、控件截图以打桩报文的形式插入到所述抓包报文序列中,便于网络安全、网络运维等上层应用分析时获取特定细分业务所产生的流量信息。It should be noted that in the embodiment of the present disclosure, when dialing and capturing packets, the action information, control location information, and control screenshots during the traversal process are inserted into the packet capture message sequence in the form of piling messages, so as to facilitate the acquisition of traffic information generated by specific segmented services during upper-level application analysis such as network security and network operation and maintenance.
图3是根据本公开实施例的拨测方法的另一流程图。FIG. 3 is another flow chart of the dialing method according to an embodiment of the present disclosure.
在一些实施例中,参照图3,据本公开实施例的应用程序的拨测方法还包括步骤S51至S52。In some embodiments, referring to FIG. 3 , the dialing method of the application according to the embodiment of the present disclosure further includes steps S51 to S52 .
在步骤S51,利用传统自动拨测系统基于用户界面的界面描述信息对至少一个待测应用程序进行拨测,以获取训练样本集。In step S51, a conventional automatic dialing test system is used to perform dialing test on at least one application to be tested based on the interface description information of the user interface to obtain a training sample set.
在步骤S52,利用训练样本集对初始目标检测模型和初始深度强化学习模型进行训练,以得到目标检测模型和深度强化学习模型。 In step S52, the initial target detection model and the initial deep reinforcement learning model are trained using the training sample set to obtain a target detection model and a deep reinforcement learning model.
在一些实施例中,通过步骤S51至步骤S52,相当于采用老师-学生的组合框架对初始目标检测模型和初始深度强化学习模型进行训练。基于用户界面的界面描述信息的传统自动拨测系统为老师端,初始目标检测模型和初始深度强化学习模型为学生端。老师端基于用户界面的界面描述信息对至少一个待测应用程序进行拨测,学生端接收老师端执行拨测过程中获取的包括待测应用程序的当前用户界面、动作信息、控件位置信息、下一用户界面等的训练样本集,训练得到目标检测模型、深度强化学习模型,还可以训练得到界面分类模型。在初始深度强化学习模型中设计评价函数对老师端的执行结果进行评价,实现拨测中既要尽可能多的遍历用户界面、也要兼顾尽可能多的获取流量信息。老师端会采集人工操作的数据,对学生端进行修正,使得学生端的操作更加符合用户使用应用程序的行为。采用老师-学生的组合框架对初始目标检测模型和初始深度强化学习模型进行训练,得到的目标检测模型和深度强化学习模型的初始化效果的起点更高、自动化测试完备度更高、遍历应用程序的所有用户界面的时间更短,有利于得到性能更好的目标检测模型和深度强化学习模型。In some embodiments, through step S51 to step S52, it is equivalent to using a teacher-student combination framework to train the initial target detection model and the initial deep reinforcement learning model. The traditional automatic dialing system based on the interface description information of the user interface is the teacher end, and the initial target detection model and the initial deep reinforcement learning model are the student end. The teacher end performs dialing on at least one application to be tested based on the interface description information of the user interface, and the student end receives the training sample set including the current user interface, action information, control position information, next user interface, etc. of the application to be tested obtained during the dialing process of the teacher end, and trains to obtain the target detection model, the deep reinforcement learning model, and the interface classification model. An evaluation function is designed in the initial deep reinforcement learning model to evaluate the execution results of the teacher end, so that the dialing test should not only traverse the user interface as much as possible, but also take into account the acquisition of as much traffic information as possible. The teacher end will collect the data of manual operation and correct the student end so that the operation of the student end is more in line with the user's behavior of using the application. The initial target detection model and the initial deep reinforcement learning model are trained using a teacher-student combination framework. The initialization effect of the target detection model and the deep reinforcement learning model obtained has a higher starting point, higher completeness of automated testing, and a shorter time to traverse all user interfaces of the application, which is conducive to obtaining a target detection model and a deep reinforcement learning model with better performance.
图4是根据本公开实施例的电子设备的组成框图。FIG. 4 is a block diagram of an electronic device according to an embodiment of the present disclosure.
参照图4,根据本公开实施例提供的电子设备,包括:一个或多个处理器101;存储器102,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器101执行,使得一个或多个处理器101实现根据本公开各实施例的应用程序的拨测方法。4 , an electronic device provided according to an embodiment of the present disclosure includes: one or more processors 101; a memory 102 on which one or more programs are stored. When the one or more programs are executed by the one or more processors 101, the one or more processors 101 implement the dialing method of the application according to each embodiment of the present disclosure.
此外,一个或多个I/O接口103连接在处理器101与存储器102之间,以实现处理器101与存储器102的信息交互。In addition, one or more I/O interfaces 103 are connected between the processor 101 and the memory 102 to implement information interaction between the processor 101 and the memory 102 .
处理器101为具有数据处理能力的器件,其包括但不限于中央处理器(CPU)等;存储器102为具有数据存储能力的器件,其包括但不限于随机存取存储器(RAM,更具体如SDRAM、DDR等)、只读存储器(ROM)、带电可擦可编程只读存储器(EEPROM)、闪存(FLASH);I/O接口(读写接口)103连接在处理器101与存储器102间,能实现处理器101与存储器102的信息交互,其包括但不限于数据总线(Bus)等。 The processor 101 is a device with data processing capabilities, including but not limited to a central processing unit (CPU); the memory 102 is a device with data storage capabilities, including but not limited to random access memory (RAM, more specifically SDRAM, DDR, etc.), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), and flash memory (FLASH); the I/O interface (read-write interface) 103 is connected between the processor 101 and the memory 102, and can realize information exchange between the processor 101 and the memory 102, including but not limited to a data bus (Bus), etc.
在一些实施例中,处理器101、存储器102和I/O接口103通过总线104相互连接,进而与计算设备的其它组件连接。In some embodiments, the processor 101 , the memory 102 , and the I/O interface 103 are connected to each other via a bus 104 , and further connected to other components of the computing device.
图5是根据本公开实施例的计算机可读介质的组成框图。FIG. 5 is a block diagram of a computer-readable medium according to an embodiment of the present disclosure.
参照图5,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时,使得处理器实现本公开各实施例的应用程序的拨测方法。5 , an embodiment of the present disclosure provides a computer-readable medium on which a computer program is stored. When the program is executed by a processor, the processor implements the dialing method of the application program of each embodiment of the present disclosure.
为了使本领域技术人员能够更清楚地理解本公开实施例提供的技术方案,下面通过具体的实施例,对本公开实施例提供的技术方案进行详细说明。In order to enable those skilled in the art to more clearly understand the technical solutions provided by the embodiments of the present disclosure, the technical solutions provided by the embodiments of the present disclosure are described in detail below through specific examples.
实施例一Embodiment 1
本实施例提出一种自动化拨测系统,其目标是为了获取拨测过程中应用程序所产生的流量信息。This embodiment provides an automatic dialing test system, the purpose of which is to obtain traffic information generated by an application during a dialing test.
在本实施例中,传统自动拨测系统如图6所示,传统自动拨测系统能够基于界面描述信息对应用程序进行拨测。举例来说,传统自动拨测系统通过对应用程序的UI的XML描述信息进行解析,并根据解析得到的控件进行决策,决定拨测的下一步操作,直至达到终止条件(例如,页面遍历完成或时间设置到期)。In this embodiment, the traditional automatic dialing test system is shown in FIG6 , and the traditional automatic dialing test system can perform dialing test on the application based on the interface description information. For example, the traditional automatic dialing test system parses the XML description information of the UI of the application, and makes a decision based on the parsed controls to determine the next operation of the dialing test until the termination condition is reached (for example, the page traversal is completed or the time setting expires).
如图7所示,根据本公开实施例的自动化拨测系统在独立上线之前会经过传统自动拨测系统的操作指导进行训练,能够有效避开训练初期的试错阶段,加速系统优化,使得自动化拨测系统在实际运行中无论是达到最大深度的时间、还是遍历完所有界面所消耗的时间、还是获取到的流量大小都明显优于传统自动拨测系统。As shown in Figure 7, the automated dialing system according to the embodiment of the present disclosure will be trained with the operation guidance of the traditional automated dialing system before being independently put online, which can effectively avoid the trial and error stage in the early stage of training and accelerate system optimization. In actual operation, the automated dialing system is significantly better than the traditional automated dialing system in terms of the time to reach the maximum depth, the time consumed to traverse all interfaces, and the amount of traffic obtained.
如图8所示,根据本公开实施例的自动拨测系统是一套端到端的应用流量生产系统中的一部分。举例来说,端到端的应用流量生产系统通过对应用市场的监控,获取APP的更新情况,然后通过自动拨测系统对更新的APP进行自动拨测,以获取APP运行时产生的流量,由于流量中还会混杂有一些公共流量、广告流量等,需要对流量进行清洗,以去除公共流量、广告流量等,得到训练测试集,从而能够用于规则提取和验证等实际用途。As shown in Figure 8, the automatic dialing system according to the embodiment of the present disclosure is part of an end-to-end application traffic production system. For example, the end-to-end application traffic production system obtains the update status of the APP by monitoring the application market, and then automatically dials the updated APP through the automatic dialing system to obtain the traffic generated when the APP is running. Since the traffic is also mixed with some public traffic, advertising traffic, etc., it is necessary to clean the traffic to remove public traffic, advertising traffic, etc., and obtain a training test set, so that it can be used for practical purposes such as rule extraction and verification.
本公开实施例提出的自动拨测系统包含传统自动拨测系统、注 册界面&登录界面判定、自动注册与登录、用于控件定位的目标检测模型、用于动作推荐的深度强化学习模型等组件和模块。整套系统初期以传统自动拨测系统为核心,目标检测模型和深度强化学习模型需要经历对传统自动拨测系统的长时间观摩学习。当目标检测模型和深度强化学习模型的表达和推荐能力已经能够媲美传统自动拨测系统时,以目标检测模型和深度强化学习模型为核心的组件将作为核心模块承担APP拨测任务。The automatic dialing test system proposed in the embodiment of the present disclosure comprises a traditional automatic dialing test system, an injection The system includes components and modules such as registration interface & login interface judgment, automatic registration and login, target detection model for control positioning, and deep reinforcement learning model for action recommendation. In the early stage, the whole system is based on the traditional automatic dialing system. The target detection model and deep reinforcement learning model need to go through a long period of observation and learning of the traditional automatic dialing system. When the expression and recommendation capabilities of the target detection model and deep reinforcement learning model are comparable to those of the traditional automatic dialing system, the components based on the target detection model and deep reinforcement learning model will be used as core modules to undertake APP dialing tasks.
传统自动拨测系统Traditional automatic dialing system
传统自动拨测系统是一套建立在经典的基于UI的XML描述信息构建的自动化测试系统。该系统通过解析XML描述信息获取控件位置,进而推断决策使用何种动作(包含单击、双击、左右划,上下划,长按、输入等)执行操作,使界面刷新或者进入新的界面。通过深度优先遍历(DFS,Depth First Search)方式完成对整个APP的测试,同时收集完备的流量。传统自动拨测系统的好处是实现简单,可以通过界面设计逻辑完成APP的DFS遍历。但是,传统自动拨测系统对UI的XML描述信息有极大的依赖,对于无法获取XML描述信息的APP则无法进行拨测。The traditional automatic dialing test system is an automated testing system built on the classic XML description information based on the UI. The system obtains the location of the control by parsing the XML description information, and then infers and decides what action to use (including single click, double click, left and right swipe, up and down swipe, long press, input, etc.) to perform the operation, so that the interface is refreshed or a new interface is entered. The test of the entire APP is completed through the depth first traversal (DFS, Depth First Search) method, and complete traffic is collected at the same time. The advantage of the traditional automatic dialing test system is that it is simple to implement, and the DFS traversal of the APP can be completed through the interface design logic. However, the traditional automatic dialing test system is highly dependent on the XML description information of the UI, and it is impossible to perform dialing tests on APPs that cannot obtain XML description information.
注册界面&登录界面判定Registration interface & login interface judgment
注册界面、登录界面是一种依赖人机逻辑交互的界面,在很多APP中,在不输入先验信息的情况下无法绕过注册界面&登录界面进入APP,也就无法完成对整个APP的深度遍历。因此,在拨测过程中识别UI是否是注册界面或登录界面至关重要。在传统自动拨测系统中,通过对UI的XML描述文件进行解析识别,根据UI是否包含有特定的字符和/或图标(例如,注册、手机号、密码、验证码、登录、微信图标、跳过、进入、QQ图标、新浪图标等)、可点击的控件数量、当前的界面深度等特征,训练了一个三分类(注册界面、登录界面、其他)的随机森林模型,可以用于鉴定UI是否为注册界面或登录界面。The registration interface and login interface are interfaces that rely on human-computer logical interaction. In many apps, it is impossible to bypass the registration interface and login interface to enter the app without entering prior information, and it is impossible to complete a deep traversal of the entire app. Therefore, it is very important to identify whether the UI is a registration interface or a login interface during the dialing process. In the traditional automatic dialing system, by parsing and identifying the XML description file of the UI, a three-category (registration interface, login interface, other) random forest model is trained based on features such as whether the UI contains specific characters and/or icons (for example, registration, mobile phone number, password, verification code, login, WeChat icon, skip, enter, QQ icon, Sina icon, etc.), the number of clickable controls, and the current interface depth. This model can be used to identify whether the UI is a registration interface or a login interface.
但是,并非所有的APP的UI均能够获取到完整的XML描述信息,为了使判定逻辑具备通用性,在该过程中利用已有系统产生的标定数 据以及加上人工采集的注册登录界面训练了以APP界面图像为输入的卷积神经网络(CNN)作为界面分类模型,例如,如图9所示。在实际的验证中,CNN模型对有后台描述信息的UI界面的判定精度也略高于传统方式,由于基于CNN的判定模型脱离了对后台描述信息的依赖,具有非常高的普适性。However, not all APP UIs can obtain complete XML description information. In order to make the judgment logic universal, the calibration data generated by the existing system is used in this process. Based on the data and the manually collected registration and login interface, a convolutional neural network (CNN) with APP interface images as input was trained as an interface classification model, as shown in Figure 9. In actual verification, the CNN model's judgment accuracy for UI interfaces with background description information is slightly higher than that of traditional methods. Since the CNN-based judgment model is independent of the background description information, it has a very high universality.
自动注册与登录Automatic registration and login
登录界面与注册界面是强交互逻辑界面,需要依赖人的先验知识。遵循人因工程设计界面,可以按照如下方式实现APP的自动注册登录。The login interface and registration interface are strong interactive logic interfaces that rely on people's prior knowledge. Following the human factors engineering design interface, the automatic registration and login of the APP can be achieved as follows.
对于识别到的登录界面,检查是否已经有注册的账号,如果存在则使用注册账号登录,如果不存在则将使用基于手机号码、微信、QQ进行验证登录,如果仍无法登录的界面,则通过文字定位疑似为“跳转到注册”的控件,并点击进入注册界面。For the identified login interface, check whether there is a registered account. If so, use the registered account to log in. If not, use the verification based on mobile phone number, WeChat, or QQ to log in. If the interface still cannot be logged in, locate the control suspected to be "Jump to registration" through text and click it to enter the registration interface.
常见注册界面的设计和布局模式大约有几十种,本公开实施例针对常见的注册界面设计了一套填充模板,如果某APP在拨测系统中从未注册,会对注册界面进行OCR扫描识别,对关键信息控件进行定位,然后填充预配置的注册信息,注册成功后将相关注册信息等保存,后续拨测时直接使用已注册信息进行登录。There are dozens of designs and layout patterns for common registration interfaces. The disclosed embodiment designs a set of filling templates for common registration interfaces. If an APP has never been registered in the dialing system, the registration interface will be scanned and identified by OCR, the key information controls will be located, and then the pre-configured registration information will be filled in. After successful registration, the relevant registration information will be saved, and the registered information will be used directly to log in during subsequent dialing.
控件定位Control positioning
传统自动拨测系统使用UI的界面描述文件获取控件信息。从人因工程的角度出发,前端UI的交互逻辑应该符合人的主观感受,能让人直观上感觉哪些地方是可以操作的控件,而哪些地方只是背景。因此,从目标检测的角度出发,基于现有的传统自动拨测系统对控件的识别解析训练了一套可以识别和标记控件位置的目标检测模型,用于根据界面图像将控件标记出来。Traditional automatic dialing systems use UI interface description files to obtain control information. From the perspective of human factors engineering, the interaction logic of the front-end UI should be consistent with people's subjective feelings, allowing people to intuitively feel which places are operable controls and which places are just backgrounds. Therefore, from the perspective of target detection, based on the existing traditional automatic dialing system's recognition and analysis of controls, a set of target detection models that can identify and mark the location of controls are trained to mark controls based on interface images.
目标检测模型的训练数据来源于传统自动拨测系统对存在UI的截面描述信息的APP的拨测过程。传统自动拨测系统将识别到的控件从界面图像中截取出来,截取控件图像时,稍大于控件实际大小(一般扩大20%的范围)。经测试发现,包含控件周围的信息能够有效增加控件识别的准确率。同时为增加负样本数据,会随机从界面图像中 截取不包含控件的背景或者包含控件面积小于20%的图片作为非控件样本。收集到的样本数据将用于训练Yolo-V4目标检测模型(如图10所示)。训练好的模型将以UI图像直接作为输入,输出识别到的控件信息(单击控件、双击控件、左划控件、右划控件、上划控件、下划控件、输入控件、长按控件)。The training data of the target detection model comes from the dialing process of the traditional automatic dialing system on the APP with UI cross-sectional description information. The traditional automatic dialing system will cut out the recognized controls from the interface image. When cutting out the control image, it is slightly larger than the actual size of the control (generally enlarged by 20%). The test found that including the information around the control can effectively increase the accuracy of control recognition. At the same time, in order to increase the negative sample data, it will randomly cut out the interface image. Take pictures with a background that does not contain controls or a control area that is less than 20% as non-control samples. The collected sample data will be used to train the Yolo-V4 target detection model (as shown in Figure 10). The trained model will directly use the UI image as input and output the recognized control information (single-click control, double-click control, left-swipe control, right-swipe control, up-swipe control, down-swipe control, input control, long-press control).
基于强化学习的自动拨测Automatic dialing test based on reinforcement learning
传统自动拨测系统采用深度遍历的方式对应用程序进行遍历,目的是覆盖到所有的界面。本公开实施例提出的自动拨测系统的目的是获取APP所产生的流量信息,需要尽可能遍历到所有的业务流程,特别是要全面覆盖能够产生大流量的业务场景。Traditional automatic dialing systems use deep traversal to traverse applications in order to cover all interfaces. The purpose of the automatic dialing system proposed in the disclosed embodiment is to obtain the traffic information generated by the APP, and it is necessary to traverse all business processes as much as possible, especially to fully cover business scenarios that can generate large traffic.
APP自动拨测原则上是一个接受当前感知状态、执行操作行为、跳转到一个新的感知状态的典型的马尔科夫决策(MDP)过程。In principle, APP automatic dialing is a typical Markov decision (MDP) process of accepting the current perception state, executing operation behavior, and jumping to a new perception state.
本公开实施例提出的自动拨测系统采用AC架构的DDPG算法实现了深度强化学习模型,AC架构将动作预测和动作评价分开,有利于从另外的同质的传统自动拨测系统中学习到先验经验,深度强化学习模型实际工作时起点已经非常高,避免前期的随机漫步的探索。The automatic dialing system proposed in the embodiment of the present disclosure adopts the DDPG algorithm of the AC architecture to implement the deep reinforcement learning model. The AC architecture separates action prediction and action evaluation, which is conducive to learning prior experience from other homogeneous traditional automatic dialing systems. The starting point of the deep reinforcement learning model is already very high when it actually works, avoiding the early random walk exploration.
强化学习以四元组(St,Rt,St+1,At)为基础,其中,St表示当前强化学习所感知到的状态,St+1表示强化学习执行动作At后新的环境状态,Rt则为切换到新的状态后得到的反馈值。在自动拨测系统中,当前的UI以及所有控件(最多50个控件)的信息将作为强化学习所感受到的环境信息。强化学习感知到环境信息后可作出选择操作,选择控件中的其中一个执行动作。Reinforcement learning is based on the four-tuple (S t , R t , S t+1 , A t ), where S t represents the state perceived by the current reinforcement learning, S t+1 represents the new environmental state after the reinforcement learning performs the action A t , and R t is the feedback value obtained after switching to the new state. In the automatic dialing system, the current UI and the information of all controls (up to 50 controls) will be used as the environmental information perceived by reinforcement learning. After the reinforcement learning perceives the environmental information, it can make a selection operation and select one of the controls to perform an action.
在自动化系统测试中,目标是尽可能的遍历完所有的UI,尽可能将产生数据流量最大的业务拨测到,因此奖励函数设计如下:
Reward=∑α*Statechange_percent+β*Trafficinc+λ*|depthchange|;
In automated system testing, the goal is to traverse all UIs as much as possible and test the business that generates the largest data traffic as much as possible. Therefore, the reward function is designed as follows:
Reward = ∑α*State change_percent + β*Traffic inc + λ*|depth change |;
其中,α、β、λ为权重因子,Statechange_percent为界面像素变动百分比,Trafficinc表示流量增加幅度,depthchange为遍历深度变动值。在一些场景中,α可以取1,β可以取0.01,λ可以取0.05,这样的配置可以达到拨测初期更关注界面的变动程度、后期更关注流量的效果。 Among them, α, β, and λ are weight factors, State change_percent is the percentage of interface pixel change, Traffic inc indicates the increase in traffic, and depth change is the change in traversal depth. In some scenarios, α can be 1, β can be 0.01, and λ can be 0.05. This configuration can achieve the effect of paying more attention to the degree of interface change in the early stage of dialing and paying more attention to traffic in the later stage.
St是强化学习所感知到的环境状态,包括待执行动作的当前UI图像与所有控件的位置与类型信息Xp,Yp,T,其中,Xp为控件中心在水平上的位置,Yp为控件中心在纵轴上的位置,T为控件类型,按照控件类型总数归一化到0-1范围)。如图11所示的深度强化学习模型里的动作预测(Actor)网络包括CNN子网络和LSTM子网络。Actor网络以UI和检测得到的控件信息作为输入,通过CNN子网络和LSTM子网络分别进行特征提取得到用户界面向量和控件信息向量,通过特征合并输出预测动作。 St is the state of the environment perceived by reinforcement learning, including the current UI image of the action to be performed and the position and type information of all controls Xp , Yp , T, where Xp is the horizontal position of the center of the control, Yp is the vertical position of the center of the control, and T is the control type, which is normalized to the range of 0-1 according to the total number of control types). The action prediction (Actor) network in the deep reinforcement learning model shown in Figure 11 includes a CNN subnetwork and an LSTM subnetwork. The Actor network takes the UI and the control information obtained by detection as input, extracts features through the CNN subnetwork and the LSTM subnetwork respectively to obtain the user interface vector and the control information vector, and outputs the predicted action through feature merging.
在初始训练阶段,传统自动拨测系统将操作过程所产生的过程数据传递给DDPG强化学习网络,Actor和Critic网络处理输入图片的方式均采用如图11所示的CNN结构,具体训练过程如图12所示。Critic网络相比于Actor网络多了动作向量的输入,Critic网络特征合并部分将用户界面向量、控件信息向量及动作向量进行合并得到输出结果,随后通过奖励函数计算误差来对Actor网络进行优化训练。In the initial training stage, the traditional automatic dialing system passes the process data generated by the operation process to the DDPG reinforcement learning network. The Actor and Critic networks process the input images using the CNN structure shown in Figure 11. The specific training process is shown in Figure 12. Compared with the Actor network, the Critic network has an additional action vector input. The feature merging part of the Critic network merges the user interface vector, the control information vector and the action vector to obtain the output result, and then optimizes the Actor network by calculating the error through the reward function.
实施例二Embodiment 2
传统的自动拨测系统对前端描述UI的XML文件有较大的依赖,在无法获取前端UI描述文件的场景下无法应用。本公开实施例通过训练控件标定模型以替代传统自动拨测系统对XML文件的依赖,从而实现更加通用的拨测系统。The traditional automatic dialing test system has a large reliance on the XML file describing the front-end UI, and cannot be applied in the scenario where the front-end UI description file cannot be obtained. The disclosed embodiment replaces the reliance of the traditional automatic dialing test system on the XML file by training the control calibration model, thereby realizing a more universal dialing test system.
在传统拨测系统拨测过程中,通过获取XML描述信息将可操作的控件标记出来,并将控件按照可操作动作分为8个类别,分别为:单击控件、双击控件、长按控件、左划控件、右划控件、上划控件、下划控件、输入控件。将对应的数据样本保存到数据集中。In the process of dialing test in traditional dialing test system, the operable controls are marked by obtaining XML description information, and the controls are divided into 8 categories according to the operable actions, namely: single-click control, double-click control, long-press control, left-swipe control, right-swipe control, up-swipe control, down-swipe control, and input control. The corresponding data samples are saved in the data set.
在保存的数据样本中,采用可控随机的方式截取大量非控件的背景图片(包含控件内容少于20%)作为负样本。In the saved data samples, a large number of non-control background images (containing less than 20% of the control content) are intercepted in a controlled random manner as negative samples.
使用收集到的样本数据训练yolo-v4目标检测模型,直到模型准确率高于90%为止。Use the collected sample data to train the YOLO-V4 target detection model until the model accuracy is higher than 90%.
传统拨测系统将持续收集新数据,待数据累积到一定程度将重复训练yolo-v4目标检测模型的步骤,一般更新周期在1个星期以上。The traditional dial-up test system will continue to collect new data, and when the data accumulates to a certain level, it will repeat the steps of training the YOLO-V4 target detection model. The general update cycle is more than 1 week.
将控件识别模型替换传统自动拨测系统中获取XML信息、解析 控件信息的模块。The control recognition model replaces the traditional automatic dialing system to obtain XML information and parse Module for control information.
在遍历过程中,为处理强交互逻辑的注册与登录逻辑,训练基于卷积神经网络(CNN)的分类模型,界面跳转到新界面后首先经过该网络判断是否为登录或者注册界面。During the traversal process, in order to handle the registration and login logic of strong interactive logic, a classification model based on a convolutional neural network (CNN) is trained. After the interface jumps to a new interface, it first passes through the network to determine whether it is a login or registration interface.
如果为登录注册界面,则利用前述技术方案所描述的方式实现注册或登录。If it is a login or registration interface, registration or login is achieved using the method described in the aforementioned technical solution.
在应用拨测过程中开启抓包,获取从拨测应用发出的所有报文数据,同时将拨测过程中所执行的动作、位置信息、控件截图以打桩报文的形式插入到抓包报文序列中。可以通过MAC地址填全0来标识打桩报文。During the application test, packet capture is enabled to obtain all message data sent from the test application. At the same time, the actions, location information, and control screenshots performed during the test are inserted into the packet capture message sequence in the form of spiking messages. The spiking message can be identified by filling the MAC address with 0s.
基于控件识别模型的拨测系统将按照深度优先遍历(DFS)逻辑实现对整个应用的拨测。The dialing test system based on the control identification model will implement the dialing test of the entire application according to the depth-first traversal (DFS) logic.
实施例三Embodiment 3
传统自动拨测一般采用深度遍历的方式对应用进行遍历,目的是覆盖到所有的界面,这种方式一般应用在APP前端UI自动化测试中。但是本公开实施例的目的不只是测试APP,而是还要获取APP所产生的数据报文,因此需要尽可能遍历到所有的业务流程,同时尽可能多的收集能够产生大流量的业务场景。在本公开实施例中,将使用强化学习替代深度遍历逻辑,尽可能在多个目标中取得均衡。Traditional automatic dialing tests generally use deep traversal to traverse the application in order to cover all interfaces. This method is generally used in APP front-end UI automation testing. However, the purpose of the disclosed embodiment is not only to test the APP, but also to obtain the data packets generated by the APP. Therefore, it is necessary to traverse all business processes as much as possible and collect as many business scenarios that can generate large traffic as possible. In the disclosed embodiment, reinforcement learning will be used to replace the deep traversal logic to achieve a balance among multiple goals as much as possible.
在传统拨测系统拨测过程中,通过获取XML描述信息将可操作的控件标记出来,并将控件按照可操作动作分为8个类别,分别为:单击控件、双击控件、长按控件、左划控件、右划控件、上划控件、下划控件、输入控件。将对应的数据样本保存到数据集中。In the process of dialing test in traditional dialing test system, the operable controls are marked by obtaining XML description information, and the controls are divided into 8 categories according to the operable actions, namely: single-click control, double-click control, long-press control, left-swipe control, right-swipe control, up-swipe control, down-swipe control, and input control. The corresponding data samples are saved in the data set.
在保存的数据样本中,采用可控随机的方式截取大量非控件的背景图片(包含控件内容少于20%)作为负样本。In the saved data samples, a large number of non-control background images (containing less than 20% of the control content) are intercepted in a controlled random manner as negative samples.
使用收集到的样本数据训练yolo-v4目标检测模型,直到模型准确率高于90%为止。Use the collected sample data to train the YOLO-V4 target detection model until the model accuracy is higher than 90%.
传统拨测系统将持续收集新数据,待数据累积到一定程度将重复训练yolo-v4目标检测模型的步骤,一般更新周期在1个星期以上。The traditional dial-up test system will continue to collect new data, and when the data accumulates to a certain level, it will repeat the steps of training the YOLO-V4 target detection model. The general update cycle is more than 1 week.
将控件识别模型替换传统自动拨测系统中获取XML信息、解析 控件信息的模块。The control recognition model replaces the traditional automatic dialing system to obtain XML information and parse Module for control information.
传统拨测系统每一次执行动作,收集执行动作前的APP界面、操作的控件、执行完后跳转到的新界面、流量增益、APP深度等,并记录到数据集中。Every time a traditional dial-up test system executes an action, it collects the APP interface before the action is executed, the controls operated, the new interface jumped to after the execution, the traffic gain, the APP depth, etc., and records them in the data set.
强化学习模型基于数据集中的数据训练出操作动作与动作评价的DDPG强化学习模型。The reinforcement learning model trains the DDPG reinforcement learning model of operation actions and action evaluation based on the data in the dataset.
使用强化学习模型的动作生成Actor模型替换传统自动拨测系统的深度遍历流程。The action generation Actor model of the reinforcement learning model replaces the deep traversal process of the traditional automatic dialing system.
替换成Actor模型的自动拨测系统将继续在线,对模型持续进行在线训练。The automatic dialing system replaced with the Actor model will continue to be online and the model will continue to be trained online.
在遍历过程中,为处理强交互逻辑的注册与登录逻辑,训练基于卷积神经网络的分类模型,界面跳转到新界面后首先经过该网络判断是否为登录或者注册界面。During the traversal process, in order to handle the registration and login logic of strong interactive logic, a classification model based on a convolutional neural network is trained. After the interface jumps to a new interface, it first passes through the network to determine whether it is a login or registration interface.
如果为登录注册界面,则利用前述技术方案所描述的方式实现注册或登录。If it is a login or registration interface, registration or login is achieved using the method described in the aforementioned technical solution.
在应用拨测过程中开启抓包,获取从拨测应用发出的所有报文数据,同时将拨测过程中所执行的动作、位置信息、控件截图以打桩报文的形式插入到抓包报文序列中。可以通过MAC地址填全0来标识打桩报文。During the application test, packet capture is enabled to obtain all message data sent from the test application. At the same time, the actions, location information, and control screenshots performed during the test are inserted into the packet capture message sequence in the form of spiking messages. The spiking message can be identified by filling the MAC address with 0s.
基于控件识别模型的拨测系统将按照强化学习所推荐的遍历路径完成对整个应用的拨测。The dialing test system based on the control identification model will complete the dialing test of the entire application according to the traversal path recommended by reinforcement learning.
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质 (或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。A person of ordinary skill in the art will appreciate that all or some of the steps, systems, and functional modules/units in the methods disclosed above may be implemented as software, firmware, hardware, and appropriate combinations thereof. In a hardware implementation, the division between the functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, a physical component may have multiple functions, or a function or step may be performed by several physical components in cooperation. Some or all physical components may be implemented as software executed by a processor, such as a central processing unit, a digital signal processor, or a microprocessor, or may be implemented as hardware, or may be implemented as an integrated circuit, such as an application-specific integrated circuit. Such software may be distributed on a computer-readable medium, which may include a computer storage medium. (or non-transitory media) and communication media (or temporary media). As is well known to those of ordinary skill in the art, the term computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules or other data). Computer storage media include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired information and can be accessed by a computer. In addition, it is well known to those of ordinary skill in the art that communication media typically contain computer-readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transmission mechanism, and may include any information delivery medium.
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。 Example embodiments have been disclosed herein, and although specific terms are employed, they are used and should be interpreted only in a general illustrative sense and not for limiting purposes. In some instances, it will be apparent to those skilled in the art that, unless otherwise expressly noted, features, characteristics, and/or elements described in conjunction with a particular embodiment may be used alone or in combination with features, characteristics, and/or elements described in conjunction with other embodiments. Therefore, those skilled in the art will appreciate that various changes in form and detail may be made without departing from the scope of the present disclosure as set forth in the appended claims.

Claims (11)

  1. 一种应用程序的拨测方法,包括:A dialing test method for an application program, comprising:
    获取应用程序的界面图像,并将其输入目标检测模型,以对所述界面图像中的控件进行识别,并得到控件信息;Acquire an interface image of the application and input it into a target detection model to identify controls in the interface image and obtain control information;
    根据所述控件信息和所述界面图像利用深度强化学习模型确定遍历路径,并对所述应用程序的业务进行遍历;Determine a traversal path using a deep reinforcement learning model according to the control information and the interface image, and traverse the business of the application;
    获取遍历过程中所述应用程序产生的流量信息。Obtain traffic information generated by the application during the traversal process.
  2. 根据权利要求1所述的拨测方法,还包括:The dialing method according to claim 1, further comprising:
    将所述界面图像输入界面分类模型,并标定所述界面图像对应的用户界面的类别;Inputting the interface image into an interface classification model, and calibrating the category of the user interface corresponding to the interface image;
    根据所述用户界面的类别在所述用户界面中执行交互操作。An interactive operation is performed in the user interface according to the category of the user interface.
  3. 根据权利要求2所述的拨测方法,其中,在所述用户界面为登录界面的情况下,根据所述用户界面的类别在所述用户界面中执行交互操作包括:The dialing method according to claim 2, wherein, when the user interface is a login interface, performing an interactive operation in the user interface according to the type of the user interface comprises:
    判断是否存在所述用户界面的登录信息;Determining whether there is login information for the user interface;
    在存在所述登录信息的情况下,利用所述登录信息在所述用户界面中执行登录操作;In the case where the login information exists, performing a login operation in the user interface using the login information;
    在不存在所述登录信息的情况下,根据所述界面图像定位所述用户界面中的注册跳转控件,并跳转到注册界面。In the case that the login information does not exist, the registration jump control in the user interface is located according to the interface image, and the registration interface is jumped to.
  4. 根据权利要求2所述的拨测方法,其中,在所述用户界面为注册界面的情况下,根据所述用户界面的类别在所述用户界面中执行交互操作包括:The dialing method according to claim 2, wherein, when the user interface is a registration interface, performing an interactive operation in the user interface according to the type of the user interface comprises:
    根据所述界面图像定位所述用户界面中的注册信息控件;Locating a registration information control in the user interface according to the interface image;
    根据预配置填充模板在所述注册信息控件中填充注册信息;Filling registration information in the registration information control according to a preconfigured filling template;
    在注册成功的情况下,将所述注册信息作为所述用户界面的登录信息并存储。 When the registration is successful, the registration information is used as the login information of the user interface and stored.
  5. 根据权利要求1至4中任意一项所述的拨测方法,其中,根据所述控件信息和所述界面图像利用深度强化学习模型确定遍历路径,并对所述应用程序的业务进行遍历包括:According to any one of claims 1 to 4, the dialing method, wherein determining a traversal path using a deep reinforcement learning model according to the control information and the interface image, and traversing the business of the application program comprises:
    将所述界面图像和所述控件信息输入所述深度强化学习模型的动作预测网络,以确定目标控件和目标动作,其中,所述目标控件为所述界面图像中的控件中的一者;Inputting the interface image and the control information into the action prediction network of the deep reinforcement learning model to determine a target control and a target action, wherein the target control is one of the controls in the interface image;
    将所述界面图像、所述控件信息和所述目标动作输入所述深度强化学习模型的动作评价网络,以对所述目标动作进行评价;Inputting the interface image, the control information and the target action into the action evaluation network of the deep reinforcement learning model to evaluate the target action;
    利用奖励函数计算误差,对所述动作预测网络进行优化。The error is calculated using a reward function to optimize the action prediction network.
  6. 根据权利要求5所述的拨测方法,其中,所述奖励函数表示为:
    Re ward=∑α*Statechange_percent+β*Trafficinc+λ*|depthchange|;
    The dialing method according to claim 5, wherein the reward function is expressed as:
    Reward = ∑α*State change_percent + β*Traffic inc + λ*|depth change |;
    其中,α、β、λ为权重因子,Statechange_percent为界面像素变动百分比,Trafficinc表示流量增加幅度,depthchange为遍历深度变动值。Among them, α, β, and λ are weight factors, State change_percent is the percentage of interface pixel change, Traffic inc indicates the increase in traffic, and depth change is the change in traversal depth.
  7. 根据权利要求5所述的拨测方法,其中,将所述界面图像和所述控件信息输入所述深度强化学习模型的动作预测网络,以确定目标控件和目标动作包括:The dialing method according to claim 5, wherein inputting the interface image and the control information into the action prediction network of the deep reinforcement learning model to determine the target control and the target action comprises:
    将所述界面图像输入所述动作预测网络中的卷积神经子网络,以提取所述界面图像的特征,并得到用户界面向量;Inputting the interface image into the convolutional neural sub-network in the action prediction network to extract features of the interface image and obtain a user interface vector;
    将所述控件信息输入所述动作预测网络中的长短期记忆子网络,以提取所述控件信息的特征,并得到控件信息向量;Inputting the control information into the long short-term memory subnetwork in the action prediction network to extract features of the control information and obtain a control information vector;
    将所述用户界面向量和所述控件信息向量进行特征合并,以得到所述目标控件及所述目标动作。The user interface vector and the control information vector are feature merged to obtain the target control and the target action.
  8. 根据权利要求1至4中任意一项所述的拨测方法,其中,获取遍历过程中所述应用程序产生的流量信息包括:According to any one of claims 1 to 4, the step of obtaining the traffic information generated by the application during the traversal process comprises:
    在遍历过程中对所述应用程序进行抓包,以得到抓包报文序列; During the traversal process, packets of the application are captured to obtain a packet capture message sequence;
    将遍历过程中的动作信息、控件位置信息、控件截图以打桩报文的形式插入到所述抓包报文序列中,以得到所述流量信息。The action information, control location information, and control screenshots during the traversal process are inserted into the packet capture message sequence in the form of a pile message to obtain the flow information.
  9. 根据权利要求1至4中任意一项所述的拨测方法,还包括:The dialing method according to any one of claims 1 to 4, further comprising:
    利用传统自动拨测系统基于用户界面的界面描述信息对至少一个待测应用程序进行拨测,以获取训练样本集;Using a traditional automatic dialing test system to perform dialing test on at least one application to be tested based on the interface description information of the user interface to obtain a training sample set;
    利用所述训练样本集对初始目标检测模型和初始深度强化学习模型进行训练,以得到所述目标检测模型和所述深度强化学习模型。The initial target detection model and the initial deep reinforcement learning model are trained using the training sample set to obtain the target detection model and the deep reinforcement learning model.
  10. 一种电子设备,包括:An electronic device, comprising:
    一个或多个处理器;one or more processors;
    存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据权利要求1至9中任意一项所述的应用程序拨测方法。A memory having one or more programs stored thereon, wherein when the one or more programs are executed by the one or more processors, the one or more processors implement the application program dialing method according to any one of claims 1 to 9.
  11. 一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时,使得所述处理器实现根据权利要求1至9中任意一项所述的应用程序拨测方法。 A computer-readable medium having a computer program stored thereon, wherein when the program is executed by a processor, the processor implements the application program dialing method according to any one of claims 1 to 9.
PCT/CN2023/117993 2022-09-27 2023-09-11 Application automated testing method, electronic device, and computer readable medium WO2024067039A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211181563.6A CN117827623A (en) 2022-09-27 2022-09-27 Application program dial testing method, electronic equipment and computer readable medium
CN202211181563.6 2022-09-27

Publications (1)

Publication Number Publication Date
WO2024067039A1 true WO2024067039A1 (en) 2024-04-04

Family

ID=90476032

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/117993 WO2024067039A1 (en) 2022-09-27 2023-09-11 Application automated testing method, electronic device, and computer readable medium

Country Status (2)

Country Link
CN (1) CN117827623A (en)
WO (1) WO2024067039A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943685A (en) * 2017-10-30 2018-04-20 北京奇虎科技有限公司 A kind of traverse path generation method, device, server and storage medium
WO2020155777A1 (en) * 2019-02-03 2020-08-06 苏州市龙测智能科技有限公司 Ui automated function testing method, testing device, testing apparatus, and storage medium
CN114138653A (en) * 2021-11-30 2022-03-04 南京大学 Mobile application cross-platform reinforcement learning traversal test technology based on depth image understanding
CN114389905A (en) * 2021-12-08 2022-04-22 阿里巴巴(中国)有限公司 Network flow statistical method, related device and medium

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107943685A (en) * 2017-10-30 2018-04-20 北京奇虎科技有限公司 A kind of traverse path generation method, device, server and storage medium
WO2020155777A1 (en) * 2019-02-03 2020-08-06 苏州市龙测智能科技有限公司 Ui automated function testing method, testing device, testing apparatus, and storage medium
CN114138653A (en) * 2021-11-30 2022-03-04 南京大学 Mobile application cross-platform reinforcement learning traversal test technology based on depth image understanding
CN114389905A (en) * 2021-12-08 2022-04-22 阿里巴巴(中国)有限公司 Network flow statistical method, related device and medium

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
QIU, WENCHENG: "Design of Android APP Security Online Analysis System", DIANZI SHIJIE - ELECTRONICS WORLD, DIANZI SHIJIE ZAZHISHE, CN, 31 May 2019 (2019-05-31), CN , pages 141 - 142, XP009553559, ISSN: 1003-0522 *
SHENGQIAO ZHANG: "APK-based automatic method for GUI traversal of Android applications", JOURNAL OF COMPUTER APPLICATIONS, vol. 36, no. 11, 1 January 2016 (2016-01-01), pages 3178 - 3182, XP093153263, DOI: 10.11772/j.issn.1001-9081.2016.11.3178 *

Also Published As

Publication number Publication date
CN117827623A (en) 2024-04-05

Similar Documents

Publication Publication Date Title
US10769056B2 (en) System for autonomously testing a computer system
US11868242B1 (en) Method, apparatus, and computer program product for predictive API test suite selection
CN110928772B (en) Test method and device
US11042472B2 (en) Authoring automated test suites using artificial intelligence
CN109871326B (en) Script recording method and device
US20190340512A1 (en) Analytics for an automated application testing platform
CN106485261B (en) Image recognition method and device
CN110457578A (en) A kind of customer service demand recognition methods and device
US11816573B1 (en) Robust systems and methods for training summarizer models
CN111159014A (en) Response method and device for exploratory test, computer equipment and storage medium
CN109743286A (en) A kind of IP type mark method and apparatus based on figure convolutional neural networks
CN115803734A (en) Natural language enrichment using action interpretation
CN115525563A (en) Test method, test device, computer equipment and storage medium
CN112882930A (en) Automatic testing method and device, storage medium and electronic equipment
Damasceno et al. Learning by sampling: learning behavioral family models from software product lines
WO2024067039A1 (en) Application automated testing method, electronic device, and computer readable medium
JP2022055811A (en) Generation apparatus, generation method, and generation program
CN107797917B (en) Performance test script generation method and device
Grechanik et al. Differencing graphical user interfaces
CN103823827A (en) Method and device for crawling rich internet applications
CN111694752A (en) Application testing method, electronic device and storage medium
CN114328169A (en) Dynamic page testing method and system
CN116595995B (en) Determination method of action decision, electronic equipment and computer readable storage medium
KR101036885B1 (en) System and method for providing robot-information
CN117591422A (en) Software processing method, electronic device and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23870278

Country of ref document: EP

Kind code of ref document: A1