ACCEPTANCE TEST DRIVEN DEVELOPMENT Add test cases to requirements User stories Team Product owner + designer + developers + end user To mould the thinking about requirements Start of sprint ATDD
ACCEPTANCE TEST DRIVEN DEVELOPMENT www.testobsessed.com ATDD
ATDD APPROACHES Gojko Adzic Collaborative method for specifying requirements and tests Behaviour Driven Development Dan North (dannorth.net)dannorth.net GWT-format: GIVEN WHEN THEN ELSE Specification by example specificationbyexample.com
UNIT AND INTEGRATION TESTING (Regression) test automation Helps refactoring Developers and testers work together Discuss requirements Developer writes some unit tests Discuss unit test cases Code will pass tests Decide with your team who executes the Integration tests Any user input can be validated at UT/IT level Huge performance improvement for the team!
UNIT AND INTEGRATION TESTING Unit testing, regression testing and automated testing are not the same Discuss what to (not) automate – as a team Do more than automated checking!
NON FUNCTIONAL TESTING Feedback on the whole system Potentially (!) shippable product Quality attributes Feedback within the iteration If not possible: Pareto principle simple test techniques that manage the risks involved Security: OWASP checklist (www.owasp.org)www.owasp.org Usability testing Heuristic Evaluation (Jakob Nielsen) Add this to your Sprint Definition of Done
QUICK REFERENCE CARDS Sharing information based on the Pareto principle Condensed information about a topic The essential parts of information Any topic worth sharing Share the QRCs!
EXPLORATORY TESTING Checking Testing Checks look for expected bugs Find unexpected (!) bugs Test cases that need human intelligence Difficult to automate Charters Sharing and gaining knowledge Risk based Focus
CONTINUOUS ACCEPTANCE Agile: customer is near Acceptance sessions in sync with demo User representatives IT-Support Automated scripts & manual scenario Emotional acceptance