Bộ câu hỏi phỏng vấn tester

Câu 1 : Anh/chị đã từng tham gia dự án nào chưa? Vai trò của anh/chị là gì?

Các bạn có thể kể ra 1–2 dự án phần mềm mà mình từng làm, công việc cụ thể là gì, vai trò của bạn ở vị trí đó. Thông qua dự án nhà tuyển dụng có thể đánh giá được kiến thức chuyên môn của bạn về nghề kiểm thử, kỹ năng viết TestCase, Test Plan, Test Report…Chú ý, hãy kể những dự án mà bạn có thể nắm chắc các kiến thức kiểm thử phần mềm đang sử dụng vào công việc hàng ngày. Nếu không bạn sẽ bị lúng túng trước những câu hỏi phỏng vấn Tester của nhà tuyển dụng.

Câu 2 : Những khó khăn mà anh/chị gặp phải trong quá trình kiểm thử phần mềm là gì?

Với câu hỏi phỏng vấn này bạn có thể trả lời theo ý của mình. 

Câu 3 : Tại sao anh/chị lại lựa chọn ngành Tester?

Khi đi phỏng vấn Tester bạn sẽ bắt gặp câu hỏi này trong những giây phút đầu tiên. Các bạn có thể trả lời.

  • Bạn là một người học công nghệ thông tin nhưng không giỏi Code (đây là câu trả lời cho các bạn học đúng chuyên ngành công nghệ thông tin).
  • Bạn có đức tính: chăm chỉ, cẩn thận, tỉ mỉ, ham học hỏi, khả năng phân tích
  • vấn đề tốt

Câu 4 Đức tính cần có của một nhân viên kiểm thử phần mềm là gì?

Dù bạn tìm việc ở bất cứ công ty nào thì câu hỏi phỏng vấn này cũng luôn được các nhà tuyển dụng đề cập đến. Các bạn có thể kể đến:

  • Chăm chỉ, cẩn thận, tỉ mỉ.
  • Ham học hỏi
  • Kỹ năng giải quyết vấn đề tốt
  • Sẵn sàng overtime khi dự án cần.

Câu 5 :Kiểm thử hiệu năng là gì?

  • Kiểm thử hiệu năng nói chung là một loại kiểm thử với ý định là để xác định khả năng phản hồi, thông lượng, độ tin cậy và/hoặc khả năng mở rộng của hệ thống tải công việc (workload) xác định

Câu 6 :Giải thích các loại kiểm thử : Stress Testing, Load Testing

  • Kiểm thử tải để kiểm tra khả năng xử lý của ứng dụng ở các điều kiện tải bình thường hoặc điều kiện tải tối đa.
  • Kiểm thử áp lực (Stress testing):
  • Tập trung xác định hoặc kiểm tra các đặc tính hiệu năng của hệ thống hoặc ứng dụng
  • cần kiểm thử trong những điều kiện vượt ra ngoài những điều kiện dự đoán trước trong
  • các hoạt động của sản phẩm. Nó liên quan đến những kiểm thử vượt quá khả năng bình thường của hệ thống.
  • Khác nhau:
  • Load: điều kiện thường
  • Stress: vượt quá khả năng tải của nó.

Câu 7 :JMeter ứng dụng kiêm thử hiệu năng trên mobile ra sao ?

  • Jmeter dùng để test hiệu năng của server nên chỉ cần giả lập dc request sau đó config là test được (ko phân biệt mobile hay webpage)

Câu 8 : Sự khác nhau giữa công cụ kiểm thử hồi qui tự động và công cụ kiểm thự hiệu năng tự động?

  • Các công cụ kiểm thử tự động: ghi lại các thao tác test và thực hiện lại chúng sau một thời điểm nào đó. Chức năng ghi và thực hiện lại là điều cốt yếu của kiểm thử hồi qui. 
  • Công cụ kiểm thử hiệu năng: xác định tải của một máy chủ có thể xử lý được. Và chức năng phải có là làm cho nhiều User chạy trên cùng một máy, lập lịch và đồng bộ các user khác, có thể đo lường mức tải của mạng – network load – khi có nhiều user giả lập truy cập vào

