SlideShare a Scribd company logo
Maximizing UI Automation
– A Case Study
Noam Kfir | ALM Senior Consultant | Sela Group
Copyright © Sela Group 2012
The Company
 Hi-tech security industry
 Hundreds of employees
 Offices and customers all over the world
 Customers include governments and large corporations
Copyright © Sela Group 2012
Process Characteristics
 Waterfall methodology
 10 years in development
 30 programmers
 12 manual testers
 No automated tests
 Very few automated processes
Copyright © Sela Group 2012
Product Overview
 Intelligence – gathering, managing, dispersing, analyzing
 Mission-critical
 More than 800 concurrent users
 Real time client/server application
 Many complex input forms and reports
 Multi-lingual and bi-directional
Copyright © Sela Group 2012
The Product is Complex
 More than a million LOC
 3rd party control libraries (Telerik, Janus, Infragistics,
and more)
 Very complex application flow, many screens
 WinForms embedded in WPF
 Clients communicate directly with the DB instead of
via the server
 Integration with other company products
 Difficult to debug due to security considerations
 The company cannot examine client data
 Limited logging
Copyright © Sela Group 2012
The Large Hadron Collider (LHC) is a particle accelerator located at CERN, near
Geneva, Switzerland.
It lies in a tunnel under France and Switzerland.
The Big Problem
 The end users report too many bugs
 The product fails to handle the expected load
 The client is dissatisfied and threatens to end
the relationship
 The company does not trust their product
 Every QA cycle is very long (lots of “full
regressions”)
 The company reevaluates its quality control
strategy
Copyright © Sela Group 2012
Problem Solving
We can’t solve problems by using the same kind of
thinking we used when we created them…
Short Term Solutions
 On-site QA
 On-site development
 On-site fixes – not synchronized with
source control
 Lots of hacks and improvised solutions
 Endless “lessons learned”
 Off with their heads…
Copyright © Sela Group 2012
Long Term Solutions
 Full transparency
 Improve communication with the customer
 Reports – more, richer, live
 Improve and add automated builds
 Gated check-ins
 Nightly builds
 Full builds
 Automated deployment
 Much more testing
Copyright © Sela Group 2012
New Testing Strategy
 Unit testing
 Use TFS lab environments
 Easier to reproduce bugs
 Snapshots
 Traceability
 Manual testing
 End-to-end scenarios
 Sanity and full regressions
 Load testing – realistic conditions
 Server API testing
 Automated UI testing
Copyright © Sela Group 2012
Attempt 1: Coded UI (2010)
The Good
 Intention-aware recording
 Support for multiple UI technologies
 Full TFS build integration including full
support for lab environments
 Extensible object recognition
 Very low learning curve for programmers
 Same language as the product – C#
The Bad
 Incomplete tooling
 Object recognition needs improvement
(Janus and pure graphical controls)
 Very difficult for manual testers
Copyright © Sela Group 2012
Coded UI (2010) ROI – After 2 Man-Months
 Included with VS Ultimate
 0 end-to-end tests
 Excellent infrastructure
Copyright © Sela Group 2012
Attempt 2: TestComplete
 Better object recognition
 Designed for manual testers, good for
building simple keyword-driven tests
 Inconsistent object recognition
 Very difficult scripting platform, weird
language, very poor documentation
 Not the same language as the product,
C# possible with poor COM Interop
implementation
 Poor integration with TFS
 Steep learning curve
Copyright © Sela Group 2012
The Good The Bad
Test Complete ROI – After 2 Man-Months
 $15,000 for several IDE licenses
 $400 per build agent
 30 end-to-end tests
 No infrastructure or reusable scripts
 Agents too expensive for load and stress testing
Copyright © Sela Group 2012
Attempt 3: Ranorex
 Excellent object recognition
 Designed for both testers and
programmers, has IDE and .NET API
 Partial TFS lab build process integration
 Unlimited agents usable for load and
