Hơn 50 câu hỏi và câu trả lời phỏng vấn kiểm thử tự động hóa hàng đầu

Dưới đây là các câu hỏi và câu trả lời phỏng vấn Kiểm thử tự động dành cho những ứng viên mới và có kinh nghiệm để có được công việc mơ ước của họ.

 

Câu hỏi và câu trả lời phỏng vấn kiểm thử tự động dành cho người mới

1) Kiểm thử tự động hóa là gì?

Kiểm thử tự động sử dụng một công cụ tự động hóa để thực hiện các trường hợp kiểm thử. Mục tiêu chính của Kiểm thử tự động là giảm số lượng trường hợp kiểm thử được chạy thủ công và không loại bỏ Kiểm thử thủ công.

👉 Tải xuống bản PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn kiểm thử tự động


2) Khi nào bạn sẽ tự động hóa một bài kiểm tra?

Tự động hóa được ưu tiên trong các trường hợp sau

  • Các nhiệm vụ lặp lại nhiều lần.
  • Kiểm tra hồi quy
  • Kiểm tra khói và vệ sinh.
  • Kiểm tra với nhiều bộ dữ liệu.

Kiểm thử không được khuyến khích cho các trường hợp kiểm thử một lần. Thông thường, quyết định tự động hóa trường hợp thử nghiệm nào dựa trên ROI (Lợi tức đầu tư). Việc kiểm tra tự động được thực hiện càng nhiều lần thì ROI càng tốt.


3) Khi nào bạn sẽ không tự động kiểm tra?

Người ta không nên tự động hóa trong các trường hợp sau

  • Khi ứng dụng đang được thử nghiệm thay đổi thường xuyên
  • Các trường hợp thử nghiệm một lần
  • Adhoc – Kiểm tra ngẫu nhiên
  • Thử nghiệm thăm dò
  • Các bài kiểm tra khả năng sử dụng thường cần can thiệp thủ công để kiểm tra kết quả kiểm tra
  • Các trường hợp thử nghiệm với yêu cầu thiết lập chi tiết phải được thực hiện trước mỗi lần thực hiện
  • Các trường hợp thử nghiệm trả về kết quả thử nghiệm không dự đoán được
  • Loại trừ trường hợp thử nghiệm ngoài kế hoạch

4) Các bước liên quan đến Quy trình tự động hóa là gì?

Trong quá trình tự động hóa, các bước liên quan là

  • Chọn công cụ kiểm tra
  • Xác định phạm vi tự động hóa
  • Lập kế hoạch, thiết kế và phát triển
  • Thực hiện kiểm tra
  • bảo trì

5) Các điểm được đề cập khi lập kế hoạch cho giai đoạn tự động hóa là gì?

Trong giai đoạn lập kế hoạch tự động hóa, những điều cần phải quan tâm là:

  • Lựa chọn cái “đúng” công cụ tự động hóa
  • Khung tự động lựa chọn, nếu có.
  • Danh sách các mục trong phạm vi và ngoài phạm vi để tự động hóa.
  • Thiết lập môi trường thử nghiệm.
  • Chuẩn bị Biểu đồ Gantt về các mốc thời gian của Dự án để phát triển và thực thi tập lệnh thử nghiệm.
  • Xác định các sản phẩm thử nghiệm.


Câu hỏi phỏng vấn kiểm thử tự động dành cho người có kinh nghiệm

6) Trong trường hợp nào bạn không thể sử dụng thử nghiệm tự động hóa cho phương pháp Agile?

Kiểm thử tự động không hữu ích cho các phương pháp linh hoạt trong các điều kiện sau:

  • Khi câu chuyện của người dùng liên tục thay đổi
  • Khi cần có mức độ tài liệu đầy đủ trong Agile.
  • Chỉ thích hợp cho các thử nghiệm hồi quy trong quá trình thử nghiệm linh hoạt, như tích hợp liên tục.

Tìm hiểu thêm về Kiểm tra Agile.


7) Kịch bản kiểm thử là gì?

Tập lệnh kiểm thử là một đoạn mã để thực hiện một bộ hướng dẫn trên một ứng dụng. Nó được sử dụng để xác minh xem ứng dụng có hoạt động theo yêu cầu phần mềm hay không.