Câu 9 : Tester chỉ có 1 việc là tìm bug?

  • Tìm bugs là nhiệm vụ của tester, nhưng cũng là chuyên gia của 1 phần mềm vì phải hiểu rỏ toàn bộ hoạt động của PM và mối liên quan rang buộc là gì? Ảnh hưởng của module khác. Đôi khi tester phải phân tích yêu cầu và đưa ra hướng giải quyết vấn đề

Câu 10 : Điểm cộng của tester là gì?

Biết nhiều business domain khác nhau, nhìn sâu vào toàn bộ hệ thống, có thể nhìn 1 vấn đề ở nhiều góc cạnh, có thể xử lý tình huống tốt.

Câu 11 : Thực hiện test là làm nhưng gì?

  • Đọc tài liệu đặc tả -> Thiết kế test plan -> Tạo test case -> thực thi test -> post bugs -> report bugs
  • Điểm mạnh, điểm yếu của bạn
  • Mạnh: Khả năng phân tích, học hỏi, quan sát và sang tạo. có lập trường
  • Yếu: Hay tập trung vào 1 vấn đề nên gây ra lố time, để ý quá nhiều lỗi nhỏ, quá cầu toàn

Câu 12 : Vấn đề nào mà bạn cảm thấy lớn và khó khan nhất khi tham gia KTPM?

  • Thuật ngữ. Vì khi bước vào 1 công việc mới thì việc tìm hiểu học hỏi để hiểu rỏ về phần mềm.. đó cũng là 1 trở ngại

Câu 13 : Bạn tổ chức khối lượng công việc của mình như thế nào?

  • Sắp xếp thời gian phù hợp cho từng task, những task nào cần phải xử lý trong ngày, mức độ quan trọng và cần thiết của 1 task

Câu 14 : Ưu và nhược điểm của 1 tester?

  • Ưu: Học hỏi được nhiều công nghệ, nhiều chương trình, nhiều nghiệp vụ để tạo ra 1 chương trình tốt cho người dung
  • Nhược: Tìm kiếm lỗi và retest 1 lỗi nhiều lần gây ra nhàm chán

Câu 15 : Khi logbug cần quan tâm những điểm nào?

Khi logbug cần chú ý:

  • Mức độ nghiêm trọng
  • Lỗi xảy ra ở đâu? Khi nào?
  • Môi trường nào?
  • Expect mong đợi của bug đó là gì?
  • Bug của ai?

Câu 16 : Thế nào là một testcase tốt?

TCs tốt là:

  • Nó test đúng, chính xác những gì được design
  • Có thể tái sử dụng lại toàn bộ hoặc một phần TCs cho dự án khác hoặc chức năng khác
  • Lưu vết để dễ dàng theo dõi được yêu cầu ( những thay đổi spec do KH yêu cầu)
  • Thích hợp với môi trường test/Tester
  • Dùng được độc lập, không phụ thuộc vào người viết TCs
  • Ngắn gọn, dễ hiểu

Câu 17 : Mô hình V và Agile khác nhau như thế nào?

Mô hình V:

  • Quá trình Verification và Validation thực hiện song song với nhau 
  • Dựa trên mô hình Waterfall để cải tiến lên nên vẫn theo dạng code xong rồi test.\
  • Quá trình cụ thể và dễ quản lý
  • Phù hợp với những dự án ít xảy ra sự thay đổi về tài liệu yêu cầu

Mô hình Agile:

  • Quá trình lặp lại liên tục, quá trình phát triển và thử nghiệm hoạt động đồng thời với nhau
  • Khách hàng liên tục tham gia trong các giai đoạn
  • Dựa trên tiến trình gia tăng 
  • Tách vòng đời phát triển thành giai đoạn chạy nước rút
  • Agile thường có các chu trình nhỏ gọi là sprint. Nhận phản hồi vào cuối mỗi chu kỳ , nhiều tính năng phân phối theo từng bước, KH sớm nhận được sản phẩm

Câu 18 : Testplan gồm những thành phần nào?

