Đang tải...

Lửng Lọc Lõi

Đeo kính để soi Bug cho rõ, nhíu mày để nhắc Dev sửa cho kỹ. Với tôi, 'chạy được' thôi là chưa đủ! 🧐💻


0

Khóa Học Tester Miễn Phí Từ Exara: Tổng Quan Kiểm Thử Phần Mềm Cho Người Mới

Lửng Lọc Lõi
Lửng Lọc Lõi

5 tháng trước · 15 phút đọc

Tại sao nên thử khóa học tester miễn phí này?

Mình nhớ thời điểm mới bắt đầu tìm hiểu về testing - câu hỏi đầu tiên không phải "học gì" mà là "học ở đâu mà không mất tiền trước". Trả học phí cả triệu đồng khi chưa biết nghề có hợp với mình không là rủi ro thật sự.

Exara cung cấp khóa học kiểm thử phần mềm hoàn toàn miễn phí, và điểm đáng chú ý là nó không mang cảm giác "miễn phí cho có". Nội dung được chia thành 3 buổi học, mỗi buổi khoảng 2 tiếng, đi từ tổng quan phần mềm đến STLC (Software Testing Life Cycle - vòng đời kiểm thử phần mềm). Đủ để bạn hiểu mình sắp làm gì trước khi quyết định đi xa hơn.

343425 Khóa học miễn phí - nhưng nội dung không "miễn phí cho có"

Mục tiêu thực tế sau khi học xong: đọc hiểu requirement cơ bản, biết cách viết test case đơn giản, và hiểu tester làm gì mỗi ngày trong dự án. Không hứa hẹn quá - nhưng đó đúng là thứ fresher cần nhất ở bước khởi đầu.

Khóa phù hợp nhất với bạn từ ngành khác đang cân nhắc chuyển sang tester, hoặc sinh viên IT chưa có định hướng rõ. Không cần biết code trước. Không cần tiếng Anh tốt. Mình giải thích lý do ở từng phần bên dưới.


Tester thật ra làm gì mỗi ngày?

Nhiều bạn trái ngành hình dung tester là "người click thử app xem có lỗi không". Gần đúng, nhưng thiếu khoảng 80% bức tranh.

Buổi 2 của khóa Exara dành riêng để làm rõ điều này. Hoạt động hàng ngày của tester gồm 4 nhóm chính:

Đọc và phân tích requirement - Trước khi test bất cứ thứ gì, tester cần hiểu sản phẩm phải làm gì. Đọc requirement (tài liệu mô tả yêu cầu) không chỉ là đọc chữ, mà là phát hiện chỗ mơ hồ, thiếu sót, mâu thuẫn trước khi dev bắt đầu code. Tìm được vấn đề ở giai đoạn này tiết kiệm thời gian gấp nhiều lần so với sửa sau.

Thiết kế test case - Từ requirement, tester viết ra các kịch bản kiểm thử (test case): làm gì, nhập gì, kết quả mong đợi là gì. Một test case viết tốt giúp bất kỳ ai trong team đọc cũng reproduce được - đây là kỹ năng cốt lõi và mình sẽ nói kỹ hơn ở phần sau.

Thực hiện kiểm thử và báo lỗi - Chạy test case, ghi lại kết quả, và nếu phát hiện lỗi thì viết bug report đủ chi tiết để dev hiểu và fix. "Lỗi" không phải là đủ - cần có: bước reproduce, expected result, actual result, môi trường test.

Kiểm tra lại sau khi fix (re-test và regression testing) - Dev fix xong, tester test lại. Không chỉ test đúng chỗ đã fix, mà còn cần kiểm thử hồi quy (regression testing) - tức test lại các tính năng liên quan để chắc chắn fix này không làm hỏng thứ khác.

343426 Một ngày làm việc của tester xoay quanh 4 hoạt động này

