Tester (kiểm thử viên) đang là một nghề siêu hot trong thời gian gần đây và sắp tới nữa, đồng nghĩa với việc hành trình chạy đua đến những công việc “ngon lành” cũng cạnh tranh hơn rất nhiều. Vậy làm gì để bạn trở thành một ứng viên nổi bật? Một Tester giỏi thì cần những kỹ năng gì?
Anh Tester đã tổng hợp 9 kỹ năng để trở thành Tester chuyên nghiệp với những điểm quan trọng về Tech (kỹ thuật) và Non-Tech (phi kỹ thuật) để bạn có thể hoàn thiện bản thân một cách toàn diện nhất.
Systems Development Life Cycle (SDLC — Vòng đời phát triển hệ thống) là một chuỗi các pha (phases) trong chu trình phát triển một dự án phần mềm. Về cơ bản, một SDLC thường bao gồm 6 pha:
Là một tester, việc nắm rõ SDLC không chỉ cho phép bạn hiểu sâu về quá trình phát triển sản phẩm, mà còn giúp bạn xây dựng kế hoạch kiểm thử dễ dàng hơn, dự đoán sớm những vấn đề phức tạp để có phương án đo lường, dự phòng từ trước.
Waterfall, Scrum, Lean và Kanban là những phương pháp phổ biến được các công ty áp dụng để xây dựng SDLC. Hãy đảm bảo rằng bạn đã có khái niệm cơ bản về các phương pháp trên và đào sâu hơn vào phương pháp phù hợp nhất với yêu cầu công việc nhé.
Có 2 cách để thực hiện Testing Process (Quy trình kiểm thử), bao gồm: Manual Testing (kiểm thử thủ công) và Automation Testing (kiểm thử tự động).
Manual Testing:Giống như cái tên “Kiểm thử thủ công”, tester sẽ kiểm tra ứng dụng bằng cách đóng vai một người dùng cuối (end-user) để tìm ra bugs. Việc của bạn là thực hiện tất cả các test cases một cách thủ công mà không sử dụng công cụ kiểm thử tự động nào.
Automation Testing: “Kiểm thử tự động” sử dụng các công cụ để tự động hoá quy trình kiểm thử. Ví dụ thay vì phải nhập từng email và password bằng tay khi test chức năng login, bạn sẽ chạy code để máy tự động nhập các dữ liệu này. Test Automation Engineer tại Got It đã ví đây như một “cuộc cách mạng công nghiệp” khi tester có thể tối đa hiệu suất bằng các công cụ hiện đại, giúp giảm đáng kể thời gian và công sức bỏ ra.
Automation Testing không thể thay thế hoàn toàn Manual Testing. Tuy nhiên, nếu bạn muốn mở rộng lộ trình nghề nghiệp thì đây là một phương án rất đáng cân nhắc đấy nhé.
Hiểu biết về các công cụ và công nghệ kiểm thử là những kỹ năng sống còn đối với mọi tester. Nó giống như việc bạn sẽ không thể đi cày mà không có trâu hay máy cày vậy!
Got It đã tổng hợp những công cụ kiểm thử phổ biến nhất trong thời gian qua. Tuy nhiên, bạn không cần phải “master” tất cả những thứ được nêu tên, mà hãy chọn những gì phù hợp với nhu cầu của mình đã nhé.
Mỗi hệ thống phần mềm đều có một lượng lớn dữ liệu. Chúng có thể được lưu trữ trong nhiều kho dữ liệu khác nhau như Oracle, MySQL/NoSQL (Redis, MongoDB)/SQL Server (Query DB), v.v. ở phần backend. Bởi vậy, tester cần có kiến thức cơ bản về các kho dữ liệu, cũng như cách sử dụng những câu truy vấn cần thiết để có thể truy cập vào database, tạo dữ liệu test mà không cần phải nhờ đến sự giúp đỡ từ các developers.
Bạn không bắt buộc phải biết code để ứng tuyển vào vị trí tester. Tuy nhiên, có kiến thức cơ bản về lập trình sẽ giúp bạn hiểu được cách các lập trình viên tạo ra sản phẩm, hiểu được các chức năng cũng như các lỗi thường gặp. Từ đó, việc tạo ra các test cases phù hợp cũng sẽ dễ dàng hơn rất nhiều.
Một tester giỏi cần có kỹ năng phân tích sắc bén. Bạn cần có khả năng bẻ nhỏ các vấn đề phức tạp của hệ thống phần mềm thành những phần nhỏ hơn để tạo test cases cho chúng. Bạn chưa chắc về kỹ năng phân tích của mình? Hãy thử bài test này — nếu có thể giải được ít nhất 1 câu thì kỹ năng phân tích của bạn đã rất đỉnh rồi đấy!
Nhiều bạn nghĩ rằng tester là một vị trí thiên về kỹ thuật nên không cần quá nhiều khả năng giao tiếp. Tuy nhiên, thực tế đã chứng minh ngược lại.
Tester thường làm việc với rất nhiều bên trong một dự án, ví dụ như cập nhật tình hình cho khách hàng, trao đổi các vấn đề (issues) với developers, biến các tài liệu về requirements thành test cases và báo cáo kết quả cho quản lý, v.v.. Trong bất cứ trường hợp nào, bất kể người đang nói chuyện với bạn là ai, mọi thông tin đều phải được truyền đạt một cách vô cùng chính xác và súc tích, đặc biệt là với những vấn đề phức tạp và có liên quan đến nhiều bên.
Những kỹ năng cụ thể bao gồm:
Tester lúc nào cũng rất bận rộn, đặc biệt là những khi sắp release. Bởi vậy, nếu không quản lí được thời gian của mình, rất có thể bạn sẽ “ngập lụt” trong công việc và rơi vào cái vòng OT luẩn quẩn không hồi kết. Hãy học cách đặt ra thứ tự ưu tiên cho các đầu việc, thậm chí tạm thời nói “không” với những việc không quan trọng.
Công nghệ phần mềm thay đổi từng giờ, từng phút. Là một tester, bạn rất dễ tụt hậu nếu không liên tục những kiến thức và công nghệ mới. Bởi vậy, trước tiên hãy chủ động tìm kiếm và học hỏi những kiến thức liên quan đến kiểm thử và phát triển phần mềm, như các hướng tiếp cận mới, cách tăng hiệu suất công việc.
Thứ hai, hãy chủ động trong việc áp dụng kiến thức vào thực tế. Như đã nói ở trên, bạn không thể nói mình thành thạo Test Automation nếu chưa thực sự dùng nó trong một dự án cụ thể. Việc chủ động áp dụng kỹ thuật, công nghệ mới sẽ giúp bạn dày dặn kinh nghiệm và có chỗ đứng tốt hơn trong công việc.
Cuối cùng, hãy chủ động trong toàn bộ quá trình làm việc. Bạn sẽ không thể trở thành Senior hay Manager nếu lúc nào cũng phải chờ người khác giao việc hay chỉ dẫn. Hãy chủ động học hỏi và đề xuất ý tưởng để cải thiện chất lượng sản phẩm. Và đừng quên hỏi nếu còn bất cứ điều gì chưa rõ nhé.
Anh Tester
Đường dẫu khó chân vẫn cần bước đi
Đời dẫu khổ tâm vẫn cần nghĩ thấu