Quality Assurance (QA) Engineers, Kỹ sư đảm bảo chất lượng, là những người hùng thầm lặng của đội kỹ thuật. Họ đảm bảo chất lượng phần mềm. Xây dựng một phần mềm ít có vấn đề mang lại rất nhiều lợi ích mà có lẽ ta không cần nhắc ở đây.
Vậy điều gì tạo nên một Kỹ sư QA hiệu quả? Trong bài này, chúng ta sẽ thảo luận về những gì Kỹ sư QA làm, cách họ đóng góp cho team và quan trọng nhất: điều gì tạo nên sự khác biệt của một kỹ sư QA hàng đầu so với những người còn lại mà những nhà tuyển dụng luôn tìm kiếm?
Cần lưu ý rằng “Kỹ sư QA” không chỉ là những người đảm bảo chất lượng phần mềm mà cũng có thể là đảm bảo chất lượng về tải và hiệu suất, về bảo mật bảo mật, về mạng mạng và nhiều hơn thế nữa. Tuy nhiên trong bài viết này ta chỉ tập trung vào các kỹ năng chính cho vai trò QA trong lĩnh vực phát triển web, phần mềm.
Bài viết dành cho nhà tuyển dụng để có thể tìm ra được các ứng viên mà mình cần nhưng nó cũng có ích cho chính các kỹ sư QA trong việc tìm ra những điểm yếu và cải thiện.
Cách Kỹ sư QA làm việc trong nhóm
Hãy quay lại một chút về khái niệm: QA Engineer làm gì? Kỹ sư QA là tuyến phòng thủ cuối cùng giữa việc phát triển và đưa phần mềm vào sử dụng. Nếu không có sự chấp thuận của các QA engineer, mọi thứ sẽ không được đưa vào sử dụng. Mục tiêu nghe rất đơn giản: đảm bảo phần mềm sẽ không có lỗi sau khi được đưa vào vận hành.
Vậy QA engineer làm việc đó thế nào? Họ thiết kế và thực hiện các bài kiểm tra, bằng cách thủ công (manual test), hoặc qua các bài kiểm tra tự động (automated test). Bằng cách sử dụng kiến thức về code base và trường hợp sử dụng phần mềm (test cases), họ thực hiện các thử nghiệm có mức độ cao (stress test). Mục tiêu là tạo ra các tình huống càng gần với môi trường sử dụng thật càng tốt.
Đổi lại, những thử nghiệm căng thẳng đó giúp giải quyết các vấn đề tiềm ẩn có thể ảnh hưởng đến chất lượng phần mềm. Công việc của Kỹ sư QA không chỉ là xác định các vấn đề chất lượng mà còn tìm ra nguyên nhân gốc rễ của chúng. Sau khi biết được nguyên nhân gốc rễ rõ ràng, họ có thể đề xuất các bản sửa lỗi cho các developers.
Một quan điểm sai lầm khi cho rằng vai trò của kỹ sư QA Vai là để bắt lỗi. Cần phải hiểu rằng mục tiêu của họ là là hợp tác với các developer để đảm bảo chất lượng và sự ổn định của phần mềm họ chung sức xây dựng.
Theo định nghĩa trên trang web TechBeacon :
Mối quan hệ giữa sự phát triển và chất lượng không được giống như mối quan hệ giữa một nghệ sĩ và một nhà phê bình nghệ thuật. Nó nên giống như mối quan hệ giữa một nhà văn và một người biên tập, cả hai đều áp dụng các kỹ năng chuyên biệt của họ để tạo ra một sản phẩm chất lượng.
QA engineer đóng một vai trò quan trọng các chu kỳ phát triển phần mềm. Kỷ sư kiểm thử thường tham gia vào các giai đoạn khác nhau của chu trình để thực hiện việc kiểm thử một cách tốt nhất và phù hợp nhất.
Giống như hầu hết các vai trò của developers, vai trò của các Kỹ sư QA phụ thuộc vào công việc mà team cần. Vì vậy nếu là nhà tuyển dụng, hãy đảm bảo rằng bạn hiểu team của mình dự định sử dụng vai trò của QA engineer như thế nào.
Các kỹ năng thiết yếu của Kỹ sư QA
Nếu bạn đang tìm kiếm tuyển dụng Kỹ sư QA, hãy đặt những câu hỏi như dưới đây. Lưu ý là yêu cầu cho từng team là khác nhau nhưng những câu hỏi này là những câu hỏi phổ biến nhất
Chuyên môn
- Các ứng viên cho vị trí QA Engineer có kỹ năng logic và kỹ năng lập trình cơ bản tốt không?
- Họ có cảm thấy thoải mái chuẩn bị các testing note, các test cases và tài liệu cho nhiều tình huống khác nhau không?
- Họ có nắm vững các phương pháp kiểm thử không?
- Họ có thể hiện sự sáng tạo trong công việc của họ không? Họ có thể nghĩ ra các trường hợp sử dụng một cách độc lập và thử nghiệm các trường hợp đó không? Họ có thử nghiệm để phá vỡ không?
- Họ có thể giải thích một cách chu đáo các kết quả kiểm tra và ủng hộ chất lượng trong suốt quá trình phát triển không? Họ có cẩn thận theo dõi và giám sát các vấn đề cùng các giải pháp giải quyết không?
- Họ có kỹ năng gỡ lỗi tốt không? Họ có khả năng phân tích các vấn đề và nguyên nhân gốc rễ của chúng không?
- Họ có quen thuộc với các công cụ kiểm thử tự động mà công ty bạn hay team bạn đang dùng không (ví dụ: Selenium)?
Khả năng tương thích nhóm
- Liệu họ có vui khi làm việc ở “hậu trường” của sự phát triển phần mềm không?
- Họ thích làm việc theo nhóm và giỏi giao tiếp không? Liệu họ có thể làm việc khéo léo với sự kết hợp đa dạng của các developer (bao gồm nhiều chức năng công việc, cấp độ kinh nghiệm và tính cách) không?
- Họ có nắm về quy trình không? Họ có thể quản lý và duy trì các quy trình chất lượng không?
- Họ có kỹ năng giao tiếp kỹ thuật tốt không (cả nói và bằng văn bản) không? Họ có thể báo cáo các vấn đề một cách rõ ràng và chính xác không?
- Họ có thoải mái với việc tự định hướng công việc không?
Các kỹ năng mềm
- Họ có cẩn thận và thường đi sâu vào chi tiết của một lỗi không?
- Họ có kỹ năng giao tiếp phi kỹ thuật mạnh mẽ (cả nói và bằng văn bản) không? Họ có thể chuyển tiếp các khái niệm kỹ thuật cho các bên liên quan phi kỹ thuật (ví dụ: sản phẩm và hỗ trợ) không?
- Họ có thể giữ bình tĩnh trước áp lực không? Họ có cảm thấy thoải mái khi đóng vai trò là người phê duyệt cuối cùng cho công việc của nhóm họ không?
- Họ có thể phân loại các yêu cầu dựa trên mức độ ưu tiên và mức độ nghiêm trọng không? Họ có thể duy trì sự tập trung vào danh sách nhiệm vụ của họ không?
- Họ có hiểu biết về sản phẩm và việc kinh doanh liên quan không? Họ có thể nhanh chóng nắm bắt được mục tiêu kinh doanh của một dự án mới không?
- Họ có đáng tin cậy không? Họ có thể hiện quyền sở hữu mạnh mẽ đối với các sản phẩm của họ không?
Kế hoạch dài hạn của ứng viên
Trong thực tế, các ứng viên tìm kiếm vai trò QA không phải lúc nào cũng theo đuổi sự nghiệp QA. Đặc biệt, các developer mới vào nghề đôi khi sẽ theo đuổi vai trò QA như một bước đệm cho công việc tiếp theo của họ hoặc xem đây là cách để có thể vào làm việc ở công ty của bạn.
Là nhà tuyển dụng, đảm bảo rằng bạn hiểu tầm nhìn dài hạn của ứng viên. Họ có muốn ở lại ở vị trí QA lâu dài không? Hay QA chỉ là một bước trong con đường sự nghiệp của họ? Không có câu trả lời sai. Cả hai loại ứng cử viên đều có thể gia tăng giá trị cho tổ chức của bạn; tất cả phụ thuộc vào nhu cầu của tổ chức hay đội của bạn.
Hãy thống nhất với người quản lý tuyển dụng về những gì họ cần. Họ có sẵn sàng tạo ra một con đường sự nghiệp để các QA engineer phát triển sự nghiệp không? Hay họ đang tìm kiếm một QA kỳ cựu? Bất kể câu trả lời của họ là gì, hãy đảm bảo rằng họ phù hợp với ứng viên của bạn. Nó sẽ giúp tăng cường tỷ lệ giữ chân được các QA Engineer gắn bó lâu dài với công ty của bạn.
Theo HackerRank