What Hollywood Can Teach Us about Software Testing

22
BW9 Session 6/8/16 2:45 PM What Hollywood Can Teach Us about Software Testing Presented by: Bernie Berger Doran Jones Brought to you by: 350 Corporate Way, Suite 400, Orange Park, FL 32073 888---268---8770 ·· 904---278---0524 - [email protected] - http://www.techwell.com/

Transcript of What Hollywood Can Teach Us about Software Testing

Page 1: What Hollywood Can Teach Us about Software Testing

BW9Session6/8/162:45PM

WhatHollywoodCanTeachUsaboutSoftwareTesting

Presentedby:

BernieBerger

DoranJones

Broughttoyouby:

350CorporateWay,Suite400,OrangePark,FL32073888---268---8770··[email protected]://www.techwell.com/

Page 2: What Hollywood Can Teach Us about Software Testing

BernieBergerDoranJonesSincehisfirsttestingjobin1994wherehetestedsoftwarethatgeneratedautomatedstocktickers,BernieBergerhasheldvariouspositionsacrossWallStreetandisaproponentofskilled-basedtestinginfinancialservicesfirms.Bernieisthefounder,advocate,andvolunteermanagerfortheSoftwareTestinginFinancialServicesworkshop,afreeseriesofpeer-conferences.HeisafoundingmemberoftheASTandhasbeennominatedasaSoftwareTestLuminaryAwardcandidate.Hiscurrentworkfocusesoncraftinganenterprisetester-educationprogram,TestCenterofExcellencetransitionworkstreams,andmodelingsoftwareforautomatedtestdesign.FollowBernieat@bernieberger.

Page 3: What Hollywood Can Teach Us about Software Testing

What Hollywood Can Teach Us about Software Testing

Bernie Berger

BSC West, Las Vegas

June 8, 2016

Page 4: What Hollywood Can Teach Us about Software Testing

Five Key Points in this Presentation

Testing Lesson

1. Beware of Off-by-One Errors

2. Enhance Situational Awareness

3. Recognize Inattentional Blindness

4. Test Opportunistically

5. Consider alternate explanations

Movie

• Office Space (1999)

• Sneakers (1992)

• Star Trek II: The Wrath of Khan (1982)

• Saving Private Ryan (1998)

• All the President’s Men (1976)

There are many other lessons all around us, if you learn to appreciate them

Page 5: What Hollywood Can Teach Us about Software Testing

Key Point #1:

Beware of Off-by-One Errors

Office Space (1999)

Page 6: What Hollywood Can Teach Us about Software Testing

1. The Scene: Office Space

Page 7: What Hollywood Can Teach Us about Software Testing

1. Off-by-One (& Order of Magnitude) Errors

• Decimal Points in wrong place

• Flag set on when it should be off

• Loop initialized at 1 instead of 0

• Comparison >= instead of just > • Or vice versa

• One line of code commented out

Page 8: What Hollywood Can Teach Us about Software Testing

Key Point #2:

Enhance Situational Awareness

Sneakers (1992)

Page 9: What Hollywood Can Teach Us about Software Testing

2. The Scene: Sneakers

Page 10: What Hollywood Can Teach Us about Software Testing

2. Testing and Situational Awareness

• Situational Awareness is a testing skill • Be aware of your own biases • Be aware of whom you can ask questions • Be aware of the many available sources of information • Be aware of the many ways tests can fail • Be aware of your own confusion • Be aware of tools and technology

Wikipedia: “One with an adept sense of situation awareness generally has a high degree of knowledge with respect to inputs and outputs of a system, an innate "feel" for situations, people, and events”

Page 11: What Hollywood Can Teach Us about Software Testing

Key Point #3:

Recognize Inattentional Blindness

Star Trek II: The Wrath of Khan (1982)

Page 12: What Hollywood Can Teach Us about Software Testing

3. The Scene: Star Trek II: The Wrath of Khan

Page 13: What Hollywood Can Teach Us about Software Testing

3. Testing and Inattentional Blindness

• We don’t see what we don’t pay attention to, even if it’s right in front of our eyes.

• Hard to reproduce bugs happen when we are not monitoring relevant variables.

• Defocusing Heuristic • The flip side of Situational

Awareness

The brain is constantly bombarded by far more information that it can handle. If we tried to process all of it we'd be completely paralyzed. As a result we have to attend to only a small part of what's in front of us at any given moment. The brain picks and choses according to what it thinks is important. If you change something that it doesn't think is important you just literally don't see it.

Page 14: What Hollywood Can Teach Us about Software Testing

Key Point #4:

Exploratory Testing: Test Opportunistically

Saving Private Ryan (1998)

Page 15: What Hollywood Can Teach Us about Software Testing

4. The Scene: Saving Private Ryan

Page 16: What Hollywood Can Teach Us about Software Testing

4. Opportunistic Exploratory Testing “Opportunity testing is any testing that doesn’t fit the charter of the session. Since we’re in doing exploratory testing, we remind and encourage testers that it’s okay to divert from their charter if they stumble into an off-charter problem that looks important.” -Jonathan Bach, Session Based Test Management

Pure Scripted

Pure Exploration

The “tour bus” Principle Even people on a tour bus get to step off it occasionally and wander around. The key is not to miss the tour

entirely, nor to fall asleep on the bus.

Page 17: What Hollywood Can Teach Us about Software Testing

Key Point #5:

Context of Discovery: Consider alternate explanations

All the President’s Men (1976)

Page 18: What Hollywood Can Teach Us about Software Testing

5. The Scene: All the President’s Men

Page 19: What Hollywood Can Teach Us about Software Testing

5. Testing and Context of Discovery

• Absolute Language vs. Safety Language

• Consider Alternate Explanations

• Don’t Jump to Conclusions

• Bug Reporting: • Facts and Data

• Speculative Deduction

Page 20: What Hollywood Can Teach Us about Software Testing

Conclusion

Be personally involved!

Midnight Run (1988)

Page 21: What Hollywood Can Teach Us about Software Testing

Get Personally Involved In Your Work!

Page 22: What Hollywood Can Teach Us about Software Testing

Beware of Off-by-One Errors Exhibit Situational Awareness

Test Opportunistically Consider alternate explanations

Recognize Inattentional Blindness Get Personally Involved!

Thank You!