stress tests
 TFS integration needs some work
 Tests need maintenance
 Medium learning curve
Copyright © Sela Group 2012
The Good The Bad
Ranorex ROI – After 2 Man-Months
 $22,000 for 5 IDE licenses
 Unlimited agents
 60 end-to-end tests
 Rich reusable infrastructure
 After 3 man-months  120 end-to-end tests
Copyright © Sela Group 2012
Comparison Matrix
Coded UI TestComplete Ranorex
Target Programmers Testers Both
Cost Part of VS Ultimate $15,000 $22,000
Agents Unlimited $400 per agent Unlimited
Learning Curve Easy Difficult Medium
TFS Integration Yes No Partial
After 2 Man-months 0 tests (due to Janus)
Good infrastructure
30 tests
No infrastructure
60 tests
Good infrastructure
Copyright © Sela Group 2012
The Ranorex Solution
 Excellent object recognition for multiple UI technologies
 Load and stress tests use same UI automation platform
 Reporting under one umbrella
 Bugs are caught much sooner
 Better collaboration between testers and programmers
 Customers can see and run the UI automation tests
 Fewer defects and deployment errors in production
 Fewer on-site team members and sessions
 Adopted by other product teams
Copyright © Sela Group 2012
DEMO
UI Automation with Ranorex
Copyright © Sela Group 2012
Thank You!
Email: noamkfir@sela.co.il
Blog: http://noam.kfir.cc
Twitter: @NoamKfir
Copyright © Sela Group 2012

More Related Content

What's hot

Automate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right ToolsAutomate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right Tools
Info-Tech Research Group
 
Improving Development Productivity: Static Analysis and Continuous Integration
Improving Development Productivity: Static Analysis and Continuous IntegrationImproving Development Productivity: Static Analysis and Continuous Integration
Improving Development Productivity: Static Analysis and Continuous Integration
Klocwork
 
Polarion Tomorrows ALM Platform Today
Polarion Tomorrows ALM Platform TodayPolarion Tomorrows ALM Platform Today
Polarion Tomorrows ALM Platform Today
polarion
 
Software Testing in Cloud Platform A Survey_final
Software Testing in Cloud Platform A Survey_finalSoftware Testing in Cloud Platform A Survey_final
Software Testing in Cloud Platform A Survey_final
www.pixelsolutionbd.com
 
kanakaborra_3years_Exp
kanakaborra_3years_Expkanakaborra_3years_Exp
kanakaborra_3years_Exp
kanaka reddy
 

What's hot (20)

Selenium training eduxfactor
Selenium training   eduxfactorSelenium training   eduxfactor
Selenium training eduxfactor
 
Start Your Automation Journey With Rapise
Start Your Automation Journey With Rapise Start Your Automation Journey With Rapise
Start Your Automation Journey With Rapise
 
Automate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right ToolsAutomate Your Software Development Life Cycle Using the Right Tools
Automate Your Software Development Life Cycle Using the Right Tools
 
An Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open SourceAn Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open Source
 
Testing Solutions for Hyper Connected Apps by Sivakumar Anna
Testing Solutions for Hyper Connected Apps by Sivakumar AnnaTesting Solutions for Hyper Connected Apps by Sivakumar Anna
Testing Solutions for Hyper Connected Apps by Sivakumar Anna
 
Improving Development Productivity: Static Analysis and Continuous Integration
Improving Development Productivity: Static Analysis and Continuous IntegrationImproving Development Productivity: Static Analysis and Continuous Integration
Improving Development Productivity: Static Analysis and Continuous Integration
 
Mahesh resume
Mahesh resumeMahesh resume
Mahesh resume
 
Building a World-Class Software Product Team in India
Building a World-Class Software Product Team in IndiaBuilding a World-Class Software Product Team in India
Building a World-Class Software Product Team in India
 
Test Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | EdurekaTest Automation Interview Questions and Answers | Edureka
Test Automation Interview Questions and Answers | Edureka
 
