Xray

1. Co je Xray?

Xray je test management nástroj integrovaný do Jira od společnosti :contentReference[oaicite:0]{index=0}. Slouží ke správě test cases, test plans, test executions, test sets a kompletní traceability mezi požadavky, testy, výsledky a bugy.

Xray umožňuje:

  • správu manuálních i automatizovaných testů,
  • evidenci výsledků testování,
  • sledování coverage,
  • propojování testů s Jira stories a bugy,
  • reporting kvality releasu,
  • integraci s CI/CD pipeline.

Proč se Xray používá?

Ve větších projektech nestačí pouze bugy v Jira. Je potřeba evidovat:

  • co bylo testováno,
  • jaké scénáře existují,
  • jaké testy prošly nebo selhaly,
  • které požadavky nejsou pokryté testy,
  • jaká rizika zůstávají před releasem.

2. Hlavní entity v Xray

Test

Samostatný test case.

Může být:

  • manuální,
  • automatizovaný,
  • Gherkin/Cucumber scénář.

Test Execution

Konkrétní spuštění testů pro:

  • release,
  • build,
  • sprint,
  • regression testing.

Test Plan

Skupina test executions a testů pro konkrétní release nebo testovací fázi.

Test Set

Logická skupina testů.

Příklad:

  • Login tests
  • Payment tests
  • API regression

Precondition

Podmínky, které musí být splněny před spuštěním testu.

Test Repository

Hierarchická struktura pro organizaci testů podobně jako složky.

3. Klíčové vlastnosti Xray

  • Test cases: manuální i automatizované testy.
  • Test execution: spuštění testů pro konkrétní build nebo release.
  • Traceability: propojení požadavku, testu, výsledku a bugu.
  • Gherkin podpora: scénáře Given / When / Then.
  • Reporting: coverage, pass/fail statistiky a rizika.
  • CI/CD integrace: Jenkins, GitHub Actions, GitLab CI.
  • REST API: automatické importy výsledků.
  • Dashboardy: přehled kvality release.

4. Typický workflow v Xray

  1. Vznikne user story v Jira
  2. Vzniknou acceptance criteria
  3. Vytvoří se test cases
  4. Testy se přidají do Test Execution
  5. Spustí se testování
  6. Výsledky se označí PASS / FAIL / BLOCKED
  7. Pro FAIL se vytvoří nebo propojí bug
  8. Proběhne retest a regression

5. Test Case v Xray

Základní struktura test case:

  • Summary
  • Description
  • Preconditions
  • Test steps
  • Expected result
  • Test data
  • Priority
  • Labels
  • Components

Příklad test case:

Pole Obsah
Test User can enable dark mode from Settings.
Precondition User is logged in and app is in light mode.
Steps Open Settings, enable Dark mode, restart app.
Expected Dark mode is applied and persisted after restart.

6. Test step design

Dobrý test step musí být:

  • jednoznačný,
  • reprodukovatelný,
  • stručný,
  • bez zbytečných detailů.

Špatný příklad:

Open app and test payment somehow.

Správný příklad:

1. Open Wallet screen
2. Tap Send payment
3. Enter amount EUR 100
4. Confirm payment using Face ID
5. Observe transaction status

7. Preconditions

Preconditions definují stav systému před testem.

Příklady:

  • uživatel je přihlášen,
  • existuje aktivní účet,
  • uživatel má dostatek prostředků,
  • API endpoint je dostupný,
  • testovací data existují.

8. Test statuses v Xray

Nejčastější výsledky:

  • PASS – test prošel
  • FAIL – test selhal
  • TODO – test ještě nebyl spuštěn
  • EXECUTING – test právě běží
  • BLOCKED – nelze pokračovat

Kdy použít BLOCKED?

  • nefunkční prostředí,
  • výpadek API,
  • missing deployment,
  • kritický blocker bug,
  • nedostupná externí služba.

9. Traceability

Jedna z nejdůležitějších funkcí Xray.

Traceability propojuje:

  • business požadavky,
  • stories,
  • test cases,
  • test executions,
  • bugy,
  • release verze.

Díky tomu lze zjistit:

  • které požadavky nemají testy,
  • které testy selhávají,
  • které bugy blokují release,
  • jaké je coverage releasu.

10. Test coverage

Coverage ukazuje, jak velká část systému je pokryta testy.

Typy coverage:

  • Requirements coverage
  • Code coverage
  • Regression coverage
  • Risk coverage

Příklad:

Release 5.8
Requirements coverage: 92%
Passed tests: 410
Failed tests: 12
Blocked tests: 4

11. Test Plan

Test Plan organizuje testování pro release nebo sprint.

Typický obsah:

  • scope testování,
  • test executions,
  • entry criteria,
  • exit criteria,
  • rizika,
  • testovací prostředí.

Entry criteria

Podmínky pro zahájení testování.

Příklad:

  • deployment hotový,
  • API dostupné,
  • testovací data připravená.

Exit criteria

Podmínky pro ukončení testování.

  • žádný Critical bug,
  • smoke test PASS,
  • coverage nad 90%,
  • všechny blocker bugy vyřešeny.

12. Regression testing v Xray

Regression suite obsahuje důležité scénáře, které se spouštějí opakovaně.

Příklady regression oblastí:

  • login,
  • payments,
  • notifications,
  • security,
  • session management.

13. Smoke testing

Smoke test ověřuje základní funkčnost systému po deploymentu.

Typické smoke scénáře:

  • login funguje,
  • hlavní stránka se načte,
  • API odpovídá,
  • databáze běží,
  • platba projde.

14. Xray a automatizace

Xray podporuje:

  • Selenium
  • Cypress
  • Playwright
  • Robot Framework
  • JUnit
  • TestNG
  • Cucumber

Automatické importy výsledků

Výsledky automatizovaných testů lze importovat přes:

  • REST API,
  • XML reporty,
  • JSON reporty,
  • CI/CD pipeline.

15. CI/CD integrace

Nejčastější integrace:

  • Jenkins
  • GitHub Actions
  • GitLab CI
  • Azure DevOps
  • Bamboo

Typický flow:

Code commit
↓
Build
↓
Automated tests
↓
Xray import results
↓
Report PASS/FAIL
↓
Release decision

16. REST API

Xray nabízí REST API pro:

  • vytváření testů,
  • import výsledků,
  • reporting,
  • automatizaci workflow.

Příklad použití:

POST /api/v2/import/execution

17. Xray a Gherkin

Xray podporuje BDD scénáře ve formátu Gherkin.

Výhody Gherkin:

  • lepší čitelnost,
  • společný jazyk pro business a QA,
  • možnost automatizace.

Příklad Gherkin scénáře:

Scenario: Wallet payment is declined due to insufficient funds
  Given the user has an active wallet card
  And the account balance is lower than the payment amount
  When the user confirms the wallet payment
  Then the payment is declined
  And the user sees an insufficient funds message
  And no amount is deducted from the account

Význam jednotlivých částí:

  • Given – počáteční stav
  • When – akce uživatele
  • Then – očekávaný výsledek

18. Nejčastější chyby při tvorbě testů

  • Nejasné test steps
  • Chybějící expected results
  • Příliš dlouhé test cases
  • Duplicitní testy
  • Nesprávné preconditions
  • Chybějící edge cases
  • Zastaralé testy po změně aplikace
  • Nepřesné testovací data

19. Edge cases a negativní scénáře

Příklady:

  • prázdné pole,
  • speciální znaky,
  • timeout API,
  • neplatný token,
  • duplicitní request,
  • výpadek internetu,
  • expired session.

20. Reporting a dashboardy

Typické reporty:

  • PASS/FAIL statistiky,
  • coverage reporty,
  • trend kvality,
  • open defects,
  • blocked tests,
  • release readiness.

Příklad release dashboardu:

Release 5.8

Total tests: 520
Passed: 498
Failed: 12
Blocked: 5
TODO: 5

Coverage: 96%
Critical bugs: 0
High bugs: 3

21. Best practices

  • Používej konzistentní názvy testů.
  • Odděluj smoke, regression a exploratory testy.
  • Minimalizuj duplicity.
  • Pravidelně čistěte zastaralé testy.
  • Udržuj traceability aktuální.
  • Přidávej evidence při FAIL stavech.
  • Automatizuj opakující se scénáře.
  • Piš čitelné test cases.
  • Ověřuj edge cases.
  • Kontroluj testovací data.

22. Nejčastější interview otázky na Xray

Co je Xray?

Test management nástroj integrovaný do Jira.

Co je Test Execution?

Konkrétní spuštění testů pro build, sprint nebo release.

Co je traceability?

Propojení požadavků, testů, výsledků a bugů.

Jaký je rozdíl mezi Test Plan a Test Set?

Test Plan organizuje testování releasu, Test Set je logická skupina testů.

Co znamená BLOCKED test?

Test nelze dokončit kvůli externímu problému.

Co je Gherkin?

BDD syntaxe Given / When / Then pro popis scénářů.

Jak Xray spolupracuje s automatizací?

Automatizované výsledky lze importovat přes CI/CD a REST API.