Khi bạn chạy tập lệnh, tập lệnh sẽ đưa ra kết quả kiểm tra là đạt hoặc không đạt, điều này được xác định bằng việc ứng dụng có hoạt động như mong đợi hay không.


8) Làm thế nào để chọn một công cụ kiểm thử tự động tốt?

  • Hỗ trợ môi trường thử nghiệm rộng rãi
  • Dễ sử dụng
  • Cơ sở gỡ lỗi tốt
  • Nhận dạng đối tượng mạnh mẽ
  • Ghi và phát lại
  • Hỗ trợ các ngôn ngữ lập trình phổ biến để tạo tập lệnh thử nghiệm, ví dụ: Java
  • Khả năng kiểm tra hình ảnh
  • Kiểm tra cơ sở dữ liệu
  • Tham số hóa
  • Hỗ trợ nhiều khung tự động hóa
  • Loại hỗ trợ có sẵn cho các công cụ như tài liệu, hướng dẫn, đào tạo, v.v.
  • Chi phí và ngân sách
  • Hệ thống báo cáo tốt

9) Bạn có thể cho tôi biết một số phương pháp viết mã hay khi tự động hóa không?

Dưới đây là các phương pháp tự động hóa tốt:

  • Thêm nhận xét thích hợp để giải thích phần mã hóa đó.
  • Bạn nên xác định các phương pháp có thể sử dụng lại và viết chúng vào một tệp riêng.
  • Phải tuân theo các quy ước mã hóa dành riêng cho ngôn ngữ.
  • Lưu trữ dữ liệu thử nghiệm trong một tệp riêng biệt.
  • Chạy tập lệnh của bạn thường xuyên.

10) Khung thử nghiệm mô-đun là gì?

Khung kiểm thử mô-đun được xây dựng dựa trên khái niệm trừu tượng. Trong loại khung này, người kiểm thử tạo các tập lệnh cho tất cả các mô-đun ứng dụng đang được kiểm thử, sau đó các tập lệnh này được kết hợp theo thứ tự phân cấp để tạo ra các trường hợp kiểm thử.


11) Khung kiểm tra theo hướng dữ liệu

Hình ảnh kiểm tra theo hướng dữ liệu

In Kiểm tra theo hướng dữ liệu framework, dữ liệu đầu vào và đầu ra dự kiến ​​​​tương ứng với dữ liệu đầu vào được lưu trữ trong tệp hoặc cơ sở dữ liệu.

Tập lệnh tự động chạy các bước kiểm tra giống nhau cho nhiều tập dữ liệu. Nó cũng cho phép bạn chạy nhiều trường hợp thử nghiệm trong đó chỉ có dữ liệu đầu vào khác nhau nhưng các bước thực hiện vẫn giống nhau.


12) Bạn sử dụng hệ thống kiểm soát phiên bản nào?

Chúng tôi sử dụng GitHub. Kiểm soát phiên bản giúp bạn theo dõi các thay đổi mã. Nó kiểm soát mã nguồn tập lệnh thử nghiệm với lịch sử thay đổi được ghi lại để đơn giản hóa quá trình sửa đổi. Bạn cũng có thể quay lại phiên bản mã trước đó nếu mắc lỗi.


13) Trục XPath là gì? Kể tên một số trong số họ.

XPath là một cú pháp thao tác dữ liệu XML (Ngôn ngữ đánh dấu mở rộng). Chúng giúp xác định vị trí các nút liên quan đến các nút trên cây. Một số Trục XPath quan trọng là tổ tiên, con, không gian tên, cha mẹ, v.v.


14) Làm cách nào bạn có thể tăng tốc bộ kiểm tra tự động?

Các ứng dụng yêu cầu kiểm tra giao diện người dùng tương tác với nhiều yếu tố có thể làm chậm quá trình kiểm tra. Tốt hơn là tạo một tập lệnh kiểm thử đơn giản để tăng tốc độ thực hiện kiểm thử.


15) Tài liệu có cần thiết trong Kiểm thử tự động không?

