Download presentation
Presentation is loading. Please wait.
Published byKarlie Cordon Modified over 10 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.