1 / 13

Agile Testing and/or Agility in Testing?

Test Summit, 29.7.2003, Savonlinna. Agile Testing and/or Agility in Testing?. Juha Itkonen SoberIT Teknillinen Korkeakoulu. Contents. Overview of agility Agile principles and testing Two views of agile testing: eXtreme and Exploratory Third view and challenges of agile testing

jana
Download Presentation

Agile Testing and/or Agility in Testing?

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. Test Summit, 29.7.2003, Savonlinna Agile Testing and/orAgility in Testing? Juha Itkonen SoberIT Teknillinen Korkeakoulu

  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 Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  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? http://www.agilemanifesto.org/ Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  4. 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. Some agile principles http://www.agilemanifesto.org/ Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  5. 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 methodologies and testing “Agile Testing” is a buzzword that is not yet defined Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  6. 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 Two views of agile testing Focus on automated verification – enabling agile software development Focus on manual validation – making testing activities agile Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  7. 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. Definitions of Exploratory Testing • 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 James Bach, Rapid Software Testing, 2002 Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  8. Scripted vs. Exploratory Tests fixes mines Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  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 Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  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 Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  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? Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  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! Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

  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/ Juha Itkonen, SoberIT, TKK, www.soberit.hut.fi/sems/

More Related