SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
 
	
  
	
  
	
  
T8	
  
Test	
  Techniques	
  
10/6/16	
  11:15	
  
	
  
	
  
	
  
	
  
	
  
Agile	
  Strategies	
  for	
  Traditional	
  
Software	
  Development	
  Teams	
  
Presented	
  by:	
  	
  
	
  
	
   Melanie	
  Drake	
   	
  
	
  
SAS	
  
	
  
Brought	
  to	
  you	
  by:	
  	
  
	
  	
  
	
  
	
  
	
  
	
  
350	
  Corporate	
  Way,	
  Suite	
  400,	
  Orange	
  Park,	
  FL	
  32073	
  	
  
888-­‐-­‐-­‐268-­‐-­‐-­‐8770	
  ·∙·∙	
  904-­‐-­‐-­‐278-­‐-­‐-­‐0524	
  -­‐	
  info@techwell.com	
  -­‐	
  http://www.starwest.techwell.com/	
  	
  	
  
	
  
	
  	
  
 
	
  
Melanie	
  Drake	
  
	
  
	
  
A	
  senior	
  development	
  tester	
  for	
  JMP,	
  a	
  division	
  of	
  SAS,	
  Melanie	
  Drake	
  has	
  twenty	
  
years	
  of	
  experience	
  in	
  software	
  documentation,	
  testing,	
  and	
  development.	
  She	
  
currently	
  tests	
  a	
  scripting	
  language,	
  display	
  components,	
  and	
  leads	
  installer	
  
validation	
  for	
  JMP¨,	
  statistical	
  discovery	
  software.	
  In	
  addition	
  to	
  her	
  regular	
  testing	
  
duties,	
  Melanie	
  is	
  part	
  of	
  a	
  cross-­‐functional	
  team	
  that	
  implements	
  and	
  maintains	
  a	
  
system	
  of	
  software	
  builds,	
  automated	
  testing,	
  CI	
  builds,	
  data	
  gathering,	
  and	
  reports.	
  
Her	
  driving	
  passion	
  is	
  using	
  JMP	
  to	
  test	
  JMP	
  and	
  to	
  analyze	
  the	
  results.	
  
