CN108536576B - Method and device for optimizing test scripts of application program - Google Patents

Method and device for optimizing test scripts of application program Download PDF

Info

Publication number
CN108536576B
CN108536576B CN201710120302.6A CN201710120302A CN108536576B CN 108536576 B CN108536576 B CN 108536576B CN 201710120302 A CN201710120302 A CN 201710120302A CN 108536576 B CN108536576 B CN 108536576B
Authority
CN
China
Prior art keywords
version
hierarchy
mobile application
cross
test script
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710120302.6A
Other languages
Chinese (zh)
Other versions
CN108536576A (en
Inventor
华松
皮冰锋
孙俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to CN201710120302.6A priority Critical patent/CN108536576B/en
Publication of CN108536576A publication Critical patent/CN108536576A/en
Application granted granted Critical
Publication of CN108536576B publication Critical patent/CN108536576B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases

Landscapes

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

Abstract

The present disclosure relates to a method and apparatus for optimizing a test script of an application. The method for optimizing the test script of the application program comprises the following steps: detecting a change point of a version to be tested of the application program relative to a tested version; and optimizing the test script for the version of the application to be tested based on the change points. According to the technology disclosed by the invention, the test script with high robustness can be obtained, so that the test efficiency of the application program is improved, and the test cost is reduced.

Description

Method and device for optimizing test scripts of application program
Technical Field
The present disclosure generally relates to the technical field of testing of applications. In particular, the present disclosure relates to methods and apparatus for optimizing test scripts for mobile applications.
Background
With the rapid development of mobile applications suitable for mobile devices such as mobile phones, smart phones, Personal Digital Assistants (PDAs), tablet computers, developers and testers spend more and more time and effort on the testing of mobile applications.
Testing of mobile applications is a special software test, which is very different from testing of applications suitable for use with computers. Testing of mobile applications is extremely difficult because the hardware configuration (such as screen size and resolution) and software configuration (such as operating system) of different mobile devices are different. Testers need to write specific test scripts for specific hardware and software configurations of mobile devices, and each mobile application typically has a large number of test scripts.
The test script runs in the operating system of the mobile device along with the mobile application. When an operation error occurs in the test process of the mobile application program, since a tester only wants to test the mobile application program, it is first determined whether the operation error is caused by the error of the mobile application program, thereby bringing great inconvenience to the tester.
Disclosure of Invention
A brief summary of the disclosure is provided below in order to provide a basic understanding of some aspects of the disclosure. It should be understood that this summary is not an exhaustive overview of the disclosure. It is not intended to identify key or critical elements of the disclosure or to delineate the scope of the disclosure. Its sole purpose is to present some concepts in a simplified form as a prelude to the more detailed description that is discussed later.
To address the problems in the prior art, the present disclosure provides techniques that enable optimization of a test script for an application.
According to one aspect of the present disclosure, there is provided a method for optimizing a test script of an application program, comprising the steps of: detecting a change point of a version to be tested of the application program relative to a tested version; and optimizing the test script for the version of the application to be tested based on the change points.
According to another aspect of the present disclosure, there is provided an apparatus for optimizing a test script of an application, including: the detection unit is used for detecting the change point of the version to be detected of the application program relative to the detected version; and an optimization unit that optimizes the test script of the version to be tested of the application program based on the change point.
According to yet another aspect of the present disclosure, there is also provided a computer program capable of implementing the above method. Furthermore, a computer program product in the form of at least a computer readable medium is provided, having computer program code recorded thereon for implementing the above-described method.
The technology according to the present disclosure can optimize the test script of the application program before testing, thereby avoiding the occurrence of operation errors during testing due to incompatibility of the test script with the mobile application program after version updating or the test script related to cross-process operation, and enabling the test result to only include the operation errors caused by the existence of errors in the tested mobile application program. The technology can obviously reduce the time for reading the test result of the mobile application program, thereby greatly improving the test efficiency.
Furthermore, although the present disclosure is described herein primarily with respect to testing of mobile applications, it will be apparent to those skilled in the art that the techniques disclosed herein are fully applicable to testing of applications for less complex computers.
Drawings
The above and other objects, features and advantages of the present disclosure will be more readily understood by reference to the following description of the embodiments of the present disclosure taken in conjunction with the accompanying drawings, in which:
FIG. 1 is a flow chart illustrating a method for optimizing a test script of an application according to a first embodiment of the present disclosure;
FIG. 2 is a schematic block diagram illustrating one particular implementation of a method for optimizing a test script of an application in accordance with a first embodiment of the present disclosure;
FIG. 3 is a schematic diagram illustrating one embodiment of a hierarchical structure of an application constructed by a method in accordance with a first embodiment of the present disclosure;
FIG. 4 is a flow diagram illustrating one embodiment of a method for detecting change points in a method for optimizing a test script of an application according to a first embodiment of the present disclosure;
FIG. 5 is a block diagram illustrating an apparatus for optimizing a test script of an application according to a first embodiment of the present disclosure;
FIG. 6 is a flow chart illustrating a method for optimizing a test script of an application according to a second embodiment of the present disclosure;
FIG. 7 is a schematic block diagram illustrating one particular implementation of a method for optimizing a test script for an application in accordance with a second embodiment of the present disclosure;
FIG. 8 is a block diagram illustrating an apparatus for optimizing a test script of an application according to a second embodiment of the present disclosure; and
FIG. 9 is a block diagram illustrating a general-purpose machine that may be used to implement the method and apparatus for optimizing test scripts for an application according to the first and second embodiments of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure will be described hereinafter with reference to the accompanying drawings. In the interest of clarity and conciseness, not all features of an actual implementation are described in the specification. It will of course be appreciated that in the development of any such actual embodiment, numerous implementation-specific decisions may be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which will vary from one implementation to another.
Here, it should be further noted that, in order to avoid obscuring the present disclosure with unnecessary details, only components closely related to the scheme according to the present disclosure are shown in the drawings, and other details not so related to the present disclosure are omitted.
Current mobile applications typically have a high update frequency, and many mobile applications even release a new version every week. Such frequent updates present a significant challenge to the testing of mobile applications, as each update of a mobile application may result in certain test scripts being unavailable or in error. For example, an Identifier (ID) of a view of an old version of a mobile application may change in a new version of the mobile application, which may result in the old test script not being able to locate the view through the identifier, resulting in a running error. However, when the operation error occurs during the test process, the tester may not know that the operation error is caused by the test script being incompatible with the new version of the mobile application, and thus it takes a lot of time to find the cause of the operation error, resulting in low test efficiency.
Furthermore, current mobile application testing systems, such as Robotium, are not capable of testing mobile applications that have cross-process operation. In particular, due to the security mechanism applied to the Android operating system of the mobile device itself, the automated test script, if it involves cross-process operations, may be considered as unsafe operations by the Android operating system, thereby terminating the test. However, this situation can also be considered as a running error in the testing process of the mobile application.
It follows that operational errors that occur during the testing of mobile applications are typically caused by several reasons: (1) errors exist in the tested mobile application, (2) the tested mobile application is incompatible with the updated mobile application due to version update, (3) the test script relates to cross-process operation in the mobile application, and the like.
However, the purpose of testing a mobile application by a tester is to discover errors that are present in the tested mobile application, so the tester only wants to discover the cause (1) described above, and wants to filter out the other causes (2) and (3). In other words, the above-described reasons (2) and (3) can be regarded as noise in the final test result of the mobile application. In the conventional test system for mobile applications, it takes a lot of time for a tester to determine whether the operation error occurred in the test is caused by the above-mentioned reasons. These tasks need to be repeated for each test, which greatly reduces the efficiency of the test.
Therefore, the robustness of the test script is very important for the testing of mobile applications. In order to solve the above-mentioned problems in the prior art, it is necessary to provide a technology capable of optimizing a test script of a mobile application to enhance the robustness of the test script, thereby improving the test efficiency of the mobile application and reducing the test cost.
The techniques for optimizing test scripts for an application according to the present disclosure are primarily directed to two aspects. One aspect is optimizing a test script based on detection of points of change of a version of an application under test relative to a tested version of the application. On this basis, another aspect is to optimize the test script based on the detection of portions of the test script that involve cross-process operations.
< first embodiment >
FIG. 1 is a flow chart illustrating a method 100 for optimizing a test script of an application according to a first embodiment of the present disclosure. Fig. 2 shows a schematic block diagram of a specific implementation of a method 100 for optimizing a test script of an application according to a first embodiment of the present disclosure.
As shown in fig. 1, the method 100 begins at step S101. In S102, a change point of the version to be tested of the application program relative to the tested version is detected. Subsequently, in step S103, the test script for the version under test of the application program is optimized based on the change point. The method 100 ends in step S104.
A specific embodiment of step S102 of method 100 is described in more detail below.
In general, it is very difficult to find the change point between the tested version and the version to be tested of the application program by direct comparison. The inventors of the present disclosure have found that if a tested version and a version to be tested of an application program are divided into blocks according to a uniform rule and compared block by block, a change point between the tested version and the version to be tested of the application program can be relatively easily found. Therefore, the technique according to the present disclosure detects the change point by constructing the application as a hierarchical structure to perform the comparison.
One embodiment of a specific process of constructing an application as a hierarchical structure will be described in detail below.
According to embodiments of the present disclosure, an application may be constructed as a hierarchy (e.g., a tree structure) in which a root node of a first level of the hierarchy is constructed by the application itself, and child nodes of levels below the first level of the hierarchy are constructed by decomposing the application.
Further, according to an embodiment of the present disclosure, it is possible to further construct a child node of a second hierarchy of the application by a behavior of the application, construct a child node of a third hierarchy of the application by a function included by the behavior of the application according to semantic information and visual information of the application, and construct a child node of a fourth hierarchy of the application by a control of the application implementing the function.
In particular, the application itself is constructed as a root node of a first level of the hierarchy. Next, child nodes of a second level of the hierarchy of the application are constructed by the behavior of the application. In other words, the child nodes of the root node of the first level may be each behavior of the application.
As a specific example, the behavior of a mobile application applicable to the Android operating system is Activity, which is one of important components in application development in the Android operating system environment. Activity is usually embodied as a page in an application program of an Android operating system, that is, the page can be used as a child node of a second level of a hierarchical structure of the application program.
Subsequently, each Activity page is further partitioned in order to construct children of a third level of the hierarchy of the application. According to an embodiment of the present disclosure, a child node of a third level of a hierarchical structure of an application is constructed by a function included in behavior of the application according to semantic information and visual information of the application.
For example, for an application in an Android operating system environment, a page that is a child node of a second level of the hierarchical structure of the application is divided by function, and a function obtained by the division is linked as a child node of a third level of the hierarchical structure of the application to a corresponding page that is a child node of the second level of the hierarchical structure of the application.
As described above, the segmentation of the page may be performed based on semantic information and visual information, and each block resulting from the segmentation may be considered to implement a relatively independent function.
For example, as one of the activities commonly used in the Android operating system, the login page may be visually divided into a top navigation window, a middle login window, and a bottom copyright window, etc. It should be noted that instead of using visual information, the segmentation may also be performed using semantic information. For example, the navigation window, the login window and the copyright window include different characters, which represent different semantics, according to which the login page may be segmented.
As a specific example, in the case described above, the login page may include a login function indicating that a user login is implemented. Thus, the login function may be linked as a child node of the third level of the hierarchy of the application to the login page as a child node of the second level of the hierarchy of the application.
Still further in accordance with an embodiment of the present disclosure, a child node of a fourth level of the hierarchy of the application may be constructed, for example, by a function-implementing control of the application.
For example, the login function as a child node of the third hierarchy of the application may include an input field for inputting a user name and a password, a login button for a user to click. Further, in some cases, the login function may further include a display window for displaying the authentication code and an input field for inputting the authentication code. In the application program, there are controls for implementing the functions, such as a control for implementing input of a user name and a password, a control for implementing a login button, and a control for implementing display and input of an authentication code. Child nodes of a fourth level of the hierarchy of the application are constructed from the controls. In this case, a function of linking the control as a child node of the fourth level of the hierarchy of the application to a child node of the third level of the hierarchy of the application.
FIG. 3 is a schematic diagram illustrating one embodiment of a hierarchical structure of an application constructed by a method according to a first embodiment of the present disclosure. As shown in fig. 3, the root node of the first level of the hierarchy is the application itself, the child nodes of the second level are the behaviors of the application, the child nodes of the third level are the functions included by the behaviors, and the child nodes of the fourth level are the controls that implement the functions.
It should be noted that the method for constructing a hierarchy of applications described above is only one specific embodiment. For example, in the embodiments described above, the page that is a child node of the second level of the hierarchical structure is divided according to semantic information and/or visual information, but the technique of the present disclosure is not limited thereto. The page segmentation can also be performed based on other information, and even the test personnel can perform the page segmentation manually.
Further, the embodiments described above construct a hierarchy of four levels of applications, although the techniques of this disclosure are not so limited. Indeed, one skilled in the art may construct an application into a hierarchy having fewer or more levels in accordance with the techniques of this disclosure. How many levels the hierarchy has can be specifically determined by the complexity of the application and/or test script being tested. For example, structuring an application into a hierarchy having a greater number of levels may enable a more refined comparison between a version under test and a version under test of the application. Conversely, for example, structuring an application as a hierarchy with fewer levels may reduce computational costs. The specific number of levels to be set requires a tester to perform specific analysis according to the application program to be tested and the test script used during testing.
Furthermore, embodiments according to the present disclosure are described above for the Android operating system, but those skilled in the art will recognize that the idea of constructing a hierarchy of applications according to the techniques of the present disclosure is not limited to the Android operating system, which may be equally applicable to other operating systems such as ISO, Windows, etc.
After the tested version and the version to be tested of the application program are constructed into a hierarchical structure through a unified rule, the change point between the hierarchical structure of the version to be tested of the application program and the hierarchical structure of the tested version can be detected by comparing the hierarchical structures.
According to an embodiment of the present disclosure, the change point may be detected by: modeling child nodes of each level of the hierarchical structure, wherein feature vectors of the child nodes are formed based on attributes of controls constituting the child nodes; calculating the similarity between the feature vectors of the child nodes in the hierarchical structure of the version to be tested of the application program and the feature vectors of all the child nodes in the same hierarchy in the hierarchical structure of the tested version; and when the maximum similarity in the calculated similarities is smaller than a similarity threshold, detecting the child node in the hierarchical structure of the version to be tested of the application program as a change point.
FIG. 4 is a flow diagram illustrating one embodiment of a method 400 of detecting change points in the method 100 for optimizing a test script of an application according to the first embodiment of the present disclosure. The method 400 begins at step S401. In step S402, child nodes of each level of the hierarchy of the application are modeled.
According to an embodiment of the present disclosure, the comparison of the hierarchy of the version under test and the hierarchy of the version under test of the application is performed level by level. In this case, child nodes of each level of the hierarchy of the application program need to be compared one by one. In the hierarchical structure constructed above with reference to fig. 3, the behavior as a child node of the second hierarchy, the function as a child node of the third hierarchy, and the control as a child node of the fourth hierarchy may be compared one by one between the version under test and the version under test of the application. The comparison requires modeling of the child nodes.
Specifically, each control has its set of properties. According to the embodiment of the disclosure, some properties in the property set of the control are selected as the features of the control, and are used for forming feature vectors describing child nodes of the second hierarchy to the fourth hierarchy.
According to embodiments of the present disclosure, the properties of the control may be selected from text contained in the control, an identifier of the control, a class of the control, a package of the control, a content description of the control, and the like.
For example, table 1 shows properties of a selected control with respect to an Android operating system, according to embodiments of the present disclosure.
TABLE 1 Properties of selected controls for Android operating System
Properties Name (R) Description of the invention
Attribute 1 Text Text contained in controls
Attribute 2 Resource-ID Identifier of control
Attribute 3 Class Class of control
Attribute 4 Package Package of controls
Attribute 5 Content-Description Content description of widgets
In table 1, attribute 1 represents text contained in the control, such as "submit", or "please enter a user name", or the like. Property 2 represents an identifier of the control. For example, in the Android operating system, an identifier of a control is used to distinguish the control, such as "com. Property 3 represents the class of the control. For example, in the Android operating system, the class of a control may be "Android. Property 4 represents a package of controls. For example, in the Android operating system, a package of controls may be understood as a folder path that stores code corresponding to the control. Property 5 represents a content description of the control, which is typically written by a developer.
Those skilled in the art will recognize that while selecting a particular property 1-5 in Table 1 above describes a control, the techniques of this disclosure are not so limited. Those skilled in the art can select fewer or more control attributes to construct the feature vector representing the child node according to actual situations. Furthermore, the selection of control properties is described above primarily for the Android operating system, but the concepts described above are equally applicable to other operating systems such as IOS, Windows, and the like.
The attributes 1-5 listed above are all string-type data. To compare child nodes, it is first necessary to digitize these string-type data, thereby generating a feature vector representing the child node.
According to the embodiment of the disclosure, for each child node of the hierarchical structure of the application program, the character string as the attribute of the control is segmented by punctuation to obtain a phrase, and the feature vector of the child node is formed based on the number of times the obtained phrase appears in the control, the function or the behavior and the number of times the control, the function or the behavior including the obtained phrase appears.
One embodiment of the specific process of generating the feature vectors of the child nodes described above is described in detail below.
For example, based on properties 1-5 of the controls listed in table 1, first, the properties 1-5 of each of all the controls included in the hierarchy of the application are divided into phrases by punctuation and spacing, and a feature vector representing a child node is generated for each phrase in accordance with the following formula (1).
Csubnodei=(Valueword1,Valueword2,…Valuewordn) (1)
In the formula (1), CsubnodeiA feature vector representing a child node subnodei, where i ═ 1,2, … m, m being the number of all child nodes included in the hierarchy of the application. Feature vector CsubnodeiEach element in (1), i.e. the eigenvalue Valueword1,Valueword2,…ValuewordnHas a numerical value form, wherein word1, word2, and … wordn respectively represent phrases obtained by segmenting the properties of the control as described above. Valueword1,Valueword2,…ValuewordnThe characteristic values for these words word1, word2, … wordn are indicated, respectively.
It should be noted that n here represents the total number of phrases obtained by dividing character strings included in the attributes of all controls in the hierarchy of the application by punctuation. Thus, the feature vector C is independent of which level of the nodesubnodeiAre the same. In other words, even though the behavior corresponding to the child node of the second hierarchy includes a plurality of functions corresponding to the child nodes of the third hierarchy and each function includes a plurality of controls corresponding to the child nodes of the fourth hierarchy in the hierarchy of the application, the child nodes corresponding to the controls, functions or behaviors all have the same length of the feature vector CsubnodeiThe physical meaning of the eigenvalues in the eigenvectors is also the same.
Eigenvalue ValuewordjMay be related to the number of occurrences of the corresponding word (j ═ 1,2, … n) in the child node representing the control, function or action, and the number of occurrences of the child node including the word (j ═ 1,2, … n). For each child node subnodei, its feature vector CsubnodeiValue of the characteristic Value inwordjCan be calculated by the following formula (2).
Valuewordj=(Freqcongtrol1+Freqcontrol2+…+Freqconrolk)/Freqsubnodej (2)
In the formula (2), ValuewordjThe characteristic value of the word, where j is 1,2, … n, is represented. FreqcontrolkRepresents the number of times the word wordj appears in all controls control of the child node subnodeb, where k is 1,2, … li, li is the number of all controls of the child node subnodeb, and for the case described above in connection with fig. 3, li of the child node of the fourth level takes the value 1. FreqsubnodejRepresenting the number of all nodes in the application that contain the word.
According to the formula (2), if the number of times that a certain word group wordj appears in a child node is larger, and the number of times that the child node including the word group appears in the whole application program is smaller, the Value of the feature Value of the word group is smallerwordjThe larger the value, the more specifically the phrase can represent the child node. Otherwise, the phrase isValue of the characteristic ValuewordjThe smaller the value, the less the phrase can specifically represent the child node.
Next, the method 400 proceeds to step S403. In step S403, the similarity between the feature vectors of the child nodes in the hierarchical structure of the version to be tested of the application program and the feature vectors of all the child nodes in the same hierarchical level in the hierarchical structure of the tested version is calculated.
According to the embodiment of the disclosure, after the hierarchical structure is respectively constructed for the tested version and the version to be tested of the application program and the feature vector is respectively constructed for each child node in the hierarchical structure, the similarity between the child nodes of the tested version and the version to be tested of the application program is calculated based on the constructed feature vectors.
Specifically, for each child node in the hierarchical structure of the version to be tested of the application program, the similarity between each child node and the child node in the same hierarchy in the hierarchical structure of the tested version of the application program is calculated. The similarity between the child nodes can be calculated by the following equation (3) based on the feature vectors of the child nodes.
SAB=(CsubnodeA·CsubnodeB)/(|CsubnodeA|·|CsubnodeB|) (3)
In the formula (3), S represents the similarity between the child node subNodeA and the child node subNodeB, CsubnodeAAnd CsubnodeBRespectively representing the feature vectors of the child node subnodeA and the child node subnodeB. Equation (3) is a basic equation for calculating the distance between vectors in linear algebra, and thus will not be described in further detail herein. Further, those skilled in the art will recognize that although equation (3) is used herein to calculate the similarity between the child node subnodeA and the child node subnodeB, the present disclosure is not limited thereto. The similarity between the child node subnodeA and the child node subnodeB can be calculated by those skilled in the art using various known suitable methods, which are also covered by the scope of the present disclosure.
Subsequently, the method 400 proceeds to step S404. In step S404, for each child node in the hierarchical structure of the version of the application program to be tested, the child node with the greatest similarity to the child node in the same hierarchy in the hierarchical structure of the version of the application program to be tested is found. And when the found maximum similarity is not less than a preset similarity threshold, considering that the child node of the hierarchical structure of the tested version with the maximum similarity is the same as the child node of the hierarchical structure of the tested version, and performing similar processing on the next child node in the hierarchical structure of the tested version.
In addition, when the found maximum similarity is smaller than a preset similarity threshold, it is determined that a child node identical to the child node of the hierarchical structure of the version to be detected does not exist in the child nodes of the same hierarchical level of the hierarchical structure of the detected version, which indicates that the child node of the hierarchical structure of the version to be detected is a newly added child node or a child node with a larger change, and therefore the child node in the hierarchical structure of the version to be detected is detected as a change point.
By performing the above operations on all child nodes in the hierarchy of the version of the application under test, one or more child nodes detected as change points can be obtained.
It is to be noted that by the above calculation regarding the similarity, a child node in the hierarchy of the version under test detected as having the same child node in the hierarchy of the version under test can be further compared for each child node in the next hierarchy of the two child nodes.
As a specific example, assuming that, for a child node a in the hierarchical structure of the version of the application program to be tested, the similarity between the child node B and the child node a is the largest in the same hierarchical level in the hierarchical structure of the version of the application program to be tested, and the largest similarity is not less than the similarity threshold, the child node B is considered to be the same as the child node a. Next, for each child node in the next level of the child node a in the hierarchy of the version to be tested, the above-described process is repeatedly performed for each child node in the next level of the child node B of the hierarchy of the version to be tested, respectively.
However, if the maximum similarity is smaller than the similarity threshold, the child node a may be regarded as the change point, and at this time, the process described above may not be repeated for the child node of the next hierarchy of the child node a and the child node a may be directly regarded as the change point.
The method 400 ends at step S405.
As described above, after detecting the change point of the version of the application under test with respect to the tested version through step S102 of the method 100, the test script for the version of the application under test is optimized based on the detected change point in step S103 of the method 100.
As can be seen from the above, the detected change points correspond to child nodes of the hierarchy of the application. The test script can be optimized accordingly. Specifically, the child node corresponding to the change point includes one or more controls, and the test script locates the controls through the properties of the controls, so that the code segments related to the controls in the source code of the test script can be located through the properties of the one or more controls corresponding to the change point, so as to optimize the test script. Through the processing, the test script is optimized based on the detected change point before the test, so that the test efficiency can be greatly improved, and the test cost is reduced.
For example, as shown in FIG. 2, code segments of one or more controls in the test script that relate to a change point may be highlighted to facilitate modification of the test script by a tester. Alternatively, other optimization methods may be used, such as automatically modifying the code segments of one or more controls relating to the change points.
Fig. 5 is a block diagram illustrating an apparatus 500 for optimizing a test script of an application according to a first embodiment of the present disclosure.
As shown in fig. 5, the apparatus 500 includes: a first detecting unit 501, configured to detect a change point of a version to be tested of an application program relative to a tested version; and an optimizing unit 502 for optimizing the test script of the version to be tested of the application program based on the change point.
The first detection unit 501 is configured to perform the processing of step S102 of the method 100 described above with reference to fig. 1 and can achieve benefits associated with the processing, and the description thereof is omitted here. Further, the optimization unit 502 is configured to perform the processing of step S103 of the method 100 described above with reference to fig. 1 and can achieve benefits associated with the processing, and the description thereof is omitted here.
< second embodiment >
Many mobile applications have cross-process operations, such as turning on a camera of the mobile device, invoking system services, and the like. These cross-process operations are defined by developers when developing mobile applications, so the testers do not know which operations of a mobile application are cross-process operations.
Current test systems for mobile applications are not capable of testing mobile applications that have cross-process operation. In particular, due to the security mechanism applied to the Android operating system of the mobile device itself, the automated test script, if it involves cross-process operations, may be considered as unsafe operations by the Android operating system, thereby terminating the test. However, this situation can also be considered as a running error in the testing process of the mobile application. The testing efficiency is also reduced because the tester needs to spend a lot of time judging whether the operation error is caused by the operation of the cross-process.
According to the technology of the present disclosure, on the basis of detecting the code segment related to the change point of the version to be tested of the application program in the test script as described above with reference to the first embodiment, the code segment related to the cross-process operation in the test script can be further detected, so as to perform further optimization.
FIG. 6 is a flow chart illustrating a method 600 for optimizing a test script for an application according to a second embodiment of the present disclosure. FIG. 7 is a schematic block diagram illustrating one particular implementation of a method 700 for optimizing a test script of an application in accordance with a second embodiment of the present disclosure.
As shown in fig. 6, method 600 begins at step S601. In step S602, a change point of the version to be tested of the application program relative to the tested version is detected. Subsequently, in step S603, a portion of the test script related to the cross-process operation is detected. Subsequently, in step S604, the test script is optimized according to the change points and cross-process operations. The method 600 ends at step S605.
Step S602 is identical to step S102 of the method 100 described above with reference to fig. 1 and will not be described in further detail. One embodiment of step S603 of method 600 is described in more detail below.
According to an embodiment of the present disclosure, in step S603, in order to detect a portion of the test script related to the cross-process operation, a database of the cross-process operation may be constructed from the test history data and a classification model may be trained based on the database, and all operations included in the test script may be classified using the classification model to detect the portion of the test script related to the cross-process operation.
The main idea of this embodiment is to analyze and extract the runtime information of the test script and the application to find and judge the code segments in the test script that are involved in cross-process operations.
Specifically, according to an embodiment of the present disclosure, a database of cross-process operations is first constructed based on test history data, and each data entry in the database may be a feature describing the cross-process operation. According to an embodiment of the present disclosure, the characteristics of the cross-process operation may be selected from a path of a control involved in the cross-process operation, properties of the control involved in the cross-process operation, a type of the cross-process operation, properties of a function corresponding to the cross-process operation, and information of a system that performs the cross-process operation.
In particular, Table 2 lists features related to cross-process operation.
Figure BDA0001236815690000131
TABLE 2 characteristics relating to Cross-Process operation
In table 2, feature 1 represents the path of the control involved in the cross-process operation. For example, if the cross-process operation involves a control in the landing page (i.e., the behavior of the application) that corresponds to a textbox, then feature 1 may be "Activity/View 1/View2/ListView/View3/TextView," which represents the path of the control. Feature 2 represents the properties of the control involved in the cross-process operation. For example, feature 2 may be an attribute listed in table 1, described above. Feature 3 represents the type of cross-process operation. For example, the feature 3 may be a click operation, a drag operation, or a text input operation, etc. Feature 4 represents the attributes of the corresponding function operating in the application across processes. For example, the feature 4 may be a parameter name and a parameter value of the function. Feature 5 represents information of the system performing the cross-process operation. For example, feature 5 may include information such as the brand, model, operating system version, etc. of the mobile device, such as "Samsung Galaxy S6", "Android 4.4.2", "MIUI 5.0", etc.
Similar to table 1 described above, one skilled in the art will recognize that, although specific features 1-5 are selected in table 2 above to describe cross-process operations, the techniques of the present disclosure are not so limited. One skilled in the art may select fewer or more features of the cross-process operation to describe the cross-process operation depending on the actual situation.
The features 1-5 listed above are all string-type data. To train a classification model based on this database, it is first necessary to digitize these string-type data, thereby generating feature vectors for cross-process operations.
According to an embodiment of the present disclosure, a character string that is a feature of a cross-process operation may be segmented by punctuation to obtain a phrase, a feature vector of the cross-process operation is formed based on whether the obtained phrase appears, and a classification model is trained based on the formed feature vector.
Specifically, similar to the feature vector constructing the child nodes representing the hierarchy of the application described above, based on the features 1 to 5 of the cross-process operation listed in table 2, the features 1 to 5 of all the cross-process operations included in the database are first divided into phrases according to punctuation and space, and a feature vector representing the cross-process operation is generated for each phrase according to the following equation (4).
Coperationx=(Valueword1,Valueword2,…Valuewordt) (4)
In formula (4), CoperationxA feature vector representing the cross-process operation operationx, where x ═ 1,2, … s, s is the number of all cross-process operations included in the database. Feature vector CoperationxEach element in (1), i.e. the eigenvalue Valueword1,Valueword2,…ValuewordtIn the form of numerical values, where word1, word2, and … wordt respectively represent phrases obtained by segmenting the features of cross-process operations as described above. Valueword1,Valueword2,…ValuewordtRespectively, the characteristic values for these words word1, word2, … wordt.
It should be noted that t here denotes the total number of phrases obtained by dividing character strings included in the features of all the cross-process operations included in the database by punctuation marks. Thus, for each cross-process operation in the database, the feature vector CoperationxAre the same.
Eigenvalue ValuewordyMay be associated with whether the corresponding word (y 1,2, … t) appears in the characteristics of the cross-process operation. For example, if the word appears in a certain feature of the cross-process operation, the feature vector C of the cross-process operationoperationxValue of the characteristic Value corresponding to the word group wordwordyIs 1, otherwise is 0.
Alternatively, the Value of the characteristic Value is similar to the method described above with reference to equation (3)wordyMay be related to the number of times the corresponding word (y ═ 1,2, … t) appears in the characteristics of the cross-process operation and the number of times the cross-process operation including that word appears in the overall database.
After obtaining the feature vectors corresponding to each cross-process operation in the test history data, the classification model may be trained using the feature vectors of these cross-process operations as well as feature vectors of non-cross-process operations constructed in a similar manner. The process of training the classification model based on labeled training data is well known to those skilled in the art and is therefore not described in further detail herein. The classification model trained by the feature vectors of the cross-process operation can judge whether a certain operation is the cross-process operation.
According to embodiments of the present disclosure, all operations included in the test script may then be classified using the trained classification model to detect cross-process operations in the test script.
As described above, after detecting the portion of the test script related to the cross-process operation through step S603, in step S604 of method 600, the test script for the version of the application under test is optimized based on the detected change points and the detected cross-process operation.
Similar to the first embodiment described above, the detected cross-process operations in the test script involve one or more controls, which may be located in the test script by their properties to detect code segments in the test script that involve cross-process operations, thereby optimizing the test script. Through the processing, the test script is optimized based on the detected cross-process operation before the test, so that the test efficiency can be greatly improved, and the test cost is reduced.
For example, as shown in FIG. 7, code segments of a test script that involve one or more controls that operate across processes may be highlighted to facilitate modification of the test script by a tester. Alternatively, other optimization methods may be used, such as automatically modifying code segments that involve one or more controls that operate across processes.
Fig. 8 is a block diagram illustrating an apparatus 800 for optimizing a test script of an application according to a second embodiment of the present disclosure.
As shown in fig. 8, the apparatus 800 comprises: a first detecting unit 801, configured to detect a change point of a version to be tested of an application program relative to a tested version; a second detecting unit 803, configured to detect a portion of the test script related to the cross-process operation; and an optimization unit 802 for optimizing the test script of the version to be tested of the application program based on the detected change point and the detected cross-process operation.
The first detection unit 801 is configured to perform the processing of step S602 of the method 600 described above with reference to fig. 6 and can achieve benefits associated with the processing, and the description thereof is omitted here. The second detection unit 803 is configured to perform the processing of step S603 of the method 600 described above with reference to fig. 6 and can achieve benefits associated with the processing, the description of which is omitted here. Further, the optimization unit 802 is configured to perform the processing of step S604 of the method 600 described above with reference to fig. 6 and can achieve benefits related to the processing, and the description thereof is omitted here.
Fig. 9 is a block diagram illustrating a general-purpose machine 900 that may be used to implement the methods 100 and 600 and the apparatuses 500 and 800 for optimizing a test script of an application according to the first and second embodiments of the present disclosure. General purpose machine 900 may be, for example, a computer system. It should be noted that the general purpose machine 900 is only one example and is not intended to suggest any limitation as to the scope of use or functionality of the methods and apparatus of the present disclosure. Neither should the general purpose machine 900 be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the training apparatus or image processing method described above.
In fig. 9, a Central Processing Unit (CPU)901 performs various processes in accordance with a program stored in a Read Only Memory (ROM)902 or a program loaded from a storage section 908 to a Random Access Memory (RAM) 903. In the RAM 903, data necessary when the CPU 901 executes various processes and the like is also stored as necessary. The CPU 901, ROM 902, and RAM 903 are connected to each other via a bus 904. An input/output interface 905 is also connected to bus 904.
The following components are also connected to the input/output interface 905: an input section 906 (including a keyboard, a mouse, and the like), an output section 907 (including a display such as a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker, and the like), a storage section 908 (including a hard disk, and the like), a communication section 909 (including a network interface card such as a LAN card, a modem, and the like). The communication section 909 performs communication processing via a network such as the internet. The driver 910 may also be connected to the input/output interface 905 as necessary. A removable medium 911 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like can be mounted on the drive 910 as needed, so that a computer program read out therefrom can be mounted in the storage section 908 as needed.
In the case where the series of processes described above is implemented by software, a program constituting the software may be installed from a network such as the internet or from a storage medium such as the removable medium 911.
It will be understood by those skilled in the art that such a storage medium is not limited to the removable medium 911 shown in fig. 9 in which the program is stored, distributed separately from the apparatus to provide the program to the user. Examples of the removable medium 911 include a magnetic disk (including a flexible disk), an optical disk (including a compact disc-read only memory (CD-ROM) and a Digital Versatile Disc (DVD)), a magneto-optical disk (including a mini-disk (MD) (registered trademark)), and a semiconductor memory. Alternatively, the storage medium may be the ROM 902, a hard disk included in the storage section 908, or the like, in which programs are stored, and which is distributed to users together with the device including them.
In addition, the present disclosure also provides a program product storing machine-readable instruction codes. The instruction codes can be read by a machine and executed to execute the method for optimizing the test script of the application program according to the disclosure. Accordingly, various storage media listed above for carrying such a program product are also included within the scope of the present disclosure.
Having described in detail in the foregoing through block diagrams, flowcharts, and/or examples, specific implementations of apparatus and/or methods according to embodiments of the disclosure are set forth. When the block diagrams, flowcharts, and/or embodiments include one or more functions and/or operations, it will be apparent to those skilled in the art that the functions and/or operations in the block diagrams, flowcharts, and/or embodiments may be implemented, individually and/or collectively, by a variety of hardware, software, firmware, or virtually any combination thereof. In one embodiment, portions of the subject matter described in this specification can be implemented by Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), Digital Signal Processors (DSPs), or other integrated forms. However, those skilled in the art will recognize that some aspects of the embodiments described in this specification can be equivalently implemented in whole or in part in integrated circuits, in the form of one or more computer programs running on one or more computers (e.g., in the form of one or more computer programs running on one or more computer systems), in the form of one or more programs running on one or more processors (e.g., in the form of one or more programs running on one or more microprocessors), in the form of firmware, or in virtually any combination thereof, and, it is well within the ability of those skilled in the art to design circuits and/or write code for the present disclosure, software and/or firmware, in light of the present disclosure.
It should be emphasized that the term "comprises/comprising" when used herein, is taken to specify the presence of stated features, elements, steps or components, but does not preclude the presence or addition of one or more other features, elements, steps or components. The terms "first," "second," and the like, as used in ordinal numbers, do not denote an order of execution or importance of the features, elements, steps, or components defined by the terms, but are used merely for identification among the features, elements, steps, or components for clarity of description.
In summary, in the embodiments according to the present disclosure, the present disclosure provides the following solutions, but is not limited thereto:
scheme 1. a method for optimizing a test script of an application, comprising the steps of:
detecting a change point of a version to be tested of the application program relative to a tested version; and
optimizing a test script for a version of the application to be tested based on the change points.
Scheme 2. the method of scheme 1, further comprising:
detecting a part related to cross-process operation in the test script; and
and further optimizing the test script according to the cross-process operation.
Scheme 3. the method of scheme 1 or 2, wherein the step of detecting the change points of the version of the application under test with respect to the tested version comprises:
constructing the application as a hierarchy, wherein a root node of a first level of the hierarchy is constructed by the application and child nodes of levels below the first level of the hierarchy are constructed by decomposing the application;
detecting the change point by comparing a hierarchy of a version of the application under test and a hierarchy of a version of the application under test.
Scheme 4. the method of scheme 3, wherein the step of constructing the application as a hierarchical structure comprises:
constructing child nodes of a second level of the hierarchy by behavior of the application, constructing child nodes of a third level of the hierarchy by functions included by behavior of the application according to semantic information and visual information of the application, and constructing child nodes of a fourth level of the hierarchy by controls of the application implementing the functions.
Scheme 5. the method of scheme 3, wherein the step of detecting the change point by comparing the hierarchy of the version under test of the application and the hierarchy of the version under test of the application comprises:
modeling child nodes of respective levels of the hierarchy, wherein feature vectors of the child nodes are formed based on properties of controls that make up the child nodes;
calculating the similarity between the feature vectors of the child nodes in the hierarchical structure of the version to be tested of the application program and the feature vectors of all the child nodes in the same hierarchy in the hierarchical structure of the tested version of the application program;
and when the maximum similarity in the calculated similarities is smaller than a similarity threshold value, detecting the child node in the hierarchical structure of the version to be tested of the application program as the change point.
Scheme 6. the method of scheme 5, wherein the properties of the control of the child node are selected from the group consisting of text contained in the control, an identifier of the control, a class of the control, a package of the control, and a description of the content of the control.
Scheme 7. the method according to scheme 5, wherein for each child node of the hierarchical structure, the character string as the attribute of the control is segmented by punctuation to obtain a phrase, and the feature vector of the child node is formed based on the number of times the obtained phrase appears in the control, function, or behavior and the number of times the control, function, or behavior including the obtained phrase appears.
Scheme 8. the method of scheme 2, wherein the step of detecting the portion of the test script related to cross-process operation comprises:
constructing a database of cross-process operations from test history data and training a classification model based on the database, an
Classifying all operations included in the test script using the classification model to detect portions of the test script related to cross-process operations.
Scheme 9. the method of scheme 8, wherein constructing a database of cross-process operations from test history data and training a classification model based on the database comprises:
the method includes segmenting a character string that is characteristic of a cross-process operation by punctuation to obtain a phrase, forming a feature vector of the cross-process operation based on whether the obtained phrase appears, and training a classification model based on the formed feature vector.
Scheme 10. the method according to scheme 9, wherein the characteristics of the cross-process operation are selected from the path of the control involved in the cross-process operation, the properties of the control involved in the cross-process operation, the type of the cross-process operation, the properties of the function corresponding to the cross-process operation, and information of a system performing the cross-process operation.
Scheme 11. an apparatus for optimizing a test script of an application, comprising:
a first detection unit configured to detect a change point of a version to be tested of the application program relative to a tested version; and
an optimization unit configured to optimize a test script of a version to be tested of the application program based on the change point.
The apparatus of claim 12, further comprising:
a second detection unit configured to detect a portion of the test script related to cross-process operation,
wherein the optimization unit is further configured to optimize the test script according to the cross-process operation.
Scheme 13. the apparatus of scheme 11 or 12, wherein the first detection unit further comprises:
a constructing subunit configured to construct the application as a hierarchical structure in which a root node of a first level of the hierarchical structure is constructed by the application and child nodes of levels below the first level of the hierarchical structure are constructed by decomposing the application;
a comparison subunit configured to detect the change point by comparing a hierarchy of a version under test of the application program and a hierarchy of a version under test of the application program.
Scheme 14. the apparatus of scheme 13, wherein the construction subunit is further configured to:
constructing child nodes of a second level of the hierarchy by behavior of the application, constructing child nodes of a third level of the hierarchy by functions included by behavior of the application according to semantic information and visual information of the application, and constructing child nodes of a fourth level of the hierarchy by controls of the application implementing the functions.
Scheme 15. the apparatus of scheme 13, wherein the comparison subunit is further configured to:
modeling child nodes of respective levels of the hierarchy, wherein feature vectors of the child nodes are formed based on properties of controls that make up the child nodes;
calculating the similarity between the feature vectors of the child nodes in the hierarchical structure of the version to be tested of the application program and the feature vectors of all the child nodes in the same hierarchy in the hierarchical structure of the tested version of the application program;
and when the maximum similarity in the calculated similarities is smaller than a similarity threshold value, detecting the child node in the hierarchical structure of the version to be tested of the application program as the change point.
Scheme 16. the apparatus according to scheme 15, wherein for each child node of the hierarchical structure, the character string as the attribute of the control is segmented by punctuation to obtain a phrase, and the feature vector of the child node is formed based on the number of times the obtained phrase appears in the control, function, or behavior and the number of times the control, function, or behavior including the obtained phrase appears.
The apparatus of claim 12, wherein the second detection unit further comprises:
a training subunit configured to construct a database of cross-process operations from the test history data and train a classification model based on the database, an
A classification subunit configured to classify all operations included in the test script using the classification model to detect a portion of the test script related to cross-process operations.
Scheme 18. the apparatus of scheme 17, wherein the training subunit is further configured to:
the method includes segmenting a character string that is characteristic of a cross-process operation by punctuation to obtain a phrase, forming a feature vector of the cross-process operation based on whether the obtained phrase appears, and training a classification model based on the formed feature vector.
While specific embodiments of the techniques according to the present disclosure have been described above for testing of mobile applications, it will be apparent to those skilled in the art that the techniques of the present disclosure are equally applicable to the optimization of test scripts for applications of a computer.
While the disclosure has been described above by way of a description of specific embodiments thereof, it will be appreciated that those skilled in the art will be able to devise various modifications, improvements, or equivalents of the disclosure within the spirit and scope of the appended claims. Such modifications, improvements and equivalents are also intended to be included within the scope of the present disclosure.