Testwarez 2009 Use Proper Tool
Testwarez 2009 Use Proper ToolTestwarez 2009 Use Proper Tool
Testwarez 2009 Use Proper Tool
 
Polarion Tomorrows ALM Platform Today
Polarion Tomorrows ALM Platform TodayPolarion Tomorrows ALM Platform Today
Polarion Tomorrows ALM Platform Today
 
Scale Cloud across Enterprise
Scale Cloud across EnterpriseScale Cloud across Enterprise
Scale Cloud across Enterprise
 
Selenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunnerSelenium RC, Selenium WebDriver and HP LoadRunner
Selenium RC, Selenium WebDriver and HP LoadRunner
 
Testing Tools with AI
Testing Tools with AITesting Tools with AI
Testing Tools with AI
 
Software Testing in Cloud Platform A Survey_final
Software Testing in Cloud Platform A Survey_finalSoftware Testing in Cloud Platform A Survey_final
Software Testing in Cloud Platform A Survey_final
 
Spira Team Overview Presentation
Spira Team Overview PresentationSpira Team Overview Presentation
Spira Team Overview Presentation
 
Top 3 selenium IDE alternatives for Chrome and Firefox
Top 3 selenium IDE alternatives for Chrome and FirefoxTop 3 selenium IDE alternatives for Chrome and Firefox
Top 3 selenium IDE alternatives for Chrome and Firefox
 
Introducing Continuous Quality
Introducing Continuous QualityIntroducing Continuous Quality
Introducing Continuous Quality
 
Orientation Program on Automated Software testing Powered by Infaum Education...
Orientation Program on Automated Software testing Powered by Infaum Education...Orientation Program on Automated Software testing Powered by Infaum Education...
Orientation Program on Automated Software testing Powered by Infaum Education...
 
kanakaborra_3years_Exp
kanakaborra_3years_Expkanakaborra_3years_Exp
kanakaborra_3years_Exp
 

Viewers also liked

automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefits
nazeer pasha
 
TEST_AUTOMATION_CASE_STUDY_(2)2[1]
TEST_AUTOMATION_CASE_STUDY_(2)2[1]TEST_AUTOMATION_CASE_STUDY_(2)2[1]
TEST_AUTOMATION_CASE_STUDY_(2)2[1]
Clive Dall
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
SivaprasanthRentala1975
 

Viewers also liked (13)

Voip automation framework
Voip automation frameworkVoip automation framework
Voip automation framework
 
Software-automation-testing-course-navi-mumbai-software-automation-testing-co...
Software-automation-testing-course-navi-mumbai-software-automation-testing-co...Software-automation-testing-course-navi-mumbai-software-automation-testing-co...
Software-automation-testing-course-navi-mumbai-software-automation-testing-co...
 
Automation in software engineering
Automation in software engineeringAutomation in software engineering
Automation in software engineering
 
Coded ui - lesson 3 - case study - calculator
Coded ui - lesson 3 - case study - calculatorCoded ui - lesson 3 - case study - calculator
Coded ui - lesson 3 - case study - calculator
 
Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success Michael Snyman - Software Test Automation Success
Michael Snyman - Software Test Automation Success
 
Case Study : Manual & Automation Testing
Case Study : Manual & Automation TestingCase Study : Manual & Automation Testing
Case Study : Manual & Automation Testing
 
Testers and Coders - Blurring the Lines
Testers and Coders - Blurring the LinesTesters and Coders - Blurring the Lines
Testers and Coders - Blurring the Lines
 
Why Test Automation Fails
Why Test Automation FailsWhy Test Automation Fails
Why Test Automation Fails
 
Test automation - Building effective solutions
Test automation - Building effective solutionsTest automation - Building effective solutions
Test automation - Building effective solutions
 
automation testing benefits
automation testing benefitsautomation testing benefits
automation testing benefits
 
10 Benefits of Automated Testing
10 Benefits of Automated Testing10 Benefits of Automated Testing
10 Benefits of Automated Testing
 