Mình từng bỏ qua bước regression vì nghĩ "fix nhỏ thôi, không ảnh hưởng gì". Kết quả là tính năng giỏ hàng bị ảnh hưởng sau khi fix lỗi đăng nhập - và team mất 2 ngày tìm nguyên nhân. Từ đó mình hiểu tại sao kiểm tra lại sau khi fix luôn cần làm kỹ.


Ba phương pháp kiểm thử: hộp đen, hộp trắng, hộp xám

Khóa Exara giới thiệu 3 phương pháp kiểm thử ngay từ buổi 2. Đây là khái niệm nền tảng - phỏng vấn tester nào cũng hỏi.

Kiểm thử hộp đen (black-box testing) là phương pháp tester test mà không cần biết bên trong code hoạt động thế nào. Chỉ cần biết: nhập gì vào, kết quả mong đợi là gì. Ví dụ: test form đăng nhập mà không cần đọc code backend xử lý password. Đây là phương pháp fresher dùng nhiều nhất - và tin tốt là không cần biết lập trình để làm tốt.

Kiểm thử hộp trắng (white-box testing) ngược lại: tester có thể xem code và test dựa trên cấu trúc bên trong. Phương pháp này thường do dev tự test hoặc tester có kiến thức lập trình. Fresher mới vào nghề ít dùng, nhưng hiểu khái niệm để phỏng vấn không bị hỏng.

Kiểm thử hộp xám (grey-box testing) là kết hợp: tester biết một phần cấu trúc hệ thống (như cơ sở dữ liệu, API) nhưng không biết toàn bộ code. Phổ biến trong kiểm thử tích hợp và API testing.

343427 Ba phương pháp song song - không có cái nào "tốt hơn", tùy ngữ cảnh

Thật ra với fresher trái ngành, bạn sẽ bắt đầu bằng black-box testing gần như 100%. Không cần lo về white-box ngay. Tập trung hiểu rõ black-box trước - biết cách thiết kế test case từ requirement mà không cần đọc code là kỹ năng đủ để apply vị trí junior tester.

Tiêu chí Black-box White-box Grey-box
Cần biết code? Không Một phần
Ai thường dùng? Tester Dev/Tester senior Tester mid-level
Phù hợp test gì? Chức năng, UI Logic code, unit test API, integration
Fresher cần không? Bắt buộc Hiểu khái niệm Hiểu khái niệm

STLC - Vòng đời kiểm thử phần mềm là gì?

Buổi 3 của khóa Exara đi sâu vào STLC (Software Testing Life Cycle) - vòng đời kiểm thử phần mềm. Nghe có vẻ phức tạp, nhưng thực ra đây là câu trả lời cho câu hỏi: "Tester làm gì, theo thứ tự nào, trong suốt một dự án?"

STLC gồm 6 giai đoạn chính:

Phân tích yêu cầu (Requirement Analysis) - Tester đọc tài liệu yêu cầu, đặt câu hỏi với BA (Business Analyst) hoặc PM để làm rõ những điểm mơ hồ. Kết quả: danh sách yêu cầu đã được xác nhận.

Lên kế hoạch kiểm thử (Test Planning) - Test lead xác định phạm vi test, nguồn lực, công cụ, timeline. Fresher ít tham gia bước này, nhưng cần hiểu để làm việc theo kế hoạch.

Thiết kế test case (Test Case Design) - Đây là phần fresher làm nhiều nhất. Từ requirement, viết ra test case chi tiết, chuẩn bị dữ liệu test.

Cài đặt môi trường (Test Environment Setup) - Đảm bảo môi trường test sẵn sàng: server, database, thiết bị, tài khoản test.

Thực thi kiểm thử (Test Execution) - Chạy test case, so sánh kết quả thực tế với expected, ghi lại lỗi.

Kết thúc kiểm thử (Test Closure) - Tổng hợp báo cáo, đánh giá chất lượng, rút kinh nghiệm.

343428 6 giai đoạn STLC - mỗi giai đoạn có input và output rõ ràng

