Presentation is loading. Please wait.

Presentation is loading. Please wait.

Shauvik Roy Choudhary, Alex Orso Georgia Institute of Tech nology.

Similar presentations


Presentation on theme: "Shauvik Roy Choudhary, Alex Orso Georgia Institute of Tech nology."— Presentation transcript:

1 Shauvik Roy Choudhary, Alex Orso Georgia Institute of Tech nology

2 Paradigm shift from Web 1.0 to Web 2.0 Heavy client-side scripts From synchronous to asynchronous Multitude of client-side environments New problems for testing 2 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

3 More and more logic pushed to the browser (Javascript, Flash, Silverlight, …) Little/no information on the server about client-side execution 3 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

4 Concurrency Non-determinism Additional complexity of testing environment 4 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

5 Browsers Browser Extensions 5 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

6 6 http://www.site.com URL: Local Database Extensions Cookies Page A File Upload Page A File Upload Page B Display Stats Page B Display Stats Cookies setCookie(status, uploaded) Cookie used to track upload status If (!getCookie(status)) { setCookie(status, display) reloadPage(); } Cookie used to check if stats should be displayed Shauvik Roy Choudhary, Alex Orso | Georgia Tech Developer/Tester needs client-side insight for errors that might occur only in a particular context

7 7 HTTP request HTTP response index.html Internet Shauvik Roy Choudhary, Alex Orso | Georgia Tech

8 8 HTTP request HTTP response index.html JS Agent index.html HTTP response Internet JS Agent Injection policy Shauvik Roy Choudhary, Alex Orso | Georgia Tech

9 9 JS Agent HTTP request Web Application Data Command request Monitoring Data Commands Command response Monitoring Data Shauvik Roy Choudhary, Alex Orso | Georgia Tech

10 Query HTML DOM node (web page elements) Javascript objects, variables, arrays Notify – Interact with user Display a message (HTML alert or layered dialog) Update Add/Change a node in the HTML DOM Add more Javascript to page or change existing code … 10 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

11 1. 2. 3. 8de9 4. ALERT 5. Hello World! 6. 7. 8. 3bsd 9. DUMP 10. myObj 11. myArray 12. 13. 11 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

12 1. 2. 3. 8de9 4. ALERT 5. Hello World! 6. 7. 8. 3bsd 9. DUMP 10. myObj 11. myArray 12. 13. 12 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

13 1. 2. 3. 8de9 4. 1 5. 6. 7. 3bsd 8. myObj={"aString":"Howdy", "anInteger":10, "aBoolean":true } 9. myArray=[1,"foo","web"] 10. 11. 13 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

14 1. 2. 3. 8de9 4. 1 5. 6. 7. 3bsd 8. myObj={"aString":"Howdy", "anInteger":10, "aBoolean":true } 9. myArray=[1,"foo","web"] 10. 11. 14 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

15 1. 2. 3. 8de9 4. 1 5. 6. 7. 3bsd 8. myObj={"aString":"Howdy", "anInteger":10, "aBoolean":true } 9. myArray=[1,"foo","web"] 10. 11. 15 myObj=new Object(); myObj.aString=Howdy"; myObj.anInteger=10; myObj.aBoolean=true; Shauvik Roy Choudhary, Alex Orso | Georgia Tech

16 1. 2. 3. 8de9 4. 1 5. 6. 7. 3bsd 8. myObj={"aString":"Howdy", "anInteger":10, "aBoolean":true } 9. myArray=[1,"foo","web"] 10. 11. 16 myArray=new Array(); myArray[0]=1; myArray[1]=foo; myArray[2]=web; Shauvik Roy Choudhary, Alex Orso | Georgia Tech

17 Goal: Measure agent-injection overhead and JS agent performance Subjects: 10 applications – sample code, open source projects and commercial websites 17 echo framework Google Web Toolkit Shauvik Roy Choudhary, Alex Orso | Georgia Tech

18 JSA injection overhead JSA performance 18 http://www.site.com URL: Iterate window object and count number of visited elements Shauvik Roy Choudhary, Alex Orso | Georgia Tech JS Agent index.html Main page Measure time to Inject the main page

19 JSA injection overhead JSA performance 19 Application# ObjectsTime (ms) Mail12869 Showcase449030 Chat Client1472 Number Guess1443 Interactive Test1472 Drupal1181 Joomla2293 Wordpress1763 iGoogle6186 Amazon.com3144 0.1 and 8 milliseconds per page window object iterated in 3-4 ms Shauvik Roy Choudhary, Alex Orso | Georgia Tech

20 Error Detection and Debugging Logging and Recovery Metrics Collection Code Coverage Click-streams / User Activity Browser Statistics Memory Profiling Count variables, arrays, objects Security checks 20 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

21 Summary General technique for remote monitoring of web applications Proof-of-concept evaluation Example applications Future work Complete implementation Investigate applications Additional experimentation 21 Shauvik Roy Choudhary, Alex Orso | Georgia Tech

22 Any Questions ? shauvik@cc.gatech.edu http://www.cc.gatech.edu/~shauvik 22 Shauvik Roy Choudhary, Alex Orso | Georgia Tech


Download ppt "Shauvik Roy Choudhary, Alex Orso Georgia Institute of Tech nology."

Similar presentations


Ads by Google