Copyright © 2013, SAS Institute Inc. All rights reserved.
Incorporating Agile Testing Tools
Into More Traditional Software
Development Processes
Copyright © 2013, SAS Institute Inc. All rights reserved.
BACKGROUND WHAT DO I DO?
• I test statistical software
• No, I am not a statistician
• Yes, I use statistics
Copyright © 2013, SAS Institute Inc. All rights reserved.
THE BIG IDEA PRODUCT VS PROCESSES
Your processes serve
you and your product.
Your product does not serve
your processes.
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
1. Customer satisfaction by early and continuous
delivery of valuable software
3. Working software is delivered frequently (weeks
rather than months)
We keep to a regular schedule:
• A main release every 18 months
• Two maintenance releases:
• 4-5 months after the main
• 5-6 months after the first maintenance – fully localized release
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
2. Welcome changing requirements, even in late
development
• We freeze new (large) features about 4 months before
code freeze
• This prevents large numbers of very late features
• It doesn’t prevent all late features
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
4. Close, daily cooperation between business people
and developers
• Certainly on-going
• Additionally, some of our developers have close
relationships directly with customers
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
5. Projects are built around motivated individuals,
who should be trusted
11. Best architectures, requirements, and designs
emerge from self-organizing teams
• Teams bubble up around projects depending on who has
the interest, expertise, and time
• Our managers are all working managers - they work a lot,
and they manage a little
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
6. Face-to-face conversation is the best form of
communication (co-location)
• Yes, though we have a handful of remote employees and
a small team of testers in Beijing
• Many problems have been solved in impromptu hallway
conversations
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
7. Working software is the
principal measure of
progress
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
8. Sustainable development, able to maintain a
constant pace
• Our company has a very strong commitment to work-life
balance
• Peaks and valleys in software development occur, but our
lives do not belong to the company or a project or a
release
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
9. Continuous attention to technical excellence and
good design
• We continually update and fix internals that customers will
never even see
• We have pulled features and moved them to the next
release if they were deemed unready
• For large-scale features and changes, we design first,
then code
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
10. Simplicity—the art of maximizing the amount of
work not done—is essential
• We have very low process. Write code. Test software.
Write docs.
• Most of our tracking is done in a bug tracking system and
we use a wiki to collect shared information
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES
12. Regularly, the team reflects on how to become
more effective, and adjusts accordingly
• We use a retrospective where everyone has a voice, and
we adjust and improve
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE THOUGHTS ONE LAST THOUGHT
Except for the goal to deliver software constantly
(1 and 3), very few of those principles pertain
only to agile software development
Copyright © 2013, SAS Institute Inc. All rights reserved.
AGILE PROCESSES WHAT WE HAVE ADDED THROUGH THE YEARS
• Daily Builds
• Regression Test Framework – Runs Daily with Full Reports
• Daily Installers
• Machines to run the regression tests on every operating system we
support (usually 8-10)
• Database of all regression reports for historical tracking
• Tools so anyone can run daily changelist builds through time
• The retrospective (after each main release, every 18 months)
• Jenkins for builds and regression tests for each changelist
• Data mining on code repository, bugs database, and test results for
analysis
Copyright © 2013, SAS Institute Inc. All rights reserved.
DAILY BUILDS JMP: THE EARLY DAYS
• The first version of JMP was released in 1989 with a handful of
developers – no testers and nothing was automated
• By 1996 (JMP 4), we ran on Windows and Macintosh both, and the
primary tester started making her own daily builds for testing
purposes manually
• Not long after that, making daily builds became official and was
moved to someone who came in at 6am, and he automated the
process – Automated Daily Builds were born!
For several years, that was what we had – automated daily builds,
ready every morning. Everyone knew if someone had broken the build
on any given morning and broken builds were fixed quickly.
Copyright © 2013, SAS Institute Inc. All rights reserved.
REGRESSION
TESTING
A HUGE LEAP FORWARD
• With JMP 7 (2005), our automated test framework debuted
• Although JMP has always been a GUI application (even in 1989!),
it also has a robust scripting language (JSL)
• The framework was written in JSL, and testers
started writing tests, based on both current
testing and already-reported bugs
• Since we had daily builds available, the test
framework was automated
• At that time, every morning the testers had a daily
build for Windows and Macintosh and a report
showing test failures on each build machine
Copyright © 2013, SAS Institute Inc. All rights reserved.
DAILY INSTALLERS THE NEXT STEPS
• Note that we had builds only – you had to install JMP, then copy the
executable, the dlls, the string files, etc. by hand to run the latest
• The clamor was heard for daily installers
• Every day at slightly after midnight, builds are kicked off, and when
the builds are finished, installers are created
• Then, using a system of hard machines and VMs, the installers are
copied to and run on a variety of machines – today, that’s 3 Windows
versions (7, 8.1, and 10) and 5 Macintosh versions (10.8-10.12, which
includes the developer’s version of Sierra, not yet released)
• Finally, the daily tests are run, which take between 3-4 hours to
complete
Copyright © 2013, SAS Institute Inc. All rights reserved.
COLLECTING DATA TESTBOT
• After tests are run, the results are injected into a database
• A set of php web pages display the results
• We have a lot of historical data
• Great for analyzing trends
• Useful for pinpointing when a particular failure started
• Emails are sent to testers with the current results 3 times a day
• We are currently running 2 entire sets – the current maintenance
release and the next major release
• They are run in sequence, since doubling our computing resources
was expensive – not to mention the few times we need 3 batches
Copyright © 2013, SAS Institute Inc. All rights reserved.
TESTBOT DAILY REPORT EXAMPLE
Copyright © 2013, SAS Institute Inc. All rights reserved.
JMPRUNNER
AND BLAME
MORE TOOLS!
• As testers, we know that the more
information you can give a developer about a
bug, the faster it will get fixed
• With daily test results, we could at least get a
bug down to a particular day it started
• We wanted more, and so did the developers
• One of them developed a Windows tool and
got a server for it – it collects daily builds and
creates changelist builds – as long as you have the appropriate
version installed, you can run any of them – jmprunner! Soon
thereafter, another developer created a tool to do something similar
on Macintosh – he called it blame
• A tester can now pinpoint a changelist as the cause of a bug
Copyright © 2013, SAS Institute Inc. All rights reserved.
RETROSPECTIVES DOESN’T EVERYONE ENJOY REMINISCING?
We instituted a retrospective with JMP 8, held shortly after every main
version release (every 18 months!)
• Everyone can anonymously report on things that went well, things
that didn’t go well, and suggestions for improvement in any area
• 1-day meeting where these items are discussed, starting with the
good – we want to continue doing those
• The “didn’t work” items are taped on the walls, and everyone votes for
the problems we should address with stickers
• The top few “winners” get further discussion, and volunteers for small
groups to brainstorm solutions and work on getting them in place
Some improvements that have come out of retrospectives include
Baseline tests, Jenkins, better ways to manage branching, greatly
expanded beta program, better freeze date management
Copyright © 2013, SAS Institute Inc. All rights reserved.
BASELINE TESTS IF THESE DON’T PASS, WE’RE IN TROUBLE
• We were still operating on a daily basis
as far as tests went
• Developers wanted to find horrible
problems before pushing their code
• They could run the test framework, but it’s hard for them to know
which tests to run, and the whole thing takes hours in a release build
and about a day in a debug build
• So we developed a subset of tests, called “Baseline tests”
• They cover all the basic operations that ought never fail, and run in
about 5 minutes on a release build and about 10 on a debug build
• Now developers can run those tests before submitting code – it won’t
catch everything, but it catches the types of failures that cause
massive headaches in the full daily test run
Copyright © 2013, SAS Institute Inc. All rights reserved.
JENKINS BECAUSE DEVELOPERS NEED A BUTLER
• Let’s face it – developers by long habit do not run baseline tests every
time they push code
• And so Jenkins was born:
• A system of VMs that make changelist builds to catch build errors
on-the-go
• Jenkins also runs the baseline tests against each changelist build
• If you break the build or cause a baseline test error, you get an email
immediately and are expected to fix it immediately
Copyright © 2013, SAS Institute Inc. All rights reserved.
DATA MINING SOME EXAMPLE REPORTS
Code Activity for JMP 13.0
Timing Data
Bug Reports
Tech Support Data
Copyright © 2013, SAS Institute Inc. All rights reserved.
SUMMARY WHAT DO WE GET FOR ALL THIS WORK?
Tool LOE ROI
Daily Builds Medium High
Daily Regression Test Suite High -> Medium Very High
Daily Installers Medium High
Suite of hardware and VMs to run
tests on a variety of operating
systems
Very High High
Database to hold and present
current and historical test results
Medium-High High
Tools to easily run changelist builds Medium Very High
Retrospective Low Medium-High
Baseline Tests and Jenkins Medium High
Data Mining and Analysis Medium Very High
Copyright © 2013, SAS Institute Inc. All rights reserved.
TEST SUITE MORE DETAILS – A LOT MORE DETAILS
• Test Suites never stop growing!
• Nearly 70,000 individual tests in over 2000 files
• 1500-2000 failures every day – many are old minor bugs that never
get fixed
• Added a system to filter out failures on open bug so we don’t have
to figure out which ones are new and important and which ones are
already known
• Then why have them? (bugs are still open, so there’s hope!)
• Refinements made since its first installment:
• Daily emails to testers with results
• Database with all results through time, allowing many different views
of failure data
• Using our own software, we can run queries against the database
and then analyze the data
Copyright © 2013, SAS Institute Inc. All rights reserved.
TEST SUITE SIDE BENEFITS
• “Eat Your Own Dog Food”: We use JMP to test JMP
• Specific tests catch specific failures
• For architectural changes, individual tests and the entire test system
itself can break in unforeseen ways
• In the past few years, we’ve leveraged this:
• For large architectural changes, we can run the entire test suite as a
side project, and get all the same information without overwriting the
official results
• Comparing results shows problems
• Iterate between fixes and tests outside the official build
• Submit code when it’s ready
Copyright © 2013, SAS Institute Inc. All rights reserved.
FUTURE WHO KNOWS WHERE THE FUTURE WILL TAKE US?
• Tracking crash reports
• Changing branch management
• ???
Copyright © 2013, SAS Institute Inc. All rights reserved.
CONTACT ME
Melanie Drake
Senior Development Tester, JMP
Melanie.Drake@jmp.com

