presented by - agile alliance...wiki based environment for creating and running fit tables. test in...
TRANSCRIPT
![Page 1: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/1.jpg)
RAVI KUMAR
HCL Technologies Ltd.
SREEKANTH TADIPATRI
Independent Consultant
Presented By:
&
![Page 2: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/2.jpg)
2
–Why IT Projects Fail?
Traditional Models & Testing
Agile Model & Testing
Brian Marick’s Test Categories
–Where to Begin?
ATDD Cycle
Building Software
ATDD Benefits
ATDD Summary
Let’s practice
Simple Bank Application
[ Group Activity]
–ATDD Tools
FITNESE
![Page 3: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/3.jpg)
3
\
•Definition of Executable
Specification in Fitness
•Implement Fixtures & Code
•Demo of DBFit
![Page 4: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/4.jpg)
–
![Page 5: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/5.jpg)
http://mobile.cioinsight.com/c/a/IT-Management/Why-IT-Projects-Fail-762340/
![Page 6: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/6.jpg)
http://mobile.cioinsight.com/c/a/IT-Management/Why-IT-Projects-Fail-762340/
![Page 7: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/7.jpg)
http://mobile.cioinsight.com/c/a/IT-Management/Why-IT-Projects-Fail-762340/
![Page 8: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/8.jpg)
http://mobile.cioinsight.com/c/a/IT-Management/Why-IT-Projects-Fail-762340/
![Page 9: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/9.jpg)
http://mobile.cioinsight.com/c/a/IT-Management/Why-IT-Projects-Fail-762340/
![Page 10: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/10.jpg)
http://mobile.cioinsight.com/c/a/IT-Management/Why-IT-Projects-Fail-762340/
![Page 11: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/11.jpg)
Requirements
Design
Development
Testing
Rework
Unit Testing
![Page 12: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/12.jpg)
12
UI Testing
Unit Testing
![Page 13: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/13.jpg)
http://www.raysullivan.com/2009/05/it-takes-a-village-to-test/
Brian Marick’s Test Categorization
13
![Page 14: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/14.jpg)
![Page 15: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/15.jpg)
Acceptance test driven development(ATDD) is
• A collaborative practice
• Application developers, software users, and business analysts
define automated acceptance criteria very early in the application
development process.
• ATDD helps to ensure that all project members understand
precisely what needs to be done, even before the programming
starts.
• They then use the acceptance criteria to guide subsequent
development work.
15
![Page 16: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/16.jpg)
…
Story ID: _____
Story: As a [type of user] I want to [perform some task] so that I can [reach some goal] Acceptance Criteria:
1
Value
Priority
Example:
So, what are they? • Brief description of
functionality to be implemented.
• Token for conversation ( 3Cs – Card, Conversation & Communications)
• Implementable in one sprint/iteration.
• Contains ‘Acceptance Criteria’
16
![Page 17: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/17.jpg)
…
So, what are they?
• Provided by Business or Customer.
• Arrived by conversation (business,
dev and testers).
• Ensures there are adequate
conditions for a story to be
accepted.
17
![Page 18: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/18.jpg)
…
So, what are they?
• Helps in implementing
‘Acceptancee Criteria’
• Collaboratively arrive at examples
for ‘Acceptance Criteria’
• Examples include Data & Test
Scenarios’ (Inputs and
Expected Outputs)
18
![Page 19: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/19.jpg)
19
![Page 20: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/20.jpg)
–
Are we building right software
Are we building software right
![Page 21: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/21.jpg)
…
…
21
![Page 22: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/22.jpg)
• Implement changes efficiently.
• Build consensus amongst developers, testers and business.
• Arrive at scope from goals.
• Drive better estimation and work alignment.
• Maintain executable specs and living documentation.
• Better traceability
• Reduce rework and build better software.
22
![Page 23: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/23.jpg)
• Owned by Business or Customers.
• Written together by Collaboration (dev, testers and business)
• Determine when feature is DONE.
• Focuses on WHAT not HOW.
• More than anything it’s a COMMUNICATION TOOL and
NOT about using a TOOL.
23
![Page 24: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/24.jpg)
24
…
• Write a User Story ( use the story card provided)
• Ensure the ROLE, ACTION, CONTEXT is articulated
• Define ‘Acceptance Criteria’
• Define ‘Acceptance Tests’ (Test Examples/Scenarios)
User Name:
Password: Enter Password
Enter Password
OK
Login to MyBank
![Page 25: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/25.jpg)
![Page 26: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/26.jpg)
Iteration 1: 15 min
• Identify the requirements for a Simple Bank Application called
MyBank - 10 min
• Debrief : 5 min
Iteration 2: 15 min
• Articulate ‘Acceptance Criteria’ for the User Stories – 10 min
• Debrief – 5 min
26
![Page 27: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/27.jpg)
![Page 28: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/28.jpg)
FITNESSE (http://fitnesse.org/)
robotframework (http://code.google.com/p/robotfra
mework/)
Concodion (http://concordion.or
g/)
JBehave (http://jbehave.org/)
Cucumber (http://cukes.info/)
28
![Page 29: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/29.jpg)
Wiki based environment for creating and running Fit tables.
Test in Fitnesse is recorded into ‘Fit tables’
basically are HTML tables.
Owned by Customers/BA/Testers
Fit tables have a reference to the Fixture(s).
Fxture(s) is the full name of the code that will interpret the
table. (In Java, it�’s a class.)
FitNesse supports the running of multiple tests at once, with
test suites. 29
![Page 30: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/30.jpg)
Basic FIT fixtures ColumnFixture
ActionFixture
RowFixture
.
.
FitLibrary Fixtures SetUpFixture
CalculateFixture
DoFixture
.
.
A fixture acts as an
intermediary between a Fit
table and a system under test
FIT Table
Fixture (Class)
Core functionality of the
App
30
![Page 32: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/32.jpg)
![Page 33: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/33.jpg)
Part 1:
• Set JAVA_HOME [Environment Variable]
• Start Eclipse
• Start Fitnesse
Part 2:
• Create MyBank page in Fitnesse
• Create a test table in Fitnesse
• Implement test fixture in Eclipse
33
![Page 34: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/34.jpg)
…
![Page 35: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/35.jpg)
![Page 36: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/36.jpg)
–
Iteration 1: (Lead and Follow) - 20 min
• User Story 1
• User Story 2
Iteration 2: (You do we watch) - 20 min
• User Story 3
• User Story 4
36
![Page 37: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/37.jpg)
–
–
Iteration 3 (Lead and Follow) - 20 min
• User Story 1
• User Story 2
Iteration 4: (You do we watch) - 20 min
• User Story 3
• User Story 4
37
![Page 38: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/38.jpg)
• What is Dbfit?
• Where does it fit in ATDD?
• How to implement ?
• Demo (10 min)
38
![Page 39: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/39.jpg)
• Selenium on top of ATDD
• Fitnium
39
![Page 40: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/40.jpg)
Questions
![Page 41: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/41.jpg)
1. Waterfall Model: http://en.wikipedia.org/wiki/Waterfall_model
2. V-Model: http://en.wikipedia.org/wiki/V-Model_(software_development)
3. Fitnesse: http://fitnesse.org/
4. Automated Acceptance Test and Requirements Traceability:
http://www.methodsandtools.com/mt/download.php?spring11
5. Driving Development with Tests: ATDD and TDD:
6. http://testobsessed.com/wp-content/uploads/2011/04/atddexample.pdf
7. Acceptance Test Driven Development: http://www.slideshare.net/nashjain/acceptance-test-
driven-development-350264
8. CIO Insight: http://mobile.cioinsight.com/c/a/IT-Management/Why-IT-Projects-Fail-
762340/
41
![Page 42: Presented By - Agile Alliance...Wiki based environment for creating and running Fit tables. Test in Fitnesse is recorded into ‘Fit tables’ basically are HTML tables. Owned by Customers/BA/Testers](https://reader034.vdocuments.mx/reader034/viewer/2022042211/5eb371e49e7138621e326b06/html5/thumbnails/42.jpg)
Name: Ravi Kumar
Email ID: [email protected]
HCL Technologies Ltd.
Name: Sreekanth Tadipatri
Email ID: [email protected]
Independent Consultant.