DamageBDD

Behaviour Driven Development At Planetary Scale.

DamageBDD - Behavior verification at planetary scale.


DamageBDD is a platform that unlocks the cross functional collaborative power of BDD (Behaviour Driven Development) within your organization.

DamageBDD allows humans to define software behaviour in the human-readable Gherkin syntax. Unlike other testing systems that require a deep understanding of testing tools, DamageBDD enables any one to define expected software behavior in plain language. This makes it easy for teams with varying levels of technical and communication skills to collaborate effectively towards building high quality software products.

In addition to BDD based functionality verification, DamageBDD can also be used to test the performance and scalability of target systems. With its ability to handle large-scale load testing, DamageBDD can identify potential bottlenecks, stress test systems under realistic conditions, and help organization ensure that their applications can handle high user traffic.

Furthermore, DamageBDD can also be utilized for continuous regression within integration and deployment pipelines. It can be integrated into existing CI/CD workflows, allowing automated load testing to be performed as part of the software development process. This ensures that the performance of applications is constantly monitored and issues are identified early on, reducing the risk of potential performance problems in production.

DamageBDD is a powerful tool for organizations looking to improve their testing processes and ensure the performance and scalability of their applications.

How does it work?

Consider the simple test case below, It contains a `Feature` with one `Scenario' which is to test that the server configured responds with a json containing the value "ok" in the response

When this is published to the DamageBDD service, DamageBDD runners will execute the test case at the scale configured for the run.


Feature: Test echo json functionality of JsonTest.com using HTTP API

  Scenario: GET request to JsonTest.com
    Given I am using server "http://echo.jsontest.com"
    When I make a GET request to "/key/value/one/two"
    Then the json at path "$.one" must be "one"
    

Other load testing systems operate at a protocol or message level and usually requires someone with intimate understanding of load testing tools, whereas DamageBDD test cases are human readable Behaviour Driven Tests.

Features

Currently DamageBDD is in early stage of development, most of the features listed below are in active development.

  • HTTP/REST API for submitting features for execution with simple result. - DONE
  • Scheduled test execution. Continiuous testing configuration. - DONE
  • Bitcoin + DeFi Smartcontract based accounting and payment system. - TESTING
  • Account management for KYC/AML regulatory compliance - TESTING
  • Ipfs Reporting and report mangement API - INPROGRESS
  • Selenium integration for browser Testing - INPROGRESS
  • SSH Reverse tunnelling for localhost testing.
  • GPT code generation from BDD, and self verification. - INPROGRESS
  • Test Management REST API interface
  • Secrets management and variable templatization
  • Metrics Dashboard
  • Alerting and notifications
  • Managed test runners
  • Appium integration for mobile ecosystem support.
  • BDD scenario generation from voice input fed to Generative AIs.
  • Generative AI code modification based on features.
  • Zero Knowledge Proof based contracts to validate tests and approve payouts.
  • "Super Step" user defined high level abstractions

Target User Roles

Benefits to organizational roles through the aid of the DamageBDD platform.

Role Use Case
End User initial requirements, feature requests, defect reporting
Product Support feature requests, isolating defect behaviours, edge cases, monitoring, alerting
QA define expected behaviors, continuous monitoring, reporting, alerts
Infra availability monitoring, endpoint latency reporting, alerts,
Development prototyping, maintenance, verification, continous monitoring
Management project velocity, current progress, performance metrics, fund allocation
   

Use Cases

Below are only scratching the surface of possibilities that can be covered using BDD workflow on DamageBDD.

  • Web2 application server and browser performance, quality and availability
  • Web3 Smartcontract continuous auditing.
  • Infrastructure availability expectation management.
  • General Process Execution orchestration through custom Step implementations.
  • General Behaviour verification based on custom input sources.

References