SlideShare a Scribd company logo
1 of 29
Download to read offline
SOFTWARE.
WELL… IT’S COMPLICATED
INHERENT COMPLEXITIES OF SOFTWARE AND TESTING
SHMUEL GERSHON
MAY, 2015
Systems?
A WEBINAR ABOUT SYSTEMS
SYSTEMS COMPLEXITY
WHO YOU TALKING TO?
• Specializing in the tests of embedded
software.
• Special attention:
• Learning Oriented Tests of the Exploratory kind,
Note Taking,
• I like reading, writing, flying kites, sleeping.
• Frequent participant at EuroStar and the
conference webinars
A WEBINAR ABOUT SYSTEMS
A SYSTEM CONTAINS SYSTEMS.
AND IS CONTAINED IN SYSTEMS.
A SYSTEM CONTAINS SYSTEMS.
AND IS CONTAINED IN SYSTEMS.
SOFTWARE SYSTEMS ARE COMPLEX
SIGNIFICANTLY
WHAT IS SOFTWARE?
• 111100101010101000001000010111001011001010101001110010010
001000011111000100010001001001000001010001000010001001110
010101010000010011111111100011000101000101000000101000000
1010001000010001001110010101010000010011111101110010101 b
• 0x f9 40 5d 0b b0 e2 b0 56 65 de 87 47 f4 66 58 2d 2a e7
57 be a6 e4 df 90 a2 6e 6c da 15 f0 74 55 cb 6f e0 dc a6
c7 59 8b e6 d7 a5 22 98 50 34 0a f6 e8 b0 e2 b0 56 65 de
87 47 f4 66 58 2d 2a e7 57 be a6 e4 df 90 a2 6e 6c da 15
WHAT IS SOFTWARE?
•A set of set of
machine-readable
instructions that
directs a computer's
processor to perform
specific operations?
WHAT DOES SOFTWARE LOOK LIKE?
WHAT DOES SOFTWARE LOOK LIKE?
WHAT DOES SOFTWARE LOOK LIKE?
WHAT DOES SOFTWARE LOOK LIKE?
SOFTWARE & SOFTWARE TESTING
Complex
Software
Complex
Software Testing
FRED BROOKS & DAVID PARNAS
ESSENCE AND ACCIDENTS OF SOFTWARE
ENGINEERING
• Some of the hard properties of software are
part of its essence
• As such, no improvement (present of future) can
get rid of it
• Software has no silver bullet
• The hard part is figuring our what we need to
build, then creating and testing the concept.
• The hard part is not coding a representation of the
concept, or performing the test on that
representation
ESSENTIAL DIFFICULTIES OF
SOFTWARE
• Inherent Complexity
• Inherent Conformity
• Inherent Changeability
• Inherent Invisibility
VS
ESSENTIAL DIFFICULTIES OF
SOFTWARE
• Inherent Complexity
• Inherent Conformity
• Inherent Changeability
• Inherent Invisibility
VS
ESSENTIAL DIFFICULTIES OF
SOFTWARE
• Inherent Complexity
• Inherent Conformity
• Inherent Changeability
• Inherent Invisibility
VS
ESSENTIAL DIFFICULTIES OF
SOFTWARE
• Inherent Complexity
• Inherent Conformity
• Inherent Changeability
• Inherent Invisibility
VS
WHAT ABOUT TESTING THEN?
SOFTWARE ASPECTS OF STRATEGIC
DEFENSE SYSTEMS
• Software is unreliable
• Software is created imperfect
• Software professionals cannot keep up with
program complexity
• Humans ideate and create – confuse and forget
• You cannot prove a software correct
• You need empiric experiments
STAR WARS
OR SOFTWARE ASPECTS OF STRATEGIC
DEFENSE SYSTEMS
• Empiric Tests in a 1-off System
• Unknowns of runtime:
•Targets
•Decoys
•Countermeasures
•Time
•...
•Trust requires real conditions
ESSENTIAL DIFFICULTIES OF TESTING
• Programming is Trial and
Error. So is testing.
• Without empiric tests, we
don’t get enough trust.
VS
SO WHAT CAN WE DO?
•You cannot remove
complexity.
•You cannot diminish
complexity unless you
diminish software.
•To deal with it we need
to accept and embrace it.
SO WHAT CAN WE DO?
• Be aware
• Discuss complexity
• Understand parts and
Relationships
• Look for incidental
complexity
• Technology-, solution-,
human-, interface-
• Model
• Beware the model
• Use Models to raise
questions, options and
understanding, more than
to describe the system.
READ THE PAPERS
•Essence and Accidents of Software Engineering
• http://faculty.salisbury.edu/~xswang/Research/Pap
ers/SERelated/no-silver-bullet.pdf
•Software Aspects of Strategic Defense Systems
• http://web.stanford.edu/class/cs99r/readings/par
nas1.pdf
QUESTIONS? ANSWERS?
THANKS!

More Related Content

Similar to Software. Well... It's Complicated

Types of Software - Y9 Computing
Types of Software - Y9 ComputingTypes of Software - Y9 Computing
Types of Software - Y9 Computing
MrJRogers
 

Similar to Software. Well... It's Complicated (20)

Exploratory Mobile Testing Webinar_XBOSoft_jean_annharrison
Exploratory Mobile Testing Webinar_XBOSoft_jean_annharrisonExploratory Mobile Testing Webinar_XBOSoft_jean_annharrison
Exploratory Mobile Testing Webinar_XBOSoft_jean_annharrison
 
Debugging microservices in production
Debugging microservices in productionDebugging microservices in production
Debugging microservices in production
 
Orchestration, the conductor's score
Orchestration, the conductor's scoreOrchestration, the conductor's score
Orchestration, the conductor's score
 
Unit 1.pptx
Unit 1.pptxUnit 1.pptx
Unit 1.pptx
 
A journey into Application Security
A journey into Application SecurityA journey into Application Security
A journey into Application Security
 
Agility reboot iv
Agility reboot ivAgility reboot iv
Agility reboot iv
 
Working Effectively with PeopleSoft Support
Working Effectively with PeopleSoft SupportWorking Effectively with PeopleSoft Support
Working Effectively with PeopleSoft Support
 
Testing Best Practices
Testing Best PracticesTesting Best Practices
Testing Best Practices
 
Thomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdfThomas Haver - Mobile Testing.pdf
Thomas Haver - Mobile Testing.pdf
 
Types of Software - Y9 Computing
Types of Software - Y9 ComputingTypes of Software - Y9 Computing
Types of Software - Y9 Computing
 
Improve Security through Continuous Testing
Improve Security through Continuous TestingImprove Security through Continuous Testing
Improve Security through Continuous Testing
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Empirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an OverviewEmpirical Methods in Software Engineering - an Overview
Empirical Methods in Software Engineering - an Overview
 
DockerCon SF 2019 - TDD is Dead
DockerCon SF 2019 - TDD is DeadDockerCon SF 2019 - TDD is Dead
DockerCon SF 2019 - TDD is Dead
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Ensuring Security through Continuous Testing
Ensuring Security through Continuous TestingEnsuring Security through Continuous Testing
Ensuring Security through Continuous Testing
 
Technical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOpsTechnical Capabilities as enabler for Agile and DevOps
Technical Capabilities as enabler for Agile and DevOps
 
Bypassing Secure Boot using Fault Injection
Bypassing Secure Boot using Fault InjectionBypassing Secure Boot using Fault Injection
Bypassing Secure Boot using Fault Injection
 
Just4Meeting 2012 - How to protect your web applications
Just4Meeting 2012 -  How to protect your web applicationsJust4Meeting 2012 -  How to protect your web applications
Just4Meeting 2012 - How to protect your web applications
 
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings RevealedDBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
DBmaestro's State of the Database Continuous Delivery Survey- Findings Revealed
 

More from TEST Huddle

More from TEST Huddle (20)

Why We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- AccentureWhy We Need Diversity in Testing- Accenture
Why We Need Diversity in Testing- Accenture
 
Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar Keys to continuous testing for faster delivery euro star webinar
Keys to continuous testing for faster delivery euro star webinar
 
Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway Why you Shouldnt Automated But You Will Anyway
Why you Shouldnt Automated But You Will Anyway
 
Being a Tester in Scrum
Being a Tester in ScrumBeing a Tester in Scrum
Being a Tester in Scrum
 
Leveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional TestsLeveraging Visual Testing with Your Functional Tests
Leveraging Visual Testing with Your Functional Tests
 
Using Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test WorkUsing Test Trees to get an Overview of Test Work
Using Test Trees to get an Overview of Test Work
 
Big Data: The Magic to Attain New Heights
Big Data:  The Magic to Attain New HeightsBig Data:  The Magic to Attain New Heights
Big Data: The Magic to Attain New Heights
 
Will Robots Replace Testers?
Will Robots Replace Testers?Will Robots Replace Testers?
Will Robots Replace Testers?
 
TDD For The Rest Of Us
TDD For The Rest Of UsTDD For The Rest Of Us
TDD For The Rest Of Us
 
Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)Scaling Agile with LeSS (Large Scale Scrum)
Scaling Agile with LeSS (Large Scale Scrum)
 
Creating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger EnterprisesCreating Agile Test Strategies for Larger Enterprises
Creating Agile Test Strategies for Larger Enterprises
 
Is There A Risk?
Is There A Risk?Is There A Risk?
Is There A Risk?
 
Are Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test CoverageAre Your Tests Well-Travelled? Thoughts About Test Coverage
Are Your Tests Well-Travelled? Thoughts About Test Coverage
 
Growing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for TestersGrowing a Company Test Community: Roles and Paths for Testers
Growing a Company Test Community: Roles and Paths for Testers
 
Do we need testers on agile teams?
Do we need testers on agile teams?Do we need testers on agile teams?
Do we need testers on agile teams?
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey Testers & Teams on the Agile Fluency™ Journey
Testers & Teams on the Agile Fluency™ Journey
 
Practical Test Strategy Using Heuristics
Practical Test Strategy Using HeuristicsPractical Test Strategy Using Heuristics
Practical Test Strategy Using Heuristics
 
Thinking Through Your Role
Thinking Through Your RoleThinking Through Your Role
Thinking Through Your Role
 
Using Selenium 3 0
Using Selenium 3 0Using Selenium 3 0
Using Selenium 3 0
 

Recently uploaded

Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
drm1699
 

Recently uploaded (20)

GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with GraphGraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
GraphSummit Milan & Stockholm - Neo4j: The Art of the Possible with Graph
 
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
Abortion Pill Prices Germiston ](+27832195400*)[ 🏥 Women's Abortion Clinic in...
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)The mythical technical debt. (Brooke, please, forgive me)
The mythical technical debt. (Brooke, please, forgive me)
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Effective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeConEffective Strategies for Wix's Scaling challenges - GeeCon
Effective Strategies for Wix's Scaling challenges - GeeCon
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
A Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdfA Deep Dive into Secure Product Development Frameworks.pdf
A Deep Dive into Secure Product Development Frameworks.pdf
 
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
Abortion Pills For Sale WhatsApp[[+27737758557]] In Birch Acres, Abortion Pil...
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
Navigation in flutter – how to add stack, tab, and drawer navigators to your ...
 
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-CloudAlluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
Alluxio Monthly Webinar | Simplify Data Access for AI in Multi-Cloud
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptxFrom Knowledge Graphs via Lego Bricks to scientific conversations.pptx
From Knowledge Graphs via Lego Bricks to scientific conversations.pptx
 
Novo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMsNovo Nordisk: When Knowledge Graphs meet LLMs
Novo Nordisk: When Knowledge Graphs meet LLMs
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 

Software. Well... It's Complicated

  • 1. SOFTWARE. WELL… IT’S COMPLICATED INHERENT COMPLEXITIES OF SOFTWARE AND TESTING SHMUEL GERSHON MAY, 2015
  • 4. WHO YOU TALKING TO? • Specializing in the tests of embedded software. • Special attention: • Learning Oriented Tests of the Exploratory kind, Note Taking, • I like reading, writing, flying kites, sleeping. • Frequent participant at EuroStar and the conference webinars
  • 5. A WEBINAR ABOUT SYSTEMS
  • 6. A SYSTEM CONTAINS SYSTEMS. AND IS CONTAINED IN SYSTEMS.
  • 7. A SYSTEM CONTAINS SYSTEMS. AND IS CONTAINED IN SYSTEMS.
  • 8. SOFTWARE SYSTEMS ARE COMPLEX SIGNIFICANTLY
  • 9. WHAT IS SOFTWARE? • 111100101010101000001000010111001011001010101001110010010 001000011111000100010001001001000001010001000010001001110 010101010000010011111111100011000101000101000000101000000 1010001000010001001110010101010000010011111101110010101 b • 0x f9 40 5d 0b b0 e2 b0 56 65 de 87 47 f4 66 58 2d 2a e7 57 be a6 e4 df 90 a2 6e 6c da 15 f0 74 55 cb 6f e0 dc a6 c7 59 8b e6 d7 a5 22 98 50 34 0a f6 e8 b0 e2 b0 56 65 de 87 47 f4 66 58 2d 2a e7 57 be a6 e4 df 90 a2 6e 6c da 15
  • 10. WHAT IS SOFTWARE? •A set of set of machine-readable instructions that directs a computer's processor to perform specific operations?
  • 11. WHAT DOES SOFTWARE LOOK LIKE?
  • 12. WHAT DOES SOFTWARE LOOK LIKE?
  • 13. WHAT DOES SOFTWARE LOOK LIKE?
  • 14. WHAT DOES SOFTWARE LOOK LIKE?
  • 15. SOFTWARE & SOFTWARE TESTING Complex Software Complex Software Testing
  • 16. FRED BROOKS & DAVID PARNAS
  • 17. ESSENCE AND ACCIDENTS OF SOFTWARE ENGINEERING • Some of the hard properties of software are part of its essence • As such, no improvement (present of future) can get rid of it • Software has no silver bullet • The hard part is figuring our what we need to build, then creating and testing the concept. • The hard part is not coding a representation of the concept, or performing the test on that representation
  • 18. ESSENTIAL DIFFICULTIES OF SOFTWARE • Inherent Complexity • Inherent Conformity • Inherent Changeability • Inherent Invisibility VS
  • 19. ESSENTIAL DIFFICULTIES OF SOFTWARE • Inherent Complexity • Inherent Conformity • Inherent Changeability • Inherent Invisibility VS
  • 20. ESSENTIAL DIFFICULTIES OF SOFTWARE • Inherent Complexity • Inherent Conformity • Inherent Changeability • Inherent Invisibility VS
  • 21. ESSENTIAL DIFFICULTIES OF SOFTWARE • Inherent Complexity • Inherent Conformity • Inherent Changeability • Inherent Invisibility VS
  • 23. SOFTWARE ASPECTS OF STRATEGIC DEFENSE SYSTEMS • Software is unreliable • Software is created imperfect • Software professionals cannot keep up with program complexity • Humans ideate and create – confuse and forget • You cannot prove a software correct • You need empiric experiments
  • 24. STAR WARS OR SOFTWARE ASPECTS OF STRATEGIC DEFENSE SYSTEMS • Empiric Tests in a 1-off System • Unknowns of runtime: •Targets •Decoys •Countermeasures •Time •... •Trust requires real conditions
  • 25. ESSENTIAL DIFFICULTIES OF TESTING • Programming is Trial and Error. So is testing. • Without empiric tests, we don’t get enough trust. VS
  • 26. SO WHAT CAN WE DO? •You cannot remove complexity. •You cannot diminish complexity unless you diminish software. •To deal with it we need to accept and embrace it.
  • 27. SO WHAT CAN WE DO? • Be aware • Discuss complexity • Understand parts and Relationships • Look for incidental complexity • Technology-, solution-, human-, interface- • Model • Beware the model • Use Models to raise questions, options and understanding, more than to describe the system.
  • 28. READ THE PAPERS •Essence and Accidents of Software Engineering • http://faculty.salisbury.edu/~xswang/Research/Pap ers/SERelated/no-silver-bullet.pdf •Software Aspects of Strategic Defense Systems • http://web.stanford.edu/class/cs99r/readings/par nas1.pdf