SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Parasoft Proprietary and Confidential 1
2015-03-21
How to Avoid Continuously
Delivering Faulty Software
Mark Lambert, Parasoft
Jonathan Thorpe, Perforce Software
Parasoft Proprietary and Confidential 2Parasoft Proprietary and Confidential 2
Today’s speakers
Jonathan Thorpe
Technical Marketing Manager
Perforce Software
Mark Lambert
VP Products and Support
Parasoft
Parasoft Proprietary and Confidential 3Parasoft Proprietary and Confidential 3
Drivers of the SDLC
SDLC Speed is the
difference between a
first mover and a
follower
Damages associated
with software failure
are increasing and
very real
Brand equity is critical
and Quality drives
brand loyalty
Parasoft Proprietary and Confidential 4Parasoft Proprietary and Confidential 4
SDLC - The Era of Acceleration
 Constant Trade-offs that have business impact
Time
Quality
Scope
Parasoft Proprietary and Confidential 5Parasoft Proprietary and Confidential 5
From Automated to Continuous
Continuous testing accelerates the SDLC by
managing quality expectations and actionable tasks
Requirements
Defined
Policy Management
Development
Defect Prevention
Development
Development Testing
Static Analysis
Unit/Component
Peer Review
Automated Tests
Integration Testing
API/Service Tests
Smoke Test
Security Tests
Automated Tests
System Testing
Functional Tests
Scenario Tests
Performance Tests
CI
Build
Defect Remediation Tasks
Go
Release Path
No Go
Business
Decision
Service Virtualization – Test Environment Access
Parasoft Proprietary and Confidential 6Parasoft Proprietary and Confidential 6
Best Practices for continuous delivery of
quality software
 Version everything
 Source code, deployment scripts, artifacts, multimedia,
test results etc.)
 Automate as much as possible
 Code reviews as part of workflow
 Including deployment scripts, automated tests, runbooks
 Keep automated build and test execution times short
(minutes not hours)
Parasoft Proprietary and Confidential 7Parasoft Proprietary and Confidential 7
Version Everything
 All artifacts should be in version control
 Any size
 Any type
 Version control systems should support how your
organization wants to work
 Trunk based development
 Streams
 Branches
Parasoft Proprietary and Confidential 8Parasoft Proprietary and Confidential 8
Architect For Performance
Architect for performance
without adding complexity
Local network performance
even over WAN
Control how much data is
replicated and how often
Parasoft Proprietary and Confidential 9Parasoft Proprietary and Confidential 9
Commit High Quality Code
 Limit negative impact on
other developers
 …but still need to commit
frequently
 …without adding complexity
to developer workflows
Parasoft Proprietary and Confidential 10Parasoft Proprietary and Confidential 10
Pre-commit Review and Test
 Integrates with builds, code analysis, etc.
 Summary shows up in Swarm; click for detail
 Reviewers are given a more complete picture
Code Check-in or
Pre-commit
Code Review with
Available Results
main
Build
Code
Analysis A
Code
Analysis B
Code
Analysis C
Test A Test B
Detailed Drilldown
Parasoft Proprietary and Confidential 11Parasoft Proprietary and Confidential 11
Static Code Analysis
Pattern-Based
Static Analysis
Prevention technique
Analyzes code
structure (parse tree)
to apply best practices
Flow-Based
Static Analysis
Detection technique
Analyzes code flow to
determine “dangerous
paths”
Metric Threshold
Analysis
Advisory technique
Finds complex/hard-to-
test code prone to
errors
Parasoft Proprietary and Confidential 12Parasoft Proprietary and Confidential 12
Static Code Analysis
 Well understood often under valued
 Define the goal of the analysis and the Policy for compliance
 Focus on reduction of business risk not pursuit of perfection
 Start small to promote adoption and monitor for areas of
