SlideShare a Scribd company logo
1 of 21
Download to read offline
 

BT4
Concurrent Session 
11/14/2013 10:15 AM 
 
 
 
 
 

"Continuous Automated
Regression Testing to the
Rescue"
 
 
 

Presented by:
Brenda Kise
ProtoLabs, Inc.
 
 
 
 
 
 

Brought to you by: 
 

 
 
340 Corporate Way, Suite 300, Orange Park, FL 32073 
888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
Brenda Kise
Proto Labs, Inc.

Brenda Kise has fifteen years of experience in software, including
development, test, test automation, management, and operations. Brenda
has led teams that have automated testing from the ground up with a new
code base and for Symantec’s NetBackup division, leading a team
automating a legacy code base. In the first team, close to 100 percent
automation was achieved using the JUnit framework in a tightly integrated
Scrum/agile environment and went from a formal test cycle of six weeks to
just eleven hours! At Symantec, with an 8 million line code base, the
automation team focused on automating regression tests against the
completed code base - going from 0% coverage to 14% coverage in one
year. Brenda is currently managing a team of .NET developers working on
internal applications and the Enterprise Data team doing business
intelligence work for Proto Labs Inc.
 
 
9/9/13	
  

Continuous Automated Regression
Testing to the Rescue!
BRENDA KISE
DEVELOPMENT MANAGER, PROTOLABS
BRENDA.KISE@PROTOLABS.COM

Brenda Kise - Proto Labs Inc.

Who am I?
—  Currently a development manager for Proto Labs

Inc in Maple Plain MN
—  Manage a team of C# developers
—  Manage a team of Business Intelligence / Data
Warehouse developers
—  Proto Labs is a software company that does a little
manufacturing on the side
—  Hiring – growing by leaps and bounds

Brenda Kise - Proto Labs Inc.

1	
  
9/9/13	
  

Background
—  16 years software experience
—  Java / Database developer
—  Managed operations, development, hardware

buildouts, quality, test and automation teams
—  Test team used Junit to automate 99% of tests
¡  Went

from a 3-6 week test cycle to 8 hours

—  Automation team gained code coverage ground

against 200 developers

Brenda Kise - Proto Labs Inc.

Earlier is better
—  The earlier after code check-in a defect is found,

the easier it is to fix it
—  Few people affected the earlier the defect is found
—  Less paperwork involved when found earlier
—  Often several layers of testing – if found early, less
re-testing is needed
—  If a defect makes it to customers, the repercussions
can affect more than just the software

Brenda Kise - Proto Labs Inc.

2	
  
9/9/13	
  

Proof Earlier is Better

Brenda Kise - Proto Labs Inc.

Automated Testing
—  Different levels for automation
¡  Component / Unit testing
÷ Generally done by developers
¡  Integration
¡  System

level

¡  GUI

Brenda Kise - Proto Labs Inc.

3	
  
9/9/13	
  

How is the test automated?
—  Run with each build
¡  Applications such as Hudson will run the unit tests and
fail the build if the tests do not pass
¡  Immediate feedback, helps keep the build clean
¡  Can tell if someone is following process or not
÷ Broken build indicates coder did not run the build prior
to checking into the main branch

Brenda Kise - Proto Labs Inc.

How is the test automated?
—  Run on a schedule
¡  Generally need a test frame work to run the tests
¡  Developers can run the tests prior to check-in
¡  Process is dis-associated with the build
÷ Build is completed
÷ Regression tests kicked off through a chron job
÷ Need a check to ensure build does not fail prior to test
kick-off
÷ Generally uses a separate system

Brenda Kise - Proto Labs Inc.

4	
  
9/9/13	
  

How is the test automated?
—  Tester kicks off the test
¡  While

this type of test is automated, it is not considered
automated regression
¡  No schedule or automated kick-off, requires human
intervention
¡  Still valuable as a time saving tool – allows the tester to
work on something else while test is running
¡  Especially valuable for long scenarios

Brenda Kise - Proto Labs Inc.

How?
—  Have a plan
¡  Are you working with a new code base?
¡  Are you focusing on unit / component testing?
¡  Is the code base stable?
—  What level of testing?
¡  System
¡  Unit
¡  GUI

Brenda Kise - Proto Labs Inc.

5	
  
9/9/13	
  

How?
—  Choose your tools
¡  Custom framework?
¡  Junit or Cunit?
¡  OTS software?
÷ Watir
÷ Selenium
÷ QuickTest Pro
÷ WinRunner

Brenda Kise - Proto Labs Inc.

How?
—  Choose your approach
¡  Testers automate tests as they have time
÷ Like that ever happens
÷ Always seen as a secondary task
¡  Separate team of automaters
÷ Take tests that the testers use and automate
÷ Do not need to be experts in the areas of code
÷ Relies on well documented test scripts / scenarios
÷ Main focus of job

Brenda Kise - Proto Labs Inc.

6	
  
9/9/13	
  

How?
—  What type of code are you testing?
¡  New code?
÷ Start with Unit tests – fastest and cheapest way to get a
lot of code coverage
¡  Legacy Code?
÷ Do you have test hooks or command lines?
÷ Very difficult to add unit tests at this point
¡  Web site or program?
÷ Different approaches for each

