Functional Automation Test Case Study
The Client
Customer is leading player in online marketplace which directly connects buyers and providers through a comprehensive and collaborative management platform.
The Requirements
- Human Effort: Reduce the human effort in the functional test of the application.
- Sanity Test: Perform Sanity test of the application on the daily build.
- Regression: Regression testing of the application on any changes in the code.
- Scope of Automation – Perform functional, UI, client validation, Database validation and Exception handling.
The Solution
- Designed the framework which is the combination of data driven, library and keyword driven framework.
- Framework makes the connection to the database, maintains library and uses user defined function through out the script.
- Scripts are written using Selenium IDE and in C# on Visual Studio 2008.
- Exceptions are handled throughout the scripts and capturing all objects on the screen.
- Scripts are designed for both http & https protocol.
The Technology
- Microsoft .NET
- AJAX
- SQL Server
- IIS Server
- Selenium IDE
- Selenium RC 0.9.0
- Microsoft Visual C# 2008 Express Edition
- NUnit 2.4.7
Contribution
- Successful competition of robust scripts which performs sanity test of daily build application and reduces the manual effort to 10%
- Exhaustive coverage of test cases and scenarios help to achieve the consistent testing cycle in minimal time on demand.
- Breakage in existing feature can be caught in very early stage.
Cucumber - Functional Automation Tool
Cucumber is a functional test automation tool for lean and agile teams. It supports behaviour-driven development, specification by example and agile Acceptance testing. You can use it to automate functional validation in a Form that is easily readable and understandable to business users, developers and testers. This helps teams create executable specifications that are also a goal for development, acceptance criteria and functional regression checks for future changes.
Why Use Cucumber?
Cucumber is one of the rare tools that try very hard to stay out of your way, to let you do your work without making you worry about the tool itself too much. It helps teams automate their specifications efficiently in several ways:
- It is relatively easy to set up.
- It supports multiple report formats, including HTML and PDF.
- It supports writing specifications in about 30 spoken languages, making it easy for teams outside of English-speaking territories or those working on internationally targeted software to engage their business users better.
- It supports different ways of describing executable specifications —including story-like prose, lists and tabular data.
- It allows scripting, abstraction and component reuse on several levels, allowing both technical and non-technical users to efficiently describe specifications.
- It generates the tricky parts of the code so that you don't have to write most of the boiler-plate automation or make mistakes doing it.
- It integrates nicely with the rest of the development ecosystem. It does not try to impose a version control system, but works off plain-text files that can be stored in any version control system. For continuous build integration, it emulates JUnit (and everything else in the world is already integrated with JUnit).
- Although it is a Ruby tool, people who work on other platforms do not have to learn Ruby to use it. You can use Cucumber with .NET or JVM languages almost natively.
- It's integrated with all the most popular web testing libraries.
- It allows you to mark tests with tags so that you can quickly run a group of related tests (eg quick tests, slow tests, integration tests, accounting tests).



























































