200 likes | 429 Views
Agile Testing. www.bjss.co.uk. Presenter. Andy Schneider, CTO. BJSS. Over 15 years IT experience. Broad and detailed experience in Agile delivery. Projects ranging from $50K to $100M. BJSS IT Consultancy Local Provisioning Outsource Management Software Delivery
E N D
Agile Testing www.bjss.co.uk Where Agile Business Meets Agile Development
Presenter • Andy Schneider, CTO. BJSS. • Over 15 years IT experience. • Broad and detailed experience in Agile delivery. • Projects ranging from $50K to $100M. • BJSS • IT Consultancy • Local Provisioning • Outsource Management • Software Delivery • Testing + Testing Consultancy Where Agile Business Meets Agile Development
Agile Testing ? • Unit Tests. • Planning at start or maybe no planning at all! • Testing at end. • % Tests complete measures progress. • Underlying view often: not complex like development. TestPlanning Agile Development UAT OAT Agile Development UAT OAT Where Agile Business Meets Agile Development
Lessons from Agile Development: Functional Cells • Test/Development/Business work together. • New understandings shared. • Less reliance on some large ‘throw it over the wall’ specification. • Business must work with Test as well as DevelopmentThis includes Operations, though with a lighter touch. Test Business Development Business Development Where Agile Business Meets Agile Development
Lessons from Agile Development: Iterations • Avoid the defect bow wave by testing at each iteration. • Test Function, Performance, Usability, … • V-model provides guidance on testing. • Use one V per iteration, but maintain flex. • Perform high level test planning when release planning. Where Agile Business Meets Agile Development
Lessons from Agile Development: Planning Tasks • Plan and development occurs. • Feed in operations requirements. • Maintain iteration length. • Move dev to test or dev/test to analysis to fix short term peaks/troughs. • Do not allow unexecuted tests to pile up… • …. Creates a bow wave. Analysis I3 Development I3 Test Plan I3 Test I3 Analysis I4 Test Plan I4 Sprints Where Agile Business Meets Agile Development
Lessons from Agile Development: Testing • To adapt to change you need flex so: • MoSCoW your tests via business benefits of requirements tested. • Ensure dependencies between test requirements are managed to reduce duplication. • Target high risk areas (from history, domain knowledge, complexity, etc.) • Automate – Where it can bring an advantage • Use a variety of test techniques & types for effectiveness • Scripted Tests (Use Cases) & Exploratory Tests. Where Agile Business Meets Agile Development
Lessons from Agile Development: Automation (1) • Frequent testing requires automation Where Agile Business Meets Agile Development
Lessons from Agile Development: Automation (2) • Do not use separate team - easy to get out of sync System 1 Guides Per-Iteration Automated Tests Development/ Tool-smith Test System Development 2 Per-Iteration Automated Tests Automator Where Agile Business Meets Agile Development
Lessons from Agile Development: Metrics (1) • Agile doesn’t mean “no metrics”. • Good tooling helps: DevTrack, ClearQuest, Test Director, Bugzilla. • Supplement this with your own reporting frameworks (MS Excel) • Make visible - place on walls & use push distribution too Where Agile Business Meets Agile Development
Lessons from Agile Development: Metrics (2) • How fast am I running tests? Test Velocity • Completed tests (effort) / Completed tests (estimated). • Is development keeping up with test? • Open defects/week versus Closed defects/week. • Is test keeping up with development fixes? • Defects to fix backlog. • How efficient is the discovery, fix, re-test cycle? • Time from defect Open to defect Close. • Can then trend out to predict real end to end progress. Where Agile Business Meets Agile Development
Lessons from Agile Development: Formal Testing? • UAT and OAT must still occur: ‘No Surprises’. • Grow UAT and OAT set over project. • Subsets of UAT & OAT per iteration - smoke tests. • Don’t just rely on scripted testing. • Use Exploratory Testing - target on areas at risk. • Refactor bug finding exploratory tests to use cases Where Agile Business Meets Agile Development
Lessons from Agile Development: Team Makeup • Good testing is hard, it is not enough to throw bodies at the problem. • Functional Testers & Non Functional Testers • Strength in breadth not Strength in Depth Where Agile Business Meets Agile Development
So, what is Agile Testing? • Individuals and interactions over processes and tools • Focus on people, organisation, management framework, predictors (metrics) and a disciplined approach – People Centric • Working software over comprehensive documentation • Necessary & sufficient documentation - focus on communication. • Customer collaboration over contract negotiation • Testers engage business & development in analytical roles - Functional Cells • Responding to change enabling delivery • Plan out an iteration at time - makes change easier - Flex • Delivering automation in each iteration enables change. Where Agile Business Meets Agile Development
Agile Testing: a Working Iteration Model Test People Business Operations Development Iteration Plan Agile Development Retrospective Agile Test Process Use Case Tests Exploratory Test Negative Tests Functional Non Functional Test Types Where Agile Business Meets Agile Development
Agile Testing: The Benefits • Adapt - retrospectives at the end of each iteration. • Improved Test effectiveness • Improved Velocity • Trend metrics to identify needs to adapt to achieve delivery • Adopt & Reframe: Reuse successful practices • Team Centric not Development Centric • Automate Early – Refactor Often • Reduced maintenance overhead • Reduced execution cycle time • Improved coverage & confidence Where Agile Business Meets Agile Development