Presentation is loading. Please wait.

Presentation is loading. Please wait.

AndroidGUITAR Final Design 6/24/2016 1. Group Members 6/24/2016 2  Matthew Green  Matt Brown  Chris Carmel  Asif Chowdhury  James DeBolt  Matt Orlove.

Similar presentations


Presentation on theme: "AndroidGUITAR Final Design 6/24/2016 1. Group Members 6/24/2016 2  Matthew Green  Matt Brown  Chris Carmel  Asif Chowdhury  James DeBolt  Matt Orlove."— Presentation transcript:

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.

59

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


Download ppt "AndroidGUITAR Final Design 6/24/2016 1. Group Members 6/24/2016 2  Matthew Green  Matt Brown  Chris Carmel  Asif Chowdhury  James DeBolt  Matt Orlove."

Similar presentations


Ads by Google