Tài liệu đóng một vai trò quan trọng trong Test Automation. Bạn nên ghi lại tất cả các phương pháp và quy trình để đảm bảo tính lặp lại của chúng. Thông số kỹ thuật kiểm thử, thiết kế, thay đổi mã, trường hợp kiểm thử, kế hoạch tự động hóa, báo cáo lỗi


16) Những loại framework nào được sử dụng trong kiểm thử tự động hóa phần mềm?

Bốn loại khung được sử dụng là

  • Khung tự động hóa dựa trên dữ liệu
  • Khung tự động hóa dựa trên từ khóa
  • Khung tự động hóa mô-đun
  • Khung tự động hóa lai

Tìm hiểu thêm về khung tự động hóa


17) Có thể đạt được tự động hóa 100% không?

Không, không thể tự động hóa mọi thứ. Việc đạt được tự động hóa 100% là điều khó khăn vì có một số trường hợp trang đăng ký có hình ảnh xác thực hoặc một số trường hợp thử nghiệm mà chúng tôi không thực hiện thường xuyên. Hơn nữa, việc tự động hóa các trường hợp thử nghiệm này sẽ không tăng thêm giá trị cho quá trình tự động hóa hoặc mang lại ROI tích cực.


18) Số lượng trường hợp kiểm thử trung bình bạn đã tự động hóa mỗi ngày là bao nhiêu?

Câu trả lời phụ thuộc vào độ dài và độ phức tạp của kịch bản thử nghiệm. Nhìn chung, một người kiểm thử QA có thể tự động hóa 2-4 kịch bản thử nghiệm mỗi ngày khi độ phức tạp bị hạn chế. Tuy nhiên, đôi khi có thể giảm xuống còn 1-2 khi độ phức tạp cao.


19) Tiêu chuẩn viết kịch bản khi thực hiện kiểm thử tự động hóa là gì?

Khi viết tập lệnh tự động hóa, bạn phải cân nhắc những điều sau:

  • Quy ước đặt tên thống nhất.
  • 3 dòng bình luận cho mỗi 10 dòng mã.
  • Thụt lề vừa đủ.
  • Kịch bản xử lý và phục hồi lỗi mạnh mẽ.
  • Sử dụng Framework bất cứ khi nào có thể.

20) Các công cụ phổ biến nhất để kiểm thử tự động hóa là gì?

Công cụ kiểm thử phổ biến nhất để kiểm thử tự động hóa là:

Đây là danh sách đầy đủ của công cụ kiểm tra tự động hóa.


21) Làm thế nào bạn có thể đo lường sự thành công của thử nghiệm tự động hóa?

Các tiêu chí sau đây có thể đánh giá sự thành công của thử nghiệm tự động:

  • Tỷ lệ phát hiện khuyết tật
  • Tự động hóa thời gian thực hiện và tiết kiệm thời gian cho ra đời sản phẩm
  • Giảm lao động và các chi phí khác

22) Bạn có thể liệt kê một số nhược điểm của kiểm thử thủ công không?

  • Kiểm tra bằng tay đòi hỏi nhiều thời gian và nhiều nguồn lực hơn.
  • Sai
  • Việc thực hiện lặp đi lặp lại cùng một trường hợp kiểm thử dễ gây ra lỗi và tẻ nhạt.
  • Việc thực hiện kiểm thử thủ công trên các dự án rất lớn và có thời gian ràng buộc là không thực tế.

23) Sự khác biệt giữa các công cụ nguồn mở, công cụ của nhà cung cấp và công cụ nội bộ trong thử nghiệm tự động hóa là gì?

Dưới đây là sự khác biệt giữa tất cả:

  • Công cụ nguồn mở: Chúng là những công cụ miễn phí với mã nguồn có sẵn trên internet. Ví dụ: Selenium
  • Công cụ của nhà cung cấp: Những công cụ kiểm tra này được phát triển bởi các công ty và bạn cần mua giấy phép của họ. Ví dụ: Microfocus UFT.
  • Công cụ nội bộ: Nó được xây dựng bởi các công ty để họ sử dụng.

24) Điều kiện tiên quyết của Kiểm thử tự động là gì?

