Software Testing How has agile changed the game? Karen Greaves Validation • Building the system right • Compare against a specification • Building the right system Verification • Compare against customer needs Cost of fixing a defect Test Early HOWTO: Test Early Testers involved in Sprint Planning Testers work from day 1 of the sprint Done includes testing & fixing Don’t let developers get ahead Team signs off each story Cost vs Benefit of Automation 300 Relative Cost 250 Automated Testing 200 Manual Testing 150 100 50 0 0 5 10 15 20 Number of Test Executions 25 Automate HOWTO: Automation Make automation part of every story Everyone runs automated tests Quick to run & interpret Flexible to run Don’t automate once off tests Automate things you do everyday Automate sanity tests Defects Found Defect Yield High Yield Average Yield Low Yield Time Testing Test Smarter HOWTO: Test Smarter White or grey box testing Understand where bugs could exist Trust developers Static testing Use fundamental techniques Test Fundamentals Pair wise / All pairs testing Equivalence partitioning Boundary case analysis Dependency maps for regression Separate functional testing from load testing Tracking When should you log a bug? How many defects states? Priority and severity? The importance of classifying bugs Clean out your defect system regularly Test Reporting System status at a glance Test depth Defect trends Working software over comprehensive documentation Technical stuff you need to know Version Control Build Process Installers and Upgrades Environments Implications of agile Build the right system Test Early Automate Testing Test Smarter Quality is everyone’s concern