270 likes | 468 Views
CEN 4072 Software Testing. PPT4: Reproducing the problem. PPT and video are due: no later than September 27, 5:00 PM Submit to: lpiegl@gmail.com This template file is just an outline of the presentation that you need to complete. Additional pages will
E N D
CEN 4072 Software Testing PPT4: Reproducing the problem PPT and video are due: no later than September 27, 5:00 PM Submit to: lpiegl@gmail.com This template file is just an outline of the presentation that you need to complete. Additional pages will be necessary to fully explore the topic above. Each page should contain adequate text as well as illustrations. You are free to use all publicly available information (text as well as graphics) as long as the sources are properly acknowledged.
Team members’ contributions Member [name]: Member [name]: Member [name]: Member [name]:
First things first: reproduce the problem Content outline: • Reproduce the problem exactly as it occurred • Examples
Why reproduce? Content outline: • Observe • Check the fix
Can the problem be reproduced? Content outline: • Is it always possible? • What if not possible?
Iterative reproduction Content outline: • Start with your environment • Add more circumstances • Reproduce the execution
Reproducing execution Content outline: • First, reproduce the environment • Then reproduce the execution • Examples
Reproducing execution Content outline: • Reproducing input means reproducing execution • Examples
Program inputs Content outline: • Inputs for problem reproduction • data • user interaction • communication • randomness • operating system • schedules • debugging tools
Data Content outline: • Get all the data you need • Get only the data you need
Data Content outline: • Availability of data • Synthetic vs. realistic data
User interaction Content outline: • Capture • Replay
User interaction Content outline: • Recorded interaction • Are the files usable?
Communication Content outline: • Record since last checkpoint • Example
Communication Content outline: • Record last transaction • Example
Randomness Content outline: • Program behavior in different runs • Check using random input
Randomness Content outline: • Difference between good a bad randomness • Examples
Operating system Content outline: • Record and replay OS interactions • Example
Operating system Content outline: • Traced interaction with example • Challenges of replaying traced interactions
Schedules Content outline: • Challenges regarding thread changes • Reproducing schedules
Debugging tools Content outline: • Code may fail outside the debugger only • Types of bugs: • Bohr bug • Heisenbug • Mandelbug • Schroedinbug
Isolating units Content outline: • Capture and replay units • Needs unit control layer
Isolated units Content outline: • Data bases • Compilers • Networking
Log as a program Content outline: • Program as a log file
Logging interaction with the OS Content outline: • Create an example that uses clog
Other interaction types Content outline: • Variables • Time • Other units with possible dependency
Tools Content outline: • WINRUNNER • CHECKPOINT • Others you may find interesting