SlideShare a Scribd company logo
Automated Exploratory
Tests for Web Application
Zbyszek Moćkun

                   © 2010 Cognifide Limited. In commercial confidence only.
Objective

How Cognifide has developed automated
tests and where we are going




                             © 2010 Cognifide Limited. In commercial confidence only.
Introduction

In short about process and environment




                               © 2010 Cognifide Limited. In commercial confidence only.
Methodologies, projects …
  Methodologies                   Projects

                              • Web application
• Agile: SCRUM, Kanban        • Migration
• Frequently releases         • Content Management
• No time for manual          Systems (CMS)
  regression                  • Short or medium term
• Lot of work at the end of   projects
  sprint                      • Automation investment, no
• CI Environment              time for money return




                                                  © 2010 Cognifide Limited. In commercial confidence only.
Common standards for
automation
Functional tests




                   © 2010 Cognifide Limited. In commercial confidence only.
Test Automation Lifecycle


                    Write TC




          Write
        automated
          script

                            Run
                           Manage
                           Update


                                    © 2010 Cognifide Limited. In commercial confidence only.
Advantages and disadvantages



                             • Time consuming
                             • Cost
 • Coverage by
   automated tests           • Invest and wait for return
 • No duplications during    • Test dependency
   regression test           • Only coded functionality is
 • Functionality is tested     tested




                                                 © 2010 Cognifide Limited. In commercial confidence only.
Can you believe your tests?

• Incorrect Xpath (locator) used in tests
• Not all data were verified (unable to write verifications for all
  data)
• CSS/images or other files wasn’t load
• Frequently design changes require xpath (locator) update
• Incorrect CSS fixes (designs are not reflected by page
  layout)
• Analytics doesn’t work
• Performance decrease
• Few thousands of pages (components variation – can’t test
  all of them


                                                        © 2010 Cognifide Limited. In commercial confidence only.
Migration (upgrade) projects

• No existing automated test for regression test

• Few thousands of pages
• Quick response needed
• Iterative development




                                                   © 2010 Cognifide Limited. In commercial confidence only.
Automated Exploratory
Tests
New approach, theory part




                            © 2010 Cognifide Limited. In commercial confidence only.
We need automated tests
because ...




                Source: http://www.testfacebook.com

                                        © 2010 Cognifide Limited. In commercial confidence only.
What should we test?

         Two perspectives:




      User              Client




                                 © 2010 Cognifide Limited. In commercial confidence only.
Aspects


CI Environment

 Client

              User
  Analytics
                 Layout   Functionality   Performance




                                               © 2010 Cognifide Limited. In commercial confidence only.
Looking for a symptom



„Symptom is a departure from normal function or feeling
which is noticed by a patient, indicating the presence of
   disease or abnormality. A symptom is subjective,
     observed by the patient, and not measured.”
                                           http://wikipedia.org




                                                 © 2010 Cognifide Limited. In commercial confidence only.
Symptoms
                                 Layout


                   Performance               Content




    URL strategy                                        HTML code




                                 Bug
                                                        JavaScript
    Link checker
                                                          errors




                                              Server
                    Validators
                                             response
                     (W3C)
                                               (404)

                                 Analytics




                                                                     © 2010 Cognifide Limited. In commercial confidence only.
Oracle Heuristics

It is used by comparing the output(s) of the system under test,
for a given test case input, to the outputs that the oracle
determines that product should have.
− other products (second program that uses a different algorithm to
  evaluate the same mathematical expression as the product
  under test)
− a consistency oracle that compares the results of one test
  execution to another for similarity,
− a model-based oracle that uses the same model to generate and
  verify system behavior,
− or a human being's judgment (i.e. does the program "seem" to
  the user to do the correct thing?)



                                                         © 2010 Cognifide Limited. In commercial confidence only.
Oracle Heuristic for GUI




                           © 2010 Cognifide Limited. In commercial confidence only.
Reference symptoms

• Previous version of application
• Reference data saved on disc
• Other version of the same application (different servers)
• The same script takes pattern and compare
• One tool for different projects


                                              Performance
          Layout      Content     HTML code
                                               monitoring




                                                       © 2010 Cognifide Limited. In commercial confidence only.
