PMC:QA:Compare testing tools junit,fitnesse,sahi

From ADempiere ERP Wiki

Jump to: navigation, search
junitFitnesseSahi
Objectives unit test. JUnit is a unit testing framework for the Java programming language. integration test and acceptance test.FitNesse is a web server, a wiki, and an automated testing tool for software.Sahi is an automation tool to test web applications
Testing environment White-box testing.JUnit has been important in the development of test-driven development, and is one of a family of unit testing frameworks collectively known as xUnit that originated with SUnit. acceptance testing-Black-box testing.It is based on Ward Cunningham's Framework for Integrated Test. FitNesse is designed to support acceptance testing rather than unit testing in that it facilitates detailed readable description of system function. Sahi injects javascript into web pages using a proxy and the javascript helps automate web applications
Target user software developers and testers users of a developed system testers
Advantages 1. simple to use 2. can test a single class at a time, or a suite of tests can be created for a group of classes 3. guaranteed each unit module wrote is correct 4. failure of a test is glaringly obvious 5. understand easily your interface when others wanted to look your interface by looked at your unit testing code1. simple to ues,FitNesse is a lightweight, open-source framework that makes it easy for software teams to:Collaboratively define Acceptance Tests web pages containing simple tables of inputs and expected outputs. 2. FitNesse is written in Java (by Robert C. Martin and others). The program first supported only Java, but versions for several other languages had been added over time (C++, Python, Ruby, Delphi, C#, etc). 3. FitNesse is a wiki. You can easily create and edit page 4. FitNesse is a web server.It requires no configuration or setup.Just run it and then direct your browser to the machine where it is running 5. easier to create the data dictionary 6. as Bugzilla is based on Web, we may link artifactsconveniently between two systems 7. FitNesse is a good analysis tool 8. FitNesse allows users of a developed system to enter specially formatted input (its format is accessible to non-programmers). 9. These tools enhance the collaboration between customer, testers and programmers by providing a single platform for communication. 10. Fitnesse.jar installation package, this kind of installment is quite simple, easy. 1. Browser and Operating System independent 2. Powerful recorder which works across browsers 3. Powerful Object Spy 4. Intuitive and simple APIs 5. Javascript based scripts for good programming control 6. Version Controllable text-based scripts 7. In-built reports 8. In-built multithreaded or parallel playback of tests 9. Tests do not need the browser window to be in focus 10. Command line and ant support for integration into build processes 11. Supports external proxy, HTTPS, 401 & NTLM authentications 12. Supports browser popups and modal dialogs 13. Supports AJAX and highly dynamic web applications 14. Scripts very robust,No wait statements required even for AJAX and page loads,Intuitive APIs like _near and _in eliminates need for XPaths 15. Works on applications with random auto-generated ids 16. Very lightweight and scalable 17. Supports data-driven testing. Can connect to database, Excel or CSV file. 18. Ability to invoke any Java library from scripts
Disadvantages the unit testing's maintenance cost is truly quite high, once the service code changed, must maintain the unit testing code during maintain service code.1. Nontechnical persons might find it difficult to work without features like an automatic spellchecker or a WYSIWYG text editor 2. FitNesse does not include any PDF export or the like(difficulty printing) 3. For small- to medium-sized projects, FitNesse highly recommendable. Large projects can be completed, but they do come with a price and should be evaluated carefully. Framesets/pages with frames/iframes loading pages from multiple domains is not supported.Sahi cannot handle pages which have other pages from different domains embedded in them using iframes or frames. So you cannot have a page from google.com having an iframe with a page from yahoo.com. Note that this is not the same as switching between domains, where you navigate from a google.com page to a yahoo.com page, which will work in Sahi.File upload field will not be populated on browsers for javascript verification. File upload itself works fine
User Interface http://junit.sourceforge.net/javadoc/ wiki. FitNesse is a web wiki front-end to FIT http://fitnesse.org/FitNesse.UserGuide http://fitnesse.org/FitNesse.UserGuide.FixtureCode sahi scripts. http://sahi.co.in/w/sahi-apis Sahi Java Driver javadocs:http://sahi.co.in/java/javadocs/

References:

   * http://en.wikipedia.org/wiki/JUnit
   * http://en.wikipedia.org/wiki/Unit_testing
   * http://www.javapractices.com/topic/TopicAction.do?Id=33
   * http://en.wikipedia.org/wiki/Fitnesse,
   * http://fitnesse.org/
   * http://en.wikipedia.org/wiki/White-box_testing
   * http://en.wikipedia.org/wiki/Black-box_testing
   * http://sahi.co.in/w/sahi
   * http://www.testinggeek.com/index.php/testing-tools/test-execution/95-fitnesse-introduction
   * http://www.javaworld.com/javaworld/jw-02-2006/jw-0220-fitnesse.html?page=1

Go back to PMC:QA

Personal tools