1 / 11

Performance and Test-Driven Development: Are they compatible?

Performance and Test-Driven Development: Are they compatible?. Alan Gordon & David Evans Test Management Summit 2009. Performance Test-Driven Development The Premise. Alan does Performance Testing David does agile, test-driven development

sitara
Download Presentation

Performance and Test-Driven Development: Are they compatible?

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Performance and Test-Driven Development:Are they compatible? Alan Gordon & David EvansTest Management Summit 2009

  2. Performance Test-Driven DevelopmentThe Premise • Alan does Performance Testing • David does agile, test-driven development • We seem to have different views on how things should be done • We want your help to resolve this • We want to know your experience and your views • We want to know what you think of our ideas Test Management Summit 2009 – Performance and Test-Driven Development | Page 2

  3. Performance Test-Driven DevelopmentRecap: Agile Software Development • Agile Development basics • Avoid ‘Big Design Up Front’ • Develop iteratively, based on the Customer’s current priority • Deliver valuable, working software at the end of every iteration • Evolve functionality through User Stories • User Story basics • Stories represent tangible functionality for a user or other stakeholder • “As a <role type>, I want <some function>, so that <some value>” • Stories are like ‘pieces of cake’ • Vertical slices of usable functionality, not layers of architecture Test Management Summit 2009 – Performance and Test-Driven Development | Page 3

  4. Performance Test-Driven DevelopmentRecap: Test-Driven Development • Test-Driven Development basics • Use testable acceptance criteria to elaborate each Story • Specify and automate the tests before the Story is implemented • The Story is 'done' when all the acceptance tests pass • Re-test all completed Stories every iteration, to prevent regression • TDD preferences • Isolate the components under test • Favour fast tests for fast feedback • Use code coverage analysis to evaluate your test suite Test Management Summit 2009 – Performance and Test-Driven Development | Page 4

  5. Performance Test-Driven DevelopmentRecap: Performance Testing • Performance Testing basics • Test in a Live-like environment • Use a dedicated Performance specialist team • Test a stable application • Test the whole system • Use specialist tools • Test end-to-end • Pass / fail status may be subjective • Schedule testing carefully to minimise cost Test Management Summit 2009 – Performance and Test-Driven Development | Page 5

  6. Performance Test-Driven DevelopmentSome Problems... • Iterative development • Testing in the iteration typically does not include Performance testing • System under test • ‘The whole’ is an evolving thing • Knowledge • The Customer has the final say on priority and acceptance criteria, but is probably no expert on performance • Performance and other non-functional requirements • Can be cumbersome to express as User Stories • Environments • The acceptance test environment is unlikely to be suitable for performance testing Test Management Summit 2009 – Performance and Test-Driven Development | Page 6

  7. Performance Test-Driven DevelopmentSome Models... • Iterative functional development, waterfall test • Develop the functionality of the system iteratively • Performance test at the end by a specialist team • In-iteration performance testing • All performance testing is included in each iteration by the agile testers • Parallel non-functional testing team • A separate NFT team tests the previous iteration’s output Test Management Summit 2009 – Performance and Test-Driven Development | Page 7

  8. Performance Test-Driven DevelopmentDiscussion... • What are your experiences? • Have you encountered these issues? • Have you encountered others? • What are you views on the models? • What are the pros and cons? • What other models have you tried? • Who should be doing the Performance testing? • Testers embedded in agile team? • Separate team dedicated to project? • Centralised performance test service? • How should the Customer prioritise performance issues in the backlog? Test Management Summit 2009 – Performance and Test-Driven Development | Page 8

  9. Performance Test-Driven DevelopmentSome Thoughts... • Avoid increasing ‘undone work’ every iteration • Remove all faults as soon as possible after they are injected • Educate the Customer about non-functional requirements • Include performance requirements on Stories where relevant • Describe overall NFR’s as Constraints • Define quantifiable goals for non-functional qualities • Gain as much useful information as quickly and cheaply as possible • Refactor performance tests regularly Test Management Summit 2009 – Performance and Test-Driven Development | Page 9

  10. Performance Test-Driven DevelopmentSome Good References on the topic • Scott Ambler • http://www.ddj.com/architect/210601918 • Tom & Kai Gilb • http://gilb.com/Requirements • Scott Barber • http://www.logigear.com/newsletter/explanation_of_performance_testing_on_an_agile_team-part-1.asp • Jamie Dobson • http://www.jamiedobson.co.uk/?q=node/21 • Mike Cohn • http://blog.mountaingoatsoftware.com/?p=62 Test Management Summit 2009 – Performance and Test-Driven Development | Page 10

  11. Thanks for your attention Alan.Gordon@sqs-uk.com David.Evans@sqs-uk.com 7 Moorgate | London, EC2R 6AF, United KingdomTel.: +44 (0) 20 7448 4620 | Fax: +44 (0) 20 7448 4651E-Mail: info@sqs-uk.comInternet: www.sqs-uk.com | www.sqs-group.com

More Related