improvement
Parasoft Proprietary and Confidential 13Parasoft Proprietary and Confidential 13
Unit vs. Functional Testing
 Unit Testing
 Developer focuses on the code
 Typically not true Unit Test
 Code needs to be built to be testable
 Where is the ROI?
 Did we design it properly
 How much is enough?
 Code Coverage + Peer Review
Parasoft Proprietary and Confidential 14Parasoft Proprietary and Confidential 14
Unit vs. Functional Testing
 Functional Testing
 QA focused on the user-story/function
 Where is the ROI?
 Does it function correctly
 Did we break functionality
 How much is enough?
 User-story coverage
 Assoc. code coverage provides additional insight
Parasoft Proprietary and Confidential 15Parasoft Proprietary and Confidential 15
Explorative Testing
 Ad-hock/Unstructured
Testing of functional areas
 Important part of
QA/feedback process
 Requires traceability to
user-stories and code
 Should be ‘reinforced’ with
automated tests
Parasoft Proprietary and Confidential 16Parasoft Proprietary and Confidential 16
Performance/Security Testing
 Limitations
 Often at the end of the cycle
 Wait until the whole system is ready
 Requires specialized skills and specialized tools
 Often not “real tests”
 Too late for cost effective remediation
 “Shift Left” Performance and Security
 Reuse automated functional tests and tooling
 Eliminated the system constraints … Service Virtualization …
Parasoft Proprietary and Confidential 17Parasoft Proprietary and Confidential 17
Service Virtualization
 Complexity is a Barrier to Innovation
 Accessible
 Stable
 Controllable
 Constrained Testing
3rd Party System
Evolving Component
Mainframe
Scheduled Access
Parasoft Proprietary and Confidential 18Parasoft Proprietary and Confidential 18
Service Virtualization
 Emulates dependencies for the Test
Environment
 Reduces the complexity for early stage testing
 Increases predictability
 Enables “Test Anytime, Anywhere, Anyway”
 Automated Provisioning for different use-cases
 Automated Test Data Management/Simulation
 Does not eliminate the need for
System/Integration Testing
Parasoft Proprietary and Confidential 19Parasoft Proprietary and Confidential 19
Continuous Test Characteristics
 Logically componentized
 Correlated with business
requirements
 Incremental, Repeatable
 Versioned and maintained
 Process is prescriptive
based on results
Continuous
Testing
Policy
Traceability
Analysis Risk
Assessment
Environment
Access
Optimization
Parasoft Proprietary and Confidential 20Parasoft Proprietary and Confidential 20
Answer the questions …
• “Can we release?”
• “What is the risk?”
Dev Manager
• “Where is my application weak?”
Architect
• “How do I automate the process?”
DevOps
• “What needs to be fixed?”
• “Did I fix it?”
• “What did I test?”
• “What still needs to be tested?”
Developers / Testers
Parasoft Proprietary and Confidential 21Parasoft Proprietary and Confidential 21
Development Testing Platform
 Centralize and Automated
“Quality Hub”
 Provide Controls and visibility
onto variable and ad-hoc usage
of quality tools (incl. open
source)
 Enables centralized policy to
drive consistent results of the
SDLC practices
DTP
Source
Control
Defects
Require-
ments
Code
Review
Static
Analysis
Metrics
Flow
Analysis
Unit
Testing
Coverage
Functional
Testing
Load
Testing
Parasoft Proprietary and Confidential 22Parasoft Proprietary and Confidential 22
Provide Clarity on Risk
 Bridge the gap between technical findings and business impact
 Real-time feedback on compliance and certification with industry,