Contenu connexe

Tendances

Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consult
Tomas Riha
 
Bringing CD to the DoD
Bringing CD to the DoDBringing CD to the DoD
Bringing CD to the DoD
Gene Gotimer
 
Pay pal paypal continuous performance as a self-service with fully-automated...
Pay pal  paypal continuous performance as a self-service with fully-automated...Pay pal  paypal continuous performance as a self-service with fully-automated...
Pay pal paypal continuous performance as a self-service with fully-automated...
Dynatrace
 

Tendances (20)

The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014The Continuous delivery Value @ codemotion 2014
The Continuous delivery Value @ codemotion 2014
 
TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation TheTricky Bits of Deployment Automation
TheTricky Bits of Deployment Automation
 
Continuous delivery @wcap 5-09-2013
Continuous delivery   @wcap 5-09-2013Continuous delivery   @wcap 5-09-2013
Continuous delivery @wcap 5-09-2013
 
Building an Automated Database Deployment Pipeline
Building an Automated Database Deployment PipelineBuilding an Automated Database Deployment Pipeline
Building an Automated Database Deployment Pipeline
 
Dev ops is more than CI+CD tools
Dev ops is more than CI+CD toolsDev ops is more than CI+CD tools
Dev ops is more than CI+CD tools
 
Continuous Delivery Distilled
Continuous Delivery DistilledContinuous Delivery Distilled
Continuous Delivery Distilled
 
Continuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database InsightsContinuous Delivery at Oracle Database Insights
Continuous Delivery at Oracle Database Insights
 
Rapid software testing and conformance with static code analysis
Rapid software testing and conformance with static code analysisRapid software testing and conformance with static code analysis
Rapid software testing and conformance with static code analysis
 
Continuous delivery @åf consult
Continuous delivery @åf consultContinuous delivery @åf consult
Continuous delivery @åf consult
 
How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks How to go from waterfall app dev to secure agile development in 2 weeks
How to go from waterfall app dev to secure agile development in 2 weeks
 
The Continuous delivery value - Funaro
The Continuous delivery value - FunaroThe Continuous delivery value - Funaro
The Continuous delivery value - Funaro
 
Bringing CD to the DoD
Bringing CD to the DoDBringing CD to the DoD
Bringing CD to the DoD
 
Automated Testing Using Selenium
Automated Testing Using SeleniumAutomated Testing Using Selenium
Automated Testing Using Selenium
 
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValueDevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
DevOps Continuous Integration & Delivery - A Whitepaper by RapidValue
 
ApexUnit: Open source test framework for apex
ApexUnit: Open source test framework for apexApexUnit: Open source test framework for apex
ApexUnit: Open source test framework for apex
 
Pay pal paypal continuous performance as a self-service with fully-automated...
Pay pal  paypal continuous performance as a self-service with fully-automated...Pay pal  paypal continuous performance as a self-service with fully-automated...
Pay pal paypal continuous performance as a self-service with fully-automated...
 
How To Introduce Cloud Based Load Testing to Your Jenkins Continuous Delivery...
How To Introduce Cloud Based Load Testing to Your Jenkins Continuous Delivery...How To Introduce Cloud Based Load Testing to Your Jenkins Continuous Delivery...
How To Introduce Cloud Based Load Testing to Your Jenkins Continuous Delivery...
 
Jonny wooldridge DevOps Large and Small
Jonny wooldridge DevOps Large and SmallJonny wooldridge DevOps Large and Small
Jonny wooldridge DevOps Large and Small
 
Continuous integration practices to improve the software quality
Continuous integration practices to improve the software qualityContinuous integration practices to improve the software quality
Continuous integration practices to improve the software quality
 
Continuous delivery for databases
Continuous delivery for databasesContinuous delivery for databases
Continuous delivery for databases
 

En vedette

En vedette (20)

Agile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful InformationAgile Testing Process Analytics: From Data to Insightful Information
Agile Testing Process Analytics: From Data to Insightful Information
 
Making the Move to Behavior-Driven Development
Making the Move to Behavior-Driven DevelopmentMaking the Move to Behavior-Driven Development
Making the Move to Behavior-Driven Development
 
A Day in the Life of a Test Architect
A Day in the Life of a Test ArchitectA Day in the Life of a Test Architect
A Day in the Life of a Test Architect
 
Get a Handle on Your Test Data—Starting Now
Get a Handle on Your Test Data—Starting NowGet a Handle on Your Test Data—Starting Now
Get a Handle on Your Test Data—Starting Now
 
The Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing StrategyThe Three Pillars Approach to an Agile Testing Strategy
The Three Pillars Approach to an Agile Testing Strategy
 
Testing in the Dark
Testing in the DarkTesting in the Dark
Testing in the Dark
 
Big Data, Big Trouble: Getting into the Flow of Hadoop Testing
Big Data, Big Trouble: Getting into the Flow of Hadoop TestingBig Data, Big Trouble: Getting into the Flow of Hadoop Testing
Big Data, Big Trouble: Getting into the Flow of Hadoop Testing
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
Agile Testing at Etsy: How and Why It Works
Agile Testing at Etsy: How and Why It WorksAgile Testing at Etsy: How and Why It Works
Agile Testing at Etsy: How and Why It Works
 
Comprehensive Performance Testing: From Early Dev to Live Production
Comprehensive Performance Testing: From Early Dev to Live ProductionComprehensive Performance Testing: From Early Dev to Live Production
Comprehensive Performance Testing: From Early Dev to Live Production
 
Testing in an Agile World: The Current State and Future Possibilities
Testing in an Agile World: The Current State and Future PossibilitiesTesting in an Agile World: The Current State and Future Possibilities
Testing in an Agile World: The Current State and Future Possibilities
 
Automated Testing: Go Beyond the Basics
Automated Testing: Go Beyond the BasicsAutomated Testing: Go Beyond the Basics
Automated Testing: Go Beyond the Basics
 
The Journey to Continuous Testing
The Journey to Continuous TestingThe Journey to Continuous Testing
The Journey to Continuous Testing
 
Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper
Testing in a Continuous Delivery Pipeline: Faster, Better, CheaperTesting in a Continuous Delivery Pipeline: Faster, Better, Cheaper
Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper
 
Agile Metrics: Make Better Decisions with Data
Agile Metrics: Make Better Decisions with DataAgile Metrics: Make Better Decisions with Data
Agile Metrics: Make Better Decisions with Data
 
It’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory TestingIt’s Time to Automate Your Exploratory Testing
It’s Time to Automate Your Exploratory Testing
 
Adaptive Automation: Tests that Recover Instead of Failing
Adaptive Automation: Tests that Recover Instead of FailingAdaptive Automation: Tests that Recover Instead of Failing
Adaptive Automation: Tests that Recover Instead of Failing
 
IoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really DifferentIoT Software Testing Challenges: The IoT World Is Really Different
IoT Software Testing Challenges: The IoT World Is Really Different
 
Seven Steps to Pragmatic Mobile Testing
Seven Steps to Pragmatic Mobile TestingSeven Steps to Pragmatic Mobile Testing
Seven Steps to Pragmatic Mobile Testing
 
A DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software QualityA DevOps Primer: Whole Team Approaches for Better Software Quality
A DevOps Primer: Whole Team Approaches for Better Software Quality
 

Similaire à Agile Strategies for Traditional Software Development Teams

Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)
Phani Thoota
 
Introduction to lean and agile
Introduction to lean and agileIntroduction to lean and agile
Introduction to lean and agile
Terry Bunio
 

Similaire à Agile Strategies for Traditional Software Development Teams (20)

Cyber security - It starts with the embedded system
Cyber security - It starts with the embedded systemCyber security - It starts with the embedded system
Cyber security - It starts with the embedded system
 
Using JMeter Scripts in CloudTest for Continuous Testing
Using JMeter Scripts in CloudTest for Continuous TestingUsing JMeter Scripts in CloudTest for Continuous Testing
Using JMeter Scripts in CloudTest for Continuous Testing
 
Using JMeter in CloudTest for Continuous Testing
Using JMeter in CloudTest for Continuous TestingUsing JMeter in CloudTest for Continuous Testing
Using JMeter in CloudTest for Continuous Testing
 
DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013DevOps / Agile Tools Seminar 2013
DevOps / Agile Tools Seminar 2013
 
SplunkLive! London 2015 - DevOps Breakout
SplunkLive! London 2015 - DevOps BreakoutSplunkLive! London 2015 - DevOps Breakout
SplunkLive! London 2015 - DevOps Breakout
 
Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)Resume_Thoota_Phani (2)
Resume_Thoota_Phani (2)
 
Programming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT worldProgramming languages and techniques for today’s embedded andIoT world
Programming languages and techniques for today’s embedded andIoT world
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Pressman ch-1-software
Pressman ch-1-softwarePressman ch-1-software
Pressman ch-1-software
 