Brenda Kise - Proto Labs Inc.

Case 1
—  FDA regulated website
—  Written in Java, so used Junit
—  Very specific requirements to test against
—  Testing the values displayed on the website
—  Did not include testing the webpage itself
—  Tested against 6 languages
—  Used drivers from Chrome, Firefox and IE

Brenda Kise - Proto Labs Inc.

7	
  
9/9/13	
  

Case 1
—  Previously used manual testing for majority of tests
—  Took 6 weeks to complete a full regression run

with no issues
—  Testers were asked to automate tests as they had
time
—  Using custom written testing software – no off the
shelf software

Brenda Kise - Proto Labs Inc.

Case 1
—  New code base started, done completely in Agile
—  No previous code or tests were re-used
—  Testers given training to use Junit – most had

never used it prior
—  Testers were not doing unit tests – considered
component or integration tests
—  Testers automated the tests as they created them

Brenda Kise - Proto Labs Inc.

8	
  
9/9/13	
  

Case 1
—  All integration, unit and component tests were

written in the same sprint as the code
—  Scrum teams were comprised of Product Owners,
Business Analysts, Developer and Testers
—  All tests had to run against all languages on
Production Equivalent boxes
—  4 levels of testing – subsystem, DAT, system and
simulated use testing

Brenda Kise - Proto Labs Inc.

Case 1
—  Tests were created to specifically test each

requirement (FDA requirement)
—  Data was created and seeded into the database to
test against
¡  Payload

Data was actual production data that had been
de-identified
¡  Very important to use as close to production data as
possible
—  Expected outcomes decided prior to tests being

written
Brenda Kise - Proto Labs Inc.

9	
  
9/9/13	
  

Case 1
—  Junit tests / setups were created in a test project
—  One piece of custom software used for testing was

the ability to create patients / clinics / physicians
with needed relationships
¡  Test

frame work used the actual code to create the same
as a human user would

—  Setup file was run, then the test.
—  Single failure would log, but test run would

continue
Brenda Kise - Proto Labs Inc.

Case 1
—  Code was exercised in test using the interface
¡  Code was a client server base – published interfaces for
all components
—  XML being delivered to the web browser was

intercepted and searched for the values expected
—  Logged whether value found or not

Brenda Kise - Proto Labs Inc.

10	
  
9/9/13	
  

Case 1
—  Things to remember
1. 
Does not test the page layout, only the content
2.  Works especially well if calculations are performed
prior to display
3.  Can be used with graphics, although this is consuming
to get done and every time the data changes the test
has to be recaptured

Brenda Kise - Proto Labs Inc.

Case 1
—  Since the test code was created in it’s own project,

it was compiled and then run on each localized
environment
—  All information was logged, including pass, fail,
start and end time
—  Logs were scraped and funneled to a status website
used by management
¡  Thus

relieving the testers of the inevitable question – are
you done yet?

—  Logs were archived as testing evidence for the

release

Brenda Kise - Proto Labs Inc.

11	
  
9/9/13	
  

Case 1
—  Questions or comments about the first style of test

automation?

Brenda Kise - Proto Labs Inc.

Case 2
—  Large software package
—  Had a web interface, but not tested with

automation
—  Code was written in C++ / Java / XML
—  Vague requirements to test against
—  Testing to ensure functionality
—  Tested against all supported versions of Linux,
Windows, Solaris, HP

Brenda Kise - Proto Labs Inc.

12	
  
9/9/13	
  

Case 2
—  Still using manual testing for majority of tests
—  Testers were asked to automate tests as they had

time
—  Manual tests were run through the different GUIs
available to the customer (Java, MVC and Web)
—  Test steps left to the individual tester, rarely
written in detail

Brenda Kise - Proto Labs Inc.

Case 2
—  Single legacy code base, with modules added
—  Very little component style coding
—  Code had an extensive command line availability
—  Very little code coverage from unit tests
¡ 

Since it was mostly one big pile of code, hard to test small
areas

—  Testers and automaters were separate skills

Brenda Kise - Proto Labs Inc.

13	
  
9/9/13	
  

Case 2
—  Test automation happened on it’s own schedule,

without regard to releases
—  Automation team was divided into three areas
¡  Test

engine and tools
¡  Automation Leads
¡  Automaters
—  All tests had to run against all OS flavors supported
—  3 levels of testing – manual testing, automated

regression and system level testing

Brenda Kise - Proto Labs Inc.

Case 2
—  Large test harness created to run the tests
¡  3 full time people working on it
¡  1 million + lines of Perl code
¡  Included log scrapers, setup code and failure processing
—  Automation script would call setup routines from

the test harness to do standard things
¡  Create

storage unit, create back files etc

—  Expected outcomes decided prior to automation

scripts being written
Brenda Kise - Proto Labs Inc.

14	
  
9/9/13	
  

Case 2
—  Automaters are not testers – they are developers
—  Automaters do not create the tests, test steps or

decide what to test
—  Are not experts on the code or the functionality
since they works across a large area of code
—  Allowed automation to continue no matter what
the shape of the release
—  Need a stable code base – attempt this type of
automation on a moving target is immensely
painful.
Brenda Kise - Proto Labs Inc.

Case 2
—  Code was exercised using the published command

