Get Appointment

Manual Tester vs Automation Tester: Khác nhau thế nào?
Blog Devpro
DevPro

So sánh công việc Manual Tester và Automation Tester: nhiệm vụ, kỹ năng, công cụ, yêu cầu lập trình và hướng phát triển nghề nghiệp của từng vị trí.

Blog Devpro
Blog Devpro

Manual Tester và Automation Tester khác nhau như thế nào?

Khi tìm hiểu về nghề Tester, chúng ta thường gặp hai vị trí: Manual TesterAutomation Tester.

Cả hai đều hướng đến một mục tiêu chung là đảm bảo chất lượng phần mềm, phát hiện rủi ro và hạn chế lỗi trước khi sản phẩm đến tay người dùng.

Tuy nhiên, công việc hằng ngày, kỹ năng chuyên môn, công cụ sử dụng và cách tiếp cận kiểm thử của hai vị trí lại có nhiều điểm khác nhau.

Hiểu rõ sự khác biệt này sẽ giúp bạn hình dung tốt hơn công việc thực tế của một Tester và lựa chọn hướng phát triển phù hợp.

1. Manual Tester là gì?

Manual Tester là người trực tiếp phân tích yêu cầu, thiết kế kịch bản kiểm thử và thực hiện kiểm thử phần mềm bằng thao tác của con người.

Công việc của Manual Tester không đơn giản là “bấm thử xem phần mềm có lỗi không”.

Trước khi thực hiện kiểm thử, Tester cần hiểu:

  • Sản phẩm được xây dựng để giải quyết vấn đề gì?
  • Người dùng sẽ sử dụng chức năng như thế nào?
  • Requirement yêu cầu hệ thống hoạt động ra sao?
  • Những trường hợp nào có khả năng phát sinh lỗi?
  • Điều gì xảy ra nếu người dùng thao tác không theo luồng thông thường?

Từ đó, Tester xây dựng Test Scenario, Test Case, Test Data và thực hiện kiểm thử.

Khi phát hiện lỗi, Tester cần mô tả chính xác điều kiện xảy ra lỗi, các bước tái hiện, kết quả thực tế và kết quả mong đợi để Developer có thể xử lý.

Vì vậy, giá trị quan trọng của Manual Tester nằm ở tư duy kiểm thử và khả năng phát hiện rủi ro, chứ không chỉ ở thao tác kiểm tra phần mềm.

2. Manual Tester làm những công việc gì?

Trong một dự án phần mềm, công việc của Manual Tester thường bao gồm:

  • Đọc và phân tích Requirement, SRS, User Story.
  • Xác định phạm vi và điều kiện kiểm thử.
  • Xây dựng Checklist, Test Scenario và Test Case.
  • Chuẩn bị Test Data.
  • Thực hiện kiểm thử Web, Mobile hoặc các chức năng của hệ thống.
  • Kiểm tra dữ liệu bằng SQL khi cần.
  • Kiểm thử API trong những dự án có yêu cầu.
  • Phát hiện và Log Bug.
  • Phối hợp với Developer để làm rõ lỗi.
  • Re-test sau khi Developer sửa lỗi.
  • Regression Test để kiểm tra ảnh hưởng đến các chức năng liên quan.
  • Tổng hợp kết quả và viết Test Report.

Manual Tester vì thế thường làm việc khá nhiều với BA, Developer, PM và các thành viên khác trong dự án.

3. Automation Tester là gì?

Automation Tester sử dụng lập trình và các công cụ kiểm thử để xây dựng những Test Script có khả năng tự động thực hiện một phần quá trình kiểm thử.

Thay vì Tester phải lặp lại cùng một chuỗi thao tác nhiều lần, Automation có thể giúp máy thực hiện những kịch bản phù hợp một cách nhanh và nhất quán.

Ví dụ:

Một hệ thống có chức năng đăng nhập cần kiểm tra thường xuyên sau mỗi lần cập nhật.

Manual Tester có thể trực tiếp nhập tài khoản, mật khẩu, thực hiện đăng nhập và kiểm tra kết quả.

Automation Tester có thể xây dựng Test Script để hệ thống tự động thực hiện các kịch bản đăng nhập đã xác định.

Tuy nhiên, Automation Testing không có nghĩa là tự động hóa toàn bộ hoạt động kiểm thử.

Tester vẫn phải xác định:

  • Test Case nào nên Automation?
  • Test Case nào nên kiểm thử thủ công?
  • Dữ liệu kiểm thử được chuẩn bị như thế nào?
  • Kết quả nào được coi là Pass/Fail?
  • Khi Test Script thất bại, nguyên nhân đến từ sản phẩm hay chính script?

Vì vậy, Automation Tester vẫn cần tư duy kiểm thử của một Tester, đồng thời có thêm năng lực lập trình và xây dựng hệ thống kiểm thử tự động.

4. Automation Tester làm những công việc gì?

