Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Matt Eakin - The New Tester Skillset


Published on

Published in: Technology
  • Be the first to comment

Matt Eakin - The New Tester Skillset

  1. 1. Local Touch – Global Reach The New Tester Skillset Matthew Eakin, Manager Managed Testing Practice Sogeti, USA
  2. 2. Tonight's Agenda Emerging Trends What is being “transformed”? Tasks of the New Tester Local Touch – Global Reach 2
  3. 3. Emerging Trends in Software Testing What we are seeing… • Rapid delivery of software is necessitating rapid delivery and testing of code • Change is part of the development process • Rapidly changing technology is forcing new ways of testing • Evolving testing tools • Agile transformation is a cultural change • Business pushing IT • Emphasis on testing from a User/Business Point-of-View Testing is often the “Achilles Heel” of agile teams because… • Testing is often the last to be brought onto agile teams • Testing Teams don’t have the right testing tools needed to “go agile” • Testers often lack automation skills • Adversarial relationship with Development Team • Historical emphasis on up-front analysis of entire Project • “A Testers job is to find, log, and manage defects.” Local Touch – Global Reach 3
  4. 4. Agile Testing – What is “transformed”? Agile Process Time Waterfall Iterative 4, 12, 36 Month Projects Strategy Written Once Test Plan Per Project; Detailed; Fixed Scope Risk Documentation Assessed Upfront Test Documentation Incremental Parallel Test Driven 2-4 Week Sprints Evolving Sprint Planning; Changing Scope Assessed Continuously Working tests Defects Logged, Managed A Conversation Metrics By Project; By App Team-based Resources Multiple Projects & Apps One App; One Project at a Time Local Touch – Global Reach 4
  5. 5. Opportunities to Plan 5 Local Touch – Global Reach 5
  6. 6. The “new” requirements User Story Acceptance Criteria Test Cases Gherkin Scripts • States what the user wants (functionality) • Why they need it (business case) • Boundaries of the Requirement • The “rules” • Definition of “Done” • Different Variation of the functionality • Examples of the functionality • How to do the functionality • Step-by-step, action-by-action Local Touch – Global Reach 6
  7. 7. The Waterfall to Agile Paradigm Shift Waterfall Fixed Agile Development Requirements Resources Value Driven Plan Driven Estimated Resources Time The Plan creates cost/schedule estimates Local Touch – Global Reach Time Features Release themes & feature intent drive estimates 7
  8. 8. The Agile software tester Task “Traditional” tester “New” tester Team Role Test-Only Involved in all “phases” When to test Silo’d – scripts written and executed at the end of the project ATDD – scripts written and executed before code is deployed What to Test Functional, End-to-end test, Regression Testing Pyramid/ 4 Quadrants of Testing Script Writing What code is (click-by-click) How code behaves (Gherkin Scripts) Script Execution Manual Automated Tools Excel spreadsheets, manual scripts Automation frameworks Local Touch – Global Reach 8
  9. 9. Amigo Review Time • At some point during the Sprint the Team Leads (if you have Leads. If not, bring the entire team) need to get together to discuss each User Story in the Product Backlog  3 Amigos (typically) consist of the Analyst or Product Owner, the Developer, and the Tester • Once a User Story is small enough, the Amigo’s need to discuss:  Does the User Story contain enough information  Are the Acceptance Criteria clear  Possible Test Cases/Scenarios  Gherkin Script(s)  Other testing that might be needed  Risk • Is your point estimate still accurate? 9 Local Touch – Global Reach 9
  10. 10. The BDD/ATDD Timeline • (ATDD cycle model adapted from one created by James Shore with changes suggested by Grigori Melnick, Brian Marick, and Elisabeth Hendrickson) Local Touch – Global Reach 10
  11. 11. The Testing Pyramid Created by Mike Cohn in Succeeding with Agile Essential points: 1. Unit Tests form the base of your testing strategy. 2. You should have more Unit Tests than any other kind of test. 3. There is no direct relationship between Unit and GUI tests. Local Touch – Global Reach 11
  12. 12. Brian Marick’s Agile Testing Quadrants • Goal: to ensure we accomplish all testing goals • Q1 - Technology-facing tests that support the team • Q2 - Business-facing tests that support the team • Q3 - Business-facing tests that critique the product • Q4 - Technology-facing tests that critique the product Local Touch – Global Reach 12
  13. 13. What are Gherkin scripts? • Gherkin Scripts: connects the human concept of cause and effect to the software concept of input/process/output. > Given – indicates something that we accept to be true in a scenario > When – indicates the event in a scenario > Then – indicates an expected outcome • Can also use “And” and “But” steps to help make a Given, When, or Then more descriptive • It is “business readable” – business users can understand it and follow what is happening just as easily as Analysts, Developers, and Testers • It a “domain specific language” – it can be used across programming languages Local Touch – Global Reach 13
  14. 14. Examples of Gherkin Scripts: Scenario: Successful withdrawal from an account Given I have deposited $80 in my Account When I request $20 from an ATM Machine Then I should receive $20 Scenario: Draw then change a bond And click on the canvas and release And click on the canvas discretely to the right of the 1 node and release And on the Bond Selection Area select the single bond And click the 1 node and drag to the 2 node and release When on the Bond Selection Area select the double bond And select the 1-2 bond Then the 1-2 bond is a double bond Scenario: Grumpy cat pumpkins Given I navigate to the Google Home Page When I enter grumpy cat pumpkin And I click the Search button Then I will have Orange and Black pumpkins in the results Local Touch – Global Reach 14
  15. 15. Sample Automation Checklist Must Have/ Nice to Have 1 1a Specific Automation Functionality How tool functions during a Sprint Does the tool allow you to write an automated script to test this BEFORE the code is written? New functionality testing 1b 1c Adjust scripts on the fly based on, i.e., quantity available "Randomly" pick items (i.e. second item in search results) 1d Handling a "change" in script during the Sprint Must Have 1e Capture data & re-use later in script (or other scripts) Must Have 1f h Run all scripts on multiple browsers on multiple OS's: IE, Chrome, Firefox, mobile Safari (on a mobile OS), Safari (on Apple OS X), POS -integration with online/cloud testing sites to fill browser/OS gaps clarification: if we need to do specific testing on a new type of phone, does the tool have the ability to test this another way? Test an existing defect 1i 1j 1k -on multiple browsers & OS's Performance testing at the step, object, or script level (run-time of each) -Track performance data over time 2 Smoke & Regression testing 2a Modify (update, merge, delete) existing regression test scripts Must Have 2b Must Have 2c Update existing regression test objects i.e. id changed on a text field Validation of Content (i.e. price, quantity, discounts, total price, promo discounts applied properly to estimated total) 2d Depth of tests (just test 'happy path' or test every script you have for a particular functionality) 2e 2f 2g -run deeper tests as needed Turn a script "off" as needed Tying scripts to application code - new changes, defects 1g Must Have Must Have Nice to Have Must Have Must Have Must Have Must Have Nice to Have Nice to Have Must Have Must Have Must Have Must Have Must Have Local Touch – Global Reach 15
  16. 16. Local Touch – Global Reach Thank you