SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
T8
Test Techniques
5/8/2014 11:15:00 AM
Designing for Testability:
Differentiator in a Competitive
Market
Presented by:
David Campbell
MITRE Corporation
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
David Campbell
MITRE Corporation
David Campbell has twenty-seven years of technical management and software development
experience focusing on high performance and real-time systems. Much of that time was spent
with Silicon Graphics Computer Systems and Kasenna, Inc. working on joint programs with
customers and partners from a wide variety of markets and development cultures. Today Dave
works for the MITRE Corporation directing a lab that focuses on research and evaluation of time
critical systems.
4/26/2014
1
| 1 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Designing For Testability
Dave Campbell
MITRE
Approved for Public Release; Distribution Unlimited. 14-0356
| 2 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Biography
Dave Campbell
– MITRE Corporation
Time Critical Systems
dcampbell@mitre.org
25 years of software development and technical
management
– Silicon Graphics Inc.
High Performance Servers and Workstations
Operating and Real Time Systems
Entertainment, Media, High Performance Solutions
– Kasenna Inc.
IPTV and Video Delivery Platforms
4/26/2014
2
| 3 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Continuing Problem
Software Systems are often key contributors to
program/project execution risk
- Schedule Delays
- Cost Overruns
- Reliability
- Security and Information Assurance
| 4 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Observation
When analyzing all the software systems that I
have observed over 27 years a trend becomes
clear:
Development organizations that take the
long view and invest in testing
infrastructure consistently outperform all
others in cost, schedule and quality
execution
4/26/2014
3
| 5 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Design for Testability (DFT)
Earliest stages of design must include test team
representation
– Requirements, Scheduling, Funding
No design is approved without a complete picture of
how each subsystem is tested independently or
integrated into system
Need to have long term view
– Initial hit to schedule and EVM (Earned Value Metrics)
Agile, Continuous, Waterfall – all methodologies can
support approach
Steps to Enforce Design Testability will Follow
| 6 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
What to Avoid
Evolving development into a process where
any comprehensive integration testing
requires all software and hardware system
components to be effective
Full system configuration dependency for
testing slows engineering productivity
–Lose agility
–Lose effectiveness of test coverage
–Forces big bang integration testing late in
development
What is your experience?
4/26/2014
4
| 7 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Example: Radar Processing
Classic example, involves distributed
hardware and software system components
–System of systems
Time Critical and batch processing
requirements
Service level agreement requirements
System that will be in operation for over 25
years with technology refreshes over lifespan
| 8 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Radar System Components
Web services takes requests/presents results
Other components manage radar and data it generates
Antenna
Controller
Radar Signal
Processing
Operations
and
Control
Web
Services
Repository
Clients
Does the design require all these
components to be available to
effectively integration test?
4/26/2014
5
| 9 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Designing for Testability, Step 1
Define Time Critical Core of System
Identify all timing critical areas of the system
– Understand constraints
– Concurrency and potential race conditions
Ensure implementation is self monitoring
– Reports violations
– Effective under loading and scaling
All ongoing testing must verify the time critical
processing is not compromised as system is
integrated
| 10 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Designing for Testability, Step 2
Ensure System Can Be Characterized
System must be able to be diagnosed
– Avoid debug and production builds
– Logging system must not alter system timing
– Distributed system traceability and time stamping
– Keep diagnostic capability native
Design to greater than capacity and service load
limits
– Define denial of service behavior
– Data drops or loss handling
4/26/2014
6
| 11 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Designing for Testability, Step 3
Define Component Simulators
Create high fidelity software simulations of key
system components
–Formalizes interfaces and messaging
–Resources for every developer, no sharing
–Validates the design of component
–Much more than stubbing
Simulated components allow testing of related
components independent of hardware availability
–Allow for introduction of error states
–Can be used throughout lifecycle
| 12 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Designing for Testability, Step 4
Data Injection and Taps
Identify areas in system where key data items
can be injected or extracted without performance
impact
–Identify APIs and necessary state setup
Create low impact tools to perform function,
insure the tools meet required performance
–Load generators, IA probes
Injectors and taps allow for post processing
analysis and inserting data generated from
hardware prototypes
4/26/2014
7
| 13 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Designing for Testability, Step 5
Apply Continuous Integration Testing
Integration testing never stops
– Avoid waiting on testing anything
– Capacity and service loading early and often
– Avoid point testing only of a capability
– Apply automation and testing frameworks
Use simulators, injectors and any available hardware
to construct test configurations
– Not uncommon for system to be used for hardware
debugging during day and running integration tests with
simulated hardware at night
Complex distributed systems of systems may have more end to
end dependencies than designers can predict, mitigate with a
testable design
| 14 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Tale of Two Engineering Teams
Two teams design and implement the same Video on
Demand (VOD) system for competitive contract award
– Requirements bound implementation choices
Team A designs for testability and implements many
of the necessary steps
Team B does not implement any testability
Team B initially performs better but as development
advances they become more dependent on limited
hardware configurations
Team A emerges with a product that has a much lower cost
of ownership
4/26/2014
8
| 15 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Key Factors Impacting Decision
Cost advantage emerges for Team A
– Shorter implementation time to add new capabilities
– Short reintegration time to fix and test defects
– Simulation components can be utilized for training and
provisioning of deployed system
Flexibility advantage emerges for Team A
– VOD was a new technology and many deployment
trials were needed with different configurations
– Increased ability to work with more partners, investors
DFT concepts eventually become part of the Open Cable
Architecture Specification
| 16 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Sample Steps Review
Define Time Critical Core of System
– Ensure this never breaks
Ensure System can be Characterized
– No performance impact, one implementation
High Fidelity Simulation Components
– Refine design, Provide flexibility, Key artifact
Data Injectors and Extractors
– Design for key points of system (i.e. IA boundaries)
Continuous Testing Approach
– Avoid the “big bang” and “one and done” scenarios
– Test hard stuff first, capacity and service loading
Use approaches that work within your project and culture
4/26/2014
9
| 17 |
© 2014 The MITRE Corporation. All rights reserved. For internal MITRE use
Conclusion
There is additional initial cost to a testable
design
Testable design needs to be defined in
specification and requirements, contract
deliverable
During development execution, need to resist
temptation to pull development resources
and funding away from testability efforts
High Performing Engineering Organizations Design for
Testability