Claims (7)

1. A method for optimizing a test script for a mobile application of a mobile device, comprising the steps of:
detecting a change point of a version to be tested of the mobile application program relative to a tested version;
optimizing a test script for a to-be-tested version of the mobile application program based on the change points;
detecting a part related to cross-process operation in the test script; and
the test script is further optimized according to the cross-process operation,
wherein the step of detecting a portion of the test script related to cross-process operation comprises:
constructing a database of cross-process operations from test history data and training a classification model based on the database, an
Classifying all operations included in the test script using the classification model to detect portions of the test script related to cross-process operations.
2. The method of claim 1, wherein detecting a point of change in a version of the mobile application under test relative to a version under test comprises:
constructing the mobile application as a hierarchy, wherein a root node of a first level of the hierarchy is constructed by the mobile application and child nodes of levels below the first level of the hierarchy are constructed by decomposing the mobile application;
detecting the change point by comparing a hierarchy of a version of the mobile application under test and a hierarchy of a version of the mobile application under test.
3. The method of claim 2, wherein constructing the mobile application as a hierarchy comprises:
constructing child nodes of a second level of the hierarchy by behaviors of the mobile application, constructing child nodes of a third level of the hierarchy by functions included by behaviors of the mobile application according to semantic information and visual information of the mobile application, and constructing child nodes of a fourth level of the hierarchy by controls of the mobile application that implement the functions.
4. The method of claim 2, wherein detecting the change point by comparing the hierarchy of the version of the mobile application under test and the hierarchy of the version of the mobile application under test comprises:
modeling child nodes of respective levels of the hierarchy, wherein feature vectors of the child nodes are formed based on properties of controls that make up the child nodes;
calculating the similarity between the feature vectors of the child nodes in the hierarchical structure of the version to be tested of the mobile application program and the feature vectors of all the child nodes in the same hierarchy in the hierarchical structure of the tested version of the mobile application program;
and when the maximum similarity in the calculated similarities is smaller than a similarity threshold value, detecting the child node in the hierarchical structure of the to-be-detected version of the mobile application program as the change point.
5. The method of claim 4, wherein for each child node of the hierarchy, a string of characters that is a property of the control is segmented by punctuation to obtain a phrase, and a feature vector for the child node is formed based on a number of times the obtained phrase occurs in the control, function, or behavior and a number of times the control, function, or behavior that includes the obtained phrase occurs.
6. The method of claim 1, wherein constructing a database of cross-process operations from test history data and training a classification model based on the database comprises:
the method includes segmenting a character string that is characteristic of a cross-process operation by punctuation to obtain a phrase, forming a feature vector of the cross-process operation based on whether the obtained phrase appears, and training a classification model based on the formed feature vector.
7. An apparatus for optimizing a test script for a mobile application of a mobile device, comprising:
a first detection unit configured to detect a change point of a version to be tested of the mobile application program relative to a tested version;
an optimization unit configured to optimize a test script of a to-be-tested version of the mobile application based on the change point; and
a second detection unit configured to detect a portion of the test script related to cross-process operation,
wherein the optimization unit is further configured to further optimize the test script according to the cross-process operation,
wherein the second detection unit further comprises:
a training subunit configured to construct a database of cross-process operations from the test history data and train a classification model based on the database, an
A classification subunit configured to classify all operations included in the test script using the classification model to detect a portion of the test script related to cross-process operations.
CN201710120302.6A 2017-03-02 2017-03-02 Method and device for optimizing test scripts of application program Active CN108536576B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710120302.6A CN108536576B (en) 2017-03-02 2017-03-02 Method and device for optimizing test scripts of application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710120302.6A CN108536576B (en) 2017-03-02 2017-03-02 Method and device for optimizing test scripts of application program

