Professional Documents
Culture Documents
Lecture 6
After Eid vacation, we will have year work assessment during lecture time.
Schedule will be announced soon.
Lectures 3 to 8 are included.
The ISTQB® Foundation Level Agile Tester (CTFL-AT) certification provides the key testing skills
necessary to successfully contribute to an Agile project. CTFL-AT covers agile testing in
alignment with the principles of agile software development as outlined in the Agile Manifest.
A tester on an Agile project will work differently than one working on a traditional project.
Testers must understand the values and principles that underpin Agile projects, and how
testers are an integral part of a whole-team approach together with developers and business
representatives.
Fundamentals of
Agile
Software
Development
Introduction
• Tester on an Agile project will work differently
than one working on a traditional project.
• Testers must understand the values and
principles that underpin Agile projects, and
how testers are an integral part of a
whole-team approach together with
developers and business representatives.
• Members in an Agile project communicate
with each other early and frequently, which
helps with removing defects early and
developing a quality product.
6
The Agile Manifesto
7
Whole-Team Approach
9
Whole-Team Approach
10
Early and Frequent Feedback
Collaborative
Agile
User Story Retrospectives
Approaches
Creation
Release and
Continuous
Iteration
Integration
Planning
Agile
Software
Development
Approaches
Agile Software Development Approaches
15
1. Extreme Programming (XP)
16
17
18
Extreme Programming (XP) Practices
19
Planning Game
• Team will start with a simple design and let it emerge and
evolve over a period of iterations.
• The code is frequently refactored so that it will be maintainable
and free of technical debt.
• Simple designs make the 'definition of done' easier.
• XP teams conduct a small test or proof-of-concept workout
called Spike. Spike uses the simplest possible program to
explore potential solutions. The outcome of the spike helps the
team to consider the validity of the hypothesis, measure the
complexity of the solution and feel assured to estimate and build
something primarily based on the test.
21
Minimum Viable Product (MVP)
22
System Metaphor
23
Pair Programming
24
Collective Code Ownership
25
Continuous Integration (CI)
• If the tests fail, they are fixed then and there, so that any chance of
defect propagation and further problems are avoided with minimum
downtime.
• The team can use CI tools like Jenkins, shippable, Integrity, Azure
DevOps Pipelines, etc.
26
Test-driven Development
• Tests are written before code and ‘passing’ the tests is the critical
driver of development.
• You develop code incrementally, along with a test for that
increment. You don’t move on to the next increment until the
code that you have developed passes its test.
• TDD is used to develop code guided by automated test cases.
• The tests written are primarily unit level and are code-focused,
tests may also be written at integration or system levels.
• It helps developers focus on clearly-defined expected results. The
tests are automated and are used in continuous integration.
27
Sustainable Pace
28
2. Scrum
29
30
3. Kanban
31
Kanban
Kanban Board: The value chain to be managed is visualized by a Kanban board. Each
column shows a station, which is a set of related activities, e.g., development or testing.
The items to be produced or tasks to be processed are symbolized by tickets moving from
left to right across the board through the stations.
Work-in-Progress WIP Limit: The amount of parallel active tasks is strictly limited. This
is controlled by the maximum number of tickets allowed for a station and/or globally for
the board. Whenever a station has free capacity, the worker pulls a ticket from the
predecessor station.
32
Kanban
Kanban lead time: is the time between a request being made and a task
being released. It’s the total time the client is waiting for a task to be
delivered. Lead time is frequently used by Kanban teams to evaluate
customer satisfaction.
Kanban cycle time: is calculating the actual work-in-progress time. It
tracks how long a task stays in the different process stages. It is used to
measure team performance. Low cycle times mean that team is efficient.
High cycle times indicate stalls, bottlenecks, and backlogs.
33
34
Aspects of Agile Approaches
Collaborative
Agile
User Story Retrospectives
Approaches
Creation
Release and
Continuous
Iteration
Integration
Planning
User Story
36
Collaborative User Story Creation
38
3Cs Concept
40
Aspects of Agile Approaches
Collaborative
Agile
User Story Retrospectives
Approaches
Creation
Release and
Continuous
Iteration
Integration
Planning
Retrospectives
42
Thank You