regulatory or standards initiatives during active development.
Parasoft Proprietary and Confidential 23Parasoft Proprietary and Confidential 23
Dashboard
and Reporting
Post Analysis
Analysis (PIE)
Prioritization
of Findings
Download to
IDE for
Remediation
Desktop
Execution of
Test/Analysis
Check-in
Source Code
Cont. Test in CI
Infrastructure
Workflow drives improvement
DTP
Parasoft Proprietary and Confidential 24Parasoft Proprietary and Confidential 24
Avoid Continuously Delivering Faulty Software
1. Define Business Expectations in a Policy
2. Version everything and be pragmatic
3. Automate Key Software Quality Practices
1. Code Analysis
2. Peer Review
3. Automated Testing with Traceability
4. Apply Continuously and with a Workflow for remediation
5. Translate to Business Impact and Monitor for improvements
Parasoft Proprietary and Confidential 25
2015-03-21
Thank you
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Rx for FDA Software Compliance
Rx for FDA Software ComplianceRx for FDA Software Compliance
Rx for FDA Software ComplianceParasoft
 
Driving Risks Out of Embedded Automotive Software
Driving Risks Out of Embedded Automotive SoftwareDriving Risks Out of Embedded Automotive Software
Driving Risks Out of Embedded Automotive SoftwareParasoft
 
EuroSPI 2016 - Software Safety and Security Through Standards
EuroSPI 2016 - Software Safety and Security Through StandardsEuroSPI 2016 - Software Safety and Security Through Standards
EuroSPI 2016 - Software Safety and Security Through StandardsArthur Hicken
 
An Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open SourceAn Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open SourceRapidValue
 
CV_SyedShoeb_2015
CV_SyedShoeb_2015CV_SyedShoeb_2015
CV_SyedShoeb_2015Syed Shoeb
 
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...TEST Huddle
 
How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis Perforce
 
360logica At A Glance
360logica At A Glance360logica At A Glance
360logica At A Glanceguestf2e1db
 
Software Test Automation - Best Practices
Software Test Automation - Best PracticesSoftware Test Automation - Best Practices
Software Test Automation - Best PracticesArul Selvan
 
Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization Rogue Wave Software
 
Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Klocwork
 
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...QA Systems
 
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingFast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingPerfecto by Perforce
 
Testing a Microservices Architecture
Testing a Microservices ArchitectureTesting a Microservices Architecture
Testing a Microservices ArchitectureParasoft
 
Top 5 Code Coverage Tools in DevOps
Top 5 Code Coverage Tools in DevOpsTop 5 Code Coverage Tools in DevOps
Top 5 Code Coverage Tools in DevOpsscmGalaxy Inc
 

Was ist angesagt? (20)

Rx for FDA Software Compliance
Rx for FDA Software ComplianceRx for FDA Software Compliance
Rx for FDA Software Compliance
 
Driving Risks Out of Embedded Automotive Software
Driving Risks Out of Embedded Automotive SoftwareDriving Risks Out of Embedded Automotive Software
Driving Risks Out of Embedded Automotive Software
 
EuroSPI 2016 - Software Safety and Security Through Standards
EuroSPI 2016 - Software Safety and Security Through StandardsEuroSPI 2016 - Software Safety and Security Through Standards
EuroSPI 2016 - Software Safety and Security Through Standards
 
Static Code Analysis
Static Code AnalysisStatic Code Analysis
Static Code Analysis
 
Parasoft fda software compliance part1
Parasoft fda software compliance   part1Parasoft fda software compliance   part1
Parasoft fda software compliance part1
 
An Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open SourceAn Essential Guide to Effective Test Automation Leveraging Open Source
An Essential Guide to Effective Test Automation Leveraging Open Source
 
CV_SyedShoeb_2015
CV_SyedShoeb_2015CV_SyedShoeb_2015
CV_SyedShoeb_2015
 
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
9 Characteristics of Agile Methodologies to Turbo-charge Your Testing by Rex ...
 
How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis How To Improve Quality With Static Code Analysis
How To Improve Quality With Static Code Analysis
 
360logica At A Glance
360logica At A Glance360logica At A Glance
360logica At A Glance
 
Software Test Automation - Best Practices
Software Test Automation - Best PracticesSoftware Test Automation - Best Practices
Software Test Automation - Best Practices
 
Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization Shifting the conversation from active interception to proactive neutralization
Shifting the conversation from active interception to proactive neutralization
 
Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009Introducing: Klocwork Insight Pro | November 2009
Introducing: Klocwork Insight Pro | November 2009
 