Một số điều kiện tiên quyết quan trọng của Kiểm thử tự động hóa là:

  • Cấu hình ổn định
  • Các chức năng cần kiểm tra
  • Các trường hợp thử nghiệm để kiểm tra tự động

25) Bạn có thể tự động hóa mà không cần framework không?

Các khung là các hướng dẫn và không bắt buộc phải tạo và thực thi các tập lệnh tự động hóa. Vì vậy, vâng, chúng tôi có thể tự động hóa mà không cần khuôn khổ. Việc nâng cao và duy trì các kịch bản thử nghiệm sẽ dễ dàng nếu chúng ta tạo và tuân theo một khuôn khổ.


26) Hãy cho tôi biết những gì bạn biết về Selenium

Selenium là một bộ tự động hóa thử nghiệm miễn phí (mã nguồn mở). Nó được sử dụng để tự động hóa môi trường Web và Di động. Nó bao gồm những điều sau đây.

  • Selenium IDE (Addon trình duyệt – Công cụ ghi và phát lại)
  • Selenium webdriver
  • Selenium Lưới (Thử nghiệm phân tán)
  • Selenium hỗ trợ tập lệnh bằng các ngôn ngữ như Java, C#, Python, Ruby, PHP, Perl và JavaKịch bản.

27) Hãy cho tôi biết về QTP

QTP (Kiểm tra nhanh chuyên nghiệp) hiện được gọi là Microfocus UFT. Nó là một công cụ tự động hóa thương mại và hỗ trợ nhiều môi trường thử nghiệm: Web, Desktop, SAP, Delphi, Net, ActiveX, Flex, Java, Oracle, Mobile, PeopleSoft, PowerBuilder, Siebel, Stingray và Visual Basic, cùng nhiều thứ khác.

Ngôn ngữ kịch bản là VBScript. Công cụ tạo gel tốt với ALM (Công cụ quản lý kiểm tra) và LoadRunner (Công cụ kiểm tra hiệu suất).

Các tính năng nổi bật của QTP bao gồm Kiểm tra quy trình kinh doanh, khung hướng từ khóa, hỗ trợ XML, điểm kiểm tra mạnh mẽ và kết quả kiểm tra.


28) là gì SikuliX?

SikuliX là một công cụ sử dụng phương pháp “So khớp hình ảnh trực quan” để tự động hóa giao diện đồ họa người dùng. Tất cả các thành phần web trong SikuliX nên được chụp dưới dạng hình ảnh và được lưu trữ bên trong dự án.

SikuliX bao gồm

  • SikuliX Script
  • API tập lệnh trực quan cho Jython
  • SikuliX IDE

Công dụng thực tế của SikuliX là:

  • Nó có thể tự động hóa các ứng dụng dựa trên cửa sổ và bất kỳ thứ gì bạn nhìn thấy trên màn hình mà không cần sử dụng hỗ trợ API nội bộ.
  • Nó cung cấp một API đơn giản.
  • Nó có thể dễ dàng liên kết với các công cụ như Selenium.
  • Các ứng dụng web có thể được tự động hóa.
  • SikuliX cung cấp hỗ trợ rộng rãi để tự động hóa các đối tượng flash.
  • Nó có thể hoạt động trên mọi công nghệ -.NET, Java.

29) Hãy nêu sự khác biệt giữa Selenium và SikuliX Là?

SikuliX Selenium
Nó cung cấp hỗ trợ rộng rãi để tự động hóa các đối tượng flash Nó không thể tự động hóa các đối tượng flash như trình phát video hoặc trình phát âm thanh.
Nó có một API đơn giản Nó có API phức tạp
Nó sử dụng kết hợp trực quan để tìm các phần tử trên màn hình. Vì vậy, chúng ta có thể tự động hóa bất cứ thứ gì chúng ta nhìn thấy trên màn hình. Nó sử dụng CSS, ID, bộ định vị và các bộ chọn khác để xác định các thành phần GUI
Nó có thể tự động hóa cả ứng dụng web và windows Nó chỉ có thể tự động hóa các ứng dụng web

30) Các thuộc tính của một khung tự động hóa tốt là gì?

