Chương 18 Nâng Cao
Tố Chất Nghề Nghiệp
Kỹ năng mềm và mindset quyết định sự thăng tiến trong nghề QA — từ Junior lên Senior và Lead.
🧠 QA Mindset — Tư Duy Tester
- Skeptical MindsetKhông assume hệ thống hoạt động đúng. Luôn hỏi "điều gì có thể sai?" Verify thay vì trust. Nhưng không cynical — balance với respect cho dev work.
- User PerspectiveTest như user thực, không chỉ như spec nói. Đặt câu hỏi: "Nếu tôi là người dùng lần đầu, tôi có hiểu được không? Nếu tôi vội vàng, tôi có mắc lỗi gì không?"
- Constructive ThinkingBug report không phải chỉ để chỉ lỗi — mà để cải thiện sản phẩm. Frame bugs theo user impact, không phải dev mistakes.
- Curious & PersistentKhi phát hiện bug intermittent: không give up, tìm pattern. "Chỉ xảy ra khi có discount + free shipping." Persistence tạo ra Great QA.
- Continuous LearningTechnology thay đổi nhanh. Automation, AI testing tools, cloud — QA phải liên tục update skills. Ít nhất 1 new skill mỗi quý.
🏆 Senior vs Junior Mindset
Junior: "I need to run all my test cases before I can say anything." Senior: "Based on the change, these 5 areas have highest risk. I'll focus there first and update you by EOD." Senior QA think strategically, not just execute tasks.
⚠️ Risk-Based Testing Mindset
Khi deadline gấp, không thể test everything. Risk-based thinking giúp prioritize đúng:
- Identify Risks: List tất cả areas của system. Hỏi: "Điều gì xảy ra nếu X bị lỗi? User bị ảnh hưởng thế nào? Revenue bị mất không?"
- Assess Likelihood: Code thay đổi nhiều ở đâu? Area nào hay có bug? New team member viết? Ít test coverage?
- Assess Impact: Tính năng có ảnh hưởng trực tiếp đến revenue không? Nhiều user dùng không? Critical path không?
- Prioritize: High Likelihood + High Impact = Test first and deep. Low Likelihood + Low Impact = Test last or skip.
- Document Decision: Ghi lại những gì bạn KHÔNG test và lý do. Transparent về risk accepted.
| Impact ↓ / Likelihood → | High Likelihood | Low Likelihood |
|---|---|---|
| High Impact | 🔴 Test first, deep, full regression | 🟡 Test thoroughly but can be last |
| Low Impact | 🟡 Test but can be lighter | ⚪ Consider skipping, document decision |
💬 Communication Skills
- Nói "Không" đúng cáchThay vì "Không đủ thời gian test," nói "Trong 2 giờ còn lại, tôi có thể test critical path và payment flow. Tôi sẽ skip edge cases và document risk. PM có accept được không?"
- Present Bad NewsKhông chỉ nói "chúng ta có vấn đề." Nói: "Phát hiện critical bug trong checkout. Impact: mọi purchase bị fail. Fix estimate: 2 giờ. Risk nếu deploy: không. Recommend hold release."
- Negotiate Deadline"Current deadline không realistic với scope testing required. Tôi có thể deliver by [X+1 day] với proper coverage, hoặc by [X] nhưng với reduced scope [list what's not tested]. Which do you prefer?"
- Proactive CommunicationĐừng chờ đến cuối sprint mới thông báo "tôi chưa xong." Update early, update often. Flag risk khi thấy, không phải khi đã late.
- Data-driven ArgumentsThay vì "tôi nghĩ feature này risky," nói "feature này có 3 open bugs từ sprint trước và không có automation coverage — risk level: High."
🤝 Làm Việc Với Dev Team
- Build Relationships: Nói chuyện informal với dev — Slack, coffee, lunch. Khi có vấn đề, giải quyết nhanh hơn nhiều so với chỉ comment JIRA.
- Understand Code Basics: Không cần biết code, nhưng hiểu cơ bản: function là gì, API call là gì, DB query là gì. Giúp giao tiếp hiệu quả hơn với dev.
- Pair Testing / Debugging: Ngồi cùng dev debug bug khó reproduce. QA biết "when" và "how often," dev biết "why." Kết hợp = tìm root cause nhanh hơn.
- Appreciate Dev Work: Acknowledge khi dev fix nhanh, khi code quality tốt. Positive feedback tạo ra culture tốt hơn chỉ reporting bugs.
- QA là gate-keeper, không phải gate-blocker: Goal là ship quality software, không phải find more bugs. Collaborate để achieve shared goal.
⏱️ Time Management trong Testing
- Time-boxing: Giới hạn thời gian cho mỗi feature. "2 giờ cho checkout testing, sau đó move on." Không có perfect testing — có testing đủ tốt để ship.
- Daily Planning: Đầu ngày: list tasks ưu tiên theo risk. Cuối ngày: update status, flag blockers, plan tomorrow.
- Automation Thinking: Thấy test case nào phải chạy mỗi sprint? → Candidate cho automation. Track manual test time → build automation ROI case.
- Parallel Testing: Khi API testing có thể chạy Postman → chuyển sang UI testing. Không idle chờ response.
- Know When to Stop: Signs of diminishing returns: đã test 2 giờ area này, chỉ tìm minor bugs, risk đã được cover. Move on.
📈 Career Growth — Lộ Trình Thăng Tiến
| Level | Skills Focus | Hành Vi Đặc Trưng | Timeline (approx) |
|---|---|---|---|
| Junior QA | Test cases, bug reports, JIRA, manual testing basics | Follows instructions, needs guidance on what to test | 0–1 năm |
| QA Engineer | API testing, SQL, automation basics, risk thinking | Works independently, identifies risks proactively | 1–3 năm |
| Senior QA | Test strategy, automation architecture, mentoring, metrics | Leads testing effort, makes quality decisions, mentors juniors | 3–5 năm |
| QA Lead / Manager | Team building, process design, stakeholder management | Defines quality standards, grows the team, owns quality culture | 5+ năm |
Accelerate growth — làm ngoài giờ làm việc:
- Tham gia testing community: Ministry of Testing, LinkedIn QA groups
- Contribute open source: test open source projects, report bugs, viết documentation
- Build portfolio: GitHub với Playwright project, viết blog về testing experiences
- Certifications: ISTQB Foundation Level → ISTQB Advanced. Không bắt buộc nhưng validate knowledge
- Side projects: Tự test apps bạn thích — game, e-commerce, social app. Exploratory testing practice
✏️ Bài Tập
📝 Bài Tập: Self-Assessment
- Rate bản thân 1-5 cho mỗi kỹ năng: Test case writing, Bug reporting, API testing, SQL, Automation, English communication, Risk thinking, Dev collaboration. Identify top 3 gaps cần cải thiện.
- Scenario: PM muốn deploy vào 5 giờ chiều hôm nay. Bạn còn 30% test cases chưa chạy, và đang có 1 Major bug open. Viết response email cho PM — professional, data-driven, với recommendation rõ ràng.
- Viết 6-month learning plan cụ thể: mỗi tháng focus vào skill nào, resource nào (sách, khóa học, practice project), milestone đo lường.
- Behavioral interview prep: Viết câu trả lời STAR cho "Tell me about a time you found a critical bug close to release."