Nội dung bài học
Để có thể vượt qua các vòng tuyển dụng Automation Tester, bạn cần chuẩn bị trước ở nhà một số tình huống có thể xảy ra. Sau đây là một số các câu hỏi phỏng vấn thường gặp.
Các câu hỏi về thông tin và kinh nghiệm cá nhân
Các câu hỏi đầu tiên bạn nhận được khi tham gia buổi tuyển dụng Automation Tester là về thông tin và kinh nghiệm của bạn.
Các nhà tuyển dụng sẽ hỏi các câu hỏi như: “Bạn hãy giới thiệu về mình?”, “Tại sao bạn lại chọn nghề Tester?”, “Kinh nghiệm làm nghề Automation Tester của bạn trong quá khứ?”.
Bạn hãy trả lời các câu hỏi này một cách chân thật nhất về những kỹ năng mình có.
Các câu hỏi về kiến thức Automation Testing
1. Tại sao cần Automation Test? (Why need automation test?)
- Giúp tiết kiệm tiền bạc và thời gian: nhất là trong giai đoạn bảo trì của các dự án lớn. Mỗi tuần chúng ta phải thực hiện regression test từ 1 đến 2 lần với số lượng test case rất lớn trong 1 đến 2 ngày. ĐIều này gần như không thể thực hiện bằng cách thủ công, trong khi với kiểm thử tự động chúng ta hoàn toàn có thể với nguồn nhân lực vô cùng khiêm tốn.
- Chính xác hơn: Nhờ độ ổn định cao, kiểm thử tự động có thể thực thi các test case với độ chính xác cao hơn.
- Độ bao phủ cao: Như đã nói ở trên, khi sử dụng kiểm thử tự động, chúng ta có thể thực thi số lượng lớn test case trong một thời gian ngắn. Nên độ bao phủ của nó rất cao. Điều này giúp chúng ta tăng độ bao phủ trong giai đoạn regression test .
- Hoàn thành các công việc mà con người không thể làm được: Nếu chúng ta muốn thực thi load test, performance test, thì kiểm thử tự động là cách duy nhất.
Các trường hợp cần sử dụng automation test:
a) Kiểm thử hồi quy (Regression testing): Trong trường hợp sửa lỗi hoặc triển khai module mới, tester phải đảm bảo rằng chức năng đã được triển khai hoặc không thay đổi không bị ảnh hưởng. Trong trường hợp này, tester kết thúc chạy test case hồi quy nhiều lần.
Ví dụ: Sau mỗi yêu cầu thay đổi hoặc sửa lỗi, sau mỗi lần lặp trong trường hợp tiếp cận phát triển gia tăng, v.v.
b) Kiểm thử phi chức năng: Kiểm thử các khía cạnh phi chức năng của một ứng dụng.
Ví dụ: kiểm thử tải (load testing) hoặc kiểm thử hiệu suất (performance testing), vv rất khó cho con người theo dõi và phân tích.
c) Kiểm thử tính toán phức tạp: các test scenario dễ bị lỗi khi kiểm thử thủ công.
d) Thực hiện lặp lại các kiểm thử giống nhau: Đôi khi, tester phải chạy cùng một bộ test case cho một bộ dữ liệu khác nhau hoặc sau mỗi lần phát hành bản dựng hoặc trên nhiều phần cứng, phần mềm hoặc kết hợp cả hai.
Kiểm thử tự động các test case trong các tình huống trên giúp đạt được tốc độ kiểm thử và giảm thiểu lỗi của con người.
2. Framework là gì? (What is the framework?)
Framework là một tập hợp cấu trúc của toàn bộ bộ kiểm thử tự động. Nó cũng là một hướng dẫn, mà nếu tuân theo có thể dẫn đến một cấu trúc dễ bảo trì và nâng cao.
Những hướng dẫn này bao gồm:
Tiêu chuẩn mã hóa
Xử lý dữ liệu kiểm thử
Duy trì và xử lý các phần tử (kho đối tượng trong QTP)
Xử lý tệp môi trường và tệp thuộc tính
Báo cáo dữ liệu
Xử lý nhật ký
3. Automation test framework là gì?
4. Trách nhiệm của một Automation Engineer?
5. Nêu 4 tính chất cơ bản của Lập trình hướng đối tượng OOP (Object-Oriented Programming)?
Nhưng để hiểu và giải thích được cặn kẽ cả 4 tính chất này thì bạn cần ít nhất 1-2 tiếng đồng hồ để thử practice và nghiền ngẫm qua các ví dụ đầy rẫy trên mạng.
6. Sự khác biệt giữa Interface và Abstract class?
Trong Java, chúng ta chỉ có thể extend (kế thừa) một class cha duy nhất nhưng lại có thể implements nhiều interface khác nhau.
7. Có cần phải xây dựng framework khi build automation? (Why do you need build the framework in automation testing?)
"Framework là hướng dẫn và không phải là quy tắc bắt buộc, vì vậy tester hoàn toàn có thể làm mà không cần chúng, nhưng nếu bạn tạo và tuân theo nó, việc tăng cường và duy trì sẽ dễ thực hiện."
"Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
Frameworks are instructions and not mandatory rules, so testers can do without them, but if you create and follow it, enhancement and maintenance will be easy to implement."
8. Liệt kê một số ưu điểm và nhược điểm của automation test – kiểm thử tự động? (List some good and bad in automation testing?)
Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
- Ưu điểm:
Nhân lực ít hơn
Có thể tái sử dụng
Thực hiện nhiều test hơn trong thời gian ngắn hơn
Độ tin cậy cao
Thi công song song các test case
Nhanh
- Nhược điểm:
Thời gian phát triển và bảo trì nhiều hơn
Chi phí công cụ cao
Tài nguyên có kỹ năng được yêu cầu
Thiết lập môi trường
Test Script gỡ lỗi là một vấn đề
Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
-Advantages:
Less manpower
Reusable
Do more tests in less time
High reliability
Executing parallel test cases
Fast
- Defect:
More development and maintenance time
High tool costs
Skilled resources are required
Environment setting
Test Script debugging is a problem
9. Bạn có thể tự động hoá bao nhiêu test case trong 1 ngày? (How many test case can you build in a day?)
Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Việt:
"Con số phụ thuộc vào độ phức tạp của các test case. Khi độ phức tạp bị hạn chế, tôi có thể tự động hóa 5 đến 6 test case mỗi ngày. Đôi khi, tôi chỉ có thể tự động hóa một test case cho các tình huống phức tạp.
Tôi cũng đã chia các test case của mình thành các thành phần khác nhau như: lấy đầu vào, thực hiện tính toán, xác minh đầu ra.. trong trường hợp các kịch bản rất phức tạp và đã mất từ 2 ngày trở lên."
Tham khảo câu trả lời phỏng vấn mẫu bằng Tiếng Anh:
"The number depends on the complexity of the test case. When complexity is limited, I can automate 5 to 6 test cases per day. Sometimes, I can only automate a test case for complex situations.
I have also divided my test cases into different components such as taking input, performing calculations, verifying the output .. in case of very complicated scenarios and it took 2 days or more up."
10. Selenium là gì?
https://anhtester.com/blog/gioi-thieu-ve-selenium-b254.html
11. Appium là gì?
12. Cucumber là gì?
13. Sự khác biệt giữa Git và GitHub?
14. Page Object Model là gì?
Page Object Model or POM is a design pattern or a framework that we use in Selenium using which one can create an object repository of the different web elements across the application. To simplify, in the Page Object Model framework, we create a class file for each web page. This class file consists of different web elements present on the web page. Moreover, the test scripts then use these elements to perform different actions.
15. Browser Factory là gì?
16. Data Driven là gì?
17. Sự khác biệt giữa BDD và TDD?
18. Các kiểu chờ đợi (wait) trong Selenium?
Selenium waits bao gồm một số loại như:
- Implicit wait
- Explicit wait
- Fluent wait
Các câu hỏi về tính cách và định hướng trong tương lai
Trong phần cuối cùng của buổi tuyển dụng Automation Tester, bạn có thể gặp các câu hỏi về tính cách và định hướng tương lai. Bạn hãy cho nhà tuyển dụng thấy mình là người cầu tiến, có khả năng làm việc trong môi trường cộng tác cũng như có ý định làm việc lâu dài với công ty.
Automation Tester là nghề nghiệp triển vọng cho các bạn sinh viên IT tại Việt Nam. Các bạn hãy chuẩn bị thật kỹ những tình huống có thể xảy ra để vượt qua các vòng tuyển dụng Automation Testermột cách tốt nhất.
Tìm hiểu thêm: CÂU HỎI PHỎNG VẤN AUTOMATION TESTER (Tiếng Anh)
Tìm hiểu thêm: 100 câu hỏi và câu trả lời phỏng vấn về Selenium
Nguồn tài liệu:
- vietnamworks.com
- giaphi.com
- got-it.ai
- ...
Anh Tester
facebook.com/anhtester
Đườ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