Một testplan phải đảm bảo các mục cơ bản sau:

  • Mục tiêu kiểm thử
  • Phạm vi kiểm thử
  • Chiến lược và phương pháp kiểm thử
  • Môi trường
  • Lý do test
  • Các tiêu chí đầu vào và đầu ra
  • Rick factor
  • Deliverable

Câu 19 : Bạn biết những loại test nào? Và giải thích những loại test bạn đã từng sử dụng trong dự án

  • Retest: Test lại các bug được báo fix
  • Regression testing: Thực hiện mỗi khi hệ thống có sự thay đổi trong đó có sự thay đổi cập nhật chức năng hay các bug được fix hoặc cải tiến. Test đảm bảo những vùng xung quanh không bị ảnh hưởng bởi sự thay đổi.
  • Adhoc testing: dành cho quá trình free test , dùng kinh nghiệm bản thân khi test dự án để thực hiện test để tìm ra những lỗi tiềm ẩn sâu bên trong
  • Smoke test: Thực hiện bất kỳ khi nào nhận bản build mới từ dev, đảm bảo chắc chắn các function cơ bản hoạt động tốt và tester có thể test được trên bản build 

Câu 20 : Bạn đã viết testcase, vậy bạn dùng kỹ thuật nào để viết testcase? Bạn làm cách nào để cover hết trường hợp cho chức năng bạn đang làm?

Sử dụng 3 kỹ thuật để viết TCs là:

  • Phân vùng tương đương
  • Phân tích giá trị biên
  • Bảng quyết định

Tôi nghĩ rằng có 3 điều quan trọng để đảm bảo rằng các trường hợp thử nghiệm bao gồm tất cả các chức năng và khu vực thử nghiệm như sau:

  • Base trên các yêu cầu và tài liệu đặc tả cho người dùng.
  • Sử dụng các kỹ thuật thiết kế TC để cover các vùng cần kiểm thử.
  • Nên đi theo thứ tự lần lượt từ GUI, Function, Security,…. So sánh đối chiếu, kiểm tra từng hạng mục yêu cầu để xem chúng đã có ít nhất 1 testcase
  • Cố gắng đảm bảo “mọi yêu cầu” được bao phủ bởi “tập test case”

Câu 21 : Kiểm thử phần mềm là gì? Và quy trình thực hiện các bước kiểm thử phần mềm bao gồm những bước nào?

  • Kiểm thử phần mềm là quá trình kiểm tra và phát hiện ra lỗi phần mềm, đảm bảo sản phẩm đẩu ra phải đáp ứng đủ yêu cầu của khách hàng. Giúp đánh giá và kiểm soát được các rủi ro liên quan tới quá trình thực thi phần mềm

Quy trình phát triển phần mềm gồm các bước:

  • Bước 1: Planning
    • Input: Product
    • Output: Document, testplan
  • Bước 2: Anlysis
    • Input: Document
    • Output: Test Condition , Q&A
  • Bước 3: Design
    • Input: Test Condition , Q&A
    • Output: Test case: high level & low level
  • Bước 4: Implementation
    • Input: Test case: high level & low level
    • Output: Testcase Detail, test data
  • Bước 5: Executing
    • Input: Testcase Detail, test data, Environment, App
    • Output: Test Result, Bug
  • Bước 6: Evaluating & Exporting

Câu 22 : Bạn dùng tool nào để quản lý bug? Làm cách nào để bạn tìm ra được lỗi phần mềm?

  • Tool quản lý bug: Excel, Jira
  • Cách tìm ra lỗi:
    • Phần mềm không thực hiện một số thứ giống như mô tả trong đặc tả yêu cầu phần mềm
    • Phần mềm thực hiện một số việc mà trong đặc tả yêu cầu nó không thực hiện được
    • Phần mềm thực hiện một số chức năng mà trong đặc tả không đề cập đến
    • Phần mềm thực hiện một số chức năng mà trong đặc tả không đề cập đến nhưng là những việc nên làm
    • Trong con mắt người kiểm thử, phần mềm là khó hiểu, khó sử dụng, chậm đối với người sử dụng

