Download presentation
Presentation is loading. Please wait.
Published byArleen Hampton Modified over 8 years ago
1
AndroidGUITAR Final Design 6/24/2016 1
2
Group Members 6/24/2016 2 Matthew Green Matt Brown Chris Carmel Asif Chowdhury James DeBolt Matt Orlove Christoph Schulze Andrew Guthrie
3
Android, released in 2007, is an Open Source Tablet and Smartphone Operating System. 6/24/2016 3 Google Purchased Android Inc in 2005 for $50 million Developed by Google Based on Linux Android has been available as open source since October 21, 2008
4
Since it’s release, Android has held a majority share of the smart phone market. 6/24/2016 4
5
Although the number of Apps in the Android market has skyrocketed, the number of debuging tools has not. Tools: Android Debug Bridge (ADB) Dalvik Debug Monitor Server (DDMS) Android Phone or Android Virtual Device (AVD) Hierarchy Viewer 6/24/2016 5
6
Heirarchy View Manager provides a visual representation of the layout's View hierarchy and a magnified inspector of the display. 6/24/2016 6
7
DDMS provides screen capture on the device, thread and heap information on the device, logcat, process, incoming call and SMS spoofing, and location data spoofing. 6/24/2016 7
8
While both of these tools are great for debugging, they do have their own drawbacks. Heirarchy Viewer – A great pure visual tool that displays the app’s layout to help the developer understand their app flow, but does not test the app itself. DDMS – An Eclipse tool that gives the developer control over the emulator, to help monitor the app but, again, does not test it. 6/24/2016 8
9
6/24/2016 9 If there was only a tool that allowed developers to rigorously test their apps using a visual interface …..
10
6/24/2016 10 If there was only a tool that allowed developers to rigorously test their apps using a visual interface ….. You’re in luck, there is one!!!!
11
GUITAR provides a fully automated end-to-end solution for testing GUI applications It can be used for: Reverse engineering of GUI structure Constructing the Event Flow Graph Generating test cases Automatically verifying test results 6/24/2016 11
12
GUITAR’s greatest strength comes from the multiple level of functionality that it possesses. 6/24/2016 12 Rip the GUI of application under test Create GUI Model (EFG) Generate tests from EFG Using various strategies Replay automated tests
13
6/24/2016 13 This sounds great, but is GUITAR available for the Android Platform?
14
6/24/2016 14 This sounds great, but is GUITAR available for the Android Platform? Yes it is!!!!
15
With the lack of GUI testing software, AndroidGUITAR stands poised to take over the App testing market. GUITAR for Android platform Communicates between android emulator and Guitar Ripper and Replayer Allows automated testing of an android app’s GUI Runs prebuilt test cases Displays the amount of code coverage Rips, creates model 6/24/2016 15
16
The primary users of AndroidGUITAR are Android app developers who wish to iron out bugs in their apps. AndroidGuitar rigorously tests the app by: Creating custom test cases Application Visualization Automated testing 6/24/2016 16
17
While AndroidGUITAR has great potential, it still suffered from some problems. Not very usable in the initial stage Buggy scripts Very static Limited in regards to the applications it can run Not user friendly Have to use command line to run Code lacks documentation No real developer guide 6/24/2016 17
18
Video Demonstration 6/24/2016 18
19
Our goal for AndroidGUITAR was simple, to not only fix the existing problems but make it better. We planned to achieve our goal by doing the following: Simplify the process to run AndroidGUITAR from the command line. Create a visual tool that displays the app’s different views and components, and their relationship between them. Develop a tool that allow testers to create their own test cases. Develop a tools that automate the AndroidGUITAR suite. 6/24/2016 19
20
The Ripper 6/24/2016 20
21
The Ripper is an important part of AndroidGuitar as it’s creates test cases and files that our other tools use. 6/24/2016 21
22
Step 1: Before proceeding, AndroidGUITAR checks to make sure that tester’s box has the required dependencies. 6/24/2016 22
23
Step 2: ADR-Sever, which allows communication between devices is installed after the emulator is booted up. 6/24/2016 23
24
Step 3: AndroidGUITAR builds and installs the app that the tester specifies in the run script. 6/24/2016 24
25
Step 4: The Ripper “rips” the app’s GUI elements to make a.GUI file. 6/24/2016 25
26
Step 5: The Ripper then converts the.GUI file to and Event Flow Graph. 6/24/2016 26
27
Step 6: The Ripper then generates tests cases by using the recently created EFG file. 6/24/2016 27
28
Step 7: Although optional, the user can then replay all the test cases generated from the EFG. 6/24/2016 28
29
Video Demonstration 6/24/2016 29
30
Visualization 6/24/2016 30
31
The first tool we developed to improve AndroidGUITAR’s usability was the Visualizer. We developed the Visualizer to complete two tasks: Provide an effective representation of the app that allows the user to verify the correctness of the Ripper. Provide a visual representation of the app which displays views and components and their relationship.
32
Visualizer Screenshot 6/24/2016 32
33
The Visualizer utilizes a number of features that allow the user to easily interact and test the app. Legend – A panel that displays color- coating, edges patterns and check boxes which toggle on or off graphical elements.
34
The Visualizer utilizes a number of features that allow the user to easily interact and test the app. Trees – An interactive interface that displays events as nodes with labels and the relationship between them as edges on their respective view windows.
35
The Visualizer utilizes a number of features that allow the user to easily interact and test the app. Trees (cont.) Views can be hidden/showed, through a check box interface. Clicking events hide/show edges with other events. Each view can be moved freely of one another.
36
The Visualizer utilizes a number of features that allow the user to easily interact and test the app. Test – A panel that allows the tester to view the test cases generated by the Ripper.
37
The Visualizer utilizes a number of features that allow the user to easily interact and test the app. Test (cont.) A tree based hierarchy which shows each individual step that the test case makes. Visual feedback from test cases which allows users to more effectively debug.
38
The Visualizer utilizes a number of features that allow the user to easily interact and test the app. Record Mode – A mode that allows the user to develop their own test cases.
39
The Visualizer utilizes a number of features that allow the user to easily interact and test the app. Record Mode (cont.) Testers can develop customized tests cases aimed toward debugging a certain problem. Record Mode is just the beginning for test generation tools.
40
Live Demonstration Details / Demo 6/24/2016 40
41
Capture/Replay 6/24/2016 41
42
Our second tool, Capture/Replay, allows users to generate their own test cases and run them. Concept: 1.Capture/Replay is a tool that combines MonkeyRecorder, an emulation tool that works in conjunction with the emulator, and the Ripper. 2.MonkeyRecorder records the coordinates of the tester button presses recorded during manual testing as input. 6/24/2016 42
43
Our second tool, Capture/Replay, allows users to generate their own test cases and run them. Concept (cont) : 3.Inputs are then used to “rip” GUI elements that correspond to that exact set of coordinates. 4.Much like the ripper, Capture/Replay then generates tests cases by using the recently created EFG file from the converted GUI fil. 6/24/2016 43
44
6/24/2016 44 The idea of Capture/Replay is simple…
45
6/24/2016 45 The idea of Capture/Replay is simple… Take the power of the Ripper
46
6/24/2016 46 The idea of Capture/Replay is simple… Take the power of the Ripper And put it and your hands!!!!
47
Android AcousticGUITAR & Android ElectricGUITAR 6/24/2016 47
48
We developed AndroidAccousticGuitar and AndroidElectricGuitar in addition to the tools we contracted to created. We developed these two products for two reasons: Simplicity Marketability 6/24/2016 48
49
AndroidGuitar is an exceptional tool, but we wanted to make using it simpler. AndroidGuitar runs natively in Unix Shell Some programmers do not have a lot experience in using unix shells commands Current minimal required skill set: Basic Navigation Creation and Deletion of Files and Folder Editing and Running Scripts 6/24/2016 49
50
AndroidGuitar is an exceptional tool, but we wanted to make using it simpler. 6/24/2016 50
51
AndroidGuitar is an exceptional tool, but we wanted to make using it simpler. As a result, currently the burden of use falls on the user as opposed to the AndroidGuitar, which is unacceptable. Our team saw this as an obstacle to using AndroidGuitar 6/24/2016 51
52
Android Acoustic Guitar
53
Pic Here
54
AndroidAccoustiGUITAR is command line interface that automates Android Guitar. Users will be able to: Create, Delete, and Open Projects Edit runnable commands Rip Projects Run Visualizer
55
AndroidAccoustiGUITAR is command line interface that automates Android Guitar. Users will be able to: Create, Delete, and Open Projects Edit runnable commands Rip Projects Run Visualizer All from a simple user interface!!!
56
Android AcousticGUITAR Demo 6/24/2016 56
57
Android Electric Guitar
58
Although we developed AcousticGUITAR, we felt that a GUI would even further AndroidGuitar’s usability. Graphical User Interfaces are very easy to use and enable software to have universal appeal. No knowledge of terminal commands is required, allowing a greater user base. One integrated tool with all the functionality.
60
ElectricGuitar is a Graphical User Interface that automates the use of Android Guitar Users will be able to: Create, Delete, and Open Projects Rip Projects Run Visualizer Capture/Replay
61
ElectricGuitar is a Graphical User Interface that automates the use of Android Guitar Users will be able to: Create, Delete, and Open Projects Rip Projects Run Visualizer Capture/Replay All from a graphical user interface!!!
62
Android ElectricGUITAR Demo 6/24/2016 62
63
In Conclusion….. 6/24/2016 63
64
In Conclusion….. 6/24/2016 64 We set out to make AndroidGuitar better by:
65
In Conclusion….. 6/24/2016 65 We set out to make AndroidGuitar better by: Creating a visual tool that displays a graph which maps relationships component and view.
66
In Conclusion….. 6/24/2016 66 We set out to make AndroidGuitar better by: Creating a visual tool that displays a graph which maps relationships component and view. Our Visualizer tool.
67
In Conclusion….. 6/24/2016 67 We set out to make AndroidGuitar better by: Creating a tool that allows the users to create their own test cases.
68
In Conclusion….. 6/24/2016 68 We set out to make AndroidGuitar better by: Creating a tool that allows the users to create their own test cases. A Capture/Replay prototype.
69
In Conclusion….. 6/24/2016 69 We set out to make AndroidGuitar better by: Simplifying the process to run AndroidGUITAR. Developing tools that automate the AndroidGUITAR suite
70
In Conclusion….. 6/24/2016 70 We set out to make AndroidGuitar better by: Simplifying the process to run AndroidGUITAR.
71
In Conclusion….. 6/24/2016 71 We set out to make AndroidGuitar better by: Simplifying the process to run AndroidGUITAR. Developing tools that automate the AndroidGUITAR suite AndroidAcoustic and Electric Guitar
72
This concludes our presentation, we would now like to open the floor to questions. 6/24/2016 72
73
Backup Slides 6/24/2016 73
74
Capture/Replay Details / Demo (update this slide) Concept: Inputs recorded during manual testing Inputs are then used to generate automated tests Anticipated Features: Allow developers to easily generate test cases Accessing the tool from the GUI Visualization tool as a test case generator? 6/24/2016 74
75
Our goal for AndroidGUITAR was simple, to not only fix the existing problems but make it better. We planned to achieve our goal by doing the following: Simplify the process to run AndroidGUITAR from the command line. Create a visual tool that displays the app’s different views and components, and their relationship between them. Develop a tool that allow testers to create their own test cases. Develop a tools that automate the AndroidGUITAR suite. 6/24/2016 75
76
Theory of Operation 1. GUI 2. Dependencies 3. Build and Install Adr-Server.apk 4. Build and Install the application 5. Rip the application’s graphical elements or capture the user’s flow 6. Convert the GUI file to EFG file (Event Flow Graph) 7. Generate test cases by using the EFG file 8. Replay all of the generated tests 6/24/2016 76
77
Design Overview 6/24/2016 77
78
GUITAR Architecture Repository Model Plugins can easily be added 6/24/2016 78 Intents Guitar
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.