Testing Challenges within Agile Teams

376 views

Published on

In her book Agile Testing: A Practical Guide for Testers and Agile Teams, Janet Gregory recommends using the automation pyramid as a model for test coverage. In the pyramid model, most automated tests are unit tests written and maintained by the programmers,and tests that execute below the user interface—API-level tests that can be developed and maintained collaboratively by programmers and testers. However, as agile becomes mainstream, some circumstances may challenge this model. Many applications are transferring logic back to the client side by using programming languages such as JavaScript. Legacy systems, using languages such as COBOL, don’t have access to unit testing frameworks. Janet shows how to adapt the model to your needs and addresses some of these automation issues. During the session, delegates are encouraged to share their challenges and success stories.

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

  • Be the first to like this

No Downloads
Views
Total views
376
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Testing Challenges within Agile Teams

  1. 1. 1/23/2013 Star Canada April 2013, Toronto Janet Gregory, DragonFire Inc. Copyright 2013 Copyright 2013 DragonFire Inc. First agile team – 2000 Currently – coaching, testing Book – Agile Testing; January 2009 Writing Book 2 - 2013 2 1
  2. 2. 1/23/2013 3 1. 2. 3. 4. 5. mixed messages by thought leaders new technologies distributed teams organization culture tester role / testing activities / automation Are there others you can think of ??? Copyright 2013 DragonFire Inc. 4 2
  3. 3. 1/23/2013 Testing activities Common automation model Automation through the GUI Unit Tests 3
  4. 4. 1/23/2013 Automate at the feature level push the tests lower Automate at the story level Automate at the task level Tests / Examples API test structure passes to Test Method / Fixture Test Frame work calls Developer Code Copyright 2013 DragonFire Inc. 4
  5. 5. 1/23/2013 test / examples TestLogIn User Name Password Expected result JanetGregory Password Access system as JanetGregory Janet Gregory Password Error comments Valid combo saved Space in user name boolean TestLogIn (userName, password, expected result) call LogIn (userName, password) compare (actual result, expected result) if true, return pass else return fail test method / fixture end Developer code Copyright 2013 DragonFire Inc. boolean LogIn (name,pwd) code stuff ……….. if logged in, return true else return false end • different model for your application • old technologies (ex. Cobol) • less abstraction between layers ◦ presentation vs. business layer • new technologies ◦ more logic in the GUI layer Copyright 2013 DragonFire Inc. 10 5
  6. 6. 1/23/2013 • JavaScript • Flash • Flex • Ajax • Cross-browser compatibility • Mobile (type, carrier, networks) 12 6
  7. 7. 1/23/2013 • ATDD (acceptance test driven dev) through the GUI ◦ ◦ ◦ ◦ Jasmine: BDD framework to test JavaScript Sebium: Fit and Selenium combined (Cirilo Wortel) Selenium: possible, but harder Ruby / Watir: possible, but harder • Unit tests ◦ jQuery Copyright 2013 DragonFire Inc. 14 7
  8. 8. 1/23/2013 • enables testers / business to define tests • test code can be in programming language • programmers can run tests as they code • testers can ask programmers for help • takes time from ‘coding’ production code • tests are usually through the UI • programmers aren’t usually willing to help • tests are implemented after the code is written • testers create and implement all tests Copyright 2013 DragonFire Inc. 15 So, if we can’t test all (most) functionality at the API layer ... Any stories to share? Copyright 2013 DragonFire Inc. 16 8
  9. 9. 1/23/2013 17 two big questions .... Do testers need to know how to code? Can programmers do all the testing? 18 9
  10. 10. 1/23/2013 • system architecture ◦ high level (context) ◦ component level Thx to Lynn McKee for the term technical awareness 19 for example, • in JavaScript, there is a small, but important issue with the parseInt function, used to transform strings to integers. • the issue arises when we create a Date object from a 'yyyy-mm-dd' string. Could your testers and programmers have a conversation about this? Copyright 2013 DragonFire Inc. 20 10
  11. 11. 1/23/2013 Copyright 2013 DragonFire Inc. 21 Brian Marick 11
  12. 12. 1/23/2013 23 • slicing stories • ATDD (acceptance test driven development) • sharing technical details • teaching testing skills • learning test patterns • learning / teaching design techniques • creating test harnesses, mocks, stubs Copyright 2013 DragonFire Inc. 24 12
  13. 13. 1/23/2013 Copyright 2013 DragonFire Inc. 25 Instead of saying NO, or being the gatekeeper Be the information provider so business can make the decisions Questions? Copyright 2013 DragonFire Inc. 26 13
  14. 14. 1/23/2013 • agile-testing@yahoogroups.com • www.lisacrispin.com • http://gojko.net/2010/10/05/rethinking-user-interface-testautomation/ • http://net.tutsplus.com/tutorials/javascript-ajax/testing-yourjavascript-with-jasmine • http://www.software-testing.com.au/blog/2011/01/25/testautomation-styles-and-alternatives-to-the-page-objectpattern/ • www.qualityperspectives.ca Copyright 2013 DragonFire Inc. 27 Contact Information janet@agiletester.ca www.janetgregory.ca twitter: @janetgregoryca lisa@agiletester.ca www.lisacrispin.com twitter: @lisacrispin www.agiletester.ca Copyright 2013 DragonFire Inc. 14

×