Câu 23 : Bạn đã test form Login rồi? Vậy khi test form Login, bạn sẽ test những gì trên form đó?

Khi test Login sẽ tiếp cận theo thứ tự:

  1. Gui
  2. Validate các trường thông tin
  3. Function
  4. Session/Cookie
  5. Security

GUI: 

  • Mã hoá ký tự
  • Giao diện
  • Check trạng thái mặc định, màu sắc, cỡ chữ, font chữ, grammar, selling
  • Kiểm tra thao tác keyboard / đa điểm chạm
  • ….

Function: 

  • Validate các trường (test độ dài tối đa – tối thiểu, ký tự đb,…)
  • Successful: user & pw hợp lệ
  • Unsuccessful: user/pw không hợp lệ
  •  Có thể nếu chi tiết case khi sử dụng các kỹ thuật thiết kế kiểm thử.

Session

  • Kiểm tra max session là bao nhiêu? ( đăng nhập sau bao lâu thì timeout)
  • User login 2 acc trên cùng browser, session acc login trước sẽ phải out?
  • User login từ 2 tab brower: cùng mở 2 tabs và login từng tab. Nếu sinh ra 2 session là lỗi
  • Sau khi đăng xuất người dùng bấm quay lại thì user sẽ không thể đăng nhập trong cùng một phiên
  • Login sai nhiều lần có bị khoá tài khoản ko? ( Tránh DDOS vào hệ thống )
  • Kiểm tra trang web có SSL ( Secure Website )
  • Kiểm tra SQL Injection (tấn công hệ thống bằng những câu lệnh truy vấn)

Security: 

  • Kiểm tra đường link đã đăng nhập trên browser khác
  • Kiểm tra cho phép copy pw trên trình duyệt ko?
  • Khi reset/refresh màn hình, pw user phải được clear
  • Login sai nhiều lần có bị khoá tài khoản ko? ( Tránh DDOS vào hệ thống )
  • Kiểm tra trang web có SSL ( Secure Website )
  • Kiểm tra SQL Injection (tấn công hệ thống bằng những câu lệnh truy vấn)

Câu 24 : Lỗi sau khi được tìm thấy sẽ được ghi nhận bởi ai?

  • Người kiểm thử (QA/Tester)

Câu 25 : Theo bạn thì lỗi thuòng xuất hiện nhiều nhất ở giai đoạn nào của chu trình kiểm thử?

  • Ở giai đoạn sau khi code xong và bàn giao sang cho tester bắt đầu giai đoạn testing. Một bên test và 1 bên fix bug, đây là giai đoạn nhiều lỗi nhất trong chu kỳ phát triển phần mềm.

Câu 26 : Vậy làm thế nào để có thể authentication dữ liệu gửi về server?

  • Sử dụng access_token để có thể authentication

Câu 27 : Có những Http method nào hay sử dụng nhất trong API?

  • Có 4 method: 
    • GET:  để lấy dữ liệu từ server theo url đã gửi
    • POST: gửi thông tin tới server và thường dùng để lưu thông tin vào server 
    • PUT: để cập nhật thông tin của dữ liệu trong server 
    • DELETE: xóa dữ liệu trong server 

Câu 28 : [Tình huống] Nếu dev không thể tái tạo lỗi bạn đã logbug, bạn sẽ làm gì?

  • Trao đổi lại với dev, ngồi lại với nhau liệt kê lại từng step một, xem có sai sót gì không, quên clear cache chẳng hạn ,,,
  • Lấy log or chụp evidence , quay video lại làm bằng chứng
  • Check ở các môi trường khác có xuất hiện bug không? Số lần xuất hiện/ tổng số lần thực hiện.

Câu 29 : Em đã bao giờ viết test case mà không có requirement chưa, trong trường hợp đó thì em đưa ra những solution nào để giải quyết ?

  • Trao đổi với khách hàng, nếu không có khách hàng thì trao đổi Project Manager ( PM ), Business Analyst ( BA )

Thực tập & việc làm sau khóa học – Cơ hội trở thành nhân viên chính thức tại công ty.