What is Agile Testing and Its Methodologies

24
Testing in Agile Projects: Where Things Stand Today By : Apex TG India Pvt Ltd

description

Agile testing is a software testing practice that follows the principles of agile software development. Agile testing involves all members of a cross-functional agile team, with special expertise contributed by testers, to ensure delivering the business value desired by the customer at frequent intervals

Transcript of What is Agile Testing and Its Methodologies

Page 1: What is Agile Testing and Its Methodologies

Testing in Agile Projects: Where Things Stand Today

By : Apex TG India Pvt Ltd

Page 2: What is Agile Testing and Its Methodologies

What Are Agile Projects?

• An attitude toward change

• An attitude toward software

• Some attitudes toward people

Page 3: What is Agile Testing and Its Methodologies

Changing Requirements Are Swell

Oh! Let’s add this!

Sure!Now that I see my

feature, I don’t like it. How should wechange it?

Page 4: What is Agile Testing and Its Methodologies

Software Can Be Soft

• Programs can become better, cleaner, and more capable

• They become changeable by being successfully changed

– not mainly by planning for change

• Frequent new requirements “train” the code and the coders

Page 5: What is Agile Testing and Its Methodologies

People

• Written documentation is a poor substitute for continuous conversation• Generalists trump specialists• Teams can self-organize• Trust

– “… if you ask for help, someone has to help you” - Lisa Crispin

Page 6: What is Agile Testing and Its Methodologies

Agile Methodologies

• Extreme Programming

• Scrum

• DSDM

• Evolutionary delivery and staged delivery share many characteristics

Page 7: What is Agile Testing and Its Methodologies

The Import

These attitudes toward change, software, and people are the context for testing in Agile projects

Page 8: What is Agile Testing and Its Methodologies

Four Types of Testing

Page 9: What is Agile Testing and Its Methodologies

Programmer Testing

I need an object that records eachtime segment

Test-driven designUnit testing

Page 10: What is Agile Testing and Its Methodologies

Programmer Testing

The test comes first

Page 11: What is Agile Testing and Its Methodologies

Programmer Testing

Code is written topass the test

Page 12: What is Agile Testing and Its Methodologies

Programmer TestingNot done?

Write another test…

Page 13: What is Agile Testing and Its Methodologies

Programmer Testing

And the code to pass it.All earlier tests continue to pass

Page 14: What is Agile Testing and Its Methodologies

Programmer Testing

Code awkward? Fix it now.Tests continue to pass

(Refactoring)

Page 15: What is Agile Testing and Its Methodologies

Programmer Testing

Eventually, the jelly is cooked, nailed down,and ready for further change

Page 16: What is Agile Testing and Its Methodologies

Status

Page 17: What is Agile Testing and Its Methodologies

Why was this decision made?

I need an object that records eachtime segment

Page 18: What is Agile Testing and Its Methodologies

Because of a Customer Representative

…I want to scribble notes aboutwhat I’m doing…

Page 19: What is Agile Testing and Its Methodologies

FIT Tests

Makes senseto the

customerrepresentative

Reminder,not

requirement

Easy to run

fit.c2.com

Page 20: What is Agile Testing and Its Methodologies

Test Results

Browser-Friendly

TestsFirst

Page 21: What is Agile Testing and Its Methodologies

Tests Make Change Smooth

smallchange

smallchange

smallchange

Has anythingbroken?

Has anythingbroken?

Has anythingbroken?

Page 22: What is Agile Testing and Its Methodologies

Tests Inform Programmers

• There are no explicit requirements or specifications

– so tests cannot check code against them

• Tests serve same goal as requirements or specifications

– they provoke programmers to write the right program

No way!

Page 23: What is Agile Testing and Its Methodologies

Requirements for Test Notation

• Provoking the right code

• Improving product conversation

– tests are something to talk about

– ground conversation in the concrete

– forging a common vocabulary

• Making possibilities more noticeable

– explaining to someone else supplements trying out working software

– concreteness sparks ideas

Page 24: What is Agile Testing and Its Methodologies