lines
—  Looking for code coverage, not edge cases
—  Covered the “vanilla” cases – allowed manual
testers to concentrate on more complex cases not
able to be tested in automation

Brenda Kise - Proto Labs Inc.

15	
  
9/9/13	
  

Case 2
—  Things to remember
1. 
Need a stable code base
2.  Needs either command line or interface to call
3.  Often will need help from both development and test
1.  If the test case says something like “test X” with no
steps, only tester knows what they mean.
2.  Amazing how often the command line information
and error code details were incorrect

Brenda Kise - Proto Labs Inc.

Case 2
—  All automation was written in Perl
—  All information was logged, including pass, fail,

start and end time
¡  Timing

was important in this case – when tests started
running long it was usually an early issue indicator

—  Logs were scraped and funneled to a storage area

to be used if needed for debugging of issues found
—  Pass / Failures were automatically uploaded to a
webpage
Brenda Kise - Proto Labs Inc.

16	
  
9/9/13	
  

Case 2
—  Developers were expected to run specific tests

against their code prior to check in.
—  Unfortunately, any break in a regression test was
automatically assumed to be a bad test
¡  Had

an entire team in China that would analyze test
results and create issue reports

—  Regression score was used by management to show

health of the release
¡  If

< 80% of test passed, score was 0
¡  Only a singe instance of a perfect regression score in the 6
years it has been running
Brenda Kise - Proto Labs Inc.

Case 2
—  While you can get massive amounts of regression

testing, very expensive approach
—  Team of 10 full time employees and 15 part time
contractors, plus a team of 8 doing analysis
—  Massive hardware usage – several hundred VMs
on a nightly basis
—  Had so many tests running took a full 24 hours to
complete a full run against a single build

Brenda Kise - Proto Labs Inc.

17	
  
9/9/13	
  

Case 2
—  Advantages of using Perl to test C code:
¡  You can start small – you don’t need a full test harness,
although you will like find yourself creating one to do
basic setup tasks
÷ Watch out, this takes on a life of it’s own
¡  Can use a Chron job or Hudson to kick off the test scripts
¡  Logging is easy and straightforward in Perl

Brenda Kise - Proto Labs Inc.

Case 2
—  Questions or comments about the second style of

test automation?

Brenda Kise - Proto Labs Inc.

18	
  
9/9/13	
  

Take Aways
—  Have a plan!
—  Know what type of testing you are trying to

accomplish
—  Know what type of results you are looking for
¡  Code

coverage?
¡  Regression for found bugs?
—  Know what type of team you are working with
¡  Automaters

or testers?

Brenda Kise - Proto Labs Inc.

19	
  

More Related Content

What's hot

Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsMichael Palotas
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automationRomania Testing
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentShawn Jones
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroPaul Boos
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedMichael Palotas
 
Loopt unit test experiences
Loopt unit test experiencesLoopt unit test experiences
Loopt unit test experiencesHeine Frifeldt
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Conceptswesovi
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...TEST Huddle
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Mohamed Taman
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) CodeOps Technologies LLP
 
Test driven development
Test driven developmentTest driven development
Test driven developmentnamkha87
 
Rob Sabourin: On Testing
Rob Sabourin: On TestingRob Sabourin: On Testing
Rob Sabourin: On TestingTechWell
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software TestingShakal Shukla
 
Unit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonUnit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonSeb Rose
 
Automatic testing in DevOps
Automatic testing in DevOpsAutomatic testing in DevOps
Automatic testing in DevOpsBenoit Baudry
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven DevelopmentViraf Karai
 
Test driven development
Test driven developmentTest driven development
Test driven developmentNascenia IT
 
Test management struggles and challenges in SDLC
Test management struggles and challenges in SDLCTest management struggles and challenges in SDLC
Test management struggles and challenges in SDLCFumikazu FUJIWARA
 

What's hot (20)

Implementing Test Automation in Agile Projects
Implementing Test Automation in Agile ProjectsImplementing Test Automation in Agile Projects
Implementing Test Automation in Agile Projects
 
10 Lessons learned in test automation
10 Lessons learned in test automation10 Lessons learned in test automation
10 Lessons learned in test automation
 
A Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven DevelopmentA Brief Introduction to Test-Driven Development
A Brief Introduction to Test-Driven Development
 
DevOps - Boldly Go for Distro
DevOps - Boldly Go for DistroDevOps - Boldly Go for Distro
DevOps - Boldly Go for Distro
 
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learnedSwiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
Swiss Testing Day - Testautomation, 10 (sometimes painful) lessons learned
 
Loopt unit test experiences
Loopt unit test experiencesLoopt unit test experiences
Loopt unit test experiences
 
Software Testing Basic Concepts
Software Testing Basic ConceptsSoftware Testing Basic Concepts
Software Testing Basic Concepts
 
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
Testing As A Bottleneck - How Testing Slows Down Modern Development Processes...
 
Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.Unit testing & TDD concepts with best practice guidelines.
Unit testing & TDD concepts with best practice guidelines.
 
A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD) A Not-So-Serious Introduction to Test Driven Development (TDD)
A Not-So-Serious Introduction to Test Driven Development (TDD)
 
Software testing
Software testingSoftware testing
Software testing
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Rob Sabourin: On Testing
Rob Sabourin: On TestingRob Sabourin: On Testing
Rob Sabourin: On Testing
 
