Your SlideShare is downloading. ×
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.

Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

No notes for slide


  • 1. Agile Testing and/or Agility in Testing? Juha Itkonen SoberIT Teknillinen Korkeakoulu Test Summit, 29.7.2003, Savonlinna
  • 2. Contents
    • Overview of agility
    • Agile principles and testing
    • Two views of agile testing: eXtreme and Exploratory
    • Third view and challenges of agile testing
    • Agile development and testing services
  • 3. Agile Manifesto
    • Individuals and interactions over processes and tools
    • Working software over comprehensive documentation
    • Customer collaboration over contract negotiation
    • Responding to change over following a plan
    How do these values affect testing?
  • 4. Some agile principles
    • Satisfy the customer through early and continuous delivery of valuable software.
    • Working software is the primary measure of progress.
    • Deliver working software frequently, from a couple of weeks to a couple of months .
    • Welcome changing requirements , even late in development.
    • The most efficient and effective method of conveying information to and within a development team is face-to-face conversation .
    • Business people and developers must work together daily throughout the project.
    • Simplicity --the art of maximizing the amount of work not done--is essential.
  • 5. Agile methodologies and testing
    • eXtreme programming
    • Scrum
    • DSDM
    • FDD
    • LD
    • ASD
    • MS Synch-and-Stabilize
    • Crystal family
    • Some define strict disciplined testing practices
    • Some do not say much about testing approach
      • E.g. FDD: “… processes used for testing are not the main process issues with which the organisations are struggling … and most organizations already have reasonable testing processes in place”
    “ Agile Testing” is a buzzword that is not yet defined
  • 6. Two views of agile testing
    • eXtreme Testing
    • Automated unit testing
      • Developers write tests
      • Test first development
      • Daily builds with unit tests always 100% pass
    • Functional testing
      • Customer-owned
      • Comprehensive
      • Repeatable
      • Automatic
      • Timely
      • Public
    • Exploratory Testing
    • Manual testing by professional skilled testers
    • Freedom, flexibility and fun for testers
    • Controllability, reliability and high quality for managers
    • Optimized to find bugs
    • Continually adjusting plans, re-focusing on the most promising risk areas
    • Following hunches
    • Minimizing time spent on documentation
    Focus on automated verification – enabling agile software development Focus on manual validation – making testing activities agile
  • 7. Definitions of Exploratory Testing
    • In scripted testing, tests are first designed and recorded. Then they may be executed at some later time or by a different tester.
    • In exploratory testing, tests are designed and executed at the same time, and they often are not recorded.
    • You build a mental model of the product while you test it. This model includes what the product is and how it behaves, and how it’s supposed to behave.
    James Bach, Rapid Software Testing, 2002
    • To the extent that the next test we do is influenced by the result of the last test we did, we are doing exploratory testing. James Bach, 2001
    • Exploratory testing involves simultaneously learning, planning, running tests, troubleshooting and reporting results. Cem Kaner, 2001
  • 8. Scripted vs. Exploratory Tests mines fixes
  • 9. Value of testing in agile development
    • Testing in agile software development should provide the information that stakeholders need to make decisions and steer the development into the right direction
    • This information must be provided promptly
    • Testing provides data on the status of the deliverables and generates project intelligence
    • Project intelligence is knowledge of risks and benefits
    • Knowledge of risks, benefits, test records and results are more valuable than test documentation and infrastructure
    • We can increase the value of testing most by
      • Improved intelligence
      • Providing intelligence earlier
  • 10. Third view of agile testing
    • Embracing the change
    • Testing practices must not be fixed
      • Test procedures must be clearly defined and described as atomic modules
      • Test procedures must be easily selected to suit the changing situations and requirements
    • Development and testing must collaborate and agree on the test procedures and quality goals for each increment
      • Not only functionality but also non-functional features
      • Test requirements
      • Expected results
    • Business must set the upper-level quality requirements
  • 11. Challenges for testing in agile software development
    • What information is the testing based on?
      • What to test and what are the expected results?
      • How to make testing, development and business collaborate?
      • How to involve customer and business people in testing?
    • How do we know where we are?
      • Working software is the primary measure of progress
      • Testing should provide the data
      • If it’s not tested it doesn’t exist
    • How to keep up with the pace of the development?
      • How to produce and communicate relevant information promptly?
      • How to test early but not do anticipatory test design?
  • 12. Agile development and testing services
    • It is important to understand the challenges of agile practices
      • Hard to solve even within one company
    • If an agile company wishes to use testing services (e.g. for reliability, load, stress, compatibility or functional testing) it might be confronted with big problems
      • Arranging collaboration and communication
      • Service provider’s ability to respond to change
      • Service provider’s ability to adopt the pacing
    •  The challenges of testing in agile development have to be solved!
  • 13. Further reading
    • Beck, K., Test-Driven Development by Example , Addison-Wesley, 2003.
    • Crispin, L., T. House, Testing Extreme Programming , Addison-Wesley, 2003.
    • Kaner, C., J. Bach, B. Pettichord, Lessons Learned in Software Testing , John Wiley & Sons, 2002.
    • www. agilemanifesto . org /
    • www. xprogramming . com /
    • www. satisfice . com / articles /et- article . pdf
    • www. testingeducation . org / coursenotes /
    • www. testinglessons . com /
    • www. agilealliance . com / articles /
    • www. context - driven - testing . com /