Trong môi trường Agile Scrum (phổ biến ở đa số công ty Việt Nam hiện nay), STLC không phải một vòng tuyến tính mà lặp lại theo từng sprint (thường 2 tuần). Tức là mỗi sprint, team lại đi qua đủ 6 bước nhưng với phạm vi nhỏ hơn. Exara có giới thiệu Agile trong khóa học - đủ để bạn không bỡ ngỡ khi vào dự án thực tế.


Cách đọc requirement và viết test case đầu tiên

Đây là kỹ năng thực chiến nhất - và cũng là thứ nhiều fresher loay hoay nhất sau khi học lý thuyết.

Mình lấy ví dụ cụ thể: requirement cho tính năng đăng nhập của một app mua sắm.

"Người dùng có thể đăng nhập bằng email và mật khẩu. Email phải đúng định dạng. Mật khẩu tối thiểu 8 ký tự. Nếu sai thông tin quá 5 lần, tài khoản bị khóa 30 phút."

Đọc xong requirement này, tester cần nghĩ đến ít nhất 8 test case:

  • Đăng nhập đúng email + đúng mật khẩu → thành công
  • Sai mật khẩu → hiện thông báo lỗi rõ ràng
  • Email không đúng định dạng (thiếu @, thiếu domain) → báo lỗi
  • Mật khẩu dưới 8 ký tự → báo lỗi
  • Sai mật khẩu đúng 5 lần → tài khoản khóa
  • Thử đăng nhập lần 6 khi tài khoản đang khóa → hiển thị gì?
  • Sau 30 phút, tài khoản tự mở khóa chưa?
  • Email tồn tại nhưng chưa xác thực → xử lý thế nào?

343429 Một requirement đơn giản sinh ra nhiều test case hơn bạn nghĩ

Bạn thấy test case cuối chưa? Requirement không đề cập đến email chưa xác thực - đây là điểm mơ hồ tester cần hỏi lại. Kỹ năng đọc requirement không chỉ là đọc những gì có, mà còn phát hiện những gì thiếu.

Khi viết test case, mỗi test case cần có đủ 5 thành phần:

  • Test Case ID: mã định danh (TC_LOGIN_001)
  • Mô tả: test cái gì
  • Điều kiện tiên quyết (precondition): cần gì trước khi test
  • Các bước thực hiện (steps): từng bước rõ ràng
  • Kết quả mong đợi (expected result): cụ thể, đo được

Viết test case mà expected result là "hệ thống hoạt động đúng" là chưa đủ. Phải cụ thể: "Hiển thị thông báo 'Mật khẩu phải có ít nhất 8 ký tự', nút Đăng nhập không kích hoạt".

Tải template test case bên dưới để thực hành ngay - mình đã làm sẵn cấu trúc, bạn chỉ cần điền vào:

Tải template test case (file HTML)


Checklist tự học 4 tuần sau khi hoàn thành khóa Exara

Học lý thuyết xong mà không thực hành thì quên rất nhanh. Mình đề xuất lịch 4 tuần để bạn vừa ôn vừa xây dựng kỹ năng thực chiến:

Tuần 1 - Nắm chắc nền tảng

  • Xem lại cả 3 buổi của khóa Exara, ghi chú thuật ngữ mới
  • Tự giải thích STLC bằng lời của mình (không nhìn tài liệu)
  • Phân biệt được black-box / white-box / grey-box khi được hỏi
  • Tìm 1 app mobile thực tế, liệt kê 5 tính năng cần test

Tuần 2 - Tập đọc requirement và viết test case

  • Lấy requirement mẫu (hoặc mô tả tính năng app bạn đang dùng)
  • Viết ít nhất 10 test case cho 1 tính năng
  • Tự review: test case có đủ 5 thành phần không? Expected result có cụ thể không?
  • Nhờ ai đó đọc lại xem họ hiểu không - test case tốt là người khác đọc hiểu ngay