TEST_AUTOMATION_CASE_STUDY_(2)2[1]
TEST_AUTOMATION_CASE_STUDY_(2)2[1]TEST_AUTOMATION_CASE_STUDY_(2)2[1]
TEST_AUTOMATION_CASE_STUDY_(2)2[1]
 
Automation testing strategy, approach & planning
Automation testing  strategy, approach & planningAutomation testing  strategy, approach & planning
Automation testing strategy, approach & planning
 

Similar to Maximizing UI Automation – A Case Study

Ganesha.U.S_Resume
Ganesha.U.S_ResumeGanesha.U.S_Resume
Ganesha.U.S_Resume
Ganesh Us
 
Richa Rani-QA Consultant
Richa Rani-QA ConsultantRicha Rani-QA Consultant
Richa Rani-QA Consultant
Richa Rani
 
Large scale agile development practices
Large scale agile development practicesLarge scale agile development practices
Large scale agile development practices
Skills Matter
 
Balakrishnan R [ 4.5 yr]
Balakrishnan R [ 4.5 yr]Balakrishnan R [ 4.5 yr]
Balakrishnan R [ 4.5 yr]
Balakrishnan R
 
Software Testing Profile_Surender Kumar_V1.doc
Software Testing Profile_Surender Kumar_V1.docSoftware Testing Profile_Surender Kumar_V1.doc
Software Testing Profile_Surender Kumar_V1.doc
Surender Kumar
 
Software MTTR: The Path from Continuous Integration to Continuous Delivery
Software MTTR: The Path from Continuous Integration to Continuous DeliverySoftware MTTR: The Path from Continuous Integration to Continuous Delivery
Software MTTR: The Path from Continuous Integration to Continuous Delivery
Jeff Sussna
 

Similar to Maximizing UI Automation – A Case Study (20)

Creating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran KinsbrunerCreating a successful continuous testing environment by Eran Kinsbruner
Creating a successful continuous testing environment by Eran Kinsbruner
 
Raji_QA
Raji_QARaji_QA
Raji_QA
 
Ravindra Prasad
Ravindra PrasadRavindra Prasad
Ravindra Prasad
 
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous IntegrationExperitest-Infosys Co-Webinar on Mobile Continuous Integration
Experitest-Infosys Co-Webinar on Mobile Continuous Integration
 
Ganesha.U.S_Resume
Ganesha.U.S_ResumeGanesha.U.S_Resume
Ganesha.U.S_Resume
 
NidhiVasudev_Resume
NidhiVasudev_ResumeNidhiVasudev_Resume
NidhiVasudev_Resume
 
IBM i Application Lifecycle Management with Remain Software
IBM i Application Lifecycle Management with Remain SoftwareIBM i Application Lifecycle Management with Remain Software
IBM i Application Lifecycle Management with Remain Software
 
Resume
ResumeResume
Resume
 
Discover the power of QA automation testing
Discover the power of QA automation testingDiscover the power of QA automation testing
Discover the power of QA automation testing
 
Richa Rani-QA Consultant
Richa Rani-QA ConsultantRicha Rani-QA Consultant
Richa Rani-QA Consultant
 
Resume
Resume Resume
Resume
 
Vishal Jadhav
Vishal JadhavVishal Jadhav
Vishal Jadhav
 
The Journey to DevOps
The Journey to DevOpsThe Journey to DevOps
The Journey to DevOps
 
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...
 
Large scale agile development practices
Large scale agile development practicesLarge scale agile development practices
Large scale agile development practices
 
Balakrishnan R [ 4.5 yr]
Balakrishnan R [ 4.5 yr]Balakrishnan R [ 4.5 yr]
Balakrishnan R [ 4.5 yr]
 
Software Testing Profile_Surender Kumar_V1.doc
Software Testing Profile_Surender Kumar_V1.docSoftware Testing Profile_Surender Kumar_V1.doc
Software Testing Profile_Surender Kumar_V1.doc
 