Continuous testing
Continuous testing Continuous testing
Continuous testing
 
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
The Pursuit of Perfection - Methods, techniques, and tools to achieve robust ...
 
Parasoft fda software compliance part2
Parasoft fda software compliance   part2Parasoft fda software compliance   part2
Parasoft fda software compliance part2
 
Biswas_Jotirmoy_Resume
Biswas_Jotirmoy_ResumeBiswas_Jotirmoy_Resume
Biswas_Jotirmoy_Resume
 
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App TestingFast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
Fast Data, Fast Delivery: How Smart Analysis Accelerates App Testing
 
Testing a Microservices Architecture
Testing a Microservices ArchitectureTesting a Microservices Architecture
Testing a Microservices Architecture
 
Top 5 Code Coverage Tools in DevOps
Top 5 Code Coverage Tools in DevOpsTop 5 Code Coverage Tools in DevOps
Top 5 Code Coverage Tools in DevOps
 

Ähnlich wie How to Avoid Continuously Delivering Faulty Software

How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16AppDynamics
 
End-to-end Testing for IoT Integrity
End-to-end Testing for IoT IntegrityEnd-to-end Testing for IoT Integrity
End-to-end Testing for IoT IntegrityParasoft
 
Service Virtualization: Delivering Complex Test Environments on Demand
Service Virtualization: Delivering Complex Test Environments on DemandService Virtualization: Delivering Complex Test Environments on Demand
Service Virtualization: Delivering Complex Test Environments on DemandErika Barron
 
Better Software East 2016: Evolving Automated to Continuous
Better Software East 2016: Evolving Automated to ContinuousBetter Software East 2016: Evolving Automated to Continuous
Better Software East 2016: Evolving Automated to ContinuousParasoft
 
Creating Complete Test Environments in the Cloud: Skytap & Parasoft Webinar
Creating Complete Test Environments in the Cloud: Skytap & Parasoft WebinarCreating Complete Test Environments in the Cloud: Skytap & Parasoft Webinar
Creating Complete Test Environments in the Cloud: Skytap & Parasoft WebinarSkytap Cloud
 
APIs Gone Wild - Star West 2013
APIs Gone Wild - Star West 2013APIs Gone Wild - Star West 2013
APIs Gone Wild - Star West 2013Erika Barron
 
What Do Defects Really Cost? Much More Than You Think
What Do Defects Really Cost? Much More Than You ThinkWhat Do Defects Really Cost? Much More Than You Think
What Do Defects Really Cost? Much More Than You ThinkTechWell
 
Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Munirathnam Naidu
 
Creating Complete Test Environments in the Cloud
Creating Complete Test Environments in the CloudCreating Complete Test Environments in the Cloud
Creating Complete Test Environments in the CloudErika Barron
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareErika Barron
 
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...Farhan Tariq
 
[India Merge World Tour] Coverity
[India Merge World Tour] Coverity[India Merge World Tour] Coverity
[India Merge World Tour] CoverityPerforce
 
Service Virtualization: What Testers Need to Know
Service Virtualization: What Testers Need to KnowService Virtualization: What Testers Need to Know
Service Virtualization: What Testers Need to KnowTechWell
 
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis OverviewSAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis OverviewSAP Technology
 
07 Outsource To India Independent Testing
07 Outsource To India Independent Testing07 Outsource To India Independent Testing
07 Outsource To India Independent TestingoutsourceToIndia
 
Lisa_DiFazio_SQA_Resume
Lisa_DiFazio_SQA_ResumeLisa_DiFazio_SQA_Resume
Lisa_DiFazio_SQA_ResumeLisa DiFazio
 
SV Training Intro - 20181129 4.pptx
SV Training Intro - 20181129 4.pptxSV Training Intro - 20181129 4.pptx
SV Training Intro - 20181129 4.pptxCAIKYPALLETAMOURALIM
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwarePerforce
 