Mais conteúdo relacionado

Mais procurados

Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation Strategy
Martin Ruddy
 
Whitepaper fluke
Whitepaper flukeWhitepaper fluke
Whitepaper fluke
Clair Kirby
 
Lean for Competitive Advantage and Customer Delight
Lean for Competitive Advantage and Customer DelightLean for Competitive Advantage and Customer Delight
Lean for Competitive Advantage and Customer Delight
Lean India Summit
 

Mais procurados (20)

Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and Planning
 
ITIL Best Practice for Software Companies
ITIL Best Practice for Software CompaniesITIL Best Practice for Software Companies
ITIL Best Practice for Software Companies
 
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
DevOps Workshop - Addressing Quality Challenges of Highly Complex and Integra...
 
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
Site Reliability Engineering: An Enterprise Adoption Story (an ITSM Academy W...
 
Test Automation Strategy
Test Automation StrategyTest Automation Strategy
Test Automation Strategy
 
Fundamental of testing
Fundamental of testingFundamental of testing
Fundamental of testing
 
How to Deliver Winning Mobile Apps
How to Deliver Winning Mobile AppsHow to Deliver Winning Mobile Apps
How to Deliver Winning Mobile Apps
 
Whitepaper fluke
Whitepaper flukeWhitepaper fluke
Whitepaper fluke
 
testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2testing throughout-the-software-life-cycle-section-2
testing throughout-the-software-life-cycle-section-2
 
Essential Test Management and Planning
Essential Test Management and PlanningEssential Test Management and Planning
Essential Test Management and Planning
 
Agile Maintenance 1.0
Agile Maintenance 1.0Agile Maintenance 1.0
Agile Maintenance 1.0
 
An Introduction to Software Performance Engineering
An Introduction to Software Performance EngineeringAn Introduction to Software Performance Engineering
An Introduction to Software Performance Engineering
 
Lean for Competitive Advantage and Customer Delight
Lean for Competitive Advantage and Customer DelightLean for Competitive Advantage and Customer Delight
Lean for Competitive Advantage and Customer Delight
 
SPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paperSPS IPC Drives 2015 - Itris Automation paper
SPS IPC Drives 2015 - Itris Automation paper
 
Top 8 Trends in Performance Engineering
Top 8 Trends in Performance EngineeringTop 8 Trends in Performance Engineering
Top 8 Trends in Performance Engineering
 
Performance Engineering Basics
Performance Engineering BasicsPerformance Engineering Basics
Performance Engineering Basics
 
kshitij_resume_Ln
kshitij_resume_Lnkshitij_resume_Ln
kshitij_resume_Ln
 
DST Vega test Tool
DST Vega test ToolDST Vega test Tool
DST Vega test Tool
 
USUGM 2014 - Zhenbin Li (Boehringer Ingelheim): Challenges and Approach in Mi...
USUGM 2014 - Zhenbin Li (Boehringer Ingelheim): Challenges and Approach in Mi...USUGM 2014 - Zhenbin Li (Boehringer Ingelheim): Challenges and Approach in Mi...
USUGM 2014 - Zhenbin Li (Boehringer Ingelheim): Challenges and Approach in Mi...
 
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
C.V, Narayanan - Open Source Tools for Test Management - EuroSTAR 2010
 

Destaque

Destaque (14)

Congruent Coaching: An Interactive Exploration
Congruent Coaching: An Interactive ExplorationCongruent Coaching: An Interactive Exploration
Congruent Coaching: An Interactive Exploration
 
CAN I USE THIS?—A Mnemonic for Usability Testing
CAN I USE THIS?—A Mnemonic for Usability TestingCAN I USE THIS?—A Mnemonic for Usability Testing
CAN I USE THIS?—A Mnemonic for Usability Testing
 
Measurement and Metrics for Test Managers
Measurement and Metrics for Test ManagersMeasurement and Metrics for Test Managers
Measurement and Metrics for Test Managers
 
Critical Thinking for Software Testers
Critical Thinking for Software TestersCritical Thinking for Software Testers
Critical Thinking for Software Testers
 
The Art of Complex System Testing
The Art of Complex System TestingThe Art of Complex System Testing
The Art of Complex System Testing
 
A Guide to Cross-Browser Functional Testingv
A Guide to Cross-Browser Functional TestingvA Guide to Cross-Browser Functional Testingv
A Guide to Cross-Browser Functional Testingv
 
User Acceptance Testing: Make the User a Part of the Team
User Acceptance Testing: Make the User a Part of the TeamUser Acceptance Testing: Make the User a Part of the Team
User Acceptance Testing: Make the User a Part of the Team
 
T1
T1T1
T1
 
Improving the Mobile Application User Experience (UX)
Improving the Mobile Application User Experience (UX)Improving the Mobile Application User Experience (UX)
Improving the Mobile Application User Experience (UX)
 
Rapid Software Testing: Reporting
Rapid Software Testing: ReportingRapid Software Testing: Reporting
Rapid Software Testing: Reporting
 
Extreme Automation: Software Quality for the Next Generation Enterprise
Extreme Automation: Software Quality for the Next Generation EnterpriseExtreme Automation: Software Quality for the Next Generation Enterprise
Extreme Automation: Software Quality for the Next Generation Enterprise
 
Testing in the Wild: Practices for Testing Beyond the Lab
Testing in the Wild: Practices for Testing Beyond the LabTesting in the Wild: Practices for Testing Beyond the Lab
Testing in the Wild: Practices for Testing Beyond the Lab
 
Automate Mobile App Testing—Or Go Crazy
Automate Mobile App Testing—Or Go CrazyAutomate Mobile App Testing—Or Go Crazy
Automate Mobile App Testing—Or Go Crazy
 
Continuous Test Automation
Continuous Test AutomationContinuous Test Automation
Continuous Test Automation
 

Semelhante a Designing for Testability: Differentiator in a Competitive Market

Improving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetImproving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNet
Venkat Janardhanam, MS, MBA
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software Ireland
 

Semelhante a Designing for Testability: Differentiator in a Competitive Market (20)

Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
Webinar Presentation: Best Practices in QA Testing - Leveraging Open Source T...
 
Improving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNetImproving Quality through Continuous Integration - A case study of CollabNet
Improving Quality through Continuous Integration - A case study of CollabNet
 
Achieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the EnterpriseAchieving DevOps using Open Source Tools in the Enterprise
Achieving DevOps using Open Source Tools in the Enterprise
 
Mule soft meetup_th_no1
Mule soft meetup_th_no1Mule soft meetup_th_no1
Mule soft meetup_th_no1
 
PureApp Presentation
PureApp PresentationPureApp Presentation
PureApp Presentation
 
Mule soft meetup_tw_no1_june17
Mule soft meetup_tw_no1_june17Mule soft meetup_tw_no1_june17
Mule soft meetup_tw_no1_june17
 
Spira Team Overview Presentation
Spira Team Overview PresentationSpira Team Overview Presentation
Spira Team Overview Presentation
 
Mule soft meetup_hk_june2020
Mule soft meetup_hk_june2020Mule soft meetup_hk_june2020
Mule soft meetup_hk_june2020
 
DevOps in the Hybrid Cloud
DevOps in the Hybrid CloudDevOps in the Hybrid Cloud
DevOps in the Hybrid Cloud
 
Measuring and Maximizing the Business Impact of Network Automation
Measuring and Maximizing the Business Impact of Network AutomationMeasuring and Maximizing the Business Impact of Network Automation
Measuring and Maximizing the Business Impact of Network Automation
 
Pure App + Patterns + Prolifics = Feeding Change
Pure App + Patterns + Prolifics = Feeding Change Pure App + Patterns + Prolifics = Feeding Change
Pure App + Patterns + Prolifics = Feeding Change
 
How to build confidence in your release cycle
How to build confidence in your release cycleHow to build confidence in your release cycle
How to build confidence in your release cycle
 
kishore
kishorekishore
kishore
 
Service Virtualization: What, Who, When, and How
Service Virtualization: What, Who, When, and HowService Virtualization: What, Who, When, and How
Service Virtualization: What, Who, When, and How
 
Innovation in Action - #MFSummit2017
Innovation in Action - #MFSummit2017Innovation in Action - #MFSummit2017
Innovation in Action - #MFSummit2017
 
Continuous Performance Testing in DevOps - Lee Barnes
Continuous Performance Testing in DevOps - Lee BarnesContinuous Performance Testing in DevOps - Lee Barnes
Continuous Performance Testing in DevOps - Lee Barnes
 
MuleSoft Singapore Meetup May 2020
MuleSoft Singapore Meetup May 2020MuleSoft Singapore Meetup May 2020
MuleSoft Singapore Meetup May 2020
 
Enterprise Agile at Lockheed Martin - 4th February 2014
Enterprise Agile at Lockheed Martin - 4th February 2014Enterprise Agile at Lockheed Martin - 4th February 2014
Enterprise Agile at Lockheed Martin - 4th February 2014
 
Delivering A Great End User Experience
Delivering A Great End User ExperienceDelivering A Great End User Experience
Delivering A Great End User Experience
 
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of TestingCuriosity Software, Infuse and Kumoco present: The Democratisation of Testing
Curiosity Software, Infuse and Kumoco present: The Democratisation of Testing
 

Mais de TechWell

Mais 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
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Último (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 

Designing for Testability: Differentiator in a Competitive Market

  • 1. T8 Test Techniques 5/8/2014 11:15:00 AM Designing for Testability: Differentiator in a Competitive Market Presented by: David Campbell MITRE Corporation 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. David Campbell MITRE Corporation David Campbell has twenty-seven years of technical management and software development experience focusing on high performance and real-time systems. Much of that time was spent with Silicon Graphics Computer Systems and Kasenna, Inc. working on joint programs with customers and partners from a wide variety of markets and development cultures. Today Dave works for the MITRE Corporation directing a lab that focuses on research and evaluation of time critical systems.
  • 3. 4/26/2014 1 | 1 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Designing For Testability Dave Campbell MITRE Approved for Public Release; Distribution Unlimited. 14-0356 | 2 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Biography Dave Campbell – MITRE Corporation Time Critical Systems dcampbell@mitre.org 25 years of software development and technical management – Silicon Graphics Inc. High Performance Servers and Workstations Operating and Real Time Systems Entertainment, Media, High Performance Solutions – Kasenna Inc. IPTV and Video Delivery Platforms
  • 4. 4/26/2014 2 | 3 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Continuing Problem Software Systems are often key contributors to program/project execution risk - Schedule Delays - Cost Overruns - Reliability - Security and Information Assurance | 4 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Observation When analyzing all the software systems that I have observed over 27 years a trend becomes clear: Development organizations that take the long view and invest in testing infrastructure consistently outperform all others in cost, schedule and quality execution
  • 5. 4/26/2014 3 | 5 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Design for Testability (DFT) Earliest stages of design must include test team representation – Requirements, Scheduling, Funding No design is approved without a complete picture of how each subsystem is tested independently or integrated into system Need to have long term view – Initial hit to schedule and EVM (Earned Value Metrics) Agile, Continuous, Waterfall – all methodologies can support approach Steps to Enforce Design Testability will Follow | 6 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use What to Avoid Evolving development into a process where any comprehensive integration testing requires all software and hardware system components to be effective Full system configuration dependency for testing slows engineering productivity –Lose agility –Lose effectiveness of test coverage –Forces big bang integration testing late in development What is your experience?
  • 6. 4/26/2014 4 | 7 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Example: Radar Processing Classic example, involves distributed hardware and software system components –System of systems Time Critical and batch processing requirements Service level agreement requirements System that will be in operation for over 25 years with technology refreshes over lifespan | 8 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Radar System Components Web services takes requests/presents results Other components manage radar and data it generates Antenna Controller Radar Signal Processing Operations and Control Web Services Repository Clients Does the design require all these components to be available to effectively integration test?
  • 7. 4/26/2014 5 | 9 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Designing for Testability, Step 1 Define Time Critical Core of System Identify all timing critical areas of the system – Understand constraints – Concurrency and potential race conditions Ensure implementation is self monitoring – Reports violations – Effective under loading and scaling All ongoing testing must verify the time critical processing is not compromised as system is integrated | 10 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Designing for Testability, Step 2 Ensure System Can Be Characterized System must be able to be diagnosed – Avoid debug and production builds – Logging system must not alter system timing – Distributed system traceability and time stamping – Keep diagnostic capability native Design to greater than capacity and service load limits – Define denial of service behavior – Data drops or loss handling
  • 8. 4/26/2014 6 | 11 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Designing for Testability, Step 3 Define Component Simulators Create high fidelity software simulations of key system components –Formalizes interfaces and messaging –Resources for every developer, no sharing –Validates the design of component –Much more than stubbing Simulated components allow testing of related components independent of hardware availability –Allow for introduction of error states –Can be used throughout lifecycle | 12 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Designing for Testability, Step 4 Data Injection and Taps Identify areas in system where key data items can be injected or extracted without performance impact –Identify APIs and necessary state setup Create low impact tools to perform function, insure the tools meet required performance –Load generators, IA probes Injectors and taps allow for post processing analysis and inserting data generated from hardware prototypes
  • 9. 4/26/2014 7 | 13 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Designing for Testability, Step 5 Apply Continuous Integration Testing Integration testing never stops – Avoid waiting on testing anything – Capacity and service loading early and often – Avoid point testing only of a capability – Apply automation and testing frameworks Use simulators, injectors and any available hardware to construct test configurations – Not uncommon for system to be used for hardware debugging during day and running integration tests with simulated hardware at night Complex distributed systems of systems may have more end to end dependencies than designers can predict, mitigate with a testable design | 14 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Tale of Two Engineering Teams Two teams design and implement the same Video on Demand (VOD) system for competitive contract award – Requirements bound implementation choices Team A designs for testability and implements many of the necessary steps Team B does not implement any testability Team B initially performs better but as development advances they become more dependent on limited hardware configurations Team A emerges with a product that has a much lower cost of ownership
  • 10. 4/26/2014 8 | 15 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Key Factors Impacting Decision Cost advantage emerges for Team A – Shorter implementation time to add new capabilities – Short reintegration time to fix and test defects – Simulation components can be utilized for training and provisioning of deployed system Flexibility advantage emerges for Team A – VOD was a new technology and many deployment trials were needed with different configurations – Increased ability to work with more partners, investors DFT concepts eventually become part of the Open Cable Architecture Specification | 16 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Sample Steps Review Define Time Critical Core of System – Ensure this never breaks Ensure System can be Characterized – No performance impact, one implementation High Fidelity Simulation Components – Refine design, Provide flexibility, Key artifact Data Injectors and Extractors – Design for key points of system (i.e. IA boundaries) Continuous Testing Approach – Avoid the “big bang” and “one and done” scenarios – Test hard stuff first, capacity and service loading Use approaches that work within your project and culture
  • 11. 4/26/2014 9 | 17 | © 2014 The MITRE Corporation. All rights reserved. For internal MITRE use Conclusion There is additional initial cost to a testable design Testable design needs to be defined in specification and requirements, contract deliverable During development execution, need to resist temptation to pull development resources and funding away from testability efforts High Performing Engineering Organizations Design for Testability