Tùy dự án, Automation Tester có thể thực hiện:

  • Phân tích Test Case phù hợp để tự động hóa.
  • Viết và bảo trì Test Script.
  • Xây dựng hoặc sử dụng Automation Framework.
  • Chuẩn bị Test Data.
  • Thực thi bộ Automation Test.
  • Phân tích kết quả chạy Test.
  • Xử lý các Test Script bị lỗi.
  • Cập nhật script khi chức năng sản phẩm thay đổi.
  • Thực hiện Regression Test tự động.
  • Quản lý source code kiểm thử bằng Git/GitHub.
  • Phối hợp với Manual Tester và Developer trong quá trình kiểm thử.

Các công nghệ thường gặp có thể bao gồm Java, Selenium WebDriver, TestNG, POM, Git/GitHub và những công cụ khác tùy theo dự án.

5. Manual Tester và Automation Tester khác nhau như thế nào?

Manual Tester và Automation Tester đều hướng đến mục tiêu đảm bảo chất lượng phần mềm, nhưng khác nhau về cách thực hiện công việc, kỹ năng và công cụ sử dụng.

Về cách thực hiện kiểm thử

Manual Tester trực tiếp thực hiện các bước kiểm thử, quan sát kết quả và đánh giá phần mềm dựa trên Test Case hoặc các tình huống thực tế.

Automation Tester sử dụng lập trình và công cụ để xây dựng Test Script, giúp tự động thực hiện những kịch bản kiểm thử phù hợp.

Về tư duy kiểm thử

Cả Manual Tester và Automation Tester đều cần tư duy kiểm thử tốt.

Manual Tester cần phân tích Requirement, xác định các tình huống có thể xảy ra và thiết kế Test Case để phát hiện rủi ro.

Automation Tester cũng cần những kỹ năng này trước khi quyết định Test Case nào nên được tự động hóa. Automation không thay thế tư duy kiểm thử mà sử dụng công nghệ để tối ưu quá trình thực hiện kiểm thử.

Về kỹ năng lập trình

Manual Tester không bắt buộc phải biết lập trình khi mới bắt đầu. Tuy nhiên, kiến thức về SQL, API, Web và hệ thống phần mềm sẽ giúp Tester phân tích và kiểm thử tốt hơn.

Automation Tester cần có nền tảng lập trình để đọc, viết và bảo trì Test Script. Tùy công nghệ và dự án, Tester có thể sử dụng Java hoặc các ngôn ngữ lập trình khác.

Về công cụ sử dụng

Manual Tester thường làm việc với các công cụ quản lý Test Case, quản lý Bug, SQL, Postman, Redmine, Jira hoặc những công cụ tương tự.

Automation Tester ngoài các công cụ kiểm thử còn sử dụng các công nghệ phục vụ tự động hóa như Selenium WebDriver, TestNG, Git/GitHub và Automation Framework.

Về các loại kiểm thử phù hợp

Manual Testing có lợi thế với Exploratory Testing, kiểm thử trải nghiệm người dùng, các chức năng mới hoặc những tình huống cần sự quan sát và đánh giá của con người.

Automation Testing phù hợp với những Test Case ổn định, phải thực hiện nhiều lần hoặc các bộ Regression Test cần chạy thường xuyên.

Về khả năng kiểm thử lặp lại

Khi phải thực hiện một Test Case nhiều lần, Manual Tester cần lặp lại các thao tác kiểm thử nên sẽ tốn nhiều thời gian hơn.

Với Automation Testing, Test Script đã được xây dựng có thể chạy lại nhiều lần, giúp giảm thời gian cho những công việc kiểm thử có tính lặp lại cao.

Về hướng phát triển nghề nghiệp

Manual Tester có thể phát triển lên Senior Tester, Test Lead, QA Lead hoặc mở rộng sang các vị trí liên quan đến nghiệp vụ và quản lý chất lượng.

Automation Tester có thể phát triển sâu hơn theo hướng Automation Engineer, QA Automation hoặc các vị trí kiểm thử yêu cầu năng lực kỹ thuật cao hơn.

Điểm quan trọng là Manual Testing và Automation Testing không phải hai hướng đối lập.

Manual giúp Tester xây dựng tư duy kiểm thử và hiểu cách phát hiện rủi ro. Automation bổ sung khả năng sử dụng lập trình và công cụ để tự động hóa những phần kiểm thử phù hợp.

Trong một dự án thực tế, hai phương pháp thường được kết hợp để nâng cao hiệu quả kiểm thử thay vì lựa chọn một và loại bỏ phương pháp còn lại.

6. Một dự án có cần cả Manual và Automation Tester không?

Trong nhiều dự án, Manual Testing và Automation Testing được sử dụng song song.

Ở giai đoạn chức năng còn thay đổi nhiều, Tester thường cần phân tích Requirement, kiểm tra luồng nghiệp vụ, trải nghiệm người dùng và thực hiện Exploratory Testing.

