Skip to content
EmbedLabs
GitHub
documentation

Bud and Bloom in five minutes

The concepts the tools work with: projects and IDs, document kinds, the review workflow, runs, stations and how results reach Bloom.

  • Projects have a three-letter prefix. Every artefact gets a stable ID from it, such as PRJ-REQ-001.
  • Kinds: visions, requirements, specifications, designs, risks, changes, test concepts, test cases, test suites, campaigns, defects, baselines, standards, protocols and reports.
  • Links are typed: a test case verifies a requirement, a suite contains test cases, a design satisfies a requirement, a risk or change impacts it.
  • Controlled documents move through Draft, Review, Approval and Approved. Editing approved content keeps the approved revision; a linked, approved change advances the revision.
  • Products group runs.
  • Test Stations are the machines that run tests: CI runners, browser hosts, cloud runners and lab benches. Each enrols with its own key.
  • Runs hold results per test and per assertion, with expected and actual values, logs and artifacts. budtestlibrary provides the native test framework; bud-runner also brings existing pytest, Robot Framework, Behave and Cucumber suites into the same history.
  • Custom runs queue chosen tests on a station that has run them before.

A budtestlibrary test carries its Bloom test-case ID with BloomMetaData("PRJ", "001"). Existing pytest suites can use @pytest.mark.bloom("PRJ-001"); Robot Framework and Behave suites can use a bloom:PRJ-001 tag. When the run finishes, Bud posts each outcome to that test case, and Bloom answers with the campaign it reached.