Introduction to lean and agile
Introduction to lean and agileIntroduction to lean and agile
Introduction to lean and agile
 
Continuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and JenkinsContinuous Load Testing with CloudTest and Jenkins
Continuous Load Testing with CloudTest and Jenkins
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
Leveraging Analytics for DevOps
Leveraging Analytics for DevOpsLeveraging Analytics for DevOps
Leveraging Analytics for DevOps
 
Cloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak KoyuncuCloud for Agile Testing - Burak Koyuncu
Cloud for Agile Testing - Burak Koyuncu
 
Rajesh Paleru
Rajesh PaleruRajesh Paleru
Rajesh Paleru
 
Building High Quality Android Applications
Building High Quality Android ApplicationsBuilding High Quality Android Applications
Building High Quality Android Applications
 
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
4.4.2013 Software Quality - Regression Testing Automated and Manual - RFT/RQM
 
DevOps Overview in my own words
DevOps Overview in my own wordsDevOps Overview in my own words
DevOps Overview in my own words
 
SAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationSAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous Integration
 

Plus de TechWell

Plus de 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
 

Dernier

+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 

Dernier (20)

Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verifiedSector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
Sector 18, Noida Call girls :8448380779 Model Escorts | 100% verified
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Agile Strategies for Traditional Software Development Teams

  • 1.         T8   Test  Techniques   10/6/16  11:15             Agile  Strategies  for  Traditional   Software  Development  Teams   Presented  by:         Melanie  Drake       SAS     Brought  to  you  by:                 350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073     888-­‐-­‐-­‐268-­‐-­‐-­‐8770  ·∙·∙  904-­‐-­‐-­‐278-­‐-­‐-­‐0524  -­‐  info@techwell.com  -­‐  http://www.starwest.techwell.com/            
  • 2.     Melanie  Drake       A  senior  development  tester  for  JMP,  a  division  of  SAS,  Melanie  Drake  has  twenty   years  of  experience  in  software  documentation,  testing,  and  development.  She   currently  tests  a  scripting  language,  display  components,  and  leads  installer   validation  for  JMP¨,  statistical  discovery  software.  In  addition  to  her  regular  testing   duties,  Melanie  is  part  of  a  cross-­‐functional  team  that  implements  and  maintains  a   system  of  software  builds,  automated  testing,  CI  builds,  data  gathering,  and  reports.   Her  driving  passion  is  using  JMP  to  test  JMP  and  to  analyze  the  results.  
  • 3. Copyright © 2013, SAS Institute Inc. All rights reserved. Incorporating Agile Testing Tools Into More Traditional Software Development Processes
  • 4. Copyright © 2013, SAS Institute Inc. All rights reserved. BACKGROUND WHAT DO I DO? • I test statistical software • No, I am not a statistician • Yes, I use statistics
  • 5. Copyright © 2013, SAS Institute Inc. All rights reserved. THE BIG IDEA PRODUCT VS PROCESSES Your processes serve you and your product. Your product does not serve your processes.
  • 6. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 1. Customer satisfaction by early and continuous delivery of valuable software 3. Working software is delivered frequently (weeks rather than months) We keep to a regular schedule: • A main release every 18 months • Two maintenance releases: • 4-5 months after the main • 5-6 months after the first maintenance – fully localized release
  • 7. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 2. Welcome changing requirements, even in late development • We freeze new (large) features about 4 months before code freeze • This prevents large numbers of very late features • It doesn’t prevent all late features
  • 8. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 4. Close, daily cooperation between business people and developers • Certainly on-going • Additionally, some of our developers have close relationships directly with customers
  • 9. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 5. Projects are built around motivated individuals, who should be trusted 11. Best architectures, requirements, and designs emerge from self-organizing teams • Teams bubble up around projects depending on who has the interest, expertise, and time • Our managers are all working managers - they work a lot, and they manage a little
  • 10. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 6. Face-to-face conversation is the best form of communication (co-location) • Yes, though we have a handful of remote employees and a small team of testers in Beijing • Many problems have been solved in impromptu hallway conversations
  • 11. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 7. Working software is the principal measure of progress
  • 12. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 8. Sustainable development, able to maintain a constant pace • Our company has a very strong commitment to work-life balance • Peaks and valleys in software development occur, but our lives do not belong to the company or a project or a release
  • 13. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 9. Continuous attention to technical excellence and good design • We continually update and fix internals that customers will never even see • We have pulled features and moved them to the next release if they were deemed unready • For large-scale features and changes, we design first, then code
  • 14. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 10. Simplicity—the art of maximizing the amount of work not done—is essential • We have very low process. Write code. Test software. Write docs. • Most of our tracking is done in a bug tracking system and we use a wiki to collect shared information
  • 15. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ANALYZING THE TWELVE PRINCIPLES 12. Regularly, the team reflects on how to become more effective, and adjusts accordingly • We use a retrospective where everyone has a voice, and we adjust and improve
  • 16. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE THOUGHTS ONE LAST THOUGHT Except for the goal to deliver software constantly (1 and 3), very few of those principles pertain only to agile software development
  • 17. Copyright © 2013, SAS Institute Inc. All rights reserved. AGILE PROCESSES WHAT WE HAVE ADDED THROUGH THE YEARS • Daily Builds • Regression Test Framework – Runs Daily with Full Reports • Daily Installers • Machines to run the regression tests on every operating system we support (usually 8-10) • Database of all regression reports for historical tracking • Tools so anyone can run daily changelist builds through time • The retrospective (after each main release, every 18 months) • Jenkins for builds and regression tests for each changelist • Data mining on code repository, bugs database, and test results for analysis
  • 18. Copyright © 2013, SAS Institute Inc. All rights reserved. DAILY BUILDS JMP: THE EARLY DAYS • The first version of JMP was released in 1989 with a handful of developers – no testers and nothing was automated • By 1996 (JMP 4), we ran on Windows and Macintosh both, and the primary tester started making her own daily builds for testing purposes manually • Not long after that, making daily builds became official and was moved to someone who came in at 6am, and he automated the process – Automated Daily Builds were born! For several years, that was what we had – automated daily builds, ready every morning. Everyone knew if someone had broken the build on any given morning and broken builds were fixed quickly.
  • 19. Copyright © 2013, SAS Institute Inc. All rights reserved. REGRESSION TESTING A HUGE LEAP FORWARD • With JMP 7 (2005), our automated test framework debuted • Although JMP has always been a GUI application (even in 1989!), it also has a robust scripting language (JSL) • The framework was written in JSL, and testers started writing tests, based on both current testing and already-reported bugs • Since we had daily builds available, the test framework was automated • At that time, every morning the testers had a daily build for Windows and Macintosh and a report showing test failures on each build machine
  • 20. Copyright © 2013, SAS Institute Inc. All rights reserved. DAILY INSTALLERS THE NEXT STEPS • Note that we had builds only – you had to install JMP, then copy the executable, the dlls, the string files, etc. by hand to run the latest • The clamor was heard for daily installers • Every day at slightly after midnight, builds are kicked off, and when the builds are finished, installers are created • Then, using a system of hard machines and VMs, the installers are copied to and run on a variety of machines – today, that’s 3 Windows versions (7, 8.1, and 10) and 5 Macintosh versions (10.8-10.12, which includes the developer’s version of Sierra, not yet released) • Finally, the daily tests are run, which take between 3-4 hours to complete
  • 21. Copyright © 2013, SAS Institute Inc. All rights reserved. COLLECTING DATA TESTBOT • After tests are run, the results are injected into a database • A set of php web pages display the results • We have a lot of historical data • Great for analyzing trends • Useful for pinpointing when a particular failure started • Emails are sent to testers with the current results 3 times a day • We are currently running 2 entire sets – the current maintenance release and the next major release • They are run in sequence, since doubling our computing resources was expensive – not to mention the few times we need 3 batches
  • 22. Copyright © 2013, SAS Institute Inc. All rights reserved. TESTBOT DAILY REPORT EXAMPLE
  • 23. Copyright © 2013, SAS Institute Inc. All rights reserved. JMPRUNNER AND BLAME MORE TOOLS! • As testers, we know that the more information you can give a developer about a bug, the faster it will get fixed • With daily test results, we could at least get a bug down to a particular day it started • We wanted more, and so did the developers • One of them developed a Windows tool and got a server for it – it collects daily builds and creates changelist builds – as long as you have the appropriate version installed, you can run any of them – jmprunner! Soon thereafter, another developer created a tool to do something similar on Macintosh – he called it blame • A tester can now pinpoint a changelist as the cause of a bug
  • 24. Copyright © 2013, SAS Institute Inc. All rights reserved. RETROSPECTIVES DOESN’T EVERYONE ENJOY REMINISCING? We instituted a retrospective with JMP 8, held shortly after every main version release (every 18 months!) • Everyone can anonymously report on things that went well, things that didn’t go well, and suggestions for improvement in any area • 1-day meeting where these items are discussed, starting with the good – we want to continue doing those • The “didn’t work” items are taped on the walls, and everyone votes for the problems we should address with stickers • The top few “winners” get further discussion, and volunteers for small groups to brainstorm solutions and work on getting them in place Some improvements that have come out of retrospectives include Baseline tests, Jenkins, better ways to manage branching, greatly expanded beta program, better freeze date management
  • 25. Copyright © 2013, SAS Institute Inc. All rights reserved. BASELINE TESTS IF THESE DON’T PASS, WE’RE IN TROUBLE • We were still operating on a daily basis as far as tests went • Developers wanted to find horrible problems before pushing their code • They could run the test framework, but it’s hard for them to know which tests to run, and the whole thing takes hours in a release build and about a day in a debug build • So we developed a subset of tests, called “Baseline tests” • They cover all the basic operations that ought never fail, and run in about 5 minutes on a release build and about 10 on a debug build • Now developers can run those tests before submitting code – it won’t catch everything, but it catches the types of failures that cause massive headaches in the full daily test run
  • 26. Copyright © 2013, SAS Institute Inc. All rights reserved. JENKINS BECAUSE DEVELOPERS NEED A BUTLER • Let’s face it – developers by long habit do not run baseline tests every time they push code • And so Jenkins was born: • A system of VMs that make changelist builds to catch build errors on-the-go • Jenkins also runs the baseline tests against each changelist build • If you break the build or cause a baseline test error, you get an email immediately and are expected to fix it immediately
  • 27. Copyright © 2013, SAS Institute Inc. All rights reserved. DATA MINING SOME EXAMPLE REPORTS Code Activity for JMP 13.0 Timing Data Bug Reports Tech Support Data
  • 28. Copyright © 2013, SAS Institute Inc. All rights reserved. SUMMARY WHAT DO WE GET FOR ALL THIS WORK? Tool LOE ROI Daily Builds Medium High Daily Regression Test Suite High -> Medium Very High Daily Installers Medium High Suite of hardware and VMs to run tests on a variety of operating systems Very High High Database to hold and present current and historical test results Medium-High High Tools to easily run changelist builds Medium Very High Retrospective Low Medium-High Baseline Tests and Jenkins Medium High Data Mining and Analysis Medium Very High
  • 29. Copyright © 2013, SAS Institute Inc. All rights reserved. TEST SUITE MORE DETAILS – A LOT MORE DETAILS • Test Suites never stop growing! • Nearly 70,000 individual tests in over 2000 files • 1500-2000 failures every day – many are old minor bugs that never get fixed • Added a system to filter out failures on open bug so we don’t have to figure out which ones are new and important and which ones are already known • Then why have them? (bugs are still open, so there’s hope!) • Refinements made since its first installment: • Daily emails to testers with results • Database with all results through time, allowing many different views of failure data • Using our own software, we can run queries against the database and then analyze the data
  • 30. Copyright © 2013, SAS Institute Inc. All rights reserved. TEST SUITE SIDE BENEFITS • “Eat Your Own Dog Food”: We use JMP to test JMP • Specific tests catch specific failures • For architectural changes, individual tests and the entire test system itself can break in unforeseen ways • In the past few years, we’ve leveraged this: • For large architectural changes, we can run the entire test suite as a side project, and get all the same information without overwriting the official results • Comparing results shows problems • Iterate between fixes and tests outside the official build • Submit code when it’s ready
  • 31. Copyright © 2013, SAS Institute Inc. All rights reserved. FUTURE WHO KNOWS WHERE THE FUTURE WILL TAKE US? • Tracking crash reports • Changing branch management • ???
  • 32. Copyright © 2013, SAS Institute Inc. All rights reserved. CONTACT ME Melanie Drake Senior Development Tester, JMP Melanie.Drake@jmp.com