Robots


  • Scripts that are looking for symptoms
  • The same script for all projects
  • Open Source tools




JavaScript   Server response    Validators
                                             Analytics   Link checker                    URL Strategy
  errors          (404)        (HTLM, CSS)




                                                                        © 2010 Cognifide Limited. In commercial confidence only.
Exploratory testing

„Exploratory testing is an approach to software testing
 that is concisely described as simultaneous learning, test
 design, test execution and test result interpretation”



                                       Cem Kaner




                                                 © 2010 Cognifide Limited. In commercial confidence only.
What are Automated Exploratory
Tests?
Meny different definition:
• Record and play manual exploratory test sessions
• Combined manual and automated tests
• Test steps automation
• Blackbox tests with input/output data generator
• Not at all possible due to human factor




                                                     © 2010 Cognifide Limited. In commercial confidence only.
What are Automated Exploratory
Tests?

„Tests supporting exploratory testing, not necessarily based on
  the test scenario, searching areas where there may be errors
  or a change in the application, allowing the examination of
  applications faster and more deeply or not to test sites
  available to man.”
                                             Zbyszek Moćkun



„Automated Tests do not provide complete information. They
  provide partial information that might be useful”
                                                   Cem Kaner

                                                    © 2010 Cognifide Limited. In commercial confidence only.
Automated Exploratory Tests -
advantages
• One tool
 −   Gather all symptoms
 −   Use in all projects
 −   Quick to introduce to project (half a day)
 −   Resistant to appliciaton changes
• Do not require deep knowledge about application,
  support the learning process
• Integrated with Continuous Intergration env
• Strong solution if combined with automated
  functional tests
• Migration or upgrade tests
• Iterative development


                                                     © 2010 Cognifide Limited. In commercial confidence only.
Track the propagation of
changes in the code
- See what pages/components are infected by change
- Positive – false (code change affect all necessary places?)




                                                    © 2010 Cognifide Limited. In commercial confidence only.
Automated Exploratory
Tests
Practical part




                 © 2010 Cognifide Limited. In commercial confidence only.
Report – example of use




                          © 2010 Cognifide Limited. In commercial confidence only.
URL management

• Sitemap
• Link crawler
• CSV file with url list
• Symptoms as parameter (on, off)
• Comments (bug id, ...)
• Hide element
• Other actions
• Keep in SVN




                                    © 2010 Cognifide Limited. In commercial confidence only.
Pattern management

• Easy to use (overwrite pattern)
• Checkbox (check all)
• Commit to svn




                                    © 2010 Cognifide Limited. In commercial confidence only.
Dynamic content
• Reference symptoms – need processing
   • Use regexp
   • Hide element
   • Write generic function
• Robots – do not need any additional actions
• Dynamic components (counters, date, random numbers)
• Flash/video files
• Embedded content (twitter, facebook,...)
• Require functional test
• Static components – about 75%




                                                © 2010 Cognifide Limited. In commercial confidence only.
Mobile version


• Required (not nice to have), can’t avoid testing
• Mobile pages are more static than desktop version
• Do not use flash
• Not all symptoms are easy to check




                                                     © 2010 Cognifide Limited. In commercial confidence only.
Narzędzia

• Selenium II/WebDriver
• Komparatory (ImageMagick, Pretty Diff)
• Walidatory (W3C)
• Performance (JMeter, Proxy)
• Serwery Proxy (BrowserMob)
• Firefox/Firebug (NetExport, ConsoleExport, JS Console
  output redirector)
• HAR Viewer (http://www.softwareishard.com/har/viewer/)




                                                 © 2010 Cognifide Limited. In commercial confidence only.
Q&A




      © 2010 Cognifide Limited. In commercial confidence only.

More Related Content

Viewers also liked

Basics of Coding in Pediatrics Medical Billing
Basics of Coding in Pediatrics Medical BillingBasics of Coding in Pediatrics Medical Billing
Basics of Coding in Pediatrics Medical Billing
Outsource Strategies International
 
Enterprise workspaces - Extending SAP NetWeaver Portal capabilities
Enterprise workspaces - Extending SAP NetWeaver Portal capabilities Enterprise workspaces - Extending SAP NetWeaver Portal capabilities
Enterprise workspaces - Extending SAP NetWeaver Portal capabilities
SAP Portal
 
Information från Läkemedelsverket #5 2013
Information från Läkemedelsverket #5 2013Information från Läkemedelsverket #5 2013
Information från Läkemedelsverket #5 2013
Läkemedelsverket (Medical Products Agency, Sweden)
 
Secure PIN Management How to Issue and Change PINs Securely over the Web
Secure PIN Management How to Issue and Change PINs Securely over the WebSecure PIN Management How to Issue and Change PINs Securely over the Web
Secure PIN Management How to Issue and Change PINs Securely over the Web
SafeNet
 
Diarrhea:Myths and facts, Precaution
Diarrhea:Myths and facts, Precaution Diarrhea:Myths and facts, Precaution
Diarrhea:Myths and facts, Precaution Wuzna Haroon
 
mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2
mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2
mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2
thePlatform
 
"15 Business Story Ideas to Jump on Now"
"15 Business Story Ideas to Jump on Now""15 Business Story Ideas to Jump on Now"
"15 Business Story Ideas to Jump on Now"
Reynolds Center for Business Journalism
 
Context Based Authentication
Context Based AuthenticationContext Based Authentication
Context Based Authentication
PortalGuard dba PistolStar, Inc.
 
Energy Strategy Group_Report 2012 efficienza energetica
Energy Strategy Group_Report 2012 efficienza energeticaEnergy Strategy Group_Report 2012 efficienza energetica
Energy Strategy Group_Report 2012 efficienza energeticaEugenio Bacile di Castiglione
 
Alta White Paper D2C eCommerce Case Study 2016
Alta White Paper D2C eCommerce Case Study 2016Alta White Paper D2C eCommerce Case Study 2016
Alta White Paper D2C eCommerce Case Study 2016Patrick Nicholson
 

Viewers also liked (12)

Basics of Coding in Pediatrics Medical Billing
Basics of Coding in Pediatrics Medical BillingBasics of Coding in Pediatrics Medical Billing
Basics of Coding in Pediatrics Medical Billing
 
cathy resume
cathy resumecathy resume
cathy resume
 
Enterprise workspaces - Extending SAP NetWeaver Portal capabilities
Enterprise workspaces - Extending SAP NetWeaver Portal capabilities Enterprise workspaces - Extending SAP NetWeaver Portal capabilities
Enterprise workspaces - Extending SAP NetWeaver Portal capabilities
 
Information från Läkemedelsverket #5 2013
Information från Läkemedelsverket #5 2013Information från Läkemedelsverket #5 2013
Information från Läkemedelsverket #5 2013
 
Secure PIN Management How to Issue and Change PINs Securely over the Web
Secure PIN Management How to Issue and Change PINs Securely over the WebSecure PIN Management How to Issue and Change PINs Securely over the Web
Secure PIN Management How to Issue and Change PINs Securely over the Web
 
Diarrhea:Myths and facts, Precaution
Diarrhea:Myths and facts, Precaution Diarrhea:Myths and facts, Precaution
Diarrhea:Myths and facts, Precaution
 
Credit cards
Credit cardsCredit cards
Credit cards
 
mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2
mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2
mpx Replay, Expedite Your Catch-Up and C3 Workflow 2 of 2
 
"15 Business Story Ideas to Jump on Now"
"15 Business Story Ideas to Jump on Now""15 Business Story Ideas to Jump on Now"
"15 Business Story Ideas to Jump on Now"
 
Context Based Authentication
Context Based AuthenticationContext Based Authentication
Context Based Authentication
 
Energy Strategy Group_Report 2012 efficienza energetica
Energy Strategy Group_Report 2012 efficienza energeticaEnergy Strategy Group_Report 2012 efficienza energetica
Energy Strategy Group_Report 2012 efficienza energetica
 
Alta White Paper D2C eCommerce Case Study 2016
Alta White Paper D2C eCommerce Case Study 2016Alta White Paper D2C eCommerce Case Study 2016
Alta White Paper D2C eCommerce Case Study 2016
 

Similar to Automated Exploratory Tests

Automation as a project - lessons learnt
Automation as a project - lessons learntAutomation as a project - lessons learnt
Automation as a project - lessons learnt
Zbyszek Mockun
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Sauce Labs
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
RapidValue
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
tactqa
 
Exploratory testing in practice, short story how approach influenced on strategy
Exploratory testing in practice, short story how approach influenced on strategyExploratory testing in practice, short story how approach influenced on strategy
Exploratory testing in practice, short story how approach influenced on strategy
Zbyszek Mockun
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
Infostretch
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
Martin Smith
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
Robbie Minshall
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
Twice. Ontwikkelaars van IT professionals
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
Delta-N
 
Sucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta Kale
 
Top 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website developmentTop 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website development
BJIT Ltd
 
Resume
ResumeResume
Test Strategy
Test StrategyTest Strategy
Test Strategy
Zbyszek Mockun
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Phil Leggetter
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster
Curiosity Software Ireland
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
Neev Technologies
 
Between Scrum and Kanban - define a test process for Agile methodologies
Between Scrum and Kanban - define a test process for Agile methodologiesBetween Scrum and Kanban - define a test process for Agile methodologies
Between Scrum and Kanban - define a test process for Agile methodologies
Zbyszek Mockun
 

Similar to Automated Exploratory Tests (20)

Automation as a project - lessons learnt
Automation as a project - lessons learntAutomation as a project - lessons learnt
Automation as a project - lessons learnt
 
Managing Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the EnterpriseManaging Continuous Delivery of Mobile Apps - for the Enterprise
Managing Continuous Delivery of Mobile Apps - for the Enterprise
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Microsoft power point automation-opensourcetestingtools_matrix-1
Microsoft power point   automation-opensourcetestingtools_matrix-1Microsoft power point   automation-opensourcetestingtools_matrix-1
Microsoft power point automation-opensourcetestingtools_matrix-1
 
Exploratory testing in practice, short story how approach influenced on strategy
Exploratory testing in practice, short story how approach influenced on strategyExploratory testing in practice, short story how approach influenced on strategy
Exploratory testing in practice, short story how approach influenced on strategy
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
 
Continuous Integration for Mobile App Testing
Continuous Integration for Mobile App TestingContinuous Integration for Mobile App Testing
Continuous Integration for Mobile App Testing
 
Test automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application ServerTest automation lessons from WebSphere Application Server
Test automation lessons from WebSphere Application Server
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012Introductie Visual Studio ALM 2012
Introductie Visual Studio ALM 2012
 
Sucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QASucheta_kale_4.8years_QA
Sucheta_kale_4.8years_QA
 
Jgayatri-QA-Profile
Jgayatri-QA-ProfileJgayatri-QA-Profile
Jgayatri-QA-Profile
 
Top 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website developmentTop 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website development
 
Resume
ResumeResume
Resume
 
Test Strategy
Test StrategyTest Strategy
Test Strategy
 
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
Using BladeRunnerJS to Build Front-End Apps that Scale - Fluent 2014
 
Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster Model-Based Testing for ALM Octane: Better tests, built faster
Model-Based Testing for ALM Octane: Better tests, built faster
 
Neev QA Offering
Neev QA OfferingNeev QA Offering
Neev QA Offering
 
Between Scrum and Kanban - define a test process for Agile methodologies
Between Scrum and Kanban - define a test process for Agile methodologiesBetween Scrum and Kanban - define a test process for Agile methodologies
Between Scrum and Kanban - define a test process for Agile methodologies
 

More from Zbyszek Mockun

Freestyle your leadership
Freestyle your leadershipFreestyle your leadership
Freestyle your leadership
Zbyszek Mockun
 
How to develop diverse team? v2.0
How to develop diverse team? v2.0How to develop diverse team? v2.0
How to develop diverse team? v2.0
Zbyszek Mockun
 
How to develop diverse team?
How to develop diverse team?How to develop diverse team?
How to develop diverse team?
Zbyszek Mockun
 
Automation in the world of project
Automation  in the world of projectAutomation  in the world of project
Automation in the world of project
Zbyszek Mockun
 
The little thing
The little thingThe little thing
The little thing
Zbyszek Mockun
 
Ptaq day one intro presentation
Ptaq day one intro presentationPtaq day one intro presentation
Ptaq day one intro presentation
Zbyszek Mockun
 
We are all engineers
We are all engineers We are all engineers
We are all engineers
Zbyszek Mockun
 
Automation in the world of projects - A few thoughts from business perspective
Automation in the world of projects - A few thoughts from business perspectiveAutomation in the world of projects - A few thoughts from business perspective
Automation in the world of projects - A few thoughts from business perspective
Zbyszek Mockun
 
PTaQ in numbers after 50 meetups.
PTaQ in numbers after 50 meetups.PTaQ in numbers after 50 meetups.
PTaQ in numbers after 50 meetups.
Zbyszek Mockun
 
Shift left as first transformation step into Quality Assurance
Shift left as first transformation step into Quality AssuranceShift left as first transformation step into Quality Assurance
Shift left as first transformation step into Quality Assurance
Zbyszek Mockun
 
There and back again, Our journey with QA Reports and metrics
There and back again, Our journey with QA Reports and metricsThere and back again, Our journey with QA Reports and metrics
There and back again, Our journey with QA Reports and metrics
Zbyszek Mockun
 
Project quality (and test process) metrics
Project quality (and test process) metricsProject quality (and test process) metrics
Project quality (and test process) metrics
Zbyszek Mockun
 
User groups - share your knowledge
User groups - share your knowledgeUser groups - share your knowledge
User groups - share your knowledge
Zbyszek Mockun
 
Knowledge sharing for QA teams
Knowledge sharing for QA teamsKnowledge sharing for QA teams
Knowledge sharing for QA teams
Zbyszek Mockun
 
Automated Exploratory Tests
Automated Exploratory TestsAutomated Exploratory Tests
Automated Exploratory Tests
Zbyszek Mockun
 
Selenium - The Way Of Success
Selenium - The Way Of SuccessSelenium - The Way Of Success
Selenium - The Way Of SuccessZbyszek Mockun
 
Automation Responsibility
Automation ResponsibilityAutomation Responsibility
Automation Responsibility
Zbyszek Mockun
 
Continuous Integration testing based on Selenium and Hudson
Continuous Integration testing based on Selenium and HudsonContinuous Integration testing based on Selenium and Hudson
Continuous Integration testing based on Selenium and Hudson
Zbyszek Mockun
 
Agile testing
Agile testingAgile testing
Agile testing
Zbyszek Mockun
 

More from Zbyszek Mockun (19)

Freestyle your leadership
Freestyle your leadershipFreestyle your leadership
Freestyle your leadership
 
How to develop diverse team? v2.0
How to develop diverse team? v2.0How to develop diverse team? v2.0
How to develop diverse team? v2.0
 
How to develop diverse team?
How to develop diverse team?How to develop diverse team?
How to develop diverse team?
 
Automation in the world of project
Automation  in the world of projectAutomation  in the world of project
Automation in the world of project
 
The little thing
The little thingThe little thing
The little thing
 
Ptaq day one intro presentation
Ptaq day one intro presentationPtaq day one intro presentation
Ptaq day one intro presentation
 
We are all engineers
We are all engineers We are all engineers
We are all engineers
 
Automation in the world of projects - A few thoughts from business perspective
Automation in the world of projects - A few thoughts from business perspectiveAutomation in the world of projects - A few thoughts from business perspective
Automation in the world of projects - A few thoughts from business perspective
 
PTaQ in numbers after 50 meetups.
PTaQ in numbers after 50 meetups.PTaQ in numbers after 50 meetups.
PTaQ in numbers after 50 meetups.
 
Shift left as first transformation step into Quality Assurance
Shift left as first transformation step into Quality AssuranceShift left as first transformation step into Quality Assurance
Shift left as first transformation step into Quality Assurance
 
There and back again, Our journey with QA Reports and metrics
There and back again, Our journey with QA Reports and metricsThere and back again, Our journey with QA Reports and metrics
There and back again, Our journey with QA Reports and metrics
 
Project quality (and test process) metrics
Project quality (and test process) metricsProject quality (and test process) metrics
Project quality (and test process) metrics
 
User groups - share your knowledge
User groups - share your knowledgeUser groups - share your knowledge
User groups - share your knowledge
 
Knowledge sharing for QA teams
Knowledge sharing for QA teamsKnowledge sharing for QA teams
Knowledge sharing for QA teams
 
Automated Exploratory Tests
Automated Exploratory TestsAutomated Exploratory Tests
Automated Exploratory Tests
 
Selenium - The Way Of Success
Selenium - The Way Of SuccessSelenium - The Way Of Success
Selenium - The Way Of Success
 
Automation Responsibility
Automation ResponsibilityAutomation Responsibility
Automation Responsibility
 
Continuous Integration testing based on Selenium and Hudson
Continuous Integration testing based on Selenium and HudsonContinuous Integration testing based on Selenium and Hudson
Continuous Integration testing based on Selenium and Hudson
 
Agile testing
Agile testingAgile testing
Agile testing
 

Recently uploaded

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 

Recently uploaded (20)

LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 

Automated Exploratory Tests

  • 1. Automated Exploratory Tests for Web Application Zbyszek Moćkun © 2010 Cognifide Limited. In commercial confidence only.
  • 2. Objective How Cognifide has developed automated tests and where we are going © 2010 Cognifide Limited. In commercial confidence only.
  • 3. Introduction In short about process and environment © 2010 Cognifide Limited. In commercial confidence only.
  • 4. Methodologies, projects … Methodologies Projects • Web application • Agile: SCRUM, Kanban • Migration • Frequently releases • Content Management • No time for manual Systems (CMS) regression • Short or medium term • Lot of work at the end of projects sprint • Automation investment, no • CI Environment time for money return © 2010 Cognifide Limited. In commercial confidence only.
  • 5. Common standards for automation Functional tests © 2010 Cognifide Limited. In commercial confidence only.
  • 6. Test Automation Lifecycle Write TC Write automated script Run Manage Update © 2010 Cognifide Limited. In commercial confidence only.
  • 7. Advantages and disadvantages • Time consuming • Cost • Coverage by automated tests • Invest and wait for return • No duplications during • Test dependency regression test • Only coded functionality is • Functionality is tested tested © 2010 Cognifide Limited. In commercial confidence only.
  • 8. Can you believe your tests? • Incorrect Xpath (locator) used in tests • Not all data were verified (unable to write verifications for all data) • CSS/images or other files wasn’t load • Frequently design changes require xpath (locator) update • Incorrect CSS fixes (designs are not reflected by page layout) • Analytics doesn’t work • Performance decrease • Few thousands of pages (components variation – can’t test all of them © 2010 Cognifide Limited. In commercial confidence only.
  • 9. Migration (upgrade) projects • No existing automated test for regression test • Few thousands of pages • Quick response needed • Iterative development © 2010 Cognifide Limited. In commercial confidence only.
  • 10. Automated Exploratory Tests New approach, theory part © 2010 Cognifide Limited. In commercial confidence only.
  • 11. We need automated tests because ... Source: http://www.testfacebook.com © 2010 Cognifide Limited. In commercial confidence only.
  • 12. What should we test? Two perspectives: User Client © 2010 Cognifide Limited. In commercial confidence only.
  • 13. Aspects CI Environment Client User Analytics Layout Functionality Performance © 2010 Cognifide Limited. In commercial confidence only.
  • 14. Looking for a symptom „Symptom is a departure from normal function or feeling which is noticed by a patient, indicating the presence of disease or abnormality. A symptom is subjective, observed by the patient, and not measured.” http://wikipedia.org © 2010 Cognifide Limited. In commercial confidence only.
  • 15. Symptoms Layout Performance Content URL strategy HTML code Bug JavaScript Link checker errors Server Validators response (W3C) (404) Analytics © 2010 Cognifide Limited. In commercial confidence only.
  • 16. Oracle Heuristics It is used by comparing the output(s) of the system under test, for a given test case input, to the outputs that the oracle determines that product should have. − other products (second program that uses a different algorithm to evaluate the same mathematical expression as the product under test) − a consistency oracle that compares the results of one test execution to another for similarity, − a model-based oracle that uses the same model to generate and verify system behavior, − or a human being's judgment (i.e. does the program "seem" to the user to do the correct thing?) © 2010 Cognifide Limited. In commercial confidence only.
  • 17. Oracle Heuristic for GUI © 2010 Cognifide Limited. In commercial confidence only.
  • 18. Reference symptoms • Previous version of application • Reference data saved on disc • Other version of the same application (different servers) • The same script takes pattern and compare • One tool for different projects Performance Layout Content HTML code monitoring © 2010 Cognifide Limited. In commercial confidence only.
  • 19. Robots • Scripts that are looking for symptoms • The same script for all projects • Open Source tools JavaScript Server response Validators Analytics Link checker URL Strategy errors (404) (HTLM, CSS) © 2010 Cognifide Limited. In commercial confidence only.
  • 20. Exploratory testing „Exploratory testing is an approach to software testing that is concisely described as simultaneous learning, test design, test execution and test result interpretation” Cem Kaner © 2010 Cognifide Limited. In commercial confidence only.
  • 21. What are Automated Exploratory Tests? Meny different definition: • Record and play manual exploratory test sessions • Combined manual and automated tests • Test steps automation • Blackbox tests with input/output data generator • Not at all possible due to human factor © 2010 Cognifide Limited. In commercial confidence only.
  • 22. What are Automated Exploratory Tests? „Tests supporting exploratory testing, not necessarily based on the test scenario, searching areas where there may be errors or a change in the application, allowing the examination of applications faster and more deeply or not to test sites available to man.” Zbyszek Moćkun „Automated Tests do not provide complete information. They provide partial information that might be useful” Cem Kaner © 2010 Cognifide Limited. In commercial confidence only.
  • 23. Automated Exploratory Tests - advantages • One tool − Gather all symptoms − Use in all projects − Quick to introduce to project (half a day) − Resistant to appliciaton changes • Do not require deep knowledge about application, support the learning process • Integrated with Continuous Intergration env • Strong solution if combined with automated functional tests • Migration or upgrade tests • Iterative development © 2010 Cognifide Limited. In commercial confidence only.
  • 24. Track the propagation of changes in the code - See what pages/components are infected by change - Positive – false (code change affect all necessary places?) © 2010 Cognifide Limited. In commercial confidence only.
  • 25. Automated Exploratory Tests Practical part © 2010 Cognifide Limited. In commercial confidence only.
  • 26. Report – example of use © 2010 Cognifide Limited. In commercial confidence only.
  • 27. URL management • Sitemap • Link crawler • CSV file with url list • Symptoms as parameter (on, off) • Comments (bug id, ...) • Hide element • Other actions • Keep in SVN © 2010 Cognifide Limited. In commercial confidence only.
  • 28. Pattern management • Easy to use (overwrite pattern) • Checkbox (check all) • Commit to svn © 2010 Cognifide Limited. In commercial confidence only.
  • 29. Dynamic content • Reference symptoms – need processing • Use regexp • Hide element • Write generic function • Robots – do not need any additional actions • Dynamic components (counters, date, random numbers) • Flash/video files • Embedded content (twitter, facebook,...) • Require functional test • Static components – about 75% © 2010 Cognifide Limited. In commercial confidence only.
  • 30. Mobile version • Required (not nice to have), can’t avoid testing • Mobile pages are more static than desktop version • Do not use flash • Not all symptoms are easy to check © 2010 Cognifide Limited. In commercial confidence only.
  • 31. Narzędzia • Selenium II/WebDriver • Komparatory (ImageMagick, Pretty Diff) • Walidatory (W3C) • Performance (JMeter, Proxy) • Serwery Proxy (BrowserMob) • Firefox/Firebug (NetExport, ConsoleExport, JS Console output redirector) • HAR Viewer (http://www.softwareishard.com/har/viewer/) © 2010 Cognifide Limited. In commercial confidence only.
  • 32. Q&A © 2010 Cognifide Limited. In commercial confidence only.