Optimizing Your Agile Testing Processes September 23, 2008 www.uTest.com
Agile Manifesto <ul><li>Individuals and interactions  over  processes and tools </li></ul><ul><li>Working software  over  ...
Standard S/W Theory Release! Requirements Analysis System Design Coding QA & Bug Fixes
The Reality… Release! Requirements Analysis System Design Coding QA New  Requirements Redesign Coding Boss’s Pet Feature R...
QA is a  defensive stance… “Protect the user” mentality
Agile Development <ul><li>Short  Development Cycles </li></ul><ul><li>(aka Iteration, Sprint, etc.) </li></ul><ul><li>Don’...
Is Agile New?
Move the  deadline up! Kill all documentation! Keep coding till the  day of release! This is  NOT Agile!
Agile is VERY orderly
Test  Driven  Development Write Unit Tests Run Tests Write Some Code Run Tests Fail Fail Yes Pass More  Features? No Pass ...
Sample JUnit Test Case <ul><li>Method in JUnit that: </li></ul><ul><li>Checks if the two arguments are equal </li></ul><ul...
Sample Unit Test Code @Test  public void testAddition() {  assertEquals( 12 , myMathClass.add(7,5) ); assertEquals( 12 , m...
Sample Unit Test Code @Test  public void testAddition() {  assertEquals( 12 , myMathClass.add(7,5) ); assertEquals( 12 , m...
Sample Unit Test Code @Test  public void testAddition() {  assertEquals( 12 , myMathClass.add(7,5) ); assertEquals( 12 , m...
Sample Unit Test Code @Test  public void testAddition() {  assertEquals( 12 , myMathClass.add(7,5) ); assertEquals( 12 , m...
Don’t worry  about that Failure… The Feature Is Not For This Release Don’t worry about that Failure… It’s a  Known Bug
Testing Phases
Compliance Matrix Complexity <ul><li>Testing Compliance Matrix keeps getting bigger </li></ul><ul><li>For web apps, who is...
The Tester’s Role <ul><ul><li>Unit Tests = Specs </li></ul></ul><ul><ul><ul><li>QA and PM meet early </li></ul></ul></ul><...
Case Study: Testing in Short Iterations
2 week development cycle Mon - Fri Development Develop features for  current Sprint cycle Fri 5PM Release To Testing Post ...
Scoping each Sprint Fri - Mon  Testing Mon - Fri Bug Fixing Fri - Mon  Testing Mon 3PM Business Priority Meeting Sales, Mk...
Testing and the End-User
Thank you! Q&A For more info: http://www.utest.com/solutions_agile_testing.htm Download the “Agile Testing with uTest” Cas...
Upcoming SlideShare
Loading in...5
×

Optimizing Your Agile Testing Processes

8,172

Published on

An overview of agile testing and how to incorporate it into an agile software development process.

From a Webinar by uTest: http://www.utest.com/webinar_agile_testing.htm

Published in: Technology
0 Comments
10 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,172
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
863
Comments
0
Likes
10
Embeds 0
No embeds

No notes for slide
  • Welcome everyone. Today, we’re going to discuss Quality testing in an Agile Development environment. My name is Brad Young, I’m a community evangelist here at uTest, and our experiences with Agile come both from our in house development of our own product platform, as well as working with many customers who also develop using various Agile methodologies.
  • Transcript of "Optimizing Your Agile Testing Processes"

    1. 1. Optimizing Your Agile Testing Processes September 23, 2008 www.uTest.com
    2. 2. Agile Manifesto <ul><li>Individuals and interactions over processes and tools </li></ul><ul><li>Working software over comprehensive documentation </li></ul><ul><li>Customer collaboration over contract negotiation </li></ul><ul><li>Responding to change over following a plan </li></ul>
    3. 3. Standard S/W Theory Release! Requirements Analysis System Design Coding QA & Bug Fixes
    4. 4. The Reality… Release! Requirements Analysis System Design Coding QA New Requirements Redesign Coding Boss’s Pet Feature Redesign Coding
    5. 5. QA is a defensive stance… “Protect the user” mentality
    6. 6. Agile Development <ul><li>Short Development Cycles </li></ul><ul><li>(aka Iteration, Sprint, etc.) </li></ul><ul><li>Don’t over design: Only what you need for this sprint </li></ul><ul><li>Testing integral to process </li></ul><ul><li>Focus on software, not documentation </li></ul><ul><li>Design / Test / Code as a team </li></ul><ul><li>Business User is part of cycle </li></ul><ul><li>Iterative Releases </li></ul><ul><li>2-4 weeks apart </li></ul><ul><li>Unique value in each release </li></ul>
    7. 7. Is Agile New?
    8. 8. Move the deadline up! Kill all documentation! Keep coding till the day of release! This is NOT Agile!
    9. 9. Agile is VERY orderly
    10. 10. Test Driven Development Write Unit Tests Run Tests Write Some Code Run Tests Fail Fail Yes Pass More Features? No Pass Check-in
    11. 11. Sample JUnit Test Case <ul><li>Method in JUnit that: </li></ul><ul><li>Checks if the two arguments are equal </li></ul><ul><li>Displays message if assertion fails </li></ul>The functionality we are about to develop, which needs to be tested The JUnit Test Case that we are building @Test public void testAddition() { assertEquals( 12 , myMathClass.add(7,5) ); }
    12. 12. Sample Unit Test Code @Test public void testAddition() { assertEquals( 12 , myMathClass.add(7,5) ); assertEquals( 12 , myMathClass.add(5,7) ); assertEquals( 3 , myMathClass.add(3,0) ); }
    13. 13. Sample Unit Test Code @Test public void testAddition() { assertEquals( 12 , myMathClass.add(7,5) ); assertEquals( 12 , myMathClass.add(5,7) ); assertEquals( 3 , myMathClass.add(3,0) ); assertEquals( 2 , myMathClass.add(-5,7) ); assertEquals( -2 , myMathClass.add(5,-7) ); }
    14. 14. Sample Unit Test Code @Test public void testAddition() { assertEquals( 12 , myMathClass.add(7,5) ); assertEquals( 12 , myMathClass.add(5,7) ); assertEquals( 3 , myMathClass.add(3,0) ); assertEquals( 2 , myMathClass.add(-5,7) ); assertEquals( -2 , myMathClass.add(5,-7) ); assertEquals( 133332 , myMathClass.add(55555,77777) ); }
    15. 15. Sample Unit Test Code @Test public void testAddition() { assertEquals( 12 , myMathClass.add(7,5) ); assertEquals( 12 , myMathClass.add(5,7) ); assertEquals( 3 , myMathClass.add(3,0) ); assertEquals( 2 , myMathClass.add(-5,7) ); assertEquals( -2 , myMathClass.add(5,-7) ); assertEquals( 133332 , myMathClass.add(55555,77777) ); assertEquals( 6 , myMathClass.add(1,2,3) ); }
    16. 16. Don’t worry about that Failure… The Feature Is Not For This Release Don’t worry about that Failure… It’s a Known Bug
    17. 17. Testing Phases
    18. 18. Compliance Matrix Complexity <ul><li>Testing Compliance Matrix keeps getting bigger </li></ul><ul><li>For web apps, who is the customer in the team? </li></ul>1997 1999 2001 2003 2005 2007 2009 Medium Complexity: OS, Hardware, Device Drivers High Complexity: OS, Browser, Browser Settings/Plug-ins, Firewall / Anti-Virus / Filtering, Connection Speed, Language/Region Low Complexity: Browser Version Native-Code HTML Server-side Dynamic Web Apps
    19. 19. The Tester’s Role <ul><ul><li>Unit Tests = Specs </li></ul></ul><ul><ul><ul><li>QA and PM meet early </li></ul></ul></ul><ul><ul><ul><li>No more SRS  TP Alchemy </li></ul></ul></ul><ul><ul><li>Testing is part of development process </li></ul></ul><ul><ul><ul><li>Team development calls for testing frame of mind </li></ul></ul></ul><ul><ul><ul><li>In a programming team / pair, not everyone is homogenous </li></ul></ul></ul><ul><ul><li>Acceptance Testing by Customer </li></ul></ul><ul><ul><ul><li>Coordinating (and participating in) customer testing / community testing </li></ul></ul></ul>
    20. 20. Case Study: Testing in Short Iterations
    21. 21. 2 week development cycle Mon - Fri Development Develop features for current Sprint cycle Fri 5PM Release To Testing Post the Sprint version and test plans to Testing arena Fri 5PM - Mon 9AM Testing Simultaneous worldwide testing by uTest Community Mon 9AM Complete Bug Report R&D Reviews Bugs Identified in Sprint version Mon - Fri Bug Fixing Stabilization and Bug Fixing. No new development Fri 5PM Release To Testing Post the Release Candidate to Testing arena Fri 5PM - Mon 9AM Testing Simultaneous worldwide testing by uTest Community Mon 9AM Version Release Showstopper fixes, release decision and post to production site
    22. 22. Scoping each Sprint Fri - Mon Testing Mon - Fri Bug Fixing Fri - Mon Testing Mon 3PM Business Priority Meeting Sales, Mktg, Prod Mgmt choose se 6-8 candidate features for upcoming cycle Tues 11AM Sprint Planning Meeting Prod Mgmt presents candidates to R&D Mgmt Fri 10 AM R&D Response to Biz Team R&D analysis is presented to business team Fri 3PM Sprint Decision Closure List of candidate features for upcoming Sprint cycle is finalized Wed-Thurs Dev Speccing R&D Team Leaders analyze candidates for code complexity, cost of development and risk factors Mon - Fri Development
    23. 23. Testing and the End-User
    24. 24. Thank you! Q&A For more info: http://www.utest.com/solutions_agile_testing.htm Download the “Agile Testing with uTest” Case Study: http://www.utest.com/downloadcs.php
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×