Đ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

Tester là gì, QA vs QC vs Tester: Phân biệt đúng để không học lan man

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

4 tháng trước · 8 phút đọc

Mình từng nhầm QA với Tester suốt 3 tháng đầu

Khi mới tìm hiểu ngành testing, mình lên Google gõ "học tester". Kết quả trả về: bài viết về QA, QC, Software Tester, QA Engineer... đủ loại. Mình ngồi đọc 2 tiếng mà vẫn không hiểu mình cần học cái gì.

Nếu bạn đang ở điểm đó, bài này dành cho bạn.

Mình sẽ giải thích từng khái niệm bằng ngôn ngữ người thường, không định nghĩa sách vở. Đọc xong, bạn biết: mình muốn làm gì, cần học gì, và trả lời HR tự tin khi được hỏi "Bạn muốn apply vị trí QA hay Tester?"

344601 Ba vai trò nghe tên giống nhau nhưng thật ra khác nhau rõ ràng


Tester là gì - giải thích bằng ví dụ đời thường

Tester là người kiểm tra phần mềm trước khi người dùng thật sự dùng nó. Đơn giản vậy thôi.

Bạn hay mua đồ online không? Trước khi sản phẩm lên kệ, nhà máy có bộ phận kiểm tra: sản phẩm có đúng mô tả không, có bị lỗi không, có an toàn không. Tester làm đúng việc đó, nhưng với phần mềm.

