Agile test tools
-
Upload
agile-partner-sa -
Category
Technology
-
view
5.300 -
download
2
description
Transcript of Agile test tools
LTB Talk, 2011-05-23
Agile Test Toolsan introduction
LTB – Agile Testing Tools 2
Speaker
23 May 2011
Agile Practitioner& Software tester
Christian BaumannConsultant
LTB – Agile Testing Tools 3
Index
IntentionIdea/ Background of "agile test tools"
Definitions & ExplanationsTools(Dis)advantagesEssence
Links & Books Questions / Discussions
23 May 2011
LTB – Agile Testing Tools 4
Intention
The intention of this talk is toPresent & explain (a selection of) agile test tools to the LU tester´s communityShow how test tools support the agile tester
The intention is not to
give a complete overview of agile testing methodologies and tools.
23 May 2011
LTB – Agile Testing Tools 5
The classic approach
one phase happens after the other
testing (test execution) by QA-people is mainly done in only one phase
23 May 2011
Requirements
Design
Implementation
Verification
Maintenance
LTB – Agile Testing Tools 6
Agile/ Scrum
Roles in Scrum: Product Owner, Team, Scrum Master
Testing supports during the whole process, therefore test tools need to handle this
23 May 2011
LTB – Agile Testing Tools 7
Agile/ Scrum
Special roles (developer, tester, architect, DB admin) aren´t bound to specific people, different people are sharing roles, therefor also testing is a role, that can be filled by everybody
more people work with the same tooltools need to support more aspects then "just" testing
23 May 2011
LTB – Agile Testing Tools 8
Classic vs. Agile
“Agile teams have particular needs for automated tools that are not well served by traditional record-and-playback GUI drivers. As requirements specifications, functional tests must be readable: clear, succinct, and expressed in the language of the business domain. As an automated safety net, the tests must be maintainable: built with reusable domain specific testing language components, easy to change as the requirements change.”
http://tech.groups.yahoo.com/group/aa-ftt23 May 2011
LTB – Agile Testing Tools 9
Classic vs. Agile
Not a contradiction to "classical approach“
test early insoftwarelifecycle
reduces cost
23 May 2011
LTB – Agile Testing Tools 10
Characteristics of Agile Test Tools
Having tests documented as manual tests and scripted tests is double work
Waste! Use one tool for
requirements,tests, automated tests &test results
23 May 2011
LTB – Agile Testing Tools 11
Definitions
TDD - Test Driven Development write a (failing) testwrite code to make the test passrefactormostly on unit test level
Acceptance Test
Test to determine if the requirements of a specification are met.
ATDD - Acceptance TDD
Implementation of a requirement is driven by a set of automated, executable acceptance tests.
23 May 2011
LTB – Agile Testing Tools 12
TDD & ATDD
23 May 2011
LTB – Agile Testing Tools 13
Definitions
BDD - Behaviour Driven Development Behaviour-driven development (BDD) is an evolution of test-driven development (TDD) and acceptance-test driven development, and is intended to make these practices more accessible and intuitive to newcomers and experts alike.
It shifts the vocabulary from being test-based to behaviour
based,and positions itself as a design philosophy.
BDD "describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software."
23 May 2011
LTB – Agile Testing Tools 14
Tools
Two groups (borders are blurred)
Requirements are described in DSL/ special syntax/ natural language and executed as tests through fixture code.
Tools for executing tests
23 May 2011
LTB – Agile Testing Tools 15
RSpec
TDD RSpec supports in doing the TDD part of BDD, focusing on the documentation and design aspects of TDD. http://relishapp.com/rspec
23 May 2011
LTB – Agile Testing Tools 16
RSpec
23 May 2011
LTB – Agile Testing Tools 17
FIT
FIT is an acceptance testing framework originally developed for Java by Ward Cunningham. One of the central ideas of FIT was to promote collaboration and allow customers and business analysts to write and verify tests. FIT makes it easy to run tests, but does not provide a way to create them. The original idea was to write tests in Word, Excel, or any tool that can output HTML.
http://www.fitnesse.info/fitnesse
23 May 2011
LTB – Agile Testing Tools 18
FitNesse
Automated Acceptance Testing "web-based collaboration tool for software acceptance testing" (http://www.fitnesse.info/fitnesse) "is a web wiki front-end to FIT" Tests are described as tables in a wiki http://fitnesse.org/, http://www.fitnesse.info
23 May 2011
LTB – Agile Testing Tools 19
FitNesse
23 May 2011
LTB – Agile Testing Tools 20
Cucumber
BDD "Cucumber is a tool that executes plain-text functional descriptions as automated tests." (https://github.com/aslakhellesoy/cucumber/wiki/)Uses a business-readable DSL
SUTs in Ruby, Java, .NET, Python, multiple webtesting frameworks ... integrates in CI-environments http://cukes.info/
23 May 2011
LTB – Agile Testing Tools 21
Cucumber
1.Describe behaviour in plain text2.Write a step definition in Ruby3.Run and watch it fail4.Write code to make the step pass5.Run again and see the step pass6.Repeat 2-5 until green like a cuke
23 May 2011
LTB – Agile Testing Tools 22
Cucumber
23 May 2011
LTB – Agile Testing Tools 23
Robot Framework
Acceptance testing and ATDD Keyword-/data-/BDD-driven "Robot Framework is a generic test automation framework for acceptance testing and acceptance test-driven development."
https://code.google.com/p/robotframework/
23 May 2011
LTB – Agile Testing Tools 24
Robot Framework
23 May 2011
LTB – Agile Testing Tools 25
Robot Framework
23 May 2011
LTB – Agile Testing Tools 26
Selenium
"Selenium is a suite of tools to automate web app testing across many platforms.“
"Selenium...
runs in many browsers and operating systemscan be controlled by many programming languages and testing frameworks."
http://seleniumhq.org/
23 May 2011
LTB – Agile Testing Tools 27
Selenium
23 May 2011
LTB – Agile Testing Tools 28
Selenium
23 May 2011
LTB – Agile Testing Tools 29
Others
Watir (and others)
xUnit
...
23 May 2011
LTB – Agile Testing Tools 30
Advantages
Involving tests early in the software lifecycle process No wasted efforts for documenting requirements, test cases & automated tests Creating (automated) regression tests along the way
Easy to collaborate/ integrate customers Business Experts, POs/PMs
...
23 May 2011
LTB – Agile Testing Tools 31
Hurdles to take
New tool to learnAlso non technical people need to learn a tool language/ syntaxTester need technical skillsAll of the discussed tools should be integrated into the CI systemNot everything can be tested automaticallyManual testing is still needed
23 May 2011
LTB – Agile Testing Tools 32
Links & Books
http://code.google.com/p/robotframework/http://www.concordion.org/http://cukes.info/http://en.wikipedia.org/wiki/Behavior_Driven_Developmenthttp://www.fitnesse.info/fitnessehttp://fitnesse.org/http://relishapp.com/rspechttp://seleniumhq.org/http://skillsmatter.com/podcast/java-jee/how-to-sell-bdd-to-the-businesshttp://www.slideshare.net/tcmak/atdd-in-practicehttp://tech.groups.yahoo.com/group/aa-ftt/http://testobsessed.com/2008/12/08/acceptance-test-driven-development-atdd-an-overview/
23 May 2011
LTB – Agile Testing Tools 33
Ressources
Agile PartnerCorporate: www.agilepartner.net Team Blog: blog.agilepartner.net Personal Blog: agile-and-testing.chriss-baumann.de
Agile Interest Group Luxembourgwww.aiglu.org
23 May 2011
LTB – Agile Testing Tools 34
CONTACTS
Thank You
23 May 2011
Christian BAUMANN
Consultant
[email protected] +352 691 666 306