【正文】
a1,a2,… ). This means the controller tries to detect more faults with a given number of test cases. The parameters a1, a2, … need to be learned from history data, following the way proposed in [4]. The history data include the test profiles that were used to generate/select test cases in history, as well as the execution results after each test execution. When a new test case has been executed, the history data are updated. The parameters a1, a2, … are also updated. This procedure is similar with the feedback control procedure in control engineering. Feedback is used to adjust the parameters of the controller in the process of testing. Such a structure can tolerate certain errors in the building of f. V. CONCLUSION AND FUTURE WORK In this paper, we proposed several test profile models for GUI testing based on the characteristics of GUI test cases. Then a methodology of studying the relationship between the test profiles and the fault detection were presented. A control scheme that can improve the fault detection ability of GUI testing based on the relationship was also proposed. In future, large amount of experiments should be done to study how these different test profile models affect the fault detection in GUI testing. The proposed control scheme should be validated by case studies on different kinds of GUI applications. 。…。 en?, where event e1 can be accepted by the application in S0, and event ei can be accepted right after event ei1 is executed (for i = 2,3,…, n). Commonly, S0 can be any state in which the GUI object with respect to e1 is enable and visible. B. GUI Test Case Characteristics A GUI test case contains an event sequence. By analyzing the event sequence, we can get many characteristics of the test case. Table 1 shows some of them. Table 1 GUI Test Case Characteristics Characteristic Description L The length of a GUI test case NH The number of handler calls of a GUI test case PR The proportion of reachability events in a GUI test case Dmax The maximum length of the shortest path between two events in a GUI test case N(w) The number of times that a GUI test case operates on window w The length of a test case (denoted as L) is the le ngth of the event sequence contained in the test case. It is the “granularity” property of a GUI test case (the amount of input given by the test case, referring to [11]). L has been shown significantly affecting the fault detection in testing [11][12]. For example, the L of a GUI test case ?S0, e1。e2?!?。 the input domain of a nontrivial GUI application is extremely large or even infinite. These features make GUI testing different with the testing of nonGUI applications. A test profile is a quantitative characterization of how a software application will be tested. It describes the behavior of test inputs. In GUI testing, the test inputs, or test cases1, of a GUI applications are monly defined as event sequences [2][7][8]. Much richer information is included in the event sequences. That is, many characteristics can be obtained from GUI test cases, such as its length, the number of event handlers called by it, the proportion of certain kind of events, and so on. Each of these characteristics represents an aspect of how a test case tests the application under test (AUT). In this paper, we will model GUI test profiles by quantifying these characteristics. In the use of a software application, the reliability of the application depends on the operational profile. Similarly, in the testing of a software application, the fa ult detection is affected by the test profile. In this paper, we present a methodology of studying the relationship between the fault detection and the test profiles that are modeled based on different characteristics of GUI test inputs. Further, we propose a control scheme that can improve the fault detection ability of GUI testing based on the knowledge of how the test profiles affect the fault detection in testing. The rest of this paper is anized as follows. Section II introduces the characteristics of GUI test cases. Section III proposes the several models of GUI test profiles. The relationship between test profiles and fault detection are studied in Section IV. Conclusions and future work are given in Section V. II. GUI TEST CASE CHARACTERIZATION In this section, first we will introduce the definition of GUI test case. Then the characteristics of GUI test cases will be discussed. A. GUI Test Cases The basic inputs to a GUI application are events. User operations trigger events and the GUI application responses to these events. An event contains the following information: the type of action (., a mouse click), the GUI object on which the action is performed (., a button), and the parameters of the action (., on the point of (10,16)). Usually, an event can only be accepted at certain states of the GUI application under test, for example, the states at which the corresponding GUI object is visible and enable. The “state” of the GUI application is important for the executions of events. Following the definition in [9], we represented the state of a GUI as a set of GUI objects and a set of properties of these objects. In this paper, we define a handler as all the pieces of code that are possible to be executed when the correspond ing event is input. Commonly, a handler includes a responding function 261 and the functions/pro