Skip to main content

Getting started Specflow


Specflow is a BDD framework. Specflow integrates with Visual Studio.

What is BDDà
BDD or Behavior-driven development allows a developer to focus on testing the code based on the expected behaviour of the software which is easier for non technical stakeholders to understand.In BDD process the product owner or customer representatives species the behaviour they want to see in the system.BDD helps the developer collaborate with other stakeholders,including testers to define accurate unit tests focused on business needs.
BDD frameworks define acceptance criteria based on the given/when/then format.And it is usually done in very English like language ,which helps the domain experts to understand the implementation.

Given some initial context,
When an event occurs,
Then ensure some outcomes.

As the statement structure and syntax are formally documented, software tools like specflow can generate the code for developers to create test cases.

An example:
Given my bank account is in credit, and I made no withdrawals recently,
When I attempt to withdraw an amount less than my card's limit,
Then the withdrawal should complete without errors or warnings

Specflowà

   #As a BDD framework specflow aims at bridging the communication gap between domain experts and developers.
   #Specflow is available as a visual studio extension that we can install.
   #Specflow allows to write business readable tests feature file for the system that we are building.
   #A specflow feature file contains one or more test scenarios that describe the usage of the system.
   # Feature file and test scenarios within specflow are written in Gherkin business readable language.And Gherkin is available in multiple language such as English,French etc.
   # Each scenario is broken down into a number of individual steps.Each of these logical steps map to test code that we actually write to execute the system that we are building and checks that it’s doing the right thing.


Comments

Popular posts from this blog

JIRA OverView

What is JIRA? JIRA is a project management tool used for issues and bugs tracking system for all types of testing.The JIRA dashboard consists of many useful functions and features which make handling of issues easy. The following points explain some interesting details of JIRA. • JIRA is an incident management tool. • JIRA is not an acronym, the name 'JIRA' comes from the Japanese word 'Gojira' • JIRA is developed by Australian Company Atlassian • JIRA is a platform independent tool; it can be used with any OS. • JIRA is multi-lingual tool − English, French, German, Japanese, Spanish, etc. • JIRA can be integrated with many other tools like GitHub, Team Foundation Software and many more. • JIRA is a commercial tool and available as a Trial version for a limited time. • To utilize JIRA services, a license is required. Features: JIRA is one the best product management tool which includes: Issue tracking & management: A software application that allows to...

Page Object Model && Page Factory

Page Object Model Design Pattern (POM): Page Object Model is a Design Pattern which has become popular in Selenium Test Automation. It is widely used design pattern in Selenium for enhancing test maintenance and reducing code duplication. In Selenium all we are doing is finding elements and filling values for those elements. For small script it’s easy to maintain . But with time test suite will grow. As we add more and more lines to our code, things become tough.The chief problem with script maintenance is that if 10 different scripts are using the same page element, with any change in that element, we need to change all 10 scripts. This is time consuming and error prone. A better approach to script maintenance is to create a separate class file which would find web elements, fill them or verify them. This class can be reused in all the scripts using that element. In future, if there is a change in the web element, we need to make the change in just 1 class file and not 1...

Screenshot in Selenium Webdriver (C#)

Selenium WebDriver provides the option to capture screenshots during a test execution. This is very important when we need to investigate different failures in test cases or unexpected window popup during test execution or in some cases to track the different stages of the run. Sometimes we need the screenshots to understand at the end of long running test execution on why the test case got failed.We can save the screenshots in a local folder of our computer. In Selenium Webdriver the screen shots are taken using Screenshot class. The ITakesScreenshot interface has method called GetScreenshot() which takes screenshot of the page on the screen. Here is the Code to take screenshot of a page.          #region screenshots public class ScreenShotClass { public static string Save (IWebDriver driver, string ScreenShotFileName) { var folderLocation = ( @"" );//Path of the folder to save the f...