FITFramework Integrated Testing            for  Writing Acceptance Tests    Agile Software Community of India             ...
What are we talking about?• Automated acceptance testing  – testing approach that allows business users    completely spec...
Initial Example Demo      EMI CalculatorFrom Concept to Completion       Dhaval Dalal
Specify ! Create ! Run• Customers create Tables in a document.  – Tables describe specific examples of how the    software...
fit.Summary• FIT allows tests to be written in the domain language   – Uses reflection to bind test script elements to "fi...
Specification ! TestHere is therequirement         here is a requirement:                    “User may borrow up to       ...
Specification ! Test                                   Here are the                                   detailed UI• step-by...
Specification ! Test                                           Here are the                                           deta...
The Middle Ground• Use a domain-specific language  borrow “Harry Potter”  borrow “Refactoring”  cannot borrow “XP Explaine...
The hard partDeveloping the fixtures to supportautomated tests at system boundariesin a language thats meaningful to theus...
Web Test Example Demo      Conan Dalton
Acceptance Test Better Practices• Automate tests• Test continuously• Develop tests collaboratively• Use domain language• E...
FIT Ports and Alternatives• Ports  – Available: Java, .NET, Perl, Python  – In Progress: C++, Ruby• Open-source alternativ...
References• Ward Cunningham’s acceptance testing  framework  – Official FIT site (http://fit.c2.com)• FIT Library  – Rick ...
Thank-You        Conan Daltonconan.dalton@bnpparibas.com        Dhaval Dalal  dalal_dhaval@yahoo.com                    co...
Upcoming SlideShare
Loading in...5
×

Domain languageacceptancetests

233

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
233
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Domain languageacceptancetests

  1. 1. FITFramework Integrated Testing for Writing Acceptance Tests Agile Software Community of India (ASCI) Mumbai Conference, 27th August 2005 Conan Dalton conan.dalton@bnpparibas.com Dhaval Dalal dalal_dhaval@yahoo.com
  2. 2. What are we talking about?• Automated acceptance testing – testing approach that allows business users completely specify an application using automated test scripts.• a.k.a. – Customer Tests – Functional Tests – System Tests conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  3. 3. Initial Example Demo EMI CalculatorFrom Concept to Completion Dhaval Dalal
  4. 4. Specify ! Create ! Run• Customers create Tables in a document. – Tables describe specific examples of how the software should work. – Programmers format tables in a FIT-friendly format.• Programmers create Fixtures. – Fit uses "fixtures," to connect tables to software. – Fixtures interpret Tables. – Programmers write the fixture code.• FIT runs the document against the system conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  5. 5. fit.Summary• FIT allows tests to be written in the domain language – Uses reflection to bind test script elements to "fixtures"• FIT fosters Collaboration – Business Analysts along with customers specify the tests. – Programmers and Testers increase test coverage from customers examples.• FIT tests are automated – Supports Immediate Feedback• FIT works with HTML documents. – Reads/Writes results back as HTML – Test verdicts annotated with messages and colour – Summarizes test results (right, wrong, in error) conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  6. 6. Specification ! TestHere is therequirement here is a requirement: “User may borrow up to 2 books at a time” conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  7. 7. Specification ! Test Here are the detailed UI• step-by-step in the UI steps to implement the requirement select “Harry Potter” in "available" list click on "borrow" button select "Refactoring" in "available" list click on "borrow" button select “XP Explained" in "available" list check that "borrow" button is unavailable ... conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  8. 8. Specification ! Test Here are the detailed UI Here is the steps to requirement implement the requirement Is there a middle ground?This is inadequate This is meaninglessfor development to business people conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  9. 9. The Middle Ground• Use a domain-specific language borrow “Harry Potter” borrow “Refactoring” cannot borrow “XP Explained” return “Refactoring” borrow “XP Explained” cannot borrow “Refactoring” conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  10. 10. The hard partDeveloping the fixtures to supportautomated tests at system boundariesin a language thats meaningful to theuser conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  11. 11. Web Test Example Demo Conan Dalton
  12. 12. Acceptance Test Better Practices• Automate tests• Test continuously• Develop tests collaboratively• Use domain language• Evolve tests• Define system boundaries conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  13. 13. FIT Ports and Alternatives• Ports – Available: Java, .NET, Perl, Python – In Progress: C++, Ruby• Open-source alternatives – Selenium, Exactor, TextTest• Other Commercial Tools – WinRunner, Silk• Any other home-made testing framework – its not difficult to write! conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  14. 14. References• Ward Cunningham’s acceptance testing framework – Official FIT site (http://fit.c2.com)• FIT Library – Rick Mugridge (http://www.cs.auckland.ac.nz/~rick/FitLibrary)• Homebrew Test Automation – Bret Pettichord (http://www.pettichord.com) conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  15. 15. Thank-You Conan Daltonconan.dalton@bnpparibas.com Dhaval Dalal dalal_dhaval@yahoo.com conan.dalton@bnpparibas.com, dalal_dhaval@yahoo.com
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×