Skip to content

Stewartarmbrecht/xBDD

Repository files navigation

xBDD

xBDD is a Behavior Driven Development framework that runs inside the testing framework of your choice (eventually, currently only running in MSTest :) ) and provides the following key features:

  1. Streamlined UI and API Testing Framework
  2. Product Documentation Generator
  3. Development Progress Reporting (Backlog and WIP Visibility)

When connected to xBDD's online services, this framework will also provide:

  1. Product Development Flow Dashboards
  2. Product Planning and Collaboration Workspaces
  3. Feature Utilization and Performance Monitoring System THIS ONLINE SERVICE HAS YET TO BE DEVELOPED

This project is currently being built. The objectives for it are changing as it is built. Here is the current list of goals:

Goals

Streamlined UI and API Testing

  1. Common UI Step Library - Provide a simple set of pre-built steps that enable the rapid development of UI automation tests on top of a headless Selenium chrome webdriver.
  2. Common API Step Library - Provide a simple set of pre-build steps that enable the rapid development of template-based, automated API tests.
  3. Custom Step Resuse - The framework should encourage/simplify the development of custom step libraries that streamline the process of building future tests.
  4. Intellisense Discovery - A developer should be able to easily find existing steps using the standard intellisense features included in Visual Studio, VS Code, or other IDEs.
  5. Testing Platform Agnostic - This framework should be usable in any testing platform that supports .Net code.
  6. DotNet Core (Cross Platform) Capable - Capable of running where ever dotnet core can run.
  7. Hybrid Asynchronous Support - You can define scenarios that run both synchronous and asynchronous steps.
  8. Lanugage Portable - We are organizing it's own testing library so that reusing the tests on a ported xBDD instance (like to JavaScript) will be possible.

Product Documentation

  1. Gherkin Style Output - Test runs will generate information that can be used to build reports that can be shared with a non-developer to explain how the system has been designed to meet the user need.
  2. Advanced Html Reports - Out of the box, xBDD will provide graphically pleasing reports from a test run that can be used as documentation/training for the application as well as report on development progress.
  3. Database Accessible - Ability to publish test passes to a database to allow for enhanced reporting and serve as a basis for showing product growth/progress over time.

Sample Report

This project is being used to test itself. The goal is that the reports from the test results will ultimately serve as documentation and training materials. The current reports (as well as the organization of features and scenarios) is a long ways from accomplishing this. However, you can see thier current state now. Just keep in mind that some are disorganized, will be rewritten, and will likely look very different once the initial version of this platform is released.

Note: Capability, Feature, and Scenario names will expand when clicked.

Sample

  • My Sample Product - A sample set of projects that cover all outcomes at all levels.

SUMMARY

  • xBDD Features Summary - Provides a top level view of the progress in developing each capability of xBDD using xBDD. This list shows summaries of each test run and can drill down in to a test summary report for each project/capability of xBDD.

Active Focus

  • Generating Code - Features for generating solutions (with multiple test projects), test projects and features.

  • Generating Reports - Features for generating reports.

Features To Be Defined (Links will return 404)

Getting Started

MSTest Setup

  1. Install the dotnet xbdd tools...

     dotnet tool install --global dotnet-xbdd --version 0.0.8-alpha
    
  2. Create a directory for your test project and open your terminal in that project.

  3. Create the test project...

     dotnet xbdd project generate MSTest
    
  4. Run the test and the test will pass...

     dotnet test
    
  5. Review the code to see how it works. If you have vscode installed...

     code .
    

About

Behavior Driven Development framework that runs on .Net Core.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages