Vous êtes sur la page 1sur 21

Agile Testing

Patrik Wikström
Agenda

What is Agile?

Agile Testing
• Techniques
• Agile values in practice
• Skills
Agile development

Short iterations of working software


Provide business value continuously

Extreme Programming, Scrum, Lean Software


Development…
The software process steps

Traditional development

Agile development
Main variables of software development

Locked

Scope Time Cost

Time Cost Scope

Traditional Agile
development development
The cost of defects

Cost of defect Cost of defect

Time Time
Testing Testing

Traditional Agile
development development
Agile testing

Work with the customer to define acceptance test


Provide continuous feedback
• To the customer
• To the programmers
Exploratory testing
Automated testing

Programmers do unit testing


Test levels

Unit test Unit test


Integration test
System test
Acceptance test Acceptance test

Traditional Agile
development development
Unit testing

Developer feedback
TDD – Test Driven Development
• Design technique
Run at each check-in
xUnit
Continuous integration
Acceptance testing (1)

Customer feedback
Test the functionality in the current iteration
Run often
Should be automated
Can be done test-first (ATDD)
Acceptance testing (2)

Tools: Open-source, build your own, or commercial


• FitNesse – Table-based acceptance test framework using Wiki
• WATIR – ”Web Application Testing in Ruby” – next seminar
Automation
• Below the GUI
• Collaborate with developers on testability
What’s in an iteration?

Iteration 1

Story 1 Story 2

Acceptance
Acceptance test 1.1 AT 1.2 AT 1.3
test 2

Unit test 1.1.1 UT 1.1.2 UT 1.1.3 UT 1.2 UT 1.3 Unit test 2

Code 1.1.1 C 1.1.2 C 1.1.3 C 1.2 C 1.3 Code 2

Story 3

...
Exploratory testing

Exploratory testing is simultaneous learning, test design,


and test execution.

What’s the best test I can perform, right now?

James Bach
Tutorial: Exploratory Testing Explained
Malmö, March 9
Non-functional testing

Security, performance, usability


Performed by
• Specialist
• Team
Performed in
• Every iteration
• Last iteration
Pair testing

With testers
• Distribute knowledge between testers
With developers
• Testers learn about the technology used and about
automation
• Developers learn about testing
With customers
• Testers learn about the domain
• Customers learn about testing
Agile Values in practice

Individuals and interactions over process and tools


• Work as one team, do not act as the quality police
• Face-to-face communication
Working software over comprehensive documentation
• Lightweight test reporting – “dashboard”
• Automated unit and acceptance tests
Customer collaboration over contract negotiation
Responding to change over following a plan
• Just-in-time test planning
• No BDUF of automation framework
• Refactor automated tests
Controversy / Confusion

All acceptance tests must be automated


All manual tests must be fully scripted with expected
outcomes
Programmer-centric view (No testers are needed?)
Terminology
Skills

“Traditional” testing skills


Automation / development
Exploratory testing
Communication and collaboration
• With developers in their language
• With customers in their language
Benefits of being an agile tester

Work together as one team towards a common goal

Less risk of squeezed test period

Test all the time, not just at the end


Thank you for listening!

Any questions?

patrik.wikstrom@testway.se
References

Beck, K. (1999) Extreme Programming Explained: Embrace


Change. Addison-Wesley.
Cockburn, A. (2004) Crystal Clear: A Human-Powered
Methodology for Small Teams. Addison-Wesley.
Crispin, L., & House, T. (2002) Testing Extreme Programming.
Addison-Wesley.
Hendrickson, E. (2004) Agility for Testers. Pacific Northwest
Software Quality Conference 2004.
Kohl, J. (2004) Pair Testing. Better Software, Jan 2004.
Pettichord, B. (2004) Agile Testing Challenges. Pacific Northwest
Software Quality Conference 2004.
Poppendieck, M. & Poppendieck, T. (2003) Lean Software
Development. Addison-Wesley.
Schwaber, K. & Beedle, M. (2001) Agile Software Development
with SCRUM. Prentice Hall.

Vous aimerez peut-être aussi