Refer:
Http://www.radekw.com/blog/2009/03/27/automation-frameworks/
Http://robotframework.googlecode.com/svn/wiki/publications/Quality_Matters_Q1_2009_Collino.pdf
Recentlyi researched stored testing frameworks in order to choose one to use at work. ispent few days practically testing the following frameworks:
· Robot framework
· Fitnesse
· Cucumber
Ichose robot framework. It is not perfect, but promising, extensible, and activelydeveloped by the open source community. The following features made me choosethis framework over others:
· Keyword Driven
· Ability to use re-usablekeywords
· Large collection of built-inkeywords
· Test cases and suites arehtml documents ents
· Robotide test case Editor
· Extendable in Python andjython
· Reporting using HTML and xmlfiles
All this gives a solid base to extendand wrap around in order to create state-of-the art testing framework. robot framework is easily installable. examples anddocumentation are more than enough to get automation engineers and testersstarted. it requires some learning and getting used to (especially robotide) but once grasped, creating test cases is easy. additionally, new keywords can be simplyprogrammed in Python or Jython, or created with existing keywords (macros ). tests are started with a command line tool and can be very simply scheduledusing cron.
Fitnesseframework is widely used and popular, but is not as extendable as robotframework. it's a testing wiki. test Cases are created as tables in wikisponents and are started by clicking a button on a page. the results show upimmediately, but there is no way to store them. each test table must have acode fixture written in Java. other versions can be used with a help of additionalfit servers.Being a wiki, fitnesse cannot be used for automatic and non-interactive testing.Automation can be achieved by usingcommand line runner or ant tasks.
Cucumberis a testing environment that allows testers to write tests in a domain-specific languagebased on a spoken language. it's behavior-driven, but all used sentencesmust be mapped in underlying programming language (Ruby by default ). it's easyto transcribe users stories into test cases, but it requires automation engineer to work with testerswriting every test case. on the other hand, it's a very interesting andamazing way to write unittests.