Basics of Software Testing
Basics of Software TestingBasics of Software Testing
Basics of Software Testing
 
TDD Best Practices
TDD Best PracticesTDD Best Practices
TDD Best Practices
 
Unit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking SkeletonUnit Testing, TDD and the Walking Skeleton
Unit Testing, TDD and the Walking Skeleton
 
Automatic testing in DevOps
Automatic testing in DevOpsAutomatic testing in DevOps
Automatic testing in DevOps
 
Agile Test Driven Development
Agile Test Driven DevelopmentAgile Test Driven Development
Agile Test Driven Development
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Test management struggles and challenges in SDLC
Test management struggles and challenges in SDLCTest management struggles and challenges in SDLC
Test management struggles and challenges in SDLC
 

Viewers also liked

Alan Page: On Testing
Alan Page: On TestingAlan Page: On Testing
Alan Page: On TestingTechWell
 
The Mindset of Managing Uncertainty: The Key to Agile Success
The Mindset of Managing Uncertainty: The Key to Agile SuccessThe Mindset of Managing Uncertainty: The Key to Agile Success
The Mindset of Managing Uncertainty: The Key to Agile SuccessTechWell
 
The Role of the Agile Business Analyst
The Role of the Agile Business AnalystThe Role of the Agile Business Analyst
The Role of the Agile Business AnalystTechWell
 
Test (and More) Patterns for Continuous Software Delivery
Test (and More) Patterns for Continuous Software DeliveryTest (and More) Patterns for Continuous Software Delivery
Test (and More) Patterns for Continuous Software DeliveryTechWell
 
Lean Startup Tools for Scrum Product Owners
Lean Startup Tools for Scrum Product OwnersLean Startup Tools for Scrum Product Owners
Lean Startup Tools for Scrum Product OwnersTechWell
 
Introducing the New Software Testing Standard
Introducing the New Software Testing StandardIntroducing the New Software Testing Standard
Introducing the New Software Testing StandardTechWell
 
A Mind-Blowing Exploration on How to Make Better Decisions
A Mind-Blowing Exploration on How to Make Better DecisionsA Mind-Blowing Exploration on How to Make Better Decisions
A Mind-Blowing Exploration on How to Make Better DecisionsTechWell
 
Key Strategies to Survive the Mega Test Program
Key Strategies to Survive the Mega Test ProgramKey Strategies to Survive the Mega Test Program
Key Strategies to Survive the Mega Test ProgramTechWell
 
Lessons from Busting Organizational Silos
Lessons from Busting Organizational SilosLessons from Busting Organizational Silos
Lessons from Busting Organizational SilosTechWell
 
Mobile Testing Success: Real World Strategies and Techniques
Mobile Testing Success: Real World Strategies and TechniquesMobile Testing Success: Real World Strategies and Techniques
Mobile Testing Success: Real World Strategies and TechniquesTechWell
 
Adopt Before You Adapt: Learning Principles through Practice
Adopt Before You Adapt: Learning Principles through PracticeAdopt Before You Adapt: Learning Principles through Practice
Adopt Before You Adapt: Learning Principles through PracticeTechWell
 
How to Break Software: Embedded Edition
How to Break Software: Embedded EditionHow to Break Software: Embedded Edition
How to Break Software: Embedded EditionTechWell
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and PlanningTechWell
 
Test Automation Challenges in the Gaming Industry
Test Automation Challenges in the Gaming IndustryTest Automation Challenges in the Gaming Industry
Test Automation Challenges in the Gaming IndustryTechWell
 
Get Testing Help from the Crowd
Get Testing Help from the CrowdGet Testing Help from the Crowd
Get Testing Help from the CrowdTechWell
 
Cloud-based Testing: Flexible, Scalable, On-demand, and Cheaper
Cloud-based Testing: Flexible, Scalable, On-demand, and CheaperCloud-based Testing: Flexible, Scalable, On-demand, and Cheaper
Cloud-based Testing: Flexible, Scalable, On-demand, and CheaperTechWell
 
Implementing Crowdsourced Testing
Implementing Crowdsourced TestingImplementing Crowdsourced Testing
Implementing Crowdsourced TestingTechWell
 

Viewers also liked (17)

Alan Page: On Testing
Alan Page: On TestingAlan Page: On Testing
Alan Page: On Testing
 
The Mindset of Managing Uncertainty: The Key to Agile Success
The Mindset of Managing Uncertainty: The Key to Agile SuccessThe Mindset of Managing Uncertainty: The Key to Agile Success
The Mindset of Managing Uncertainty: The Key to Agile Success
 
The Role of the Agile Business Analyst
The Role of the Agile Business AnalystThe Role of the Agile Business Analyst
The Role of the Agile Business Analyst
 
Test (and More) Patterns for Continuous Software Delivery
Test (and More) Patterns for Continuous Software DeliveryTest (and More) Patterns for Continuous Software Delivery
Test (and More) Patterns for Continuous Software Delivery
 
Lean Startup Tools for Scrum Product Owners
Lean Startup Tools for Scrum Product OwnersLean Startup Tools for Scrum Product Owners
Lean Startup Tools for Scrum Product Owners
 