Publications (2)

Publication Number Publication Date
CN108536576A CN108536576A (en) 2018-09-14
CN108536576B true CN108536576B (en) 2021-08-27

Family

ID=63489147

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710120302.6A Active CN108536576B (en) 2017-03-02 2017-03-02 Method and device for optimizing test scripts of application program

Country Status (1)

Country Link
CN (1) CN108536576B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109375960B (en) * 2018-09-29 2021-10-01 郑州云海信息技术有限公司 Copyright information loading method and device
CN110162467B (en) * 2019-04-23 2023-12-19 平安科技(深圳)有限公司 Software testing method, device, computer equipment and readable storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727385A (en) * 2008-10-31 2010-06-09 国际商业机器公司 Method for processing information change of user interface and system
CN102270174A (en) * 2011-08-04 2011-12-07 北京星网锐捷网络技术有限公司 Automatic test method and device
CN102567201A (en) * 2011-12-15 2012-07-11 南京大学 Method for automatically recovering cross-model GUI (graphic user interface) test scripts
CN106326105A (en) * 2015-07-09 2017-01-11 富士通株式会社 Method and device for generating test case of application program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9652366B2 (en) * 2014-12-04 2017-05-16 Hcl Technologies Ltd. Code change analysis to optimize testing lifecycle

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101727385A (en) * 2008-10-31 2010-06-09 国际商业机器公司 Method for processing information change of user interface and system
CN102270174A (en) * 2011-08-04 2011-12-07 北京星网锐捷网络技术有限公司 Automatic test method and device
CN102567201A (en) * 2011-12-15 2012-07-11 南京大学 Method for automatically recovering cross-model GUI (graphic user interface) test scripts
CN106326105A (en) * 2015-07-09 2017-01-11 富士通株式会社 Method and device for generating test case of application program

Also Published As

Publication number Publication date
CN108536576A (en) 2018-09-14

Similar Documents

Publication Publication Date Title
JP7398068B2 (en) software testing
US11640563B2 (en) Automated data processing and machine learning model generation
US12001788B2 (en) Systems and methods for diagnosing problems from error logs using natural language processing
US10409712B2 (en) Device based visual test automation
US9983984B2 (en) Automated modularization of graphical user interface test cases
KR101694783B1 (en) Alarm classification method in finding potential bug in a source code, computer program for the same, recording medium storing computer program for the same
US20190286691A1 (en) Caption Association Techniques
KR101554424B1 (en) Method and apparatus for auto generation of test case
US20200387553A1 (en) Digitization of technical documentation driven by machine learning
US20120054231A1 (en) Quick Font Match
US11163560B1 (en) Methods and arrangements to process comments
KR20130133203A (en) Bidirectional text checker
US11922230B2 (en) Natural language processing of API specifications for automatic artifact generation
CN116305158A (en) Vulnerability identification method based on slice code dependency graph semantic learning
CN108536576B (en) Method and device for optimizing test scripts of application program
CN110750297A (en) Python code reference information generation method based on program analysis and text analysis
CN111597336A (en) Processing method and device of training text, electronic equipment and readable storage medium
CN113407719B (en) Text data detection method and device, electronic equipment and storage medium
US11119761B2 (en) Identifying implicit dependencies between code artifacts
KR101694778B1 (en) False alarm reducing method in finding potential bug in a source code, computer program for the same, recording medium storing computer program for the same
CN116383834B (en) Detection method for source code vulnerability detection tool abnormality and related equipment
CN113986765A (en) SQL statement performance detection method and device
Watanabe et al. Layout Cross-Browser Failure Classification for Mobile Responsive Design Web Applications: Combining Classification Models Using Feature Selection
CN116107871A (en) Method and device for checking abnormality in code
CN117874756A (en) Malicious code variant detection method and device based on sequence control flow structure

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant