You work with software, and you feel overwhelmed. You test to learn, and the more you dig the more you find to dig. The development of the product is a constant surprise, and you can hear the product manager thinking “how hard can this be?”.
Oh, well, it turns out is can be pretty hard. As systems go, software is a great specimen, albeit an elusive one.
In this short talk we’ll take the elusiveness out and understand that software systems are complex entities that should be treated and acknowledged as such. We’ll learn about instrumental classic papers that can help us get started on thinking about software systems. Come with questions, leave with more :)
Key Takeaways:
• Discover how complex software systems lead to complex software testing
• Learn why you need skills that allow you to extract information from empiric experiments
• Learn to accept and cope with complexity and make systems more manageable
View webinar here: http://testhuddle.com/resource/software-well-its-complicated/
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
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
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