Introducing the New Software Testing Standard
Introducing the New Software Testing StandardIntroducing the New Software Testing Standard
Introducing the New Software Testing Standard
 
A Mind-Blowing Exploration on How to Make Better Decisions
A Mind-Blowing Exploration on How to Make Better DecisionsA Mind-Blowing Exploration on How to Make Better Decisions
A Mind-Blowing Exploration on How to Make Better Decisions
 
Key Strategies to Survive the Mega Test Program
Key Strategies to Survive the Mega Test ProgramKey Strategies to Survive the Mega Test Program
Key Strategies to Survive the Mega Test Program
 
Lessons from Busting Organizational Silos
Lessons from Busting Organizational SilosLessons from Busting Organizational Silos
Lessons from Busting Organizational Silos
 
Mobile Testing Success: Real World Strategies and Techniques
Mobile Testing Success: Real World Strategies and TechniquesMobile Testing Success: Real World Strategies and Techniques
Mobile Testing Success: Real World Strategies and Techniques
 
Adopt Before You Adapt: Learning Principles through Practice
Adopt Before You Adapt: Learning Principles through PracticeAdopt Before You Adapt: Learning Principles through Practice
Adopt Before You Adapt: Learning Principles through Practice
 
How to Break Software: Embedded Edition
How to Break Software: Embedded EditionHow to Break Software: Embedded Edition
How to Break Software: Embedded Edition
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and Planning
 
Test Automation Challenges in the Gaming Industry
Test Automation Challenges in the Gaming IndustryTest Automation Challenges in the Gaming Industry
Test Automation Challenges in the Gaming Industry
 
Get Testing Help from the Crowd
Get Testing Help from the CrowdGet Testing Help from the Crowd
Get Testing Help from the Crowd
 
Cloud-based Testing: Flexible, Scalable, On-demand, and Cheaper
Cloud-based Testing: Flexible, Scalable, On-demand, and CheaperCloud-based Testing: Flexible, Scalable, On-demand, and Cheaper
Cloud-based Testing: Flexible, Scalable, On-demand, and Cheaper
 
Implementing Crowdsourced Testing
Implementing Crowdsourced TestingImplementing Crowdsourced Testing
Implementing Crowdsourced Testing
 

Similar to Continuous Automated Regression Testing to the Rescue

5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test AutomationSauce Labs
 
Agile Engineering Best Practices by Richard Cheng
Agile Engineering Best Practices by Richard ChengAgile Engineering Best Practices by Richard Cheng
Agile Engineering Best Practices by Richard ChengExcella
 
Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Stephen Ritchie
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingCameron Presley
 
Project Onion unit test environment
Project Onion unit test environmentProject Onion unit test environment
Project Onion unit test environmentAbhinav Jha
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxShivareddyGangam
 
Test-Driven-Development.pptx
Test-Driven-Development.pptxTest-Driven-Development.pptx
Test-Driven-Development.pptxdheeraj438799
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with AgileKen McCorkell
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should knowRichard Cheng
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test CompleteVartika Saxena
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfICS
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsQuontra Solutions
 

Similar to Continuous Automated Regression Testing to the Rescue (20)

5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Agile Engineering Best Practices by Richard Cheng
Agile Engineering Best Practices by Richard ChengAgile Engineering Best Practices by Richard Cheng
Agile Engineering Best Practices by Richard Cheng
 
Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015Agile Engineering Sparker GLASScon 2015
Agile Engineering Sparker GLASScon 2015
 
Unit Testing
Unit TestingUnit Testing
Unit Testing
 
TDD Workshop UTN 2012
TDD Workshop UTN 2012TDD Workshop UTN 2012
TDD Workshop UTN 2012
 
Making the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To TestingMaking the Unstable Stable - An Intro To Testing
Making the Unstable Stable - An Intro To Testing
 
Project Onion unit test environment
Project Onion unit test environmentProject Onion unit test environment
Project Onion unit test environment
 
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptxOS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
OS-Final-Transform-Manual-Testing-Processes-to-incorporate-Automatio....pptx
 
Test-Driven-Development.pptx
Test-Driven-Development.pptxTest-Driven-Development.pptx
Test-Driven-Development.pptx
 
Automated Testing with Agile
Automated Testing with AgileAutomated Testing with Agile
Automated Testing with Agile
 
Why Unit Testingl
Why Unit TestinglWhy Unit Testingl
Why Unit Testingl
 
Why unit testingl
Why unit testinglWhy unit testingl
Why unit testingl
 
Why Unit Testingl
Why Unit TestinglWhy Unit Testingl
Why Unit Testingl
 
