agile testing - presentation for agile user group

27
Agile Testing Zbyszek Moćkun

Upload: suwalki24pl

Post on 22-Jan-2015

6.520 views

Category:

Business


1 download

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

Page 1: Agile Testing - presentation for Agile User Group

Agile Testing

Zbyszek Moćkun

Page 2: Agile Testing - presentation for Agile User Group

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

Page 3: Agile Testing - presentation for Agile User Group

QA and Testing

What is a difference between QA and Testing?

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

Page 4: Agile Testing - presentation for Agile User Group

QA and Testing

QA measure quality of process

Testinggives metrics

Page 5: Agile Testing - presentation for Agile User Group

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

Page 6: Agile Testing - presentation for Agile User Group

Agile Testing - Process

Analysis & Design

Development

TestingEvaluation

Planning

Requirement

Initial Planning Release/New functionality

Page 7: Agile Testing - presentation for Agile User Group

Agile against Waterfall

Agile Waterfall

Coding, new functionality

Bug fixing

Testing

Iteration

Requirements

Design

Coding

Testing

ReleaseRelease

Page 8: Agile Testing - presentation for Agile User Group

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

Page 9: Agile Testing - presentation for Agile User Group

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

Page 10: Agile Testing - presentation for Agile User Group

Builds

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

Page 11: Agile Testing - presentation for Agile User Group

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

Page 12: Agile Testing - presentation for Agile User Group

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

Page 13: Agile Testing - presentation for Agile User Group

Managing bugs

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

Page 14: Agile Testing - presentation for Agile User Group

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

Page 15: Agile Testing - presentation for Agile User Group

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

Page 16: Agile Testing - presentation for Agile User Group

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

Page 17: Agile Testing - presentation for Agile User Group

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

Page 18: Agile Testing - presentation for Agile User Group

Pseudo Agile Projects

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

Page 19: Agile Testing - presentation for Agile User Group

Miniwaterfall

Requirement

Coding Coding & Fixing

Testing

Requirement

Coding Coding & Fixing

Testing

Iteration 2Iteration 1

Page 20: Agile Testing - presentation for Agile User Group

Miniwaterfall

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

Page 21: Agile Testing - presentation for Agile User Group

No automation

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

• No releases after iteration, regression tests necessary

• Long time period between releases

Page 22: Agile Testing - presentation for Agile User Group

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

Page 23: Agile Testing - presentation for Agile User Group

From Waterfall to Agile

Few Tester

Thoughts

Page 24: Agile Testing - presentation for Agile User Group

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

Page 25: Agile Testing - presentation for Agile User Group

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

Page 26: Agile Testing - presentation for Agile User Group

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

Page 27: Agile Testing - presentation for Agile User Group

Q&A