Upload
qaoth
View
493
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Local Touch – Global Reach
www.us.sogeti.com
The New Tester Skillset Matthew Eakin, Manager
Managed Testing Practice
Sogeti, USA
2 www.us.sogeti.com Local Touch – Global Reach
Tonight's Agenda
Emerging Trends
What is being “transformed”?
Tasks of the New Tester
3 www.us.sogeti.com Local Touch – Global Reach
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.”
4 www.us.sogeti.com Local Touch – Global Reach
Agile Testing – What is “transformed”?
Process Waterfall Iterative Incremental Parallel Test Driven
Strategy
Test Plan
Risk
Agile
Written Once Evolving
Per Project; Detailed; Fixed Scope Sprint Planning; Changing Scope
Assessed Upfront Assessed Continuously
Documentation
Defects
Test Documentation Working tests
Logged, Managed A Conversation
Metrics By Project; By App Team-based
Resources Multiple Projects & Apps One App; One Project at a Time
Time 4, 12, 36 Month Projects 2-4 Week Sprints
5 www.us.sogeti.com Local Touch – Global Reach
Opportunities to Plan
5
6 www.us.sogeti.com Local Touch – Global Reach
The “new” requirements
User
Story
• States what the user wants (functionality)
• Why they need it (business case)
Acceptance Criteria
• Boundaries of the Requirement
• The “rules”
• Definition of “Done”
Test
Cases
• Different Variation of the functionality
• Examples of the functionality
Gherkin
Scripts
• How to do the functionality
• Step-by-step, action-by-action
7 www.us.sogeti.com Local Touch – Global Reach
The Waterfall to Agile Paradigm Shift
Fixed
Estimated
Requirements
Time Resources
Time
Features
Plan
Driven
Value
Driven
The Plan creates
cost/schedule estimates
Release themes &
feature intent drive
estimates
Waterfall Agile Development
Resources
8 www.us.sogeti.com Local Touch – Global Reach
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
9 www.us.sogeti.com Local Touch – Global Reach
Amigo Review Time
9
• 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?
10 www.us.sogeti.com Local Touch – Global Reach
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)
11 www.us.sogeti.com Local Touch – Global Reach
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.
12 www.us.sogeti.com Local Touch – Global Reach
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
13 www.us.sogeti.com Local Touch – Global Reach
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
14 www.us.sogeti.com Local Touch – Global Reach
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
15 www.us.sogeti.com Local Touch – Global Reach
Sample Automation Checklist
Specific Automation Functionality Must Have/ Nice to Have
1 How tool functions during a Sprint
1a Does the tool allow you to write an automated script to test this BEFORE the code is written? New functionality testing Must Have
1b Adjust scripts on the fly based on, i.e., quantity available Must Have
1c "Randomly" pick items (i.e. second item in search results) Nice to Have
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 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 Must Have
1g -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? Must Have
h Test an existing defect Must Have
1i -on multiple browsers & OS's Must Have
1j Performance testing at the step, object, or script level (run-time of each) Nice to Have
1k -Track performance data over time Nice to Have
2 Smoke & Regression testing
2a Modify (update, merge, delete) existing regression test scripts Must Have
2b Update existing regression test objects i.e. id changed on a text field Must Have
2c Validation of Content (i.e. price, quantity, discounts, total price, promo discounts applied properly to estimated total) Must Have
2d Depth of tests (just test 'happy path' or test every script you have for a particular functionality) Must Have
2e -run deeper tests as needed Must Have
2f Turn a script "off" as needed Must Have
2g Tying scripts to application code - new changes, defects Must Have
www.us.sogeti.com
Local Touch – Global Reach
Thank you