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.