BDD testing#
BDD testing
Behaviour-Driven Development testing practices at SKAO.
Use Behaviour-Driven Development to verify SKA requirements with clear, traceable tests.
Define tests in plain language that stakeholders can understand with BDD (Behaviour-Driven Development) testing, while maintaining full traceability to SKA requirements in JIRA.
Tutorial
Create your first BDD test end to end, from JIRA requirement to published result.
How-to
Create BDD tests from the repository or in JIRA, and implement test steps with pytest-bdd.
Reference
Gherkin syntax, JIRA ticket structure, pytest-bdd code templates, and CI/CD integration.
Explanation
Understand BDD concepts, the SKA testing architecture, and JIRA organisation.
When to use BDD testing#
Use BDD testing to verify formal SKA requirements, to write tests that stakeholders can review, and to keep traceability between tests and requirements in JIRA. For unit tests and rapid iteration during development, use standard pytest instead — see When to use BDD vs standard testing for the full comparison.
Note
Run JIRA integration only on repositories doing significant integration work (like subsystem/cloud/system integration repositories)
and only on the main/master branch. For other projects, use pytest-bdd directly and view
results in the standard CI/CD pipeline.
Key resources#
XTP Project (Tests) — Create and manage BDD tests
L2 Project (Requirements) — Sub-system requirements
pytest-bdd Documentation — Python BDD framework
ska-ser-xray Documentation — XRay upload and test-management tooling