Những tính năng nào cần được kiểm tra thông qua kiểm tra giao diện người dùng tự động?


12

Gần đây chúng tôi đã có một chuyên gia tư vấn cho chúng tôi biết rằng nếu một tính năng chỉ có thể được kiểm tra thông qua các kiểm tra giao diện người dùng tự động (ví dụ: Selenium, Coded UI), thì có một vấn đề kiến ​​trúc tiềm ẩn. Mặc dù tuyên bố này có thể hơi cực đoan, nhưng nó nằm dọc theo cùng một dòng của kim tự tháp thử nghiệm trong các thử nghiệm UI sẽ chiếm một phần nhỏ trong bộ thử nghiệm tự động tổng thể của bạn.

Vì vậy, những loại tính năng nên có kiểm tra giao diện người dùng tự động? Một hệ thống có kiến ​​trúc chung sẽ vẫn có các tính năng chỉ có thể được xác minh thông qua các thử nghiệm UI hoặc các thử nghiệm này chỉ đóng vai trò là "sao lưu" cho một bộ thử nghiệm đơn vị và dịch vụ?


Ngoài mọi tính năng của UI, tôi đoán?

Câu trả lời:


11

Có lẽ bạn có một số loại kiến ​​trúc kết nối các nút và các vật dụng khác với các hành động - nhấp vào lưu và nên gọi chức năng lưu, v.v.

Giả sử bạn có phạm vi kiểm tra tốt cho chính các hành động thông qua kiểm tra đơn vị hoặc tích hợp, mục tiêu của kiểm tra giao diện người dùng tự động là đảm bảo rằng tất cả các tiện ích đều thực hiện các cuộc gọi phù hợp đến các hành động cơ bản và hiển thị chính xác kết quả của các hành động đó.

Nói cách khác, họ xác nhận rằng UI phản ánh đúng trạng thái của mô hình và được nối đúng với bộ điều khiển.

Thành phần khác là khi một số logic nghiệp vụ nằm trong mã UI. Ví dụ: có thể bạn yêu cầu một số ký tự nhất định trong trường mật khẩu. Bạn cần kiểm tra các tính năng này bằng cách nào đó, vì có thể khó hoặc không thể thực hiện được thông qua kiểm tra đơn vị.


3

Những tính năng nào cần được kiểm tra thông qua kiểm tra giao diện người dùng tự động?

Tất cả các tính năng ui.

Bạn nên kiểm tra:

  • Tất cả các chức năng mà người dùng có thể làm.
  • Các chức năng mà người dùng thực hiện trong tất cả các trình duyệt (và phiên bản) mà họ thực hiện.
  • Cả hai đường dẫn vui (làm đúng ở mỗi bước) và đường dẫn buồn (người dùng mắc lỗi).
  • Dữ liệu hợp lệ và không hợp lệ.
  • Số lượng lớn và nhỏ.
  • Tất cả các vai trò và chức năng vai trò cụ thể cho vai trò.
  • Giao diện người dùng và quản trị viên.
  • Nỗ lực đột nhập.
  • Tạo so với Cập nhật dữ liệu hoạt động như dự định.
  • Xóa công việc và xóa dữ liệu cơ sở dữ liệu liên quan trong các bảng khác.
  • Bàn phím so với người dùng kiểu chuột.
  • Các thiết bị hoặc mô phỏng khác nhau của - pc, điện thoại, ipad, v.v.

0

Không có thứ gọi là tính năng chỉ có thể được kiểm tra thông qua các bài kiểm tra UI tự động. Các công cụ như Selenium chỉ bắt chước hành vi của một con người, mà không gây nhàm chán cho con người đến mức tự sát. Hãy tự hỏi mình (hoặc chuyên gia tư vấn của bạn) một câu hỏi: " Làm thế nào một chương trình kiểm tra các khía cạnh UI mà một người không thể? " Câu hỏi tiếp theo là: " Nếu vậy, tại sao bạn lại quan tâm họ làm gì? "

Mặt khác, nếu bạn có một tính năng như vậy, vâng, tôi muốn nói rằng bạn có một vấn đề kiến ​​trúc cơ bản. :-)


1
Tôi nghĩ rằng "chỉ" họ đang đề cập đến các bài kiểm tra UI tự động so với các bài kiểm tra đơn vị hoặc tích hợp. Tôi không nghĩ rằng có thể tạo ra thứ gì đó mà selen có thể kiểm tra rằng con người không thể (điều chỉnh tốc độ của con người so với tốc độ của selen)
Bryan Oakley

Xin lỗi, tôi có thể thấy nơi bạn nhận được điều đó từ câu hỏi. Mặc dù bạn đã thách thức tôi phát triển một ứng dụng chỉ có thể được Selenium sử dụng - chỉ để gắn nó với nhóm UX của chúng tôi :)
mragh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.