Khi sản phẩm dần ổn định và xuất hiện nhiều Test Case phải chạy lặp lại, Automation bắt đầu phát huy hiệu quả.

Ví dụ, sau mỗi phiên bản mới, một hệ thống cần kiểm tra lại hàng trăm chức năng cũ.

Nếu tất cả đều thực hiện thủ công, đội kiểm thử sẽ mất rất nhiều thời gian.

Một số Test Case ổn định và có tính lặp lại cao có thể được Automation để Tester dành thời gian cho những tình huống mới và phức tạp hơn.

Vì vậy, câu hỏi trong dự án thường không phải:

Manual hay Automation tốt hơn?

Mà là:

Trường hợp nào nên Manual và trường hợp nào nên Automation?

7. Automation Tester có cần giỏi Manual Testing không?

Một Automation Tester vẫn cần hiểu bản chất của kiểm thử.

Bởi trước khi viết Test Script, Tester phải biết mình đang kiểm thử điều gì và vì sao phải kiểm thử nó.

Nếu không hiểu Requirement, Test Case, Test Data, Expected Result và các rủi ro của hệ thống, việc viết Automation Script rất dễ trở thành tự động hóa một Test Case chưa tốt.

Có thể hiểu đơn giản:

Manual Testing xây dựng tư duy kiểm thử.

Automation Testing bổ sung khả năng sử dụng lập trình để tối ưu một phần hoạt động kiểm thử.

Đó cũng là lý do người mới thường nên xây dựng nền tảng kiểm thử trước khi đi sâu vào Automation.

8. Manual Tester có cần biết kỹ thuật không?

Manual Tester không bắt buộc phải trở thành lập trình viên.

Nhưng trong các dự án thực tế, nếu chỉ biết thực hiện Test Case trên giao diện thì phạm vi công việc sẽ khá hạn chế.

Một Tester có thêm kiến thức về:

  • SQL và Database.
  • API.
  • Web.
  • Mobile.
  • Cấu trúc cơ bản của một hệ thống phần mềm.
  • Cách Developer và hệ thống xử lý dữ liệu.

sẽ có khả năng phân tích lỗi sâu hơn và phối hợp với đội dự án tốt hơn.

Vì vậy, ranh giới giữa một Tester “chỉ kiểm thử bằng tay” và một Tester có nền tảng kỹ thuật đang ngày càng khác biệt.

9. Hướng phát triển nghề nghiệp của Manual Tester và Automation Tester

Manual Testing có thể là điểm bắt đầu của nghề Tester, nhưng không nhất thiết là điểm kết thúc.

Tùy năng lực và định hướng, một Tester có thể phát triển theo nhiều hướng:

Manual Tester → Senior Tester → Test Lead/QA Lead

hoặc:

Manual Tester → Automation Tester → Automation Engineer/QA Automation

Một số Tester có kiến thức nghiệp vụ tốt cũng có thể phát triển sang BA, Product hoặc các vị trí quản lý dự án.

Điều quan trọng không phải là cố gắng chuyển từ Manual sang Automation càng nhanh càng tốt.

Quan trọng hơn là hiểu mình đang thiếu năng lực nào để đảm nhận được công việc ở cấp độ tiếp theo.

10. Người mới nên bắt đầu từ đâu?

Nếu chưa có nền tảng kiểm thử, bạn nên bắt đầu từ tư duy kiểm thử, Requirement, Test Case và quy trình làm việc của Tester trước.

Sau đó mở rộng sang SQL, Web, Mobile và API để hiểu sâu hơn về hệ thống.

Khi đã hiểu cách thiết kế Test Case và xác định được những kịch bản phù hợp để tự động hóa, bạn có thể học thêm lập trình và Automation Testing.

Đây cũng là cách giúp việc học Automation không chỉ dừng lại ở việc “biết Selenium”, mà hiểu được vì sao phải Automation và Automation điều gì.

11. Lộ trình Tester tại DevPro

Tại DevPro, Manual Testing và Automation Testing được xây dựng như hai phần trong hệ sinh thái đào tạo Tester.

Nếu bạn mới bắt đầu, có thể tham khảo Khóa học kiểm thử phần mềm tại DevPro để xây dựng nền tảng về tư duy kiểm thử, Requirement, Test Case, SQL, Web, Mobile, API, Log Bug và thực hành trên dự án thực tế.

Nếu đã có nền tảng kiểm thử và muốn phát triển kỹ năng tự động hóa, có thể tham khảo Khóa học Automation Testing tại DevPro với lộ trình Java Core, Selenium WebDriver, TestNG, POM, Git/GitHub và thực hành Automation trên dự án.

Manual và Automation không phải hai hướng đối lập.

Một Tester có tư duy kiểm thử tốt, hiểu hệ thống và biết sử dụng Automation đúng chỗ sẽ có nhiều lựa chọn hơn trong quá trình phát triển nghề nghiệp.


Thuộc danh mục
  • Kiểm Thử - Tester
Facebook