Ai cũng biết xu hướng tuyển dụng cho QC/QA bây giờ đều yêu cần biết hoặc làm việc được với một trong những công cụ kiểm thử tự động (Selenium, API, Appium ...). Vậy thì để đi phỏng vấn cho vị trí này mình cần chuẩn bị những gì. Trước hết mình phải hiểu vị trí của mình là gì trách nhiệm của vị trí đó. Theo định nghĩa mà một số công ty đưa ra: QA Automation là ngừoi xây dựng giải pháp kiểm thử tự động cho dự án, vì vậy họ phải có kỹ năng của một lập trình viên và kỹ năng của một chuyên viên kiểm thử phần mềm, Do vậy mình cần có kiến thức cũng như hiểu biết đầy đủ về 2 lĩnh vực này:
Kỹ năng của một lập trình viên là như thế nào ?
Cái này bạn chỉ cần quan sát cách mà một bạn dev trong team bạn làm việc bạn có thể hình dùng một cách đại khái được, họ là ngừoi làm việc với code. Hiện nay có rất nhiều ngôn ngữ lâp trình, khi đi phỏng vấn có thể công ty bạn ứng tuyển đang dùng một ngôn ngữ mà bạn chỉ biết thôi, cái này không sao, cái cần ở một lập trình viên là tư duy code, bạn chỉ cần nắm chắc một trong nhưng ngôn ngữ như Java, C#, Python hoặc Ruby chẳng hạn.
Vậy tư duy lập trình là gì ?
Lập trình là mình số hoá một vấn đề trong thực tiễn thành giải thuật, chương trình, ứng dụng. nên đầu tiên bạn nên luyện tập với các bài đơn giản như:
- Làm sao kiểm tra một chuổi nhập vào toàn là chữ , hoặc toàn là số.
- Viết một chương trình tìm phần tử lớn nhất/nhỏ nhất của một mảng, danh sách.
- Hoặc cao hơn bạn có thể viết một chương trình mô phỏng máy tính bỏ túi đơn giản chỉ làm các phép cộng trừ nhân chia.
- Cao hơn bạn có thể viết các chương trình phức tạp hơn như làm game tic-tak-toe, game sudoku,...
Trong lúc phỏng vấn, nhà tuyển dụng cũng chỉ đưa cho bạn một vấn đề hoặc một đoạn chương trình để đánh giá kỹ năng này.
Kỹ năng của một chuyên viên kiểm thử
Cái này thì gần gũi hơn với mọi ngừoi, Nhưng mình đưa ý này sau phần tư duy lập trình vì, sau khi bạn đã có giải thuật thì kỹ năng tiếp theo đó là làm sao kiểm thử được nó bằng code, ở đây chính là cách bạn viết unit test cho nó như thế nào.
Ngoài ra để đánh giá ưng viên có tư duy về kiểm thử hay không nhiều nhà tuyển dụng có thể bắt bạn viết test case cho một số ứng dụng như sau:
- Làm sao bạn kiểm tra một chai nước?
- Làm sao bản kiểm tra được một cây bút bi?
- Làm sao bạn kiểm tra được môt máy ATM?
Ngoài hai kỹ năng ở trên bạn phải trang bị cho mình thêm một số kỹ năng như:
- Git Flow : là quy trình làm việc với GIT
- CI/CD : môt hình phát triển phần mềm bằng một quy trình tự động
- Cách giải quyết tình huống giữ team mình và các team khác.
Mình hy vọng kinh nghiêm bản thân mình trong lĩnh chủ đề này có thể giúp ích một số bạn trong lúc đi phỏng vấn.