Trang chủ
QA Learning Hub
Chương 06 · JIRA
Chương 06 Cơ Bản

JIRA — Issue Tracking

Sử dụng JIRA hiệu quả — từ issue types, JQL queries đến board management và tích hợp test management.

🎯 Issue Types
  • EpicTính năng lớn kéo dài nhiều sprint. Chứa nhiều Stories. Ví dụ: "Payment Integration," "User Authentication Module." Epic có thể kéo dài 2-3 tháng.
  • Story (User Story)Tính năng cụ thể có thể hoàn thành trong 1 sprint. Format: "As a [user], I want [action] so that [benefit]." Có Acceptance Criteria.
  • TaskCông việc kỹ thuật hoặc non-feature. Ví dụ: "Setup Staging environment," "Update API documentation," "QA regression suite update."
  • BugDefect tìm được trong testing. Liên kết với Story liên quan. Có Severity, Priority, Steps to Reproduce.
  • Sub-taskBreakdown của Story/Task thành phần nhỏ hơn. Ví dụ: Story "User Login" có sub-tasks: "Frontend form," "API endpoint," "Test cases," "Documentation."
  • ImprovementEnhancement cho tính năng đã tồn tại, không phải bug. Ví dụ: "Make search results load faster."
🔍 JQL — JIRA Query Language Deep Dive

JQL là ngôn ngữ query mạnh để filter và search issues. QA cần thành thạo JQL để tạo saved filters và dashboards.

Operators cơ bản:

  • AND, OR, NOTLogic operators. AND thu hẹp kết quả, OR mở rộng, NOT loại trừ.
  • IN, NOT INSo sánh với list: status IN (Open, "In Progress", Retest)
  • WAS, CHANGEDHistorical queries: status WAS "In Progress" BEFORE "2025-01-01"
  • ~, !~Text search (contains): summary ~ "payment"
  • IS EMPTY, IS NOT EMPTYCheck null fields: assignee IS EMPTY

JQL Queries thực tế cho QA:

  • project = "SPORTS" AND issuetype = Bug AND status != Done ORDER BY priority ASC — Tất cả bug chưa fix
  • sprint in openSprints() AND issuetype = Bug AND priority in (Critical, High) — Critical/High bugs trong sprint hiện tại
  • assignee = currentUser() AND status = "Retest" — Bugs đang chờ tôi verify
  • project = "SPORTS" AND created >= -7d AND issuetype = Bug — Bugs mới trong 7 ngày
  • status CHANGED TO "Reopen" AFTER startOfWeek() — Bugs bị reopen tuần này
  • fixVersion = "v2.5.0" AND issuetype = Bug AND status != Done — Bugs còn lại cho release cụ thể
  • labels = "regression" AND status = Fail ORDER BY priority — Regression failures
  • project = "SPORTS" AND issuetype = Story AND status = Done AND sprint in closedSprints() ORDER BY updated DESC — Stories đã xong các sprint trước
💡 Save Filters cho Quick Access
Tạo Saved Filter cho các queries hay dùng: "My Open Bugs to Verify," "Sprint Critical Issues," "Release Blocker Dashboard." Share filter với team để mọi người có cùng view.
📋 Board & Workflow
  • Scrum BoardSprint-based: Backlog → To Do → In Progress → In Review → Done. Stories move across columns. QA column: "In Testing" hoặc "Retest".
  • Kanban BoardFlow-based, không có sprint. WIP limits per column. Phù hợp với maintenance/support teams.
  • Workflow CustomizationQA có thể đề xuất thêm status: "Ready for QA" (dev done, waiting QA), "In Testing," "Retest" (bug fixed, need verify). Clear status = clear accountability.
  • Backlog RefinementQA tham gia grooming backlog: add Acceptance Criteria, estimate test effort, xác định testing risks.
📊 Reports & Charts cho QA
  • Burndown ChartStory points còn lại vs ideal burndown. Nếu thực tế cao hơn ideal → sprint at risk. QA cần biết đọc để anticipate testing crunch.
  • Velocity ChartStory points completed per sprint. Giúp QA estimate testing capacity cho sprint tiếp theo.
  • Bug Trend ReportSố bug open/close theo thời gian. Trend tăng → chất lượng đang giảm. Cần raise với PM.
  • Created vs ResolvedNếu Created > Resolved nhiều ngày liên tiếp → bug backlog đang tăng, release risk.
  • Test Coverage DashboardTạo JIRA dashboard với gadgets: Bug count by priority, bugs by component, sprint burndown. Visible cho toàn team.
🧪 Test Management Tools trong JIRA
ToolDescriptionBest For
Zephyr ScaleNative JIRA plugin, test cases as JIRA issuesTeams already heavy in JIRA
XrayPowerful test management, BDD support, CI integrationAutomation-heavy teams
TestRailStandalone tool với JIRA integrationLarge QA teams, complex projects
qTestEnterprise test management platformEnterprise/regulated industries
Spreadsheet + JIRASimple: Google Sheets cho TC, link JIRA bugsSmall teams, startups
📌 Khi nào cần dedicated test management tool?
Khi: team > 3 QA, cần compliance/audit trail, muốn execution metrics tự động, có automation reporting cần integrate. Small teams có thể dùng JIRA + spreadsheet hiệu quả.
✏️ Bài Tập JQL
📝 Bài Tập: Viết JQL Queries

Viết JQL query cho các scenarios sau (project = "ECOMMERCE"):

  1. Tìm tất cả Critical bugs được tạo trong sprint hiện tại chưa được assign cho ai
  2. Tìm tất cả bugs thuộc Payment module đã được fix trong 2 tuần qua
  3. Tìm tất cả stories được mark là Done trong sprint vừa kết thúc, nhưng có ít nhất 1 bug liên quan vẫn còn Open
  4. Tìm bugs được report bởi tôi (currentUser) và đã bị reopen nhiều hơn 1 lần
  5. Tạo query cho "Release Readiness Dashboard": tất cả issues trong fixVersion "v3.0" còn chưa Done