CV Of Arun Thimmappa
CV Of Arun ThimmappaCV Of Arun Thimmappa
CV Of Arun Thimmappa
 
Ashish Baraiya
Ashish BaraiyaAshish Baraiya
Ashish Baraiya
 
Software MTTR: The Path from Continuous Integration to Continuous Delivery
Software MTTR: The Path from Continuous Integration to Continuous DeliverySoftware MTTR: The Path from Continuous Integration to Continuous Delivery
Software MTTR: The Path from Continuous Integration to Continuous Delivery
 

More from Noam Kfir

Drawing in HTML5 Open House
Drawing in HTML5 Open HouseDrawing in HTML5 Open House
Drawing in HTML5 Open House
Noam Kfir
 

More from Noam Kfir (15)

Agile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-DelusionAgile Mind Games and the Art of Self-Delusion
Agile Mind Games and the Art of Self-Delusion
 
TDD and the Legacy Code Black Hole
TDD and the Legacy Code Black HoleTDD and the Legacy Code Black Hole
TDD and the Legacy Code Black Hole
 
TypeScript Modules
TypeScript ModulesTypeScript Modules
TypeScript Modules
 
There Is No JavaScript
There Is No JavaScriptThere Is No JavaScript
There Is No JavaScript
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
 
Meteor
MeteorMeteor
Meteor
 
Clean code
Clean codeClean code
Clean code
 
Web components
Web componentsWeb components
Web components
 
HTML5 and the Evolution of the Web
HTML5 and the Evolution of the WebHTML5 and the Evolution of the Web
HTML5 and the Evolution of the Web
 
Git Workflows
Git WorkflowsGit Workflows
Git Workflows
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
 
Building Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using CordovaBuilding Cross-Platform JavaScript Apps using Cordova
Building Cross-Platform JavaScript Apps using Cordova
 
Telerik Platform
Telerik PlatformTelerik Platform
Telerik Platform
 
Profiling JavaScript Performance
Profiling JavaScript PerformanceProfiling JavaScript Performance
Profiling JavaScript Performance
 
Drawing in HTML5 Open House
Drawing in HTML5 Open HouseDrawing in HTML5 Open House
Drawing in HTML5 Open House
 

Recently uploaded

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
Alluxio, Inc.
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
mbmh111980
 

Recently uploaded (20)

Studiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting softwareStudiovity film pre-production and screenwriting software
Studiovity film pre-production and screenwriting software
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
top nidhi software solution freedownload
top nidhi software solution freedownloadtop nidhi software solution freedownload
top nidhi software solution freedownload
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 

