[hcmc stc jan 2015] testing practices for scrum projects
TRANSCRIPT
© Copyright 2015 FPT Software 1
Jan, 2015
TESTING PRACTICES FOR SCRUM PROJECTS HieuNT20 – Test Manager, FPT Software
© Copyright 2015 FPT Software 2
Contents
What is an Agile Project Management?
What are Testing Activities in Scrum?
What are Agile Testing Approach?
Best Practices and Lessons Learned
Q&A
© Copyright 2015 FPT Software 3
What is Agile Project Management?
• Agile management or agile project management is an iterative and incremental method of managing the design and build activities for engineering, information technology, and new product or service development projects in a highly flexible and interactive manner.
© Copyright 2015 FPT Software 4
What are roles of tester in Scrum?
• There is NO tester role defined in Scrum:
– Unit testing is carried out by developer
– System testing is carried out by Product Owner/ Client
• Frequently testing by Product Owner each sprints
• Testing the Acceptance Criteria
– Unclear role of testers in team
© Copyright 2015 FPT Software 5
What are roles of tester in Scrum?
• Are Testers unnecessary?
– Can developers do acceptance testing well?
– Can developers test their work products well?
– Is only unit test enough?
– How to test non-functional requirements?
???
© Copyright 2015 FPT Software 6
What are roles of tester in Scrum?
• BENEFITS OF HAVING INDEPENDENT TESTER?
– Focus on customer usage over technical implementation
– Focus on uncovering defects over confirming completeness
– Support developer to do Unit Testing – tell them about testing view instead of development view
– Test User Story when completed, last gate to confirm testing completeness
© Copyright 2015 FPT Software 7
What are roles of tester in Scrum?
• BENEFITS OF HAVING INDEPENDENT TESTER?
– Collaborate with customer and Product Owner to define acceptance criteria
– Perform automation testing – saving effort for regression test
– Perform non-functional testing: usability testing, security testing, and performance testing
© Copyright 2015 FPT Software 8
What are testing activities in Scrum?
No Tasks In-Charge Day 01 Day 02 Day 03
Day
04
Day
05
Day
06 Day 07 Day 08 Day 09 Day 10
1 Daily Meeting Team member x x x x x x x x x x
2 Planning meeting Team member x
3 Sizing Meeting Team member x
4
Regression List (Update
to Customer) Test lead x
5 Test case design Team member x x x x x
6 Test case review
Test Lead/ Team
member x x x
7
Test execution (New
Function) Team member x x x x x x
8 Defect Verification Team member x x x x x x x x x x
9
Testing Status (Test
coverage/ Defect Status) Test lead x x x x
10 Regression Test Team member x x x x x x x x x
11 Daily report Test lead x x x x x x x x x x
12 Sharepoint check/ reply Team member x x x x x x x x x x
13
Ad-hoc task
(communicate with
customer)
Test Lead/ Team
member x x x x x x x x x x
© Copyright 2015 FPT Software 9
What are Agile Testing Approach?
Functional Testing
User Story Test Prototype Test
Exploratory Testing
Scenario Test Usability Test
User Acceptance Test
Performance & Load Testing
Performance Test Load Test
Security Test
Unit Testing
Unit Test combine with Test Coverage
Business Facing
Technology Facing
Critiq
ue P
rod
uct
Su
pp
ort
th
e t
eam
Unit Test Tools
Manual/ Automation
Test Manual Test
Special Tools/ Automation
Test
© Copyright 2015 FPT Software 10
What are Agile Testing Approach?
• As typical Testing, black box Testing is used
• Agile Testing is focused on using
– Automation Testing technique • Test driven development, auto builds and continuous regression
test daily reply on the automation and will not work without it.
– Exploratory Testing technique • This technique stimulates learning during test design and test
execution. While software is being tested, testers can learn things together while experience and creativity help generate new good tests to run
– Scenario Testing technique • Use real-world scenarios that exercise multiple roles
© Copyright 2015 FPT Software 11
What are Agile Testing Approach? Black Box Testing
• Black Box Testing, also known as Behavioral Testing, is a software testing method in which the internal structure/design/implementation of the item being tested is not known to the tester. These tests can be functional or non-functional, though usually functional.
© Copyright 2015 FPT Software 12
What are Agile Testing Techniques? Automation Test
• In software testing, test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes.Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or add additional testing that would be difficult to perform manually.
© Copyright 2015 FPT Software 13
What are Agile Testing Techniques? Exploratory Testing
© Copyright 2015 FPT Software 14
What are Agile Testing Techniques? Scenario Testing
• Scenario testing is a software testing activity that uses scenarios:
hypothetical stories to help the tester work through a complex
problem or test system. The ideal scenario test is a credible, complex, compelling or motivating story the
outcome of which is easy to evaluate. These tests are usually different from test cases in that
test cases are single steps whereas scenarios cover a number of steps
(http://wikipedia.org )
© Copyright 2015 FPT Software 15
Best Practices and Lessons Learned
Best Practices
Applied almost all Agile Testing Concepts
© Copyright 2015 FPT Software 16
Best Practices and Lessons Learned
Best Practices
Use regression test strategy effectively
- Make sure that all bugs are fixed
- Guarantee functional succession and new version compatibility with the previous ones.
© Copyright 2015 FPT Software 17
Best Practices and Lessons Learned
Best Practices
Use regression test strategy effectively
© Copyright 2015 FPT Software 18
Best Practices and Lessons Learned
Best Practices
Technical problems can be found when performing the Load/ Performance Test
Performance & Load Testing
Performance Test Load Test
Security Test
© Copyright 2015 FPT Software 19
Best Practices and Lessons Learned
Lessons Learned
Testers over time for 6 consecutive sprints.
Negotiate with PO to break down User stories
Negotiate with Development Team to deliver the output on day 5, 6, and 7 (maximum)
Apply automation test to cover the basic scenarios.
© Copyright 2015 FPT Software 20
Best Practices and Lessons Learned
Lessons Learned
Requirements are overridden. PO and BA cannot control the additional requests.
Baseline the system (1st release), document requirements
Requirement traceability matrix is applied to control the changes
© Copyright 2015 FPT Software 21
Summary
• Testers are necessary for Scrum Projects
• Agile Testing Approach should be defined when starting the Agile Testing project
• Regression Test strategy should be defined
• Automation Test, Performance/ Load test should be considered.
• Requirement Traceability should be applied to monitor the changes.
© Copyright 2015 FPT Software 22
Q&A
© Copyright 2015 FPT Software 23