Dưới đây là một số thuộc tính quan trọng của một khung tự động hóa tốt:

  • Mô-đun: Đó là một khuôn khổ có thể thích ứng với sự thay đổi. Vì vậy, người thử nghiệm sẽ có thể sửa đổi các tập lệnh theo môi trường.
  • tái sử dụng: Nó có thể được tái sử dụng để các phương thức hoặc tiện ích được viết trong một tệp chung có thể truy cập được đối với tất cả các tập lệnh.
  • Thích hợp: Nó phải được viết ở một định dạng nhất quán.
  • Độc lập: Các tập lệnh tự động hóa phải được viết theo cách chúng độc lập với nhau.
  • Hội nhập: Khung tự động hóa nên được phát triển theo cách dễ dàng tích hợp với các ứng dụng khác.

31) Kiểm tra trình duyệt chéo là gì?

Đây là một tập hợp con của thử nghiệm tự động hóa trình duyệt giúp bạn đảm bảo rằng ứng dụng trực tuyến hoạt động chính xác trên các trình duyệt khác nhau. Google Chrome, Mozila Firefox, Microsoft Edge, Safari, v.v.

Kiểm tra trình duyệt chéo bằng cách sử dụng Selenium webdriver

Mục đích chính của thử nghiệm trên nhiều trình duyệt là kiểm tra xem trang web hoặc ứng dụng web của bạn có hoạt động chính xác trên các kết hợp trình duyệt và hệ điều hành khác nhau hay không.


32) Thử nghiệm nào có thể được thực hiện bằng cách sử dụng Selenium Khung?

Bạn có thể sử dụng một Selenium khuôn khổ cho các thử nghiệm sau:

  • Kiểm tra tải các ứng dụng web.
  • Kiểm tra hồi quy của các ứng dụng web.
  • Kiểm tra chức năng của các ứng dụng web.

33) Kiểm thử tự động là kiểm thử hộp trắng hay kiểm thử hộp đen?

Kiểm thử tự động chủ yếu là kiểm thử hộp đen.


34) Từ khóa nào được sử dụng để lấy URL của trang hiện tại trong Selenium?

Selenium WebDriver có thể giúp bạn tìm URL hiện tại của một trang bằng getcurrentURL(). Phương pháp này sẽ tìm URL của các ứng dụng đang mở và tạo ra một chuỗi.


35) Bạn sẽ lưu giữ thông tin như URL, thông tin đăng nhập và mật khẩu ở đâu?

URL, thông tin đăng nhập và mật khẩu là những thông tin quan trọng được sử dụng rất thường xuyên và thay đổi thường xuyên. Chúng phải luôn được duy trì trong một tệp riêng biệt. Nếu không được thực hiện thì người kiểm tra tự động hóa phải thay đổi nó trong mọi tệp có tham chiếu của nó.


Câu hỏi phỏng vấn kiểm thử tự động cho người có kinh nghiệm từ 3 đến 5 năm

36) Tiện ích mở rộng và Tài sản thử nghiệm của QTP là gì?

Một số Tài sản thử nghiệm quan trọng và phần mở rộng của QTP là:

  • Kết quả .xml
  • Kịch bản khôi phục .qrs
  • Chạy thử nghiệm hàng loạt .mtb
  • Kho lưu trữ đối tượng dùng chung .tsr
  • Kho lưu trữ đối tượng cục bộ .mtr
  • Tệp thử nghiệm .mts
  • Thư viện hàm .qfl

37) Sự khác biệt giữa kiểm thử thủ công và kiểm thử tự động là gì?

Dưới đây là một số chính Sự khác biệt giữa thử nghiệm thủ công và tự động hóa:

Thông số Kiểm tra bằng tay Kiểm tra tự động hóa
Sự tiêu thụ thời gian Xem thêm Less
STLC Theo dõi thủ công Theo dõi bằng cách sử dụng công cụ
Cos Less đắt tiền Đắt tiền
Độ tin cậy Less Đáng tin cậy Đáng tin cậy cao
Giáo dục Thấp Cao
Bộ kỹ năng Less bộ kỹ năng cần thiết Yêu cầu phải có kỹ năng cao.

38) Các mô-đun thiết yếu của khung kiểm thử tự động hóa là gì?

