Bài viết này tổng hợp những chia sẻ giá trị từ anh Trương Minh Sử Nhiên, Senior Automation Tester tại KMS Technology, về con đường sự nghiệp, kỹ năng cần thiết và lời khuyên hữu ích cho những ai muốn theo đuổi lĩnh vực Automation Test tại Việt Nam.
Mục Lục
- 1 Manual Test và Automation Test: Sự Khác Biệt Cốt Lõi
- 2 Ưu và Nhược Điểm Của Automation Test
- 3 Công Việc Hằng Ngày Của Một Automation Tester Architect
- 4 Điểm Cộng và Điểm Trừ Của Nghề Automation Tester
- 5 Tại Sao Chọn Automation Tester?
- 6 Xu Hướng Testing Trong Tương Lai
- 7 Sai Lầm Và Bài Học
- 8 Thử Thách Khi Mới Vào Nghề
- 9 Kỹ Năng Cần Thiết Cho Automation Tester
- 10 3 Lời Khuyên Cho Automation Tester Trẻ
- 11 Tài Liệu Tham Khảo
- 12 Hướng Phát Triển Sự Nghiệp
- 13 Kết Luận
Manual Test và Automation Test: Sự Khác Biệt Cốt Lõi
Trước đây, Manual Test (kiểm thử thủ công) là hình thức phổ biến. Tester phải tự tay thực hiện các thao tác, ví dụ như nhập thông tin đăng nhập, kiểm tra kết quả. Khi có thay đổi, họ phải test lại toàn bộ các trường hợp đã test, tốn nhiều thời gian và công sức.
Automation Test (kiểm thử tự động) ra đời giúp giải quyết vấn đề này. Tester viết code hoặc sử dụng các công cụ như Selenium, Test Complete, Jmetter để tự động hóa các bước, từ nhập liệu đến kiểm tra kết quả. Automation có thể áp dụng cho nhiều loại test, như functional testing, performance/load testing, và unit testing.
Ưu và Nhược Điểm Của Automation Test
Ưu điểm:
- Độ tin cậy cao: Test chạy chính xác theo quy trình định sẵn, giảm thiểu sai sót do yếu tố con người.
- Khả năng chịu tải: Có thể test khả năng xử lý của phần mềm khi chạy lặp đi lặp lại nhiều lần trên cùng một script test, đặc biệt hữu ích cho performance/load testing.
- Khả năng tùy biến: Lập trình các test phức tạp để thu thập thông tin chi tiết mà Manual Test không thể thực hiện được.
- Tính bao quát: Tạo bộ test bao quát toàn bộ tính năng của ứng dụng.
- Tái sử dụng: Test có thể tái sử dụng trên nhiều phiên bản khác nhau của ứng dụng, ngay cả khi giao diện thay đổi. Ví dụ, khi triển khai phần mềm qua các môi trường test, beta, production, Automation Test giúp tiết kiệm thời gian đáng kể so với Manual Test.
- Cải thiện chất lượng và hiệu suất: Chạy nhiều test trong thời gian ngắn với ít nguồn lực hơn.
- Tốc độ: Automation Testing Tools giúp chạy test nhanh hơn so với test thủ công.
- Tiết kiệm chi phí: Giảm thiểu nhu cầu về nhân lực cho kiểm tra hồi quy.
Nhược điểm:
- Chi phí công cụ cao: Nhiều tool thương mại có chi phí đáng kể, ví dụ như HP Quick Test Pro.
- Lương Automation Tester cao hơn: Công việc đòi hỏi kỹ năng cao hơn, như kỹ năng code và viết script.
- Chi phí phát triển và bảo trì script cao: Viết script có thể tốn nhiều thời gian hơn so với Manual Test, đặc biệt trong các trường hợp phức tạp.
- Yêu cầu kỹ năng chuyên môn: Tester cần có kinh nghiệm technical và kỹ năng lập trình.
- Thời gian chuẩn bị dài: Thiết kế và cài đặt kỹ càng trước khi đưa dự án đi test.
- Không phù hợp cho mọi dự án: Một số chức năng phức tạp hoặc GUI object nên được test bằng Manual Test thay vì Automation Test.
Công Việc Hằng Ngày Của Một Automation Tester Architect
Ở vị trí Automation Tester Architect, anh Nhiên tập trung vào xác định các tính năng của Automation Testing Framework và hỗ trợ phát triển Framework để thực hiện Automation Test.
Điểm Cộng và Điểm Trừ Của Nghề Automation Tester
Điểm cộng: Nâng cao kỹ năng phân tích vấn đề và kỹ năng quản lý sự cố. Ví dụ, khi test form đăng nhập, cần xác định tất cả các trường hợp có thể xảy ra (sai username, sai password, ký tự đặc biệt…).
Điểm trừ: Có thể xảy ra tranh cãi với team development về các bug.
Tại Sao Chọn Automation Tester?
Từ năm 2004, anh Nhiên đã tiếp cận với Automation Test và nhận thấy tiềm năng phát triển của nó. Anh tự nghiên cứu và xây dựng nhiều Automation Testing Framework dựa trên các công cụ như Rational Robot, HP QTP/UFT, Selenium WebDriver, Test Complete.
Xu Hướng Testing Trong Tương Lai
Anh Nhiên nhận định rằng Automation Test đang và sẽ là xu thế chung của ngành Tester, với nhu cầu tuyển dụng cao cho cả vị trí chuyên sâu về phát triển tool/framework/library và vị trí viết script dựa trên các công cụ Automation Test.
Sai Lầm Và Bài Học
Sai lầm lớn nhất của anh Nhiên là cố gắng hoàn thành một dự án Automation Testing Framework một mình để ghi điểm, dẫn đến stress và kiệt sức. Anh nhận ra rằng cần chia sẻ công việc cho người khác để team phát triển bền vững.
Bài học về làm việc nhóm và chia sẻ công việc
Thử Thách Khi Mới Vào Nghề
Thử thách lớn nhất là giao tiếp với Developer. Ban đầu, anh chỉ trích lỗi một cách chung chung, gây ra tranh cãi. Sau đó, anh học cách giao tiếp chi tiết và xây dựng hơn:
- Tóm lược vấn đề.
- Chỉ ra các bước cụ thể trong quy trình test.
- Giải thích chi tiết lỗi.
- Nêu kết quả mong đợi.
- Cung cấp hình ảnh screenshot bug.
Anh nhận ra rằng Tester và Developer nên hỗ trợ lẫn nhau để tạo ra sản phẩm tốt hơn.
Kỹ Năng Cần Thiết Cho Automation Tester
- Hiểu nguyên lý nhận dạng test objects: Nắm vững HTML và XPath (đặc biệt quan trọng với Web Automation Test).
- Thành thạo ít nhất một ngôn ngữ lập trình: Selenium WebDriver thường được dùng kết hợp với Java, C#, Ruby, Python.
- SQL và XML: Đa số dự án lập trình đều cần cơ sở dữ liệu.
- Software design pattern: Quan trọng cho việc thiết kế framework/common library tốt.
- Kỹ năng code: Debug, source version control, coding convention, unit testing.
- Ham học hỏi: Luôn cập nhật kiến thức mới, ví dụ như kỹ thuật tích hợp (integration) trong Automation Test và software development.
3 Lời Khuyên Cho Automation Tester Trẻ
- Xác nhận thông tin cẩn thận với khách hàng: Ghi biên bản cuộc họp và yêu cầu khách hàng xác nhận qua email để tránh hiểu nhầm.
- Không được bảo thủ: Sẵn sàng lắng nghe và thử nghiệm những ý tưởng mới, ngay cả khi chúng khác với kinh nghiệm của bạn.
- Tư vấn không có nghĩa là quyết định: Cho khách hàng biết các lựa chọn và hậu quả của chúng, nhưng để họ tự quyết định.
Tài Liệu Tham Khảo
Anh Nhiên thường xuyên tham khảo hai quyển sách:
- Automated Testing Handbook: Mô tả chi tiết các đặc điểm và tính năng trong một bộ kiểm tra tự động.
- Experiences Of Test Automation: Đề cập đến các cách tiếp cận vấn đề, ứng dụng phù hợp cho Automation Test và sự thay đổi của Automation Test.
Hướng Phát Triển Sự Nghiệp
Từ Junior Tester, bạn có thể phát triển lên Senior Tester. Sau đó, có hai hướng chính:
- Quản lý: Tester Lead, Tester Manager.
- Kỹ thuật: Tester Architect.
Kết Luận
Trở thành một Automation Tester giỏi đòi hỏi sự nỗ lực học hỏi, kỹ năng chuyên môn vững chắc và khả năng giao tiếp hiệu quả. Những chia sẻ từ anh Trương Minh Sử Nhiên là nguồn cảm hứng và kinh nghiệm quý báu cho bất kỳ ai muốn thành công trong lĩnh vực này.