Cụ thể hơn: dev viết code xong, tester vào dùng thử app. Click nút "Đăng nhập" xem có vào được không. Nhập sai mật khẩu xem thông báo lỗi có hiện đúng không. Nhập mật khẩu toàn ký tự đặc biệt (!@#$%^) xem app có vỡ không. Mỗi kịch bản kiểm tra như vậy gọi là test case (kịch bản kiểm thử).

Khi tester phát hiện app hoạt động sai, họ ghi lại lỗi đó - gọi là bug report (báo cáo lỗi) - rồi gửi cho dev fix. Công việc cứ thế lặp lại cho đến khi phần mềm đủ tốt để ra mắt.

344602 Vòng lặp test → báo lỗi → fix → test lại: công việc hằng ngày của tester

Bạn không cần biết code để làm tester. Thứ bạn cần là tư duy logic, tỉ mỉ, và khả năng đặt câu hỏi "Điều gì có thể xảy ra sai ở đây?"


QA là gì - rộng hơn bạn nghĩ

QA (Quality Assurance - đảm bảo chất lượng) không phải chỉ là "tester giỏi hơn". QA nghĩ về chất lượng ở cấp độ quy trình, không chỉ từng tính năng.

Hình dung thế này: nhà máy bánh mì. Tester là người ăn thử bánh xem ngon không. QA là người thiết kế quy trình làm bánh - bột nhào bao lâu, nhiệt độ lò bao nhiêu, kiểm tra nguyên liệu đầu vào thế nào - để đảm bảo mỗi mẻ bánh đều ngon, không phụ thuộc vào người làm hôm đó là ai.

QA hỏi: "Làm sao để lỗi ít xảy ra hơn ngay từ đầu?" Trong khi tester hỏi: "Tính năng này có lỗi không?"

Thực tế ở nhiều công ty Việt Nam, đặc biệt startup và công ty vừa nhỏ, QA và Tester thường là một người làm cả hai việc. Bạn vừa viết test case, vừa báo bug, vừa góp ý về quy trình. Chức danh ghi "QA" nhưng việc làm là tester.

344603 QA nhìn toàn bộ quy trình; Tester tập trung vào từng tính năng cụ thể

Khi đi xin việc, thấy JD (job description) ghi "QA Engineer", đừng sợ. Đọc kỹ phần "Yêu cầu" - nếu họ cần người viết test case và báo bug, đó là tester. Nếu họ cần xây dựng quy trình test, metrics, process improvement thì mới là QA thuần.


QC là gì - và tại sao ít dùng trong phần mềm

QC (Quality Control - kiểm soát chất lượng) là hoạt động kiểm tra sản phẩm đầu ra để đảm bảo đúng tiêu chuẩn. Về bản chất, testing chính là một dạng QC.

Thuật ngữ QC phổ biến hơn trong sản xuất truyền thống. Nhà máy điện thoại có bộ phận QC kiểm tra máy trước khi đóng hộp. Trong phần mềm, người ta dùng "testing" hoặc "QA" nhiều hơn, còn "QC" ít xuất hiện trên JD hơn.

Thế nên nếu bạn thấy JD ghi "QC", không cần hoảng. Đọc mô tả công việc cụ thể là biết họ cần gì.

Tiêu chí QA QC / Testing
Tập trung vào Quy trình Sản phẩm đầu ra
Câu hỏi chính Làm đúng quy trình chưa? Sản phẩm đúng yêu cầu chưa?
Thời điểm Suốt dự án Sau khi có sản phẩm để test
Ví dụ Viết test plan, quy trình Viết test case, báo bug
Trong ngành phần mềm Ít JD dùng thuần QA Phổ biến hơn

344604 QA lo quy trình từ đầu; QC/Testing kiểm tra kết quả cuối - cả hai đều quan trọng

Thực tế khi mới vào nghề, bạn sẽ làm QC/Testing là chính: viết test case, chạy test, báo bug. Sau vài năm mới có cơ hội làm QA theo nghĩa rộng hơn.


Tester nằm ở đâu trong quy trình phát triển phần mềm

Để hiểu vai trò tester, cần biết phần mềm được tạo ra như thế nào.

Một dự án phần mềm thông thường đi qua các giai đoạn: khách hàng/business đưa yêu cầu → BA (Business Analyst) phân tích và viết tài liệu → designer thiết kế giao diện → dev viết code → tester kiểm tra → release ra người dùng → bảo trì.

Tester vào cuộc sớm hơn bạn nghĩ. Không phải chờ dev code xong mới làm. Ngay khi có tài liệu yêu cầu, tester giỏi đã bắt đầu đọc và đặt câu hỏi: "Yêu cầu này có rõ không? Có trường hợp nào chưa được mô tả không?" Phát hiện vấn đề sớm ở giai đoạn tài liệu rẻ hơn rất nhiều so với phát hiện sau khi code xong.

344605 Tester không chỉ làm cuối dự án - càng vào sớm, bug càng ít và rẻ để fix

Trong team, tester làm việc chặt với:

  • Dev: nhận bản build mới để test, báo bug, verify fix
  • BA: đọc tài liệu, hỏi khi yêu cầu không rõ
  • PM (Project Manager): báo cáo tiến độ test, risk

Bạn không cần biết code, nhưng cần biết đọc tài liệu, giao tiếp tốt, và đặt câu hỏi không ngại.


Hiểu đúng để tự tin trả lời HR

Tình huống thật: bạn đang phỏng vấn, HR hỏi "Bạn muốn làm QA hay Tester?"

Nhiều bạn mới nghe câu này là đứng hình. Thật ra không cần hoảng. Đây là cách trả lời tự nhiên:

Nếu JD ghi "QA" nhưng mô tả công việc là test case + bug report: "Mình hiểu QA ở công ty mình apply thiên về testing, viết test case và verify tính năng. Mình đang học theo hướng đó và muốn phát triển thêm về quy trình sau khi có kinh nghiệm thực tế."

Nếu HR hỏi bạn biết sự khác nhau giữa QA và Tester không: "QA tập trung vào quy trình và phòng ngừa lỗi từ đầu, còn Tester tập trung vào kiểm tra sản phẩm sau khi có bản build. Ở nhiều công ty, nhất là startup, một người thường làm cả hai việc."

Nói được như vậy là bạn đã hơn phần lớn ứng viên trái ngành không chuẩn bị gì.

344606 Chuẩn bị câu trả lời HR trước - khác biệt lớn so với ứng viên không chuẩn bị

Mình cũng gợi ý bạn tự hỏi: mình muốn làm manual testing (test tay, không code) hay automation testing (viết code tự động hóa test)? Câu hỏi này ảnh hưởng đến lộ trình học. Với người mới trái ngành, bắt đầu từ manual testing là hợp lý nhất - không cần code, tập trung vào tư duy test và viết test case trước.

Trang web dùng cookie để hoạt động và đo hiệu quả quảng cáo. Xem chính sách bảo mật