Dưới đây là một số mô-đun thiết yếu của khung thử nghiệm tự động hóa:

  • Công cụ xác nhận thử nghiệm: Công cụ kiểm tra này sẽ cung cấp các câu lệnh khẳng định để đánh giá các giá trị mong đợi trong ứng dụng đang được kiểm tra. Ví dụ: Junit, TestNG, Junit, v.v.
  • Thiết lập dữ liệu: Đảm bảo rằng mỗi trường hợp kiểm thử lấy dữ liệu kiểm thử từ cơ sở dữ liệu, một tệp hoặc được nhúng trong tập lệnh kiểm thử.
  • Công cụ quản lý xây dựng: Framework yêu cầu phải được xây dựng và triển khai để tạo kịch bản thử nghiệm.
  • Công cụ tích hợp liên tục: Họ được yêu cầu tích hợp và triển khai các thay đổi được thực hiện trong khung ở mỗi lần lặp.
  • Công cụ báo cáo: Nó giúp tạo một báo cáo có thể đọc được sau các trường hợp thử nghiệm để có cái nhìn rõ hơn về các bước, lỗi và kết quả.
  • Công cụ ghi nhật ký: Chúng giúp sửa lỗi tốt hơn.

39) là gì Cucumber?

Cucumber là một công cụ phát triển dựa trên hành vi nguồn mở (BDE). Nó được sử dụng để kiểm tra tự động hóa ứng dụng dựa trên web và hỗ trợ các ngôn ngữ như Java, Ruby, Ruby, Scala, Groovy, Vv Cucumber đọc các thông số kỹ thuật thực thi được viết bằng văn bản thuần túy và kiểm tra ứng dụng đang được kiểm tra để tìm các thông số kỹ thuật đó.


40) Kiểm tra hoàn thành là gì?

TestComplete là một công cụ kiểm tra giao diện người dùng tự động dành cho các ứng dụng máy tính để bàn, web, thiết bị di động, v.v. Nó mang lại sự linh hoạt để ghi lại trường hợp kiểm thử trên một trình duyệt và chạy nó trên nhiều trình duyệt, do đó hỗ trợ kiểm tra các trình duyệt chéo.


41) là gì Cypress?

Cypress là một khung thử nghiệm nguồn mở. Nó được phát triển ở JavaScript gần đây đã trở nên phổ biến vì tính đơn giản và khả năng mở rộng cho phép thử nghiệm trình duyệt, đồng thời hướng dẫn sử dụng phải được ghi chép đầy đủ.


42) Bạn có thể xử lý các cửa sổ bật lên cảnh báo như thế nào trong Selenium Trình điều khiển Web?

Selenium đưa ra cảnh báo nếu có vấn đề trong khi bạn kiểm tra. Giao diện bật lên cho phép bạn xử lý cảnh báo bằng cách chuyển điều khiển sang cửa sổ bật lên, nhấn nút OK hoặc Hủy và quay lại màn hình trang nguồn.

String srcPage = driver.getWindowHandle();
Alert pop = driver.switchTo().alert(); // shift control to the alert pop-up.
Pop.accept(); // click k button.

43) Khung thử nghiệm kết hợp là gì?

Khung thử nghiệm kết hợp phát triển các trường hợp thử nghiệm từ các tập lệnh mô-đun bằng cách kết hợp chúng trong khung thử nghiệm mô-đun.


44) Viết các bước để tự động hóa các trường hợp kiểm tra chức năng “đăng nhập” chính cho một ứng dụng?

Dưới đây là các bước để tự động hóa chức năng đăng nhập cơ bản:

Bước 1) Hiểu được yêu cầu của dự án.

Bước 2) Xác định các kịch bản thử nghiệm

Bước 3) Chuẩn bị file đầu vào dữ liệu với dữ liệu tương ứng với từng kịch bản

Bước 4) Khởi chạy công cụ từ chương trình.

Bước 5) Xác định tên người dùng, mật khẩu và các nút đăng nhập.

Bước 6) Xác minh rằng thông báo lỗi cho các kịch bản tiêu cực giống với thông báo thành công cho các kịch bản thử nghiệm tích cực.

Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn