Agile ppt

38
Agile Testing Methodology

Transcript of Agile ppt

Page 1: Agile ppt

Agile Testing Methodology

Page 2: Agile ppt

AGENDA

• AGILE• SCRUM • XTREME PROGRAMMING• AGILE TESTING

Page 3: Agile ppt

AGILE-In Briefby

Page 4: Agile ppt

Introducing Agile

• Software development Life cycle model that focus on customers.

• Iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.

Page 5: Agile ppt

Why Agile????

Page 6: Agile ppt

3 KEYSIncremental, Iterative, Adaptive

Incremental •Build a system gradually •Demonstrating progressIterative •Multiple releases or check points , closer to the target •Iterations include requirements, development and testing Adaptive •Goals change based on lessons from prior iterations, feedback and business opportunities

Page 7: Agile ppt

Process

Page 8: Agile ppt

Prioritize

• How people spend their time in Agile:– Analysis 16%– Design 17%– Code/Unit Test 34%– System/Integration Test 18%– Documentation 8%– Implementation/Install 7%

Page 9: Agile ppt

7 Principles

• Satisfy the customer through early and continuous delivery of valuable software.

• Working software is the primary measure of progress.

• Deliver working software frequently, from a couple of weeks to a couple of months.

• Welcome changing requirements, even late in development.

• The most efficient method of conveying information to and within a development team is face-to-face conversation.

• Business people and developers must work together daily throughout the project.

• Simplicity--the art of maximizing the amount of work not done--is essential.

Page 10: Agile ppt

Benefits• Empirical (relies on observation and experience)• Lightweight• Adaptive• Fast – but never hurried• Exposes wastefulness• Customer-centric• Pushes decision making to lower levels• Fosters trust, honesty and courage• Encourages self-organization

Page 11: Agile ppt

Scrum by,

Page 12: Agile ppt

JASS 2006 Agile Project Management - Scrum 12

Scrum - an agile process• SCRUM is an agile, lightweight

process for managing and controlling software and product development in rapidly changing environments.

– Team-based approach– Controls the chaos of conflicting

interest and needs– Improve communication and

maximize cooperation– A way to maximize productivity

Page 13: Agile ppt

JASS 2006 Agile Project Management - Scrum 13

History of Scrum• 1995:

– analysis of common software development processes not suitable for empirical, unpredictable and non-repeatable processes

– Design of a new method: Scrum by Jeff Sutherland & Ken Schwaber– Enhancement of Scrum by Mike Beedle & combination of Scrum with Extreme

Programming

• 1996:introduction of Scrum at OOPSLA conference

• 2001:publication “Agile Software Development with Scrum” byKen Schwaber & Mike Beedle

Successful appliance of Scrum in over 50 companiesFounders are members in the Agile Alliance

Page 14: Agile ppt

JASS 2006 Agile Project Management - Scrum 14

Functionality of Scrum

Page 15: Agile ppt

component View

Page 16: Agile ppt

3 Men Army

• Scrum Master -> a Project Manager or Team Leader and is responsible for enacting scrum values and practices

• Scrum Team -> 5-10 people who are Cross-functional, Working full-time and self-organizing

• Product Owner -> product manager works on what needs to be build and in what sequence this should be done

Page 17: Agile ppt

Process

• Sprint Planning Meeting

Meeting in the beginning of each Sprint between the stake holders where the goal is determined and the

project kickoff is done.

• SprintA month-long iteration,

during which is incremented a product functionality

Page 18: Agile ppt

Contd…

• Daily Scrum Meeting to track the progress of the Team

• Sprint Review MeetingBusiness functionality created during the Sprint is demoed

to the Product Owner

Page 19: Agile ppt

JASS 2006 Agile Project Management - Scrum 19

Scrum Artifacts

• Product Backlog

Requirements and outcomes for a system, expressed as a prioritized list of Backlog Items in Spread Sheets.

• Sprint BacklogDefine the work for a Sprint, created and updated every day by Team members

• Burn down ChartsDepicts the total Sprint Backlog hours remaining per dayShows the estimated amount of time to release

Page 20: Agile ppt

Sample Burn Down Chart

Page 21: Agile ppt

XTREME PROGRAMMING by,

Page 22: Agile ppt

XTREME PROGRAMMING

• lightweight methodology for small-to-medium-sized teams developing software in the face of vague or rapidly changing requirements.

• promises to reduce project risk, improve responsiveness to business changes, improve productivity throughout the life of a system, and add fun to building software in teams…

Page 23: Agile ppt

NEED

• Software project failures are legendary• Traditional software methodologies are

unable to:– Handle faster delivery cycles– Nor able to embrace frequent change– They can’t live in web world

Page 24: Agile ppt

4 principles

• Communication• Simplicity• Feedback• Courage

Page 25: Agile ppt

eXtreme programming - principles & practices

Basic Activities

• Coding• Testing• Listening• Designing

Page 26: Agile ppt

Release cycle

Break downstories to tasks

Select userstories for this

releasePlan release

Releasesoftware

Evaluatesystem

Develop/integrate/test software

Page 27: Agile ppt

Practices 1

Incremental planning Requirements are recorded on Story Cards and the Stories to beincluded in a release are determined by the time available andtheir relative priority. The developers break these Stories intodevelopment ÔTasksÕ.

Small Releases The minimal useful set of functionality that provides businessvalue is developed first. Releases of the system are frequent andincrementally add functionality to the first release.

Simple Design Enough design is carried out to meet the current requirementsand no more.

Test first development An automated unit test framework is used to write tests for a newpiece of functionality before that functionality itself isimplemented.

Refactoring All developers are expected to refactor the code continuously assoon as possible code improvements are found. This keeps thecode simple and maintainable.

Page 28: Agile ppt

Practices 2

Pair Programming Developers work in pairs, checking each otherÕs work andproviding the support to always do a good job.

Collective Ownership The pairs of developers work on all areas of the system, so thatno islands of expertise develop and all the developers own all thecode. Anyone can change anything.

Continuous Integration As soon as work on a task is complete it is integrated into thewhole system. After any such integration, all the unit tests in thesystem must pass.

Sustainable pace Large amounts of over-time are not considered acceptable as thenet effect is often to reduce code quality and medium termproductivity

On-site Customer A representative of the end-user of the system (the Customer)should be available full time for the use of the XP team. In anextreme programming process, the customer is a member of thedevelopment team and is responsible for bringing systemrequirements to the team for implementation.

Page 29: Agile ppt

Key Ideas

• Code in Pairs• Stay in Contact with the Customer• Create Tests before Coding then Test Heavily• Short Iterations• Keep it Simple• Don’t Anticipate: Code for Current Needs• Collective Ownership

Page 30: Agile ppt

Advantages

• Built-In Quality• Overall Simplicity• Programmer Power• Customer Power• Synergy Between Practices

Page 31: Agile ppt

Agile Testing by,

Page 32: Agile ppt

Agile Testing

• An iterative approach of software development involving all the stake holders right from the requirement phase of the development cycle.

• Test Driven Development – test cases are developed, and often automated, before the software is developed to run the test cases.

In+

1

Performance Tester

Test Manager

Security Tester

Marketing

$$

KeyStakeholders

I0

Business Rep / Customer

I1

Concept(Inception)

Deploy

FinalAcceptance

Test

DevelopmentManager

SeniorTester

TestToolsmith

Business Analyst

ProjectManager

SeniorDeveloper

DevelopmentTeam

Architect

SeniorDeveloper

Analysis

Develop& Unit Test

Design(TDD)

StoryAcceptance

Test

Integration /System Test

Showcase Tests

Business Rep / Customer

Test Team

RegressionTests

SeniorTester

$$

KeyStakeholders

IterationManager

Page 33: Agile ppt

3 Models

Business Analyst

Business Rep / Customer

ProjectManager

Performance Tester

Test Manager

SeniorDeveloper

Security Tester

Marketing

$$

KeyStakeholders

Concept

Analysis

Design

Develop

Test

Deploy

Business Rep / Customer

SeniorTester

Test Team

DevelopmentTeam

Architect

Business Analyst

Business Rep / Customer

ProjectManager

Performance Tester

Test Manager

SeniorDeveloper

Security Tester

Marketing

$$

KeyStakeholders

Business Rep / Customer

SeniorTester

DevelopmentTeam

Architect

Unit Test

Concept

Analysis

Develop

Deploy

AcceptanceTest

DesignIntegration/

SystemTest

DevelopmentManager

SeniorTester

Test Team

Test Team

Test Team

SeniorTester

TestToolsmith

Performance Tester

Test Manager

Security Tester

Marketing

$$

KeyStakeholders

Business Rep / Customer

Concept(Inception)

Deploy

FinalAcceptance

Test

DevelopmentManager

Test TeamSeniorTester

TestToolsmith

Business Analyst

Business Rep / Customer

ProjectManager

SeniorDeveloper

DevelopmentTeam

Architect

AcceptanceTest

Analysis

Develop& Unit Test

Design(TTD)

SeniorDeveloper

Page 34: Agile ppt

Slide 34 Slide 34

Testing Roles Traditional Roles• Test Manager• Senior Tester / Test Lead• Test Analyst• Technical Tester• Performance Tester• Test Toolsmith• Security Tester

Agile Roles

Test Manager

Senior Tester / Test Lead

Test Analyst

Technical Tester

Performance Tester

Test Toolsmith

Security Tester

Iteration Manager

Showcase Tester

Page 35: Agile ppt

Slide 35 Slide 35

Risks 1 Risk SolutionRequirements changing. Acceptance of change – that

is what Agile is about. Clear understanding of the features and stories by the entire team.

No documentation. Early team involvement in meetings, Wall ware – all can see it. “Just Enough” documentation.

Testers not involved early in iteration lack of knowledge of testing = using Exploratory Testing.

Automated unit tests. Skilled testers using Exploratory Testing.

Page 36: Agile ppt

Slide 36 Slide 36

Risks 2 Risk SolutionLittle or no unit testing. Education of developers,

experience and team maturity.

REGRESSION! More unit testing – with tester involvement, more points allocated to testing. Provision for Smoke Tests

No clear definition of “Done” – Burn charts not accurate.

Regular involvement of and reporting to the Business.

Page 37: Agile ppt

Slide 37 Slide 37

Benefits

• Early delivery of working software• Quality is built into the products – everyone

involved in quality• Defect prevention (stopping them from

getting beyond the requirements)• Clear acceptance criteria• Early involvement of all key players• No surprises to the business on delivery

Page 38: Agile ppt