(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know(Agile) engineering best practices - What every project manager should know
(Agile) engineering best practices - What every project manager should know
 
Automation Testing with Test Complete
Automation Testing with Test CompleteAutomation Testing with Test Complete
Automation Testing with Test Complete
 
Software testing methods
Software testing methodsSoftware testing methods
Software testing methods
 
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdfEnhancing Quality and Test in Medical Device Design - Part 2.pdf
Enhancing Quality and Test in Medical Device Design - Part 2.pdf
 
Automated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra SolutionsAutomated Software Testing Framework Training by Quontra Solutions
Automated Software Testing Framework Training by Quontra Solutions
 
jDriver Presentation
jDriver PresentationjDriver Presentation
jDriver Presentation
 
Functional testing
Functional testingFunctional testing
Functional testing
 

More from TechWell

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and RecoveringTechWell
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization TechWell
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTechWell
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartTechWell
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyTechWell
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTechWell
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowTechWell
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityTechWell
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyTechWell
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTechWell
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipTechWell
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsTechWell
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GameTechWell
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsTechWell
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationTechWell
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessTechWell
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateTechWell
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessTechWell
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTechWell
 

More from TechWell (20)

Failing and Recovering
Failing and RecoveringFailing and Recovering
Failing and Recovering
 
Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization Instill a DevOps Testing Culture in Your Team and Organization
Instill a DevOps Testing Culture in Your Team and Organization
 
Test Design for Fully Automated Build Architecture
Test Design for Fully Automated Build ArchitectureTest Design for Fully Automated Build Architecture
Test Design for Fully Automated Build Architecture
 
System-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good StartSystem-Level Test Automation: Ensuring a Good Start
System-Level Test Automation: Ensuring a Good Start
 
Build Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test StrategyBuild Your Mobile App Quality and Test Strategy
Build Your Mobile App Quality and Test Strategy
 
Testing Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for SuccessTesting Transformation: The Art and Science for Success
Testing Transformation: The Art and Science for Success
 
Implement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlowImplement BDD with Cucumber and SpecFlow
Implement BDD with Cucumber and SpecFlow
 
Develop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your SanityDevelop WebDriver Automated Tests—and Keep Your Sanity
Develop WebDriver Automated Tests—and Keep Your Sanity
 
Ma 15
Ma 15Ma 15
Ma 15
 
Eliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps StrategyEliminate Cloud Waste with a Holistic DevOps Strategy
Eliminate Cloud Waste with a Holistic DevOps Strategy
 
Transform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOpsTransform Test Organizations for the New World of DevOps
Transform Test Organizations for the New World of DevOps
 
The Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—LeadershipThe Fourth Constraint in Project Delivery—Leadership
The Fourth Constraint in Project Delivery—Leadership
 
Resolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile TeamsResolve the Contradiction of Specialists within Agile Teams
Resolve the Contradiction of Specialists within Agile Teams
 
Pin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile GamePin the Tail on the Metric: A Field-Tested Agile Game
Pin the Tail on the Metric: A Field-Tested Agile Game
 
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile TeamsAgile Performance Holarchy (APH)—A Model for Scaling Agile Teams
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
 
A Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps ImplementationA Business-First Approach to DevOps Implementation
A Business-First Approach to DevOps Implementation
 
Databases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery ProcessDatabases in a Continuous Integration/Delivery Process
Databases in a Continuous Integration/Delivery Process
 
Mobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to AutomateMobile Testing: What—and What Not—to Automate
Mobile Testing: What—and What Not—to Automate
 
Cultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for SuccessCultural Intelligence: A Key Skill for Success
Cultural Intelligence: A Key Skill for Success
 
Turn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile TransformationTurn the Lights On: A Power Utility Company's Agile Transformation
Turn the Lights On: A Power Utility Company's Agile Transformation
 

Recently uploaded

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 

Recently uploaded (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 

Continuous Automated Regression Testing to the Rescue

  • 1.   BT4 Concurrent Session  11/14/2013 10:15 AM            "Continuous Automated Regression Testing to the Rescue"       Presented by: Brenda Kise ProtoLabs, Inc.             Brought to you by:        340 Corporate Way, Suite 300, Orange Park, FL 32073  888‐268‐8770 ∙ 904‐278‐0524 ∙ sqeinfo@sqe.com ∙ www.sqe.com
  • 2. Brenda Kise Proto Labs, Inc. Brenda Kise has fifteen years of experience in software, including development, test, test automation, management, and operations. Brenda has led teams that have automated testing from the ground up with a new code base and for Symantec’s NetBackup division, leading a team automating a legacy code base. In the first team, close to 100 percent automation was achieved using the JUnit framework in a tightly integrated Scrum/agile environment and went from a formal test cycle of six weeks to just eleven hours! At Symantec, with an 8 million line code base, the automation team focused on automating regression tests against the completed code base - going from 0% coverage to 14% coverage in one year. Brenda is currently managing a team of .NET developers working on internal applications and the Enterprise Data team doing business intelligence work for Proto Labs Inc.    
  • 3. 9/9/13   Continuous Automated Regression Testing to the Rescue! BRENDA KISE DEVELOPMENT MANAGER, PROTOLABS BRENDA.KISE@PROTOLABS.COM Brenda Kise - Proto Labs Inc. Who am I? —  Currently a development manager for Proto Labs Inc in Maple Plain MN —  Manage a team of C# developers —  Manage a team of Business Intelligence / Data Warehouse developers —  Proto Labs is a software company that does a little manufacturing on the side —  Hiring – growing by leaps and bounds Brenda Kise - Proto Labs Inc. 1  
  • 4. 9/9/13   Background —  16 years software experience —  Java / Database developer —  Managed operations, development, hardware buildouts, quality, test and automation teams —  Test team used Junit to automate 99% of tests ¡  Went from a 3-6 week test cycle to 8 hours —  Automation team gained code coverage ground against 200 developers Brenda Kise - Proto Labs Inc. Earlier is better —  The earlier after code check-in a defect is found, the easier it is to fix it —  Few people affected the earlier the defect is found —  Less paperwork involved when found earlier —  Often several layers of testing – if found early, less re-testing is needed —  If a defect makes it to customers, the repercussions can affect more than just the software Brenda Kise - Proto Labs Inc. 2  
  • 5. 9/9/13   Proof Earlier is Better Brenda Kise - Proto Labs Inc. Automated Testing —  Different levels for automation ¡  Component / Unit testing ÷ Generally done by developers ¡  Integration ¡  System level ¡  GUI Brenda Kise - Proto Labs Inc. 3  
  • 6. 9/9/13   How is the test automated? —  Run with each build ¡  Applications such as Hudson will run the unit tests and fail the build if the tests do not pass ¡  Immediate feedback, helps keep the build clean ¡  Can tell if someone is following process or not ÷ Broken build indicates coder did not run the build prior to checking into the main branch Brenda Kise - Proto Labs Inc. How is the test automated? —  Run on a schedule ¡  Generally need a test frame work to run the tests ¡  Developers can run the tests prior to check-in ¡  Process is dis-associated with the build ÷ Build is completed ÷ Regression tests kicked off through a chron job ÷ Need a check to ensure build does not fail prior to test kick-off ÷ Generally uses a separate system Brenda Kise - Proto Labs Inc. 4  
  • 7. 9/9/13   How is the test automated? —  Tester kicks off the test ¡  While this type of test is automated, it is not considered automated regression ¡  No schedule or automated kick-off, requires human intervention ¡  Still valuable as a time saving tool – allows the tester to work on something else while test is running ¡  Especially valuable for long scenarios Brenda Kise - Proto Labs Inc. How? —  Have a plan ¡  Are you working with a new code base? ¡  Are you focusing on unit / component testing? ¡  Is the code base stable? —  What level of testing? ¡  System ¡  Unit ¡  GUI Brenda Kise - Proto Labs Inc. 5  
  • 8. 9/9/13   How? —  Choose your tools ¡  Custom framework? ¡  Junit or Cunit? ¡  OTS software? ÷ Watir ÷ Selenium ÷ QuickTest Pro ÷ WinRunner Brenda Kise - Proto Labs Inc. How? —  Choose your approach ¡  Testers automate tests as they have time ÷ Like that ever happens ÷ Always seen as a secondary task ¡  Separate team of automaters ÷ Take tests that the testers use and automate ÷ Do not need to be experts in the areas of code ÷ Relies on well documented test scripts / scenarios ÷ Main focus of job Brenda Kise - Proto Labs Inc. 6  
  • 9. 9/9/13   How? —  What type of code are you testing? ¡  New code? ÷ Start with Unit tests – fastest and cheapest way to get a lot of code coverage ¡  Legacy Code? ÷ Do you have test hooks or command lines? ÷ Very difficult to add unit tests at this point ¡  Web site or program? ÷ Different approaches for each Brenda Kise - Proto Labs Inc. Case 1 —  FDA regulated website —  Written in Java, so used Junit —  Very specific requirements to test against —  Testing the values displayed on the website —  Did not include testing the webpage itself —  Tested against 6 languages —  Used drivers from Chrome, Firefox and IE Brenda Kise - Proto Labs Inc. 7  
  • 10. 9/9/13   Case 1 —  Previously used manual testing for majority of tests —  Took 6 weeks to complete a full regression run with no issues —  Testers were asked to automate tests as they had time —  Using custom written testing software – no off the shelf software Brenda Kise - Proto Labs Inc. Case 1 —  New code base started, done completely in Agile —  No previous code or tests were re-used —  Testers given training to use Junit – most had never used it prior —  Testers were not doing unit tests – considered component or integration tests —  Testers automated the tests as they created them Brenda Kise - Proto Labs Inc. 8  
  • 11. 9/9/13   Case 1 —  All integration, unit and component tests were written in the same sprint as the code —  Scrum teams were comprised of Product Owners, Business Analysts, Developer and Testers —  All tests had to run against all languages on Production Equivalent boxes —  4 levels of testing – subsystem, DAT, system and simulated use testing Brenda Kise - Proto Labs Inc. Case 1 —  Tests were created to specifically test each requirement (FDA requirement) —  Data was created and seeded into the database to test against ¡  Payload Data was actual production data that had been de-identified ¡  Very important to use as close to production data as possible —  Expected outcomes decided prior to tests being written Brenda Kise - Proto Labs Inc. 9  
  • 12. 9/9/13   Case 1 —  Junit tests / setups were created in a test project —  One piece of custom software used for testing was the ability to create patients / clinics / physicians with needed relationships ¡  Test frame work used the actual code to create the same as a human user would —  Setup file was run, then the test. —  Single failure would log, but test run would continue Brenda Kise - Proto Labs Inc. Case 1 —  Code was exercised in test using the interface ¡  Code was a client server base – published interfaces for all components —  XML being delivered to the web browser was intercepted and searched for the values expected —  Logged whether value found or not Brenda Kise - Proto Labs Inc. 10  
  • 13. 9/9/13   Case 1 —  Things to remember 1.  Does not test the page layout, only the content 2.  Works especially well if calculations are performed prior to display 3.  Can be used with graphics, although this is consuming to get done and every time the data changes the test has to be recaptured Brenda Kise - Proto Labs Inc. Case 1 —  Since the test code was created in it’s own project, it was compiled and then run on each localized environment —  All information was logged, including pass, fail, start and end time —  Logs were scraped and funneled to a status website used by management ¡  Thus relieving the testers of the inevitable question – are you done yet? —  Logs were archived as testing evidence for the release Brenda Kise - Proto Labs Inc. 11  
  • 14. 9/9/13   Case 1 —  Questions or comments about the first style of test automation? Brenda Kise - Proto Labs Inc. Case 2 —  Large software package —  Had a web interface, but not tested with automation —  Code was written in C++ / Java / XML —  Vague requirements to test against —  Testing to ensure functionality —  Tested against all supported versions of Linux, Windows, Solaris, HP Brenda Kise - Proto Labs Inc. 12  
  • 15. 9/9/13   Case 2 —  Still using manual testing for majority of tests —  Testers were asked to automate tests as they had time —  Manual tests were run through the different GUIs available to the customer (Java, MVC and Web) —  Test steps left to the individual tester, rarely written in detail Brenda Kise - Proto Labs Inc. Case 2 —  Single legacy code base, with modules added —  Very little component style coding —  Code had an extensive command line availability —  Very little code coverage from unit tests ¡  Since it was mostly one big pile of code, hard to test small areas —  Testers and automaters were separate skills Brenda Kise - Proto Labs Inc. 13  
  • 16. 9/9/13   Case 2 —  Test automation happened on it’s own schedule, without regard to releases —  Automation team was divided into three areas ¡  Test engine and tools ¡  Automation Leads ¡  Automaters —  All tests had to run against all OS flavors supported —  3 levels of testing – manual testing, automated regression and system level testing Brenda Kise - Proto Labs Inc. Case 2 —  Large test harness created to run the tests ¡  3 full time people working on it ¡  1 million + lines of Perl code ¡  Included log scrapers, setup code and failure processing —  Automation script would call setup routines from the test harness to do standard things ¡  Create storage unit, create back files etc —  Expected outcomes decided prior to automation scripts being written Brenda Kise - Proto Labs Inc. 14  
  • 17. 9/9/13   Case 2 —  Automaters are not testers – they are developers —  Automaters do not create the tests, test steps or decide what to test —  Are not experts on the code or the functionality since they works across a large area of code —  Allowed automation to continue no matter what the shape of the release —  Need a stable code base – attempt this type of automation on a moving target is immensely painful. Brenda Kise - Proto Labs Inc. Case 2 —  Code was exercised using the published command lines —  Looking for code coverage, not edge cases —  Covered the “vanilla” cases – allowed manual testers to concentrate on more complex cases not able to be tested in automation Brenda Kise - Proto Labs Inc. 15  
  • 18. 9/9/13   Case 2 —  Things to remember 1.  Need a stable code base 2.  Needs either command line or interface to call 3.  Often will need help from both development and test 1.  If the test case says something like “test X” with no steps, only tester knows what they mean. 2.  Amazing how often the command line information and error code details were incorrect Brenda Kise - Proto Labs Inc. Case 2 —  All automation was written in Perl —  All information was logged, including pass, fail, start and end time ¡  Timing was important in this case – when tests started running long it was usually an early issue indicator —  Logs were scraped and funneled to a storage area to be used if needed for debugging of issues found —  Pass / Failures were automatically uploaded to a webpage Brenda Kise - Proto Labs Inc. 16  
  • 19. 9/9/13   Case 2 —  Developers were expected to run specific tests against their code prior to check in. —  Unfortunately, any break in a regression test was automatically assumed to be a bad test ¡  Had an entire team in China that would analyze test results and create issue reports —  Regression score was used by management to show health of the release ¡  If < 80% of test passed, score was 0 ¡  Only a singe instance of a perfect regression score in the 6 years it has been running Brenda Kise - Proto Labs Inc. Case 2 —  While you can get massive amounts of regression testing, very expensive approach —  Team of 10 full time employees and 15 part time contractors, plus a team of 8 doing analysis —  Massive hardware usage – several hundred VMs on a nightly basis —  Had so many tests running took a full 24 hours to complete a full run against a single build Brenda Kise - Proto Labs Inc. 17  
  • 20. 9/9/13   Case 2 —  Advantages of using Perl to test C code: ¡  You can start small – you don’t need a full test harness, although you will like find yourself creating one to do basic setup tasks ÷ Watch out, this takes on a life of it’s own ¡  Can use a Chron job or Hudson to kick off the test scripts ¡  Logging is easy and straightforward in Perl Brenda Kise - Proto Labs Inc. Case 2 —  Questions or comments about the second style of test automation? Brenda Kise - Proto Labs Inc. 18  
  • 21. 9/9/13   Take Aways —  Have a plan! —  Know what type of testing you are trying to accomplish —  Know what type of results you are looking for ¡  Code coverage? ¡  Regression for found bugs? —  Know what type of team you are working with ¡  Automaters or testers? Brenda Kise - Proto Labs Inc. 19