Maximizing UI Automation – A Case Study

  • 1. Maximizing UI Automation – A Case Study Noam Kfir | ALM Senior Consultant | Sela Group Copyright © Sela Group 2012
  • 2. The Company  Hi-tech security industry  Hundreds of employees  Offices and customers all over the world  Customers include governments and large corporations Copyright © Sela Group 2012
  • 3. Process Characteristics  Waterfall methodology  10 years in development  30 programmers  12 manual testers  No automated tests  Very few automated processes Copyright © Sela Group 2012
  • 4. Product Overview  Intelligence – gathering, managing, dispersing, analyzing  Mission-critical  More than 800 concurrent users  Real time client/server application  Many complex input forms and reports  Multi-lingual and bi-directional Copyright © Sela Group 2012
  • 5. The Product is Complex  More than a million LOC  3rd party control libraries (Telerik, Janus, Infragistics, and more)  Very complex application flow, many screens  WinForms embedded in WPF  Clients communicate directly with the DB instead of via the server  Integration with other company products  Difficult to debug due to security considerations  The company cannot examine client data  Limited logging Copyright © Sela Group 2012 The Large Hadron Collider (LHC) is a particle accelerator located at CERN, near Geneva, Switzerland. It lies in a tunnel under France and Switzerland.
  • 6. The Big Problem  The end users report too many bugs  The product fails to handle the expected load  The client is dissatisfied and threatens to end the relationship  The company does not trust their product  Every QA cycle is very long (lots of “full regressions”)  The company reevaluates its quality control strategy Copyright © Sela Group 2012 Problem Solving We can’t solve problems by using the same kind of thinking we used when we created them…
  • 7. Short Term Solutions  On-site QA  On-site development  On-site fixes – not synchronized with source control  Lots of hacks and improvised solutions  Endless “lessons learned”  Off with their heads… Copyright © Sela Group 2012
  • 8. Long Term Solutions  Full transparency  Improve communication with the customer  Reports – more, richer, live  Improve and add automated builds  Gated check-ins  Nightly builds  Full builds  Automated deployment  Much more testing Copyright © Sela Group 2012
  • 9. New Testing Strategy  Unit testing  Use TFS lab environments  Easier to reproduce bugs  Snapshots  Traceability  Manual testing  End-to-end scenarios  Sanity and full regressions  Load testing – realistic conditions  Server API testing  Automated UI testing Copyright © Sela Group 2012
  • 10. Attempt 1: Coded UI (2010) The Good  Intention-aware recording  Support for multiple UI technologies  Full TFS build integration including full support for lab environments  Extensible object recognition  Very low learning curve for programmers  Same language as the product – C# The Bad  Incomplete tooling  Object recognition needs improvement (Janus and pure graphical controls)  Very difficult for manual testers Copyright © Sela Group 2012
  • 11. Coded UI (2010) ROI – After 2 Man-Months  Included with VS Ultimate  0 end-to-end tests  Excellent infrastructure Copyright © Sela Group 2012
  • 12. Attempt 2: TestComplete  Better object recognition  Designed for manual testers, good for building simple keyword-driven tests  Inconsistent object recognition  Very difficult scripting platform, weird language, very poor documentation  Not the same language as the product, C# possible with poor COM Interop implementation  Poor integration with TFS  Steep learning curve Copyright © Sela Group 2012 The Good The Bad
  • 13. Test Complete ROI – After 2 Man-Months  $15,000 for several IDE licenses  $400 per build agent  30 end-to-end tests  No infrastructure or reusable scripts  Agents too expensive for load and stress testing Copyright © Sela Group 2012
  • 14. Attempt 3: Ranorex  Excellent object recognition  Designed for both testers and programmers, has IDE and .NET API  Partial TFS lab build process integration  Unlimited agents usable for load and stress tests  TFS integration needs some work  Tests need maintenance  Medium learning curve Copyright © Sela Group 2012 The Good The Bad
  • 15. Ranorex ROI – After 2 Man-Months  $22,000 for 5 IDE licenses  Unlimited agents  60 end-to-end tests  Rich reusable infrastructure  After 3 man-months  120 end-to-end tests Copyright © Sela Group 2012
  • 16. Comparison Matrix Coded UI TestComplete Ranorex Target Programmers Testers Both Cost Part of VS Ultimate $15,000 $22,000 Agents Unlimited $400 per agent Unlimited Learning Curve Easy Difficult Medium TFS Integration Yes No Partial After 2 Man-months 0 tests (due to Janus) Good infrastructure 30 tests No infrastructure 60 tests Good infrastructure Copyright © Sela Group 2012
  • 17. The Ranorex Solution  Excellent object recognition for multiple UI technologies  Load and stress tests use same UI automation platform  Reporting under one umbrella  Bugs are caught much sooner  Better collaboration between testers and programmers  Customers can see and run the UI automation tests  Fewer defects and deployment errors in production  Fewer on-site team members and sessions  Adopted by other product teams Copyright © Sela Group 2012
  • 18. DEMO UI Automation with Ranorex Copyright © Sela Group 2012
  • 19. Thank You! Email: noamkfir@sela.co.il Blog: http://noam.kfir.cc Twitter: @NoamKfir Copyright © Sela Group 2012