agile testing - presentation for agile user group

Post on 22-Jan-2015

6.520 Views

Category:

Business

1 Downloads

Preview:

Click to see full reader

DESCRIPTION

Agile testing was present on Agile User Group. Presentation covers all aspects of testing on agile process, highlight the role of automation and issues with managing it.

TRANSCRIPT

Agile Testing

Zbyszek Moćkun

Agenda• QA and Testing• Agile Testing

– Process, Tester Principles– Agile against Waterfall (differences)

• Continuous Integration– Builds, Test Automation– Managing issues found by Automated Tests, Test Case Management– Is it worth?

• Pseudo Agile projects– Mini waterfall, No automation– Agile only during development phase

• From Waterfall to Agile– Tester-Developer cooperation– Tester concerns about Agile

QA and Testing

What is a difference between QA and Testing?

• QA is oriented to defect ‘preventions’• Testing is oriented to defect ‘detection’

QA and Testing

QA measure quality of process

Testinggives metrics

Agile Tester Principle

• Provide continuous feedback• Deliver value to the customer• Enable face-to-face communication• Have courage• Keep it simple• Practise continuous improvement• Respond to change• Self-organize• Focus on people• Enjoy

Lisa Crispin, Janet Gregory – Agile Testing

Agile Testing - Process

Analysis & Design

Development

TestingEvaluation

Planning

Requirement

Initial Planning Release/New functionality

Agile against Waterfall

Agile Waterfall

Coding, new functionality

Bug fixing

Testing

Iteration

Requirements

Design

Coding

Testing

ReleaseRelease

Agile Testing - Iterations

After each iteration we have finished stories and release is possible

It 0

It 1

•A,B

It 2

•A,B•C

It 3

•A,B•C•D,E

It 4

•A,B•C•D,E•F

Waterfall – all new features (A,B,C,D,E,F) available at the same time, at the end of the project

Continuous Integration

Continuous Integration is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily - leading to multiple integrations per day. Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.

Martin Fowler

Builds

• Continuous Integration• How to integrate builds with Automation Tests• When rebuild and run tests

Test Automation

• Tools (Selenium, Canoo Web Test, …)• Technology (Html vs. Java,C,..)• Who is reposnible for automation?• Integration with Continuous Integration

applications• When start work on automation?• Reporting

Manage Automation

• When run Automation tests• Updating existing test scripts• Automation test scripts for different releases,

clients• Creating new tests• What automate, what not?• Manage automation tests – Test Case

Management Tools

Managing bugs

• How fast should we fix issues found by ATC?• Should we raise official issues?• Propagation issues for regression/UAT tests

Manual Tests

• How to manage manual and automation tests• Still we need manual testing?• When run manual tests• When testing stories• When testing bugs• Managing issues

Test Case Management

• How do not mixed up with tests• Why should we manage test cases• How do not duplicate tests• How report manual and automation tests• Integration with automation tool and defect

managment tools• Test Case Managment tools

Agile vs. Waterfall

• Agile moves automation near development, which gives us less cost of fixing bugs

• Waterfall problem - often builds don’t pass smoke tests. Thanks moving automation, it almost not happen at all.

• QA in waterfall keep automaiton only for them• Less manual testing in Agile

Is it worth?

Agile• Better for small projects• Moves automation near

development (better use)• Better when good contact

with customer• Require experience and

trainings• New expirience

Waterfall• Big projects where

requirement not change often

• Easier in managment• Easier when team is located

in different localizations

Pseudo Agile Projects

Three examples of projects where Agile was introduce, but ... – from Tester perspective

Miniwaterfall

Requirement

Coding Coding & Fixing

Testing

Requirement

Coding Coding & Fixing

Testing

Iteration 2Iteration 1

Miniwaterfall

• Lack of automation tests• Lack of Continuous Integration • Complicated build system• Lack of Resource

No automation

• It usually provides to miniwaterfall, which we describe previously.

• No releases after iteration, regression tests necessary

• Long time period between releases

Agile only during development phase

• Only developers work in Agile• Just coding divided on iteratons• No tests during development• Automation (if exist) still stays on Test Team

side• Waterfall project• Problems with builds from development

From Waterfall to Agile

Few Tester

Thoughts

Tester – Developer cooperation

Agile• One project team• Close communication with

developers (cooperate)• The same aim• Together analyze

requirements, planning• Parreral work with

developers

Waterall• Different team• Mostly communication only

by defect management tools

• Different aims• Not involve in requirement

analyzing, planning• Time delay between coding

and tests

Tester concerns about Agile

• Tester manage by developer (project manager)

• Lost of identity• No defined task (self-organize)• No Agile training• No carrier path• Communication problem

Tester concerns about Agile

• Place in project• Development skills only• There is no Agile without automation• There is no QA (Test) department on Agile

project• No exchange information between testers in

different projects• How I can develop my career

Q&A

top related