Download ESA Papers - worldcomp
Transcript
Int'l Conf. Embedded Systems and Applications | ESA'12 | 137 events such as click, drag and drop, and so on. There are three kinds of GUI test technique. Record Play-Back (RPB) technique is the most famous and is known well among them because to use it is easier than the others. In the RPB technique, one event is called the Record and script includes several records [7]. In testing phase with GUI test technique, one developer makes an event script which contains sequence of events, and then feed each event from the script. program analysis component analyzes software for making an Analysis Information which contains scope of analysis. The monitoring code generating component makes a meta file and generate source code as a test-case using the meta file[3, 9]. The program auto test component compiles the test-case and execute on emulator[10]. The acquire log and the log analysis component collect logs and make a report via analyzing the logs. For applying the RPB technique to the android software testing, it firstly needs to consider how to adopt concepts of android software such as Activity, Intent and so on. It also adds new method to reduce effort for making test-case because there is no support to generate a test-case automatically. 3 2.2 Design of ACSF Developers have several tasks for software test, for example, making a test-case, running the test-case, analyzing a log. Some logs are generated during running software via logging instructions. Developers try to detect potential errors in the logs. A role of ACSF reduces tasks of developer, hence, architecture of ACSF is considered android platform and technique about automatic comparison logs like Fig 1. Program Analysis Component Program Analyzer Analysis Info. Generator Monitoring CodeGenerating Component Analysis Info. Monitoring Sensor Template Monitoring Sensor Gen. Monitoring Code Gen. _____ _____ _____ _____ _____ _____ Log Analysis Component _____ _____ _____ _____ _____ _____ Log Analyzer Report Gen. Log Repository Program Auto Test Component Compile Automation Acquire log Component Report Template Testcase Execute Automation Communicati on Module Log Gen. Figure 1 Architecture of Portability Analysis Tool A process of android software is very similar development phase of embedded software. Testing software on emulator or real device is vital element in development of the embedded software. A testing on emulator is rather important than a testing real device because a testing on real one takes more time and it is difficult to test whole devices due to its price. Moreover, it needs more tasks for testing. For instance, once developer prepares a device and copy software in the device. And then they tests software using the device. After testing, they move a log which is made during running the software to the desktop computer. Finally, they analyze the log. However, testing on emulator, it just requires configuration of emulator. Architecture of ACSF is based on conceptual development process for android software[8]. The Architecture is largely divided into five components. The Implementation of ACSF Many developers use Eclipse with Android Development Tool (ADT) plugin which help us to develop android software easily via emulator, monitoring tool, etc. Therefore we decide to develop our tool based on Eclipse plug-in. ACSF consists of five kinds of components like Fig 1. In this paper, we concentrates on generating test-case, auto executing android software on emulate or device and analyzing portability of the software because those components have to considered android environment and vice versa. 3.1 Generating test cases process An Android software is GUI based software, therefore,, functions of the software are executed by events generated from users. Also, events can have sequences or not. On the other hands, test-case may contain sequence of events. Consequently, we divide manual mode and automatic mode for making test-case. The manual mode has dependency with user’s events or data, and vice versa. The manual mode is based on improved RPB technique which record user event as a script and execute the script. If developer only changes some event in the script, developer makes a script again although the script exists. Therefore we support sequence concept which is method to modify or arrange a script. As making a sequence, user can use records as well as UI components contained in activity. The manual mode is used for alerted software error due to malfunctions of the software. Fig 2 illustrates manual test-case generator. Figure 2 Manual Test-case Generator On the automatic mode, user only chooses pair of activity name and sensor type. It means that selected activity will be generated logs from selected sensor. The sensor is a source code for making various logs and is used for various