Accelerating Mobile Testing
Accelerating Mobile TestingAccelerating Mobile Testing
Accelerating Mobile TestingParasoft
 

Ähnlich wie How to Avoid Continuously Delivering Faulty Software (20)

How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
How CapitalOne Transformed DevTest or Continuous Delivery - AppSphere16
 
End-to-end Testing for IoT Integrity
End-to-end Testing for IoT IntegrityEnd-to-end Testing for IoT Integrity
End-to-end Testing for IoT Integrity
 
Service Virtualization: Delivering Complex Test Environments on Demand
Service Virtualization: Delivering Complex Test Environments on DemandService Virtualization: Delivering Complex Test Environments on Demand
Service Virtualization: Delivering Complex Test Environments on Demand
 
Better Software East 2016: Evolving Automated to Continuous
Better Software East 2016: Evolving Automated to ContinuousBetter Software East 2016: Evolving Automated to Continuous
Better Software East 2016: Evolving Automated to Continuous
 
Creating Complete Test Environments in the Cloud: Skytap & Parasoft Webinar
Creating Complete Test Environments in the Cloud: Skytap & Parasoft WebinarCreating Complete Test Environments in the Cloud: Skytap & Parasoft Webinar
Creating Complete Test Environments in the Cloud: Skytap & Parasoft Webinar
 
APIs Gone Wild - Star West 2013
APIs Gone Wild - Star West 2013APIs Gone Wild - Star West 2013
APIs Gone Wild - Star West 2013
 
What Do Defects Really Cost? Much More Than You Think
What Do Defects Really Cost? Much More Than You ThinkWhat Do Defects Really Cost? Much More Than You Think
What Do Defects Really Cost? Much More Than You Think
 
Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]Best Practices In Load And Stress Testing Cmg Seminar[1]
Best Practices In Load And Stress Testing Cmg Seminar[1]
 
Continuous testing
Continuous testingContinuous testing
Continuous testing
 
Creating Complete Test Environments in the Cloud
Creating Complete Test Environments in the CloudCreating Complete Test Environments in the Cloud
Creating Complete Test Environments in the Cloud
 
How To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty SoftwareHow To Avoid Continuously Delivering Faulty Software
How To Avoid Continuously Delivering Faulty Software
 
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
(Technologies) AI, Machine Learning, Predictive Analytics, IIOT, Cloud,Web-fr...
 
[India Merge World Tour] Coverity
[India Merge World Tour] Coverity[India Merge World Tour] Coverity
[India Merge World Tour] Coverity
 
Service Virtualization: What Testers Need to Know
Service Virtualization: What Testers Need to KnowService Virtualization: What Testers Need to Know
Service Virtualization: What Testers Need to Know
 
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis OverviewSAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
SAP NetWeaver Application Server Add-On for Code Vulnerability Analysis Overview
 
07 Outsource To India Independent Testing
07 Outsource To India Independent Testing07 Outsource To India Independent Testing
07 Outsource To India Independent Testing
 
Lisa_DiFazio_SQA_Resume
Lisa_DiFazio_SQA_ResumeLisa_DiFazio_SQA_Resume
Lisa_DiFazio_SQA_Resume
 
SV Training Intro - 20181129 4.pptx
SV Training Intro - 20181129 4.pptxSV Training Intro - 20181129 4.pptx
SV Training Intro - 20181129 4.pptx
 
How to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty SoftwareHow to Avoid Continuously Delivering Faulty Software
How to Avoid Continuously Delivering Faulty Software
 
Accelerating Mobile Testing
Accelerating Mobile TestingAccelerating Mobile Testing
Accelerating Mobile Testing
 

Mehr von Parasoft

ABC's of Service Virtualization
ABC's of Service VirtualizationABC's of Service Virtualization
ABC's of Service VirtualizationParasoft
 
Software Safety and Security Through Standards
Software Safety and Security Through Standards Software Safety and Security Through Standards
Software Safety and Security Through Standards Parasoft
 
MedicAlert API Testing Case Study
MedicAlert API Testing Case StudyMedicAlert API Testing Case Study
MedicAlert API Testing Case StudyParasoft
 
Leveraging Static Analysis to Secure Software
Leveraging Static Analysis to Secure SoftwareLeveraging Static Analysis to Secure Software
Leveraging Static Analysis to Secure SoftwareParasoft
 
BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!Parasoft
 
Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?Parasoft
 
Software Development Metrics You Can Count On
Software Development Metrics You Can Count On Software Development Metrics You Can Count On
Software Development Metrics You Can Count On Parasoft
 
C/C++test Qualification Kit for DO-178B/C Compliance
C/C++test Qualification Kit for DO-178B/C ComplianceC/C++test Qualification Kit for DO-178B/C Compliance
C/C++test Qualification Kit for DO-178B/C ComplianceParasoft
 
Extreme Automation Enables DirecTV to ”Shift Left” API Testing
Extreme Automation Enables DirecTV to ”Shift Left” API TestingExtreme Automation Enables DirecTV to ”Shift Left” API Testing
Extreme Automation Enables DirecTV to ”Shift Left” API TestingParasoft
 
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative EffectivenessA Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative EffectivenessParasoft
 

Mehr von Parasoft (10)

ABC's of Service Virtualization
ABC's of Service VirtualizationABC's of Service Virtualization
ABC's of Service Virtualization
 
Software Safety and Security Through Standards
Software Safety and Security Through Standards Software Safety and Security Through Standards
Software Safety and Security Through Standards
 
MedicAlert API Testing Case Study
MedicAlert API Testing Case StudyMedicAlert API Testing Case Study
MedicAlert API Testing Case Study
 
Leveraging Static Analysis to Secure Software
Leveraging Static Analysis to Secure SoftwareLeveraging Static Analysis to Secure Software
Leveraging Static Analysis to Secure Software
 
BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!BUSTED! How to Find Security Bugs Fast!
BUSTED! How to Find Security Bugs Fast!
 
Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?Are Your Continuous Tests Too Fragile for Agile?
Are Your Continuous Tests Too Fragile for Agile?
 
Software Development Metrics You Can Count On
Software Development Metrics You Can Count On Software Development Metrics You Can Count On
Software Development Metrics You Can Count On
 
C/C++test Qualification Kit for DO-178B/C Compliance
C/C++test Qualification Kit for DO-178B/C ComplianceC/C++test Qualification Kit for DO-178B/C Compliance
C/C++test Qualification Kit for DO-178B/C Compliance
 
Extreme Automation Enables DirecTV to ”Shift Left” API Testing
Extreme Automation Enables DirecTV to ”Shift Left” API TestingExtreme Automation Enables DirecTV to ”Shift Left” API Testing
Extreme Automation Enables DirecTV to ”Shift Left” API Testing
 
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative EffectivenessA Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
A Comparison of Three Bug-Finding Techniques and Their Relative Effectiveness
 

Kürzlich hochgeladen

Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfYashikaSharma391629
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfDrew Moseley
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odishasmiwainfosol
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxRTS corp
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)jennyeacort
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 

Kürzlich hochgeladen (20)

Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdfInnovate and Collaborate- Harnessing the Power of Open Source Software.pdf
Innovate and Collaborate- Harnessing the Power of Open Source Software.pdf
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
Comparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdfComparing Linux OS Image Update Models - EOSS 2024.pdf
Comparing Linux OS Image Update Models - EOSS 2024.pdf
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company OdishaBalasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
Balasore Best It Company|| Top 10 IT Company || Balasore Software company Odisha
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptxReal-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
Real-time Tracking and Monitoring with Cargo Cloud Solutions.pptx
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
Call Us🔝>༒+91-9711147426⇛Call In girls karol bagh (Delhi)
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 

How to Avoid Continuously Delivering Faulty Software

  • 1. Parasoft Proprietary and Confidential 1 2015-03-21 How to Avoid Continuously Delivering Faulty Software Mark Lambert, Parasoft Jonathan Thorpe, Perforce Software
  • 2. Parasoft Proprietary and Confidential 2Parasoft Proprietary and Confidential 2 Today’s speakers Jonathan Thorpe Technical Marketing Manager Perforce Software Mark Lambert VP Products and Support Parasoft
  • 3. Parasoft Proprietary and Confidential 3Parasoft Proprietary and Confidential 3 Drivers of the SDLC SDLC Speed is the difference between a first mover and a follower Damages associated with software failure are increasing and very real Brand equity is critical and Quality drives brand loyalty
  • 4. Parasoft Proprietary and Confidential 4Parasoft Proprietary and Confidential 4 SDLC - The Era of Acceleration  Constant Trade-offs that have business impact Time Quality Scope
  • 5. Parasoft Proprietary and Confidential 5Parasoft Proprietary and Confidential 5 From Automated to Continuous Continuous testing accelerates the SDLC by managing quality expectations and actionable tasks Requirements Defined Policy Management Development Defect Prevention Development Development Testing Static Analysis Unit/Component Peer Review Automated Tests Integration Testing API/Service Tests Smoke Test Security Tests Automated Tests System Testing Functional Tests Scenario Tests Performance Tests CI Build Defect Remediation Tasks Go Release Path No Go Business Decision Service Virtualization – Test Environment Access
  • 6. Parasoft Proprietary and Confidential 6Parasoft Proprietary and Confidential 6 Best Practices for continuous delivery of quality software  Version everything  Source code, deployment scripts, artifacts, multimedia, test results etc.)  Automate as much as possible  Code reviews as part of workflow  Including deployment scripts, automated tests, runbooks  Keep automated build and test execution times short (minutes not hours)
  • 7. Parasoft Proprietary and Confidential 7Parasoft Proprietary and Confidential 7 Version Everything  All artifacts should be in version control  Any size  Any type  Version control systems should support how your organization wants to work  Trunk based development  Streams  Branches
  • 8. Parasoft Proprietary and Confidential 8Parasoft Proprietary and Confidential 8 Architect For Performance Architect for performance without adding complexity Local network performance even over WAN Control how much data is replicated and how often
  • 9. Parasoft Proprietary and Confidential 9Parasoft Proprietary and Confidential 9 Commit High Quality Code  Limit negative impact on other developers  …but still need to commit frequently  …without adding complexity to developer workflows
  • 10. Parasoft Proprietary and Confidential 10Parasoft Proprietary and Confidential 10 Pre-commit Review and Test  Integrates with builds, code analysis, etc.  Summary shows up in Swarm; click for detail  Reviewers are given a more complete picture Code Check-in or Pre-commit Code Review with Available Results main Build Code Analysis A Code Analysis B Code Analysis C Test A Test B Detailed Drilldown
  • 11. Parasoft Proprietary and Confidential 11Parasoft Proprietary and Confidential 11 Static Code Analysis Pattern-Based Static Analysis Prevention technique Analyzes code structure (parse tree) to apply best practices Flow-Based Static Analysis Detection technique Analyzes code flow to determine “dangerous paths” Metric Threshold Analysis Advisory technique Finds complex/hard-to- test code prone to errors
  • 12. Parasoft Proprietary and Confidential 12Parasoft Proprietary and Confidential 12 Static Code Analysis  Well understood often under valued  Define the goal of the analysis and the Policy for compliance  Focus on reduction of business risk not pursuit of perfection  Start small to promote adoption and monitor for areas of improvement
  • 13. Parasoft Proprietary and Confidential 13Parasoft Proprietary and Confidential 13 Unit vs. Functional Testing  Unit Testing  Developer focuses on the code  Typically not true Unit Test  Code needs to be built to be testable  Where is the ROI?  Did we design it properly  How much is enough?  Code Coverage + Peer Review
  • 14. Parasoft Proprietary and Confidential 14Parasoft Proprietary and Confidential 14 Unit vs. Functional Testing  Functional Testing  QA focused on the user-story/function  Where is the ROI?  Does it function correctly  Did we break functionality  How much is enough?  User-story coverage  Assoc. code coverage provides additional insight
  • 15. Parasoft Proprietary and Confidential 15Parasoft Proprietary and Confidential 15 Explorative Testing  Ad-hock/Unstructured Testing of functional areas  Important part of QA/feedback process  Requires traceability to user-stories and code  Should be ‘reinforced’ with automated tests
  • 16. Parasoft Proprietary and Confidential 16Parasoft Proprietary and Confidential 16 Performance/Security Testing  Limitations  Often at the end of the cycle  Wait until the whole system is ready  Requires specialized skills and specialized tools  Often not “real tests”  Too late for cost effective remediation  “Shift Left” Performance and Security  Reuse automated functional tests and tooling  Eliminated the system constraints … Service Virtualization …
  • 17. Parasoft Proprietary and Confidential 17Parasoft Proprietary and Confidential 17 Service Virtualization  Complexity is a Barrier to Innovation  Accessible  Stable  Controllable  Constrained Testing 3rd Party System Evolving Component Mainframe Scheduled Access
  • 18. Parasoft Proprietary and Confidential 18Parasoft Proprietary and Confidential 18 Service Virtualization  Emulates dependencies for the Test Environment  Reduces the complexity for early stage testing  Increases predictability  Enables “Test Anytime, Anywhere, Anyway”  Automated Provisioning for different use-cases  Automated Test Data Management/Simulation  Does not eliminate the need for System/Integration Testing
  • 19. Parasoft Proprietary and Confidential 19Parasoft Proprietary and Confidential 19 Continuous Test Characteristics  Logically componentized  Correlated with business requirements  Incremental, Repeatable  Versioned and maintained  Process is prescriptive based on results Continuous Testing Policy Traceability Analysis Risk Assessment Environment Access Optimization
  • 20. Parasoft Proprietary and Confidential 20Parasoft Proprietary and Confidential 20 Answer the questions … • “Can we release?” • “What is the risk?” Dev Manager • “Where is my application weak?” Architect • “How do I automate the process?” DevOps • “What needs to be fixed?” • “Did I fix it?” • “What did I test?” • “What still needs to be tested?” Developers / Testers
  • 21. Parasoft Proprietary and Confidential 21Parasoft Proprietary and Confidential 21 Development Testing Platform  Centralize and Automated “Quality Hub”  Provide Controls and visibility onto variable and ad-hoc usage of quality tools (incl. open source)  Enables centralized policy to drive consistent results of the SDLC practices DTP Source Control Defects Require- ments Code Review Static Analysis Metrics Flow Analysis Unit Testing Coverage Functional Testing Load Testing
  • 22. Parasoft Proprietary and Confidential 22Parasoft Proprietary and Confidential 22 Provide Clarity on Risk  Bridge the gap between technical findings and business impact  Real-time feedback on compliance and certification with industry, regulatory or standards initiatives during active development.
  • 23. Parasoft Proprietary and Confidential 23Parasoft Proprietary and Confidential 23 Dashboard and Reporting Post Analysis Analysis (PIE) Prioritization of Findings Download to IDE for Remediation Desktop Execution of Test/Analysis Check-in Source Code Cont. Test in CI Infrastructure Workflow drives improvement DTP
  • 24. Parasoft Proprietary and Confidential 24Parasoft Proprietary and Confidential 24 Avoid Continuously Delivering Faulty Software 1. Define Business Expectations in a Policy 2. Version everything and be pragmatic 3. Automate Key Software Quality Practices 1. Code Analysis 2. Peer Review 3. Automated Testing with Traceability 4. Apply Continuously and with a Workflow for remediation 5. Translate to Business Impact and Monitor for improvements
  • 25. Parasoft Proprietary and Confidential 25 2015-03-21 Thank you Questions?