Slides from my talk in UNICOM's Next Generation Testing Conference on 13th December in Bangalore on "The What, Why and How of Web Analytics Testing". This is based on my open-source tool - WAAT.
More information about the talk is available here: http://goo.gl/FxISG
Information about WAAT is available here: http://goo.gl/oUNHU
10. Tes3ng
at
the
report
level
Pros
• Ensure
report
is
setup
correctly
Cons
• Licensing
• Reports
not
yet
setup
• Validate
all
requests
are
sent
/
captured
20. What
does
WAAT
do
for
me?
• Minimal
changes
to
exisFng
test
framework
• Does
not
depend
on
junit
/
testng
/
…
• Web
AnalyFc
tool
independent
• UI
Driver
framework
independent
• Browser
independent
26. Omniture
Debugger
How
does
it
work?
Pros
• OS
independent
• Run
using
the
regular
test-‐user
Cons
• Browser
dependent
–
need
to
implement
ScriptRunner
for
the
UI-‐driver
in
use
• Web-‐AnalyFc
soluFon
dependent
–
Adobe
MarkeFng
Cloud
/
Omniture
SiteCatalyst
27. HHpSniffer
How
does
it
work?
Pros
• Web-‐analyFc
soluFon
independent
• Browser
independent
• UI-‐driver
independent
Cons
rd
• 3
party
libraries
are
OS
Dependent
• HTTPs
not
supported
out-‐of-‐the-‐box
• Run
tests
as
‘root’
28. JsSniffer
How
does
it
work?
Pros
• Web-‐analyFc
soluFon
independent
• Browser
independent
• HTTPs
supported
out-‐of-‐the-‐box
rd
• No
dependency
on
any
3
party
library
Cons
• Need
to
write
javascript
to
get
the
URL
from
the
browser
• UI-‐driver
dependent
29. How
to
use
WAAT?
• Download
zip
from
github
/
rubygems.org
• Setup
• jpcap
/
ScriptRunner
setup
• Update
exis*ng
tests
30. Update
exis3ng
Tests
• Import
relevant
packages
/
gems
• Define
&
provide
parameter
values
• Ini*alize
Engine
• Enable
Web
Analy*cs
Tes*ng
• Define
Test
Data
• Verify
Web
Analy*cs
repor*ng
using
WAAT
• Valida*ons
• Disable
Web
Analy*cs
Tes*ng
31. Define
Test
Data
<Section !!
!actionName="OpenUpcomingPage_HttpSniffer"!
!numberOfEventsTriggered="1"!
!tagList="pageName=upcoming:index||!
! ! !cc=USD||!
! ! !ch=upcoming||!
! ! !events=event2||"/>!
35. Sample
Valida3ons
assertNotNull(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");!