CN110209593B - Preference setting-oriented android application testing method - Google Patents

Preference setting-oriented android application testing method Download PDF

Info

Publication number
CN110209593B
CN110209593B CN201910515637.7A CN201910515637A CN110209593B CN 110209593 B CN110209593 B CN 110209593B CN 201910515637 A CN201910515637 A CN 201910515637A CN 110209593 B CN110209593 B CN 110209593B
Authority
CN
China
Prior art keywords
test
preference
preference setting
execution
test case
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
CN201910515637.7A
Other languages
Chinese (zh)
Other versions
CN110209593A (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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN201910515637.7A priority Critical patent/CN110209593B/en
Publication of CN110209593A publication Critical patent/CN110209593A/en
Application granted granted Critical
Publication of CN110209593B publication Critical patent/CN110209593B/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

Abstract

The invention provides a preference setting-oriented android application testing method. Firstly, static program analysis is carried out on an executable file of an application to be tested so as to obtain all preference settings and attributes thereof defined in the application. And then obtaining the associated preference setting in each test case through a dynamic program analysis mode on the existing test cases. For each test case, the combination of all relevant preference settings and their possible inputs can be tested to implement preference setting oriented testing. Finally, to reduce the cost of this test, the present invention provides a target-oriented execution mode that divides the code of the test case into basic blocks, and combines the basic blocks with their associated inputs of preference settings as test targets. According to the greedy algorithm, the test case and preference setting combination which covers the most test targets is selected for testing, so that the repeated test of preference setting input combination under each test case is reduced, and the test cost is greatly reduced.

Description

Preference setting-oriented android application testing method
Technical Field
The invention belongs to the field of software testing and program analysis, and mainly relates to a preference setting-oriented android application testing method.
Background
Android, as a mobile platform occupying more than 80% of the market share of the current mobile intelligent terminal, the application of android on the mobile intelligent terminal becomes an integral part of daily life of people. Due to the characteristics of different android application requirements and short development period, sufficient application testing is difficult to perform. Therefore, a large number of test automation execution frameworks are proposed, and testers can execute the application to be tested and collect execution information after compiling test cases, so that the test automation execution frameworks are widely used in the industry at present. On the basis, the academics also put forward a plurality of automatic test input generation technologies, which automatically generate test cases to be executed on the application through a random model-based search-based strategy to achieve the test effect.
However, no automated testing research has focused on the preference settings on android applications, resulting in a great lack of testing of the preference settings. Preference settings, i.e., options defined in an application, that allow a user to modify to change the application appearance or functionality according to personal preferences. To test the preference settings completely, it is necessary to test the combination of all preference settings at all input values. Furthermore, the association of the preference settings with the application interfaces/functions is implicit, so all interfaces/functions in the application need to be tested in all combinations (usually in the form of test cases). The resulting testing costs for this combination are immense.
Reduction of unnecessary/inefficient test combinations by program analysis techniques is a common means of reducing test costs for this problem. Program analysis, i.e. analyzing the internal operation flow of a program written in a certain language. It can be mainly divided into two strategies, static analysis and dynamic analysis, the former analyzes the source code/object code of the program without running the computer program, and the latter analyzes the program behavior by obtaining the program running information.
In view of this problem of the preference setting, the program analysis technology can obtain the preference setting defined in the android application through static analysis, then obtain the preference setting that does not play a role in the program running process under each test case through dynamic analysis, and reject it in the test combination. In addition, the accuracy of the dynamic analysis can be improved, so that unnecessary and covered preference setting input combinations are further eliminated, and the test cost is reduced.
Disclosure of Invention
The invention aims to provide a preference setting-oriented android application testing method, which is used for testing preference settings as comprehensively as possible with the lowest testing cost as possible based on given test cases, so that the testing effect is further improved.
In order to achieve the purpose, the method has the technical scheme that the method for testing the android application oriented to the preference setting is characterized by mainly comprising the following steps of:
step 1, performing static analysis on an android application to be tested to obtain preference settings and attributes thereof defined in the application, and recording a set of all the preference settings as PI;
step 2, carrying out dynamic analysis on a given test case to obtain associated preference settings under each test case, and enumerating all relevant preference settings under the test case and all possible input combinations of the preference settings, wherein any combination is called a test scene, and a set formed by all test scenes is marked as PS;
and 3, in the target-oriented execution mode, dividing the application code into basic blocks, analyzing the basic blocks contained in each test case and the preference setting associated with each basic block, so as to decompose the PS into the combination of the preference setting input and the basic blocks, namely the test targets, the set of which is marked as PB, and continuously selecting the test scene covering the most test targets for execution.
Further, preference settings are defined in the android application in the form of resource files, and these resource files are mapped in the logic code to GUI interfaces by calling the android API interface, thereby allowing the user to modify these preference settings. Therefore, in the static analysis, the preference setting defined in the application and the attribute contained in the preference setting are identified through the obtained resource file, and the identified preference setting set is the PI.
Further, the static analysis, in addition to identifying the preference setting, also confirms the GUI interface where the preference setting included in the corresponding resource file is located through the calling position of the API interfaces by constructing the calling relationship of the application, so as to perform setting operation on the preference setting in the subsequent execution mode.
Further, the dynamic analysis is to obtain an execution track of the code in the execution of each test case by means of instrumentation, and then obtain the preference setting associated with the test case by symbolically reproducing this track. Then, all combinations of these preference settings and their possible inputs are exhausted, and the set formed by these combinations under all test cases is PS.
Further, in the android application, the preference setting uses a key value storage mechanism of SharedPreferences and uses a specific value of an attribute key (referred to as a key value for short) as a key to read and store. Therefore, when the execution tracks of the test cases are symbolically reproduced, the dynamic analysis symbolizes the parameters of all SharedPreferences reading operations in the tracks, and takes the calculation result as the key value to find the elements with the same key value in the PI: if yes, the preference setting corresponding to the element is associated with the test case; if not, the read operation is skipped.
Further, the relevant preference settings obtained in the analysis of each test case in the dynamic analysis are rejected if the relevant preference settings do not play a role in case execution after reading, that is, the relevant preference settings are not used for judging branch selection in the conditional expression of the conditional branch.
Further, the possible input values of preference setting in dynamic analysis may come from resource file acquisition of the static analysis application; if the resource file does not contain the input value, the dynamic analysis randomly gives an input value according to the data type set by the preference.
Further, the basic blocks in the target-oriented execution mode represent a sequence of statements executed sequentially in the test application code program, with only one entry and one exit, and only branch statements can appear at the exit or entry positions.
Furthermore, in the target-oriented execution mode, when the relevance between the basic block and the preference setting is analyzed, the way of analyzing the relevance between the test case and the preference setting can be used, and the relevance result is divided according to the basic block; then, under a certain basic block, the test of a group of input combinations of associated preference settings, called test targets, exhaustively enumerates the set formed by all test targets, namely PB.
Further, the execution mode of the target guide comprises the following specific steps:
step 31, cutting PB according to a test target which is achieved in the execution of the original test case;
step 32, searching a certain test scenario in the PS, wherein the uncovered test targets contained in the test scenario, namely the test targets still contained in the PB are the most, and performing combined execution of preference setting input and an original test case according to the test scenario;
step 33, obtaining the test target achieved in the execution of the previous step;
step 34, if the test targets which have not been reached before are reached, the PB is reduced according to the test targets; otherwise, cutting down the PB according to all the test targets in the execution, and putting the test targets into a retry list;
step 35, repeating the steps 32-34 until PB is empty;
and step 36, recovering the state from the PS to the state after the step 32, finding the test scene which contains the test target and has the least test target from the PS for each test target in the retry list, and repeatedly executing the test scene.
Further, in the specific steps 31 and 36 of the guided execution mode, when there are a plurality of combinations found, different selection strategies may be used, including all the combinations being selected, and the three types are selected preferentially and randomly according to the validity of the test case.
Further, in the specific steps 31 and 34 of the guided execution mode, according to the reduction of the test targets in the PB, these test targets are also deleted for the test scenarios in the PS, and the preference setting inputs related only to these test targets in the scenarios are deleted.
Further, the joint execution in the specific step 32 of the guided execution mode includes the following steps:
step 321, taking out a set of preference settings and corresponding inputs from the test scenario in order, and executing step 322 and 323 until all preference settings and corresponding inputs in the combination are executed;
step 322, opening a GUI (graphical user interface) where the preference setting is located, which is obtained according to static analysis, by means of an ADB (Adadb) tool provided by an Android platform;
step 323, finding the specific position on the GUI interface according to the attribute of the preference setting, and completing the modification of the preference setting according to the type and the given input;
and 324, executing the original test case.
Compared with the prior art, the method makes up the defect of poor test effect of the preference setting part in the current mainstream test method, and initiatively provides a test method specially aiming at preference setting of android application for the test case only to test the preference setting input combination related to the test case;
secondly, the invention selects the combination of the test case covering the most test targets and the preference setting for testing, thereby reducing the test of repeated preference setting input combination under each test case and greatly reducing the test cost;
furthermore, the present invention starts from a given test case and is therefore compatible with other test methods, including automated test input generation methods and manual testing: for the former, the invention can effectively improve the test effect, and for the latter, the test case writer can reduce or even not need to write the test case with preference setting of the part of functions under the support of the invention, thereby greatly reducing the test cost.
Drawings
Fig. 1 is a schematic flow chart of the preference setting-oriented android application testing method according to the embodiment.
Fig. 2 is a detailed flow chart of static analysis of the preference setting-oriented android application testing method according to the embodiment.
Fig. 3 is a detailed flowchart of dynamic analysis of the preference setting-oriented android application testing method according to this embodiment.
Fig. 4 is a specific flowchart of a target-oriented execution mode of the preference setting-oriented android application testing method according to this embodiment.
Detailed Description
The technical solution of the present invention is further described in detail by the accompanying drawings and embodiments.
As shown in fig. 1, a schematic flow chart of the preference setting-oriented android application testing method of this embodiment is shown, and is also a general flow chart of this method, which includes three steps:
step 101, performing static analysis on an executable file of an application to be tested, namely an APK file, to obtain all preference settings defined in the application, wherein a set of the preference settings is marked as PI and is used for assisting the analysis of the next step 102;
102, analyzing the associated preference settings in each test case in a mode of dynamically executing the test cases on the application to be tested, thereby enumerating combinations of all the relevant preference settings and possible inputs thereof under all the test cases, wherein the total set is marked as PS;
and 103, calculating the test targets which are possibly reached by the combination under each PS through a target-oriented execution mode, continuously selecting the combination with the most test targets from the PS, namely, the combination which can bring the maximum promotion effect to the test for execution, and reducing the PS according to the execution result until the PS is empty.
As shown in fig. 2, this is a specific flow chart of static analysis of the preference setting-oriented android application testing method of this embodiment, and static program analysis is performed on an executable file of an application to be tested to obtain all preference settings and attributes thereof defined in the application, i.e., a set PI, and specific steps are as follows:
step 201, acquiring a resource file of an executable file, namely an APK (android package) file, of an application to be tested through an apktool or a jadx reverse tool;
in step 202, find the files for describing the preference settings, and read the preference settings and their attributes, including key (for uniquely marking the preference settings), title (for displaying text on the interface), postblevalue (all possible values), and catelog (type).
Step 203, analyzing and obtaining all functions defined in the android program to be tested and call relations thereof from the APK file with the help of a Java analysis tool Soot, thereby constructing a function call relation graph (including implicit calls therein);
step 204, finding out the call of the specific android API function which loads and maps the resource files into the GUI interface in all functions, and performing traversal selection;
step 205, in the graph constructed in step 203, all functions directly and indirectly containing the call are searched;
step 206, if there is a lifecycle function of a certain Activity in the functions, the resource file mapped in the call is loaded and mapped to the GUI interface corresponding to the Activity, in this case, step 207 is skipped; otherwise, it indicates that the resource file is not really loaded, and jumps to step 208;
step 207, adding the Activity information as a new attribute location for all the preference settings contained in the loaded resource file, where the attribute represents the location of the GUI interface where the preference settings are located.
Step 208, searching whether calls of the specific android API functions which are not traversed exist, and if yes, returning to the step 204 to continue circulation; and if not, jumping out, wherein a set formed by all the preference settings and the attributes contained in the preference settings is the PI.
As shown in fig. 3, this is a specific flowchart of dynamic analysis of the preference setting-oriented android application testing method according to this embodiment, and a process of dynamically analyzing the preference setting associated with each test case through the analyzed preference setting set PI and a given test case, and finally generating a set PS includes the following specific steps:
step 301, inserting a recorder, namely a pile, into the application executable file, and then installing the application executable file into the android device;
step 302, selecting an unexecuted test case, executing the test case on the instrumented application, and then obtaining an execution track of an application code in the test case execution from a recorder;
step 303, constructing a linear program statement execution sequence according to the trajectory; this step and the above step 301 can be completed with the help of a Java analysis tool, root;
step 304, selecting sentences in sequence to perform symbolization execution;
step 305, in symbolic execution, if the statement includes a call to a read operation function of sharedpreference, if the statement includes the call, the step 306 is skipped; if not, go to step 309.
Step 306, symbolically calculating the parameter in the reading operation, and taking the calculation result as a key value to search preference settings with the same key value in the PI;
step 307, if the corresponding preference setting can be found, skipping to step 308; if not, return to step 309;
step 308, replacing the output value of the reading operation with a specific symbol representing the preferred setting, and participating in the subsequent symbolization execution and calculation;
step 309, checking whether the statement is a branch statement, if yes, jumping to step 310; otherwise, jumping to step 313;
step 310, symbolically calculating the conditional expression of the branch statement;
step 311, if the numerical values obtained by the symbolic calculation include specific symbols representing specific preference settings, it indicates that the values of the preference settings are to be used for determining the branch selection, i.e. play a role in the test case execution, and then go to step 312; otherwise, jumping to step 313;
step 312, regarding the preference setting playing a role in the test case, identifying that the preference setting is associated with the test case, and recording;
313, judging whether a next statement exists, and if so, returning to 304 for circulation; otherwise, jumping out to step 313;
step 314, judging whether a test case which is not executed exists or not, if so, jumping to the step 302 for circulation; if not, jumping to step 315;
step 315, enumerating all relevant preference settings and combinations of possible inputs (the posblevalue attribute of the preference setting, which is randomly given according to the data type when the attribute is empty) of all test cases, and finally obtaining a set as PS.
Fig. 4 is a specific flowchart of a target-oriented execution mode of the preference setting-oriented android application testing method according to this embodiment, and the specific steps are as follows:
step 401, in the above dynamic analysis process, by dividing the execution stream by using the basic block as a unit, calculating all test targets included in a certain test scenario, that is, in a certain basic block, a set of related preference settings and combinations of input values thereof;
step 402, during dynamic execution, obtaining an execution track of a test case, wherein the execution track includes branch selection in the execution of the original test case, so that a test target which is reached in the original test can be calculated, and a PB is reduced according to the test target, so that the PB only includes test targets which are not reached in the original test;
step 403, judging whether PB is empty, and if not, skipping to step 404 to start a loop; if the state is empty, the loop is stopped, and the process jumps to 408;
step 404, selecting a test scenario with the most test targets from the PS for execution, and if there is a combination with the most test targets, randomly selecting one of the test scenarios for execution;
step 405, checking whether any test target is covered according to the execution result, and if so, jumping to step 406; if not, go to step 407;
step 406, now covering any test targets, so these will be deleted from the PB;
step 407, at this time, any test target is not covered, so that these test targets with coverage failure are not only deleted from PB, but also need to be added into the failure list;
deleting the test targets in the steps 402, 406 and 407, and also deleting the test targets in the corresponding test scenes in the PS, and deleting preference setting input only related to the test targets in the scenes;
step 408, recovering the state from the PS to the step 402;
step 409, selecting a test target from the failure list;
step 410, selecting a combination from the PS to execute, wherein the combination should include the test target and the number of the test targets is the minimum, and if there are a plurality of such combinations, randomly selecting one of the combinations to execute;
step 411, checking whether there are unselected test targets in the failure list, if yes, skipping to step 409 to repeat the cycle; if not, the execution mode of the target guide is ended.
In addition, the execution of steps 404 and 410 according to a given test scenario, as also shown on the right side of fig. 4, includes the following specific steps:
step e401, traversing the preference setting and the corresponding input in the selection combination;
step e402, opening the GUI interface where the android ADB tool is located according to the location attribute set by the preference; then, positioning the specific position of the preference setting title on the interface according to the preference setting title attribute;
step e403, modifying the preference setting according to the specific input;
step e404, checking whether the preference setting and the input which are not selected exist, if so, skipping to e401 to repeat the cycle; if not, jumping out of the cycle to e 405;
and e405, executing the original test case.
The above description is only a preferred embodiment of the present invention, and should not be taken as limiting the invention in any way, and any insubstantial modifications or equivalent changes made by the technical spirit of the present invention without departing from the scope of the present invention are intended to be covered by the claims of the present invention.

Claims (6)

1. A test method for android application facing preference setting is characterized by comprising the following steps:
step 1, performing static analysis on an android application to be tested to obtain preference settings and attributes thereof defined in the application, and recording a set of all the preference settings as PI;
step 2, carrying out dynamic analysis on a given test case to obtain associated preference settings under each test case, and enumerating all relevant preference settings under the test case and all possible input combinations of the preference settings, wherein any combination is called a test scene, and a set formed by all test scenes is marked as PS; the dynamic analysis comprises the following steps: obtaining a code execution track in each test case execution in a pile inserting mode, then, analyzing and obtaining preference setting associated with the test case by symbolically reproducing the track; then, a next group of preference settings of a test case and a corresponding input test combination are called as a test scenario, and a set formed by exhausting all the test scenarios is a PS; in the android application, the preference setting uses a key value storage mechanism of shared preference setting SharedPreferences, and uses the specific value of the attribute key as a key to read and store, so when symbolizing and reproducing the execution track of each test case, the dynamic analysis symbolizes and calculates all parameters of SharedPreferences reading operation in the track, and uses the calculation result as the specific value of key to search the element with the same specific value of key in the PI: if yes, the preference setting corresponding to the element is associated with the test case; if not, skipping the read operation;
step 3, in a target-oriented execution mode, dividing the application code into basic blocks, analyzing the basic blocks contained in each test case and the preference setting associated with each basic block, so as to decompose the PS into the combination of the preference setting input and the basic blocks, namely a test target, the set of which is marked as PB, and continuously selecting a test scene covering the most test targets for execution;
the execution mode of the target guide comprises the following specific steps:
step 31, cutting PB according to a test target which is achieved in the execution of the original test case;
step 32, searching a test scenario in the PS, wherein the test scenario contains the largest number of uncovered test targets, namely the test targets still contained in the PB, and performing combined execution of preference setting input and an original test case according to the test scenario;
step 33, obtaining the test target achieved in the execution of the previous step;
step 34, if the test targets which have not been reached before are reached, the PB is reduced according to the test targets; otherwise, cutting down the PB according to all the test targets in the execution, and putting the test targets into a retry list;
step 35, repeating the steps 32-34 until PB is empty;
step 36, recovering the state of the PS after the step 32, searching each test target in the retry list from the PS for a test scene which contains the test target and has the least test target, and repeatedly executing;
the joint execution in step 32 comprises the following steps:
step 321, taking a group of preference settings and corresponding inputs from the test scenario in order, and executing the following steps 322-323 until all preference settings and corresponding inputs in the combination are executed;
step 322, opening the GUI interface where the preference setting obtained according to the static analysis is located, and searching the specific position of the preference setting on the GUI interface according to the attribute of the preference setting;
step 323. the modification of the preference setting is done according to its type and given input;
and 324, executing the original test case.
2. The method for testing the android application oriented to the preference setting of claim 1, wherein the step 1: in the android application, preference settings are defined in the form of resource files, and specific android API functions are called in logic codes to load and map the resource files into GUI interfaces, so that a user is allowed to modify the preference settings, therefore, in the static analysis process, the preference settings defined in the application and the attributes contained in the application are identified through the resource files obtained by applying source codes or applying executable files reversely, and a preference setting set obtained by identification is a PI;
the static analysis is used for identifying the preference setting, analyzing the byte code of the application executable file, constructing a function calling relation in the application code, finding out the calling position of the specific API function from the function calling relation, and confirming the GUI interface where the preference setting contained in the corresponding resource file is located, so that the preference setting can be set in a subsequent execution mode.
3. The method for testing the android application oriented to the preference setting of claim 1, comprising: in the dynamic analysis, for the relevant preference setting obtained in each test case analysis, if the relevant preference setting does not play a role in case execution after reading, namely is not used for judging branch selection in the conditional expression of the conditional branch, the relevant preference setting is removed.
4. The method for testing the android application oriented to the preference setting of claim 1, comprising: the possible input values of the preference setting in the dynamic analysis are obtained through a resource file of the static analysis application; if the resource file does not contain the input value, an input value is randomly given according to the data type set by the preference.
5. The method for testing the android application oriented to the preference setting of claim 1, comprising: the basic block represents a sequence of statements executed sequentially in the test application code program, with only one entry and one exit, and only branch statements can appear at the exit or entry positions.
6. The method for testing the android application oriented to the preference setting of claim 1, wherein the step 3: when the relevance between the basic block and the preference setting is analyzed, the way of analyzing the relevance between the test case and the preference setting is used, and the relevance result is divided according to the basic block; then, under a basic block, a set of associated tests of input combinations of preference settings, called test targets, exhaustively enumerates the set of all test targets, which is PB.
CN201910515637.7A 2019-06-14 2019-06-14 Preference setting-oriented android application testing method Active CN110209593B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910515637.7A CN110209593B (en) 2019-06-14 2019-06-14 Preference setting-oriented android application testing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910515637.7A CN110209593B (en) 2019-06-14 2019-06-14 Preference setting-oriented android application testing method

Publications (2)

Publication Number Publication Date
CN110209593A CN110209593A (en) 2019-09-06
CN110209593B true CN110209593B (en) 2021-05-28

Family

ID=67792841

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910515637.7A Active CN110209593B (en) 2019-06-14 2019-06-14 Preference setting-oriented android application testing method

Country Status (1)

Country Link
CN (1) CN110209593B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290966B (en) * 2020-03-09 2023-06-02 南京大学 Test case decomposition and combination method and system for improving android application test coverage rate

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105975394A (en) * 2016-05-06 2016-09-28 华为技术有限公司 Program testing method and device
CN106547695A (en) * 2016-10-26 2017-03-29 中广核工程有限公司 A kind of test system and method for scale software
CN107038120A (en) * 2017-05-25 2017-08-11 北京云测信息技术有限公司 A kind of method for testing software and equipment
CN107544905A (en) * 2017-08-22 2018-01-05 中国农业银行股份有限公司 The optimization method and system of regression test case collection
CN108241571A (en) * 2016-12-23 2018-07-03 联芯科技有限公司 A kind of program testing method and device
US10146668B1 (en) * 2013-12-20 2018-12-04 EMC IP Holding Company LLC Modeling code coverage in software life cycle
CN109857668A (en) * 2019-02-03 2019-06-07 苏州市龙测智能科技有限公司 UI automated function test method, test device, test equipment and storage medium

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8954931B2 (en) * 2012-08-03 2015-02-10 Sap Se System test scope and plan optimization
IN2013CH04617A (en) * 2013-10-14 2015-04-24 Cognizant Technology Solutions India Pvt Ltd
US9710364B2 (en) * 2015-09-04 2017-07-18 Micron Technology Licensing, Llc Method of detecting false test alarms using test step failure analysis

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10146668B1 (en) * 2013-12-20 2018-12-04 EMC IP Holding Company LLC Modeling code coverage in software life cycle
CN105975394A (en) * 2016-05-06 2016-09-28 华为技术有限公司 Program testing method and device
CN106547695A (en) * 2016-10-26 2017-03-29 中广核工程有限公司 A kind of test system and method for scale software
CN108241571A (en) * 2016-12-23 2018-07-03 联芯科技有限公司 A kind of program testing method and device
CN107038120A (en) * 2017-05-25 2017-08-11 北京云测信息技术有限公司 A kind of method for testing software and equipment
CN107544905A (en) * 2017-08-22 2018-01-05 中国农业银行股份有限公司 The optimization method and system of regression test case collection
CN109857668A (en) * 2019-02-03 2019-06-07 苏州市龙测智能科技有限公司 UI automated function test method, test device, test equipment and storage medium

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
基于Android平台的隐私泄漏静态检测工具的分析与比较;燕季薇等;《计算机科学》;20171031;第44卷(第10期);第127-133页 *
移动应用自动化测试系统的研究与设计;黄建文;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180715;第I138-714页 *
面向安卓应用建模的IFML扩展;陆一飞等;《软件学报:http://www.jos.org.cn/1000-9825/5793.htm》;20190522;第3148-3167页 *

Also Published As

Publication number Publication date
CN110209593A (en) 2019-09-06

Similar Documents

Publication Publication Date Title
CN110059009B (en) Method and apparatus for testing code files
CN109739755B (en) Fuzzy test system based on program tracking and mixed execution
US7231633B2 (en) Debugging with set verbosity level during read and analysis of executable code and associated comments while logging according to set verbosity level
CN109871326B (en) Script recording method and device
US8473915B2 (en) Coverage analysis tool for testing database-aware software applications
US8732676B1 (en) System and method for generating unit test based on recorded execution paths
CN107015841B (en) Preprocessing method for program compiling and program compiling device
CN107463485B (en) Method stack-based log acquisition method and device and terminal
CN114238154B (en) Symbol execution method, unit testing method, electronic device and storage medium
Yan et al. Widget-sensitive and back-stack-aware GUI exploration for testing android apps
CN110209593B (en) Preference setting-oriented android application testing method
CN112256271A (en) Block chain intelligent contract security detection system based on static analysis
US8473903B2 (en) Code edit apparatus and recording medium
CN114860586A (en) Binary multi-executive software instrumentation method based on dynamic instrumentation
CN104809067B (en) Towards the method for generating test case and device of equality constraint
CN112783764B (en) Automatic testing method and device for application program, storage medium and terminal
CN109101355B (en) Processor debugging method for extracting error site characteristic test excitation
CN111966578A (en) Automatic evaluation method for android compatibility defect repair effect
CN112363954B (en) Software dynamic update test method based on object state consistency
CN115098368A (en) Intelligent verification method and device for recognizing brain picture use case
US8826233B2 (en) Graphical representation of a JAVA bytecode
CN112395199B (en) Distributed software instance testing method based on cloud computing and software development platform
WO2021104027A1 (en) Code performance testing method, apparatus and device, and storage medium
CN112732578A (en) Code performance evaluation method and device
CN113535545A (en) Binary pile inserting method for program dynamic analysis

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