high performance agile testing in software development
TRANSCRIPT
@sammykolluru #cdnISTQB
High Performance Agile Testing in Software
Development
by Sammy
Kolluru
Sammy KolluruB.Eng., PGDBM, CTFL, CTFL-AT
Executive Board Member, CSTB
Agile WG Member, ISTQB®
@sammykolluru #cdnISTQB
/cdnistqb
/Canadian-Software-Testing-
Board (CSTB)
cstb.ca
istqb.org
@sammykolluru #cdnISTQB
@sammykolluru #cdnISTQB
To continually improve and advance the software testing profession in Canada.
• Created in January, 2007 as a not-for-profit organization
• Creates and administers exams
• Issues certificates
• Accredits training providers
• Participates in ISTQB® GA and Working Groups
Volunteering with CSTB• The CSTB is creating a network of
dedicated people who are committed to
improving the software testing
community in Canada. −Improve job prospects & employability−Training−Experience diversity−Rewarding−Builds professional network −Have fun!
• Email us: [email protected]@sammykolluru #cdnISTQB
@sammykolluru #cdnISTQB
@sammykolluru #cdnISTQB
Software Testing Certifications issued worldwide
400,000+
@sammykolluru #cdnISTQB
Software Testing Certifications issued in Canada
3,000+
Why ISTQB® Certification?
• Benefits to professionals
• Benefits to Companies
• Benefits to Training Providers
@sammykolluru #cdnISTQB
@sammykolluru #cdnISTQB
Benefits to Professionals• International recognition of acquired
competencies and skills
• Possibility to use the logo “Certified
Tester”
• Support to the tester’s career path
from foundation level to expert level
@sammykolluru #cdnISTQB
Benefits to Companies
• Competitive advantage for
companies
• Cost optimization of test activities
• High-level services to customers,
increasing revenues and brand
value.
@sammykolluru #cdnISTQB
Benefits to Training Providers
• Training material; contents, quality and syllabi are accredited by ISTQB®
• Early access to information and evolution of ISTQB® Glossary and Syllabi
• Accredited Training Providers logo and listed on the ISTQB® Website.
@sammykolluru #cdnISTQB
ISTQB® Certification levels
@sammykolluru #cdnISTQB
ISTQB® Agile Tester
@sammykolluru #cdnISTQB
@sammykolluru #cdnISTQB
Traditional SDLCRequiremen
ts
Specifications
Coding
Testing
Release
@sammykolluru #cdnISTQB
Traditional SDLC contd…
• Testing is mostly passive during
development.
• Testing happens at the end, before the
release.
• There is not much time for testing.
Testing gets squished.• Typically, coding may take longer than expected
@sammykolluru #cdnISTQB
What is Agile team?
• Agile team are highly cross
functional, whole-team thinking
approach and works in shorter sprint
to build, test and integrate
continuously.
• ALWAYS keep Customer and Quality
in mind.
@sammykolluru #cdnISTQB
Agile Team contd…
• The core principle of the Agile team
is to build quality in to the product.
• On other hand, to develop with test
based approach.
@sammykolluru #cdnISTQB
What is Agile Testing, anyway?• Agile Testing does not mean testing
in Agile projects.
• A tester in Agile project will work
differently than traditional projects.
@sammykolluru #cdnISTQB
Agile Testing contd…
• Testing an application, with a plan to
learn and using that information to
guide your testing.
• Positively responding to changes.
• Highly cross-functional.
• Working in a team to deliver quality
product in shorter sprint cycle.
@sammykolluru #cdnISTQB
Agile Testing recap…• Iterative and Incremental.
• Testers tests each increment of finished
code.• Iteration may be shorter, easier.
• Team builds and test a small piece of
code, ensuring it works before moving to
next piece.• and so on….
• Developers are never ahead of testers as
they are in-sync.
• Story is never complete until it is
TESTED.
@sammykolluru #cdnISTQB
Agile Manifesto• Individuals and interactions over
process and tools.
• Working software over comprehensive
documentation.
• Customer collaboration over contract
negotiation.
• Responding to change over following a
plan.
@sammykolluru #cdnISTQB
Agile Principles
1) Customer Satisfaction
2) Changing Requirements
3) Frequent Software Delivery
4) Work Together
5) Motivated Individuals
6) Face – Face Conversation
@sammykolluru #cdnISTQB
Agile Principles
7) Measure of Progress
8) Sustainable Development
9) Technical Excellence
10) Simplicity
11) Self Organizing Teams
12) Regular Adaptation
@sammykolluru #cdnISTQB
Whole-Team Approach
Main benefits of Agile is the Whole
Team Approach:• Enhance communications and
collaboration.
• Leverage various skill sets.
• Quality is everyone’s responsibility.
@sammykolluru #cdnISTQB
Early and Frequent feedbackAnother benefits of Agile is the
feedbacks:• Avoids requirement misunderstanding.
• Making features available early.
• Detecting and resolving problems
early.
• Providing information to the team.
• Promoting project momentum.
@sammykolluru #cdnISTQB
Agile Approach
Common Agile Approaches in use:
• Extreme Programming (XP)
• Scrum
• Kanban
@sammykolluru #cdnISTQB
Agile Approach
Common Agile Approaches in use:
Scrum
@sammykolluru #cdnISTQB
Agile Approach: ScrumScrum is Agile Management
framework• Sprint- iterations, usually 2 – 4 weeks
• Product Increments- Releasable product
• Product Backlog- Planned product items
• Sprint Backlog- High priority items
• Definition of Done- Criteria for completion
• Timeboxing- Unfinished feature moved to
backlog
• Transparency- Reports and updates sprint
status
@sammykolluru #cdnISTQB
Sprint Cycle
• During each sprint, Epics are
identified.
• Each story is reviewed and
groomed, acceptance criteria are
defined.
• Each story is expanded, coded,
tested.
• There may be a release after each
sprint.
@sammykolluru #cdnISTQB
Sprint Cycle
Sprint 0
Sprint 1
Epic A
Sprint 2
Epic A
Epic B
Sprint 3
Epic A+B
Epic C
What are tester’s role in Agile?• Passive during Agile planning-
important sprint activities will be
missed.
• Testing late- diminish the
advantages of the agile and
becomes bottle neck.
@sammykolluru #cdnISTQB
Testing role in Agile approach• Should contribute to estimation, task
definition, requirement clarification,
scoping of work.
• Should advocate for customer’s
concerns.
• Understand what user needs, collect
live examples and scenarios.
@sammykolluru #cdnISTQB
Testing role contd…• Should break down stories into test
related tasks:• Infrastructure, data, non-functional, privacy,
security, robustness, business rules…
• Should transform from passive
participant to active advocate.• Address team concerns and risks, leverage
resources.
@sammykolluru #cdnISTQB
Collaborative User Story Creation• User stories must address functional
and non-functional characteristics.
• Collaborate between product
owners, developers and testers.
• Each story includes acceptance
criteria.
• Tasks in a story are finished when
acceptance criteria have been
satisfied.
@sammykolluru #cdnISTQB
Collaborative User Story Creation
Brainstorming user stories may use:
• I
• N
• V
• E
• S
• T
@sammykolluru #cdnISTQB
Collaborative User Story Creation
Brainstorming user stories may use:
• Independent
• Negotiable
• Valuable
• Estimable
• Small
• Testable
@sammykolluru #cdnISTQB
Retrospectives• Meeting held at end of each
iteration:−Successful−Improvements
• Retain success
• Incorporate improvements−Regular followups
@sammykolluru #cdnISTQB
Continuous Integration• Delivery of product increment
requires reliable, working, integrated
software.
• Automated activities, involves:−Static code analysis−Compile, generate executable files−Unit test, code coverage−Deploy to test environment−Integration test−Reporting status
@sammykolluru #cdnISTQB
Benefits of Continuous Integration• Early detection and root cause
analysis.
• Keeps software version up-to-date.
• Reduces regression risks.
• Provides confidence- built on solid
foundation.
• Reduces repetitive manual activities.
• Provides regular feedback.
@sammykolluru #cdnISTQB
Release Planning
• Looks ahead to the release of a
product.
• Testers are involved and add value:−Define user stories and acceptance
criteria−Participate in risk analysis−Estimating testing efforts−Defining test levels−Planning the testing for release
@sammykolluru #cdnISTQB
Iteration Planning• Iteration planning is concerned with
iteration backlogs.
• Testers are involved and add value:−Participating in detailed risk analysis−Determining testability of stories−Breaking down stories into testing tasks−Estimating testing efforts−Identifying functional and non-
functional aspects
@sammykolluru #cdnISTQB
Burn Down Charts• Graphical representation of Stories left to do
versus time.
• It is useful for predicting when all of the Stories
will be completed.
@sammykolluru #cdnISTQB
Q & A
Disclaimers:
Logos, images, photos, terminologies, examples etc used in this presentations are properties of their
respective organizations. There were freely available during the creation of these presentations.
Written permission from the author is required to reuse the contents of the presentation.
@sammykolluru #cdnISTQB
https://www.surveymonkey.com/r/SXYTT7Z