• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
What is WAAT?

What is WAAT?



I presented "What is WAAT" in "vodQA - Chennai" conference in Jan 2012. This is the slide deck I used. ...

I presented "What is WAAT" in "vodQA - Chennai" conference in Jan 2012. This is the slide deck I used.
I walked through what is web analytics, and then how WAAT can be used to automate the testing of the web analytics tags being reported from the client browser.



Total Views
Views on SlideShare
Embed Views



1 Embed 11

http://www.linkedin.com 11



Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
Post Comment
Edit your comment

    What is WAAT? What is WAAT? Presentation Transcript

    • What is WAAT? Anand BagmarSoftware Quality Evangelist ThoughtWorks
    • What is Web Analytics?
    • Why do we need it?
    • Performance … Metrics Omniture’sStatCounter SiteCatalyst Who does Web Analytics? Google WebTrends Analytics Mint AWStats
    • How to test this?
    • The problem and challenge
    • Manual
    • Repeating over-and-over again
    • The solution
    • FlavorsWAAT-Java WAAT-RubyOriginal flavor Ruby gem implemented using WAAT- JAVAAvailable on github Available on github and rubygemsSource code + jar Uses RJB – Ruby-Java-BridgeSupports Omniture Debugger + Supports only HttpSniffer solutionHttpSniffer solution
    • Omniture DebuggerPros ConsOS independent Browser dependent – need to implement ScriptRunner for the UI- driver in useRun using the regular Web-Analytic solutiontest-user dependent - Omniture- SiteCatalyst
    • HttpSnifferPros ConsWeb-analytic solution 3rd party libraries are OSindependent DependentBrowser independent HTTPs not supported out-of-the-boxUI-driver independent Run tests as ‘root’
    • Why do we do Testing?
    • Architecture
    • How to use WAAT?• Download zip from github• Setup• jpcap / ScriptRunner setup• Update existing tests
    • Update existing Tests• Import relevant packages• Define & provide parameter values• Initialize Engine• Enable Web Analytics Testing• Define Test Data• Verify Web Analytics reporting using WAAT• Sample validations• Disable Web Analytics Testing
    • Import relevant packagesImport packagecom.thoughtworks.webanalyticsautomation.common.BROWSER;com.thoughtworks.webanalyticsautomation.plugins.WebAnalyticTool;com.thoughtworks.webanalyticsautomation.Controller.getInstance;
    • Define parametersParameter Default / Sample valueEngine engineString[] urlPatterns new String[] {"GET /ps/ifr?container=friendconnect&mid=0"};String actionName "OpenWAATArticleOnBlog_HttpSniffer";WebAnalyticTool webAnalyticTool WebAnalyticTool.HTTP_SNIFFER;InputFileType inputFileType InputFileType.XML;boolean keepLoadedFileInMemory true;String log4jPropertiesFilePath currentDirectory() + “/resources/log4j.properties";String inputDataFileName currentDirectory() + “/test/sampledata/TestData.xml";
    • Initialize Engineengine = getInstance( webAnalyticTool, inputFileType, keepLoadedFileInMemory, log4jPropertiesAbsoluteFilePath );
    • Enable Web Analytics Testingengine.enableWebAnalyticsTesting();
    • Define Test Data<Section actionName="OpenUpcomingPage_HttpSniffer" numberOfEventsTriggered="1" tagList="pageName=upcoming:index|| cc=USD|| ch=upcoming|| events=event2||"/>
    • Verify Web Analytics Reporting Cart.checkout();Result verificationResult = engine.verifyWebAnalyticsData ( inputDataFileName, actionName, urlPatterns, minimumNumberOfPackets);
    • Sample ValidationsassertNotNull(verificationResult.getVerificationStatus(),"Verification status should NOT be NULL");assertNotNull(verificationResult.getListOfErrors(),"Failure details should NOT be NULL");logVerificationErrors(verificationResult);assertEquals(verificationResult.getVerificationStatus(),Status.PASS, "Verification status should be PASS");assertEquals(verificationResult.getListOfErrors().size(),0, "Failure details should be empty");
    • Disable Web Analytics Testingengine.disableWebAnalyticsTesting();
    • RememberMinimal changes to existing test frameworkDoes not depend on junit / testng / …Web Analytic tool independent (HttpSniffer)UI Driver framework independent
    • For more information• Blog: http://essenceoftesting.blogspot.com/search/label/waat• Github: https://github.com/anandbagmar/WAAT• Github: https://github.com/anandbagmar/WAAT-ruby• RubyGems: http://rubygems.org/gems/WAAT• Email: Anand.Bagmar@thoughtworks.com, abagmar@gmail.com
    • Anand.Bagmar@thoughtworks.com abagmar@gmail.com