Tuần 3 - Thực hành báo lỗi

  • Dùng app thật, tìm lỗi thật (dù nhỏ: lỗi UI, lỗi chính tả, edge case lạ)
  • Viết bug report đầy đủ: tiêu đề, bước reproduce, expected vs actual, môi trường
  • Thực hành dùng Jira (bản free) hoặc Google Sheet để quản lý bug
  • Chụp screenshot, đánh dấu vùng lỗi rõ ràng

Tuần 4 - Tổng hợp và chuẩn bị portfolio

  • Gộp test case + bug report thành 1 portfolio nhỏ (Google Doc hoặc Notion)
  • Viết mô tả ngắn: "Mình test app X, tìm được Y lỗi, viết Z test case"
  • Đọc 2-3 JD (job description) tester junior trên LinkedIn/TopCV
  • Đối chiếu yêu cầu JD với những gì mình đã học - thiếu gì thì học thêm

343430 4 tuần này không cần học liên tục - 1 tiếng/ngày là đủ

Lịch học thực tế hơn: 5 ngày/tuần, 45-60 phút/ngày. Cuối tuần dành để review lại và thực hành. Tổng cộng chỉ khoảng 20-25 giờ cho cả 4 tuần - hoàn toàn song song được với công việc hiện tại.

Nếu thấy khó ở tuần 2 khi viết test case, bình thường. Mình cũng mất gần 2 tuần mới viết được test case người khác đọc hiểu không cần hỏi thêm. Cứ kiên trì, kỹ năng này rèn được.

Tải checklist đầy đủ dạng file HTML có thể tick từng mục:

Tải checklist tự học 4 tuần (file HTML)


Sau khóa Exara, học gì tiếp?

Khóa Exara cho bạn nền tảng - đủ để biết mình đang làm gì và tại sao. Nhưng để apply được vị trí junior tester thực sự, bạn cần thêm một số kỹ năng thực chiến.

Jira và quản lý bug: Hầu hết công ty dùng Jira để track bug và task. Bản cloud free cho cá nhân có thể tạo project test ngay. Tập tạo ticket, phân loại severity (mức độ nghiêm trọng), assign và update trạng thái.

SQL cơ bản cho tester: Không cần viết query phức tạp, nhưng biết SELECT, WHERE, JOIN giúp bạn kiểm tra dữ liệu trong database sau khi test - rất nhiều bug ẩn ở tầng data, không hiện trên giao diện.

API testing với Postman: Ngày càng nhiều JD tester yêu cầu biết test API cơ bản. Postman có giao diện trực quan, không cần code. Gửi request, kiểm tra response, so sánh với expected - kỹ năng này phân biệt tester junior bình thường với tester junior đáng tuyển.

343431 Ba kỹ năng này giúp bạn nổi bật hơn so với fresher cùng level

Về phía kiến thức IT nền tảng - nếu bạn hoàn toàn trái ngành và muốn có bức tranh tổng quan về ngành lập trình/phần mềm trước khi đi sâu vào testing, khóa Kiến Thức Nhập Môn IT của F8 miễn phí và cover khá tốt các khái niệm cơ bản như frontend, backend, database - những thứ tester cần biết để giao tiếp với dev hiệu quả.

Nên apply khi nào? Sau 4 tuần tự học + 1-2 tháng thực hành, nếu bạn có thể:

  • Viết test case cho 1 tính năng từ requirement
  • Viết bug report đủ thông tin để dev reproduce
  • Nói được flow STLC cơ bản

...thì đã đủ để apply vị trí tester intern hoặc fresher. Đừng chờ "học đủ" - không có điểm đó. Apply, làm bài test thực tế, nhận feedback, rồi học tiếp từ đó.

Bắt đầu với khóa học tester miễn phí từ Exara - đăng ký miễn phí, không cần thẻ tín dụng, không cần code trước. Bước đầu tiên đơn giản nhất là click vào link đó.