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
- Vznikne user story v Jira
- Vzniknou acceptance criteria
- Vytvoří se test cases
- Testy se přidají do Test Execution
- Spustí se testování
- Výsledky se označí PASS / FAIL / BLOCKED
- Pro FAIL se vytvoří nebo propojí bug
- 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.