DamageBDD

Behaviour Driven Development At Planetary Scale.

DamageBDD - Behaviour verification at planetary scale.


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

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 anyone to define expected software behaviour 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.

See more working examples here.

Features

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

DamageBDD Feature Status
HTTP/REST API for submitting features for execution with simple result. done
Scheduled test execution and continuous testing configuration. testing
Bitcoin + DeFi Smartcontract based accounting and payment system. testing
Account management for KYC/AML regulatory compliance. testing
Secrets management and variable templatization. testing
Ipfs Reporting and report management API. testing
Events triggers for outbound Webhooks. testing
Metrics and Analytics Dashboard. in-progress
Selenium integration for browser Testing. analysis
Appium integration for mobile ecosystem support. analysis
SSH Reverse tunneling for localhost testing. testing
AI assisted BDD scenario generation. analysis
AI code generation and modification based on features, and self verification. testing
"Super Step" user defined high level abstractions. analysis
Zero Knowledge Proof based contracts to validate tests and approve payouts. analysis
DamageBDD DeFi market making for test writers and stakeholders. analysis
Damage Tokens to power collaborative testing at scale ensuring continuous resilience. done

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 behaviour, edge cases, monitoring, alerting
QA define expected behaviours, 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