2008-09-03 43 views
17

Chúng tôi đang làm việc trên một dự án lớn với thước đo chức năng GUI mới/sửa đổi. Chúng tôi đã tìm thấy trong quá khứ rằng chúng tôi thường giới thiệu các vấn đề mới trong mã có liên quan khi thêm chức năng mới.Kiểm tra giao diện người dùng

Chúng tôi có người dùng không có kỹ thuật thực hiện thử nghiệm, nhưng họ thường bỏ lỡ các phần và cho phép các lỗi bị trượt qua.

Câu hỏi của tôi: Có thực tiễn nào tốt nhất để tổ chức kiểm tra giao diện người dùng của dự án WinForms không? Có cách nào để tự động hóa nó?

Cảm ơn!

+0

Bạn sẽ nghe thấy 'Tự động hóa thử nghiệm GUI là mong manh' hoặc 'kiểm tra GUI tự động là những thứ gây ác mộng'. Thông thường từ những người nhìn thấy tự động hóa kiểm tra được thực hiện bởi những người ngẫu nhiên hoặc từ những người không bao giờ thấy tự động hóa gui chỉ cần nghe như thế nào nó không thành công. Dù bằng cách nào, Test Automation yêu cầu các công cụ có kỹ năng và cam kết. Công cụ chỉ là một công cụ, có rất nhiều công cụ. Ít ai trong số họ: http://www.testingfaqs.org/t-gui.html – yoosiba

Trả lời

19

Có các công cụ kiểm tra GUI sẽ nhấp vào nút và nội dung cho bạn nhưng chúng khá dễ vỡ trong trải nghiệm của tôi.

Điều tốt nhất cần làm là giữ lớp giao diện người dùng của bạn mỏng nhất có thể. Các lớp trình xử lý sự kiện của bạn nên tối ưu chỉ là một hoặc hai dòng gọi ra các lớp có thể kiểm tra khác. Bằng cách đó bạn có thể kiểm tra logic kinh doanh của bạn trong các bài kiểm tra đơn vị mà không cần phải thực sự nhấn nút.

+5

Dù sao, tác giả cần một giải pháp, không chỉ phản đối ... – Budda

0

Tôi thực sự không thể trợ giúp về tổ chức hoặc thực tiễn tốt nhất, nhưng tiện ích mở rộng NUnit dường như có sẵn để thử nghiệm biểu mẫu, NUnitForms.

6

Bạn có thể tự động kiểm tra giao diện sử dụng White khuôn khổ.

Đồng thời xem xét sử dụng thiết kế thân thiện TDD, tức là sử dụng mẫu MVP/MVC.

Tôi rất muốn giới thiệu bạn đọc tài liệu từ các mẫu Microsoft & các nhóm thực hành.

Đặc biệt, hãy xem Composite UI application blockCompositeWPF.

Các dự án này được thiết kế đặc biệt để cung cấp cho bạn các phương pháp hay nhất trong phát triển ứng dụng GUI bao gồm giao diện người dùng được kiểm tra.

+0

"Cũng xem xét sử dụng thiết kế thân thiện TDD, tức là sử dụng mẫu MVP/MVC." Hãy sửa tôi nếu tôi sai, nhưng đây không phải là thiết kế thân thiện "** Thử nghiệm **". Tôi nghĩ rằng TDD gợi ý nhiều hơn là chỉ thử nghiệm .. – sixtyfootersdude

4

Giữ lớp GUI mỏng nhất có thể. Bài viết của Michael Feathers, The Humble Dialog Box, là một tác phẩm kinh điển. Ngoài ra kiểm tra của Martin Fowler của Passive View. Tôi cũng đã nghe nói rằng "clickers nút tự động" là mong manh, và nó rất dễ dàng để dành nhiều thời gian hơn việc duy trì thử nghiệm hơn bạn chi tiêu duy trì mã.

1

Có rất nhiều công cụ và thư viện có thể tự động hóa thử nghiệm WinForms, từ các giải pháp nguồn mở như White đến các giải pháp thương mại đắt tiền như HP QuickTest Pro. Ngoài ra còn có không gian tên UIAutomation trong .NET nếu bạn muốn cuộn khung tự động hóa của riêng mình. Nhưng chi phí thực sự của tự động hóa là trong thời gian và các kỹ năng chuyên môn cần thiết để thực hiện. Tính bảo trì cũng là một trong những khía cạnh quan trọng nhất của thiết kế thử nghiệm tự động; bạn không muốn tốn quá nhiều tài nguyên để giữ tài sản tự động hiện tại với ứng dụng của bạn. Ngoài ra còn có rất nhiều yếu tố ảnh hưởng đến quyết định tự động hóa sẽ cụ thể cho ứng dụng và tổ chức cụ thể của bạn.

Đặt cược tốt nhất của bạn sẽ là thực hiện một số nghiên cứu thêm về chủ đề này và kiểm tra một số trang web thử nghiệm chuyên biệt như http://www.sqaforums.com.

1

Tôi đã tìm thấy cách nhanh chóng và dơ bẩn này để kiểm tra bố cục trang web trong các trình duyệt khác nhau. Nó được gọi là browsershots.org. Khách hàng của chúng tôi yêu cầu hỗ trợ trong 5 trình duyệt ngay bây giờ và mất khoảng một tuần để kiểm tra hồi quy đầy đủ. Dịch vụ này sẽ cung cấp ảnh chụp màn hình của khoảng 70 trình duyệt và phiên bản. Tôi in chúng ra và giơ các trang lên ánh sáng. Nếu họ không xếp hàng, phải có vấn đề bố cục.

0

Phương pháp mới hiện có đang sử dụng Ruby, thông qua đá quý Ruby có tên là win32-autogui. Điều này cung cấp một khuôn khổ để thử nghiệm các ứng dụng Windows GUI. Kết hợp nó với các công cụ của Ruby RSpec và Cucumber, và nó tạo ra một khung kiểm thử khá mạnh mẽ.

0

Cách tổ chức kiểm tra giao diện người dùng tùy thuộc vào cách bạn thiết kế các trường hợp kiểm tra.

Tự động hóa ứng dụng Windows Forms ở cấp độ thử nghiệm đơn vị có thể sử dụng khung công tác TDD, chẳng hạn như NUnit; hoặc sử dụng khung BDD, chẳng hạn như NSpec.

Tự động hóa các ứng dụng Windows Forms ở cấp độ thử nghiệm chức năng có thể sử dụng White, CodedUI hoặc thậm chí trực tiếp sử dụng Windows Automation API 3.0 (Giao diện người dùng tự động hóa và MSAA).

Vì tất cả các công cụ được đề cập ở trên là công nghệ chứ không phải là giải pháp, tốt hơn là xây dựng một số khung công tác tự động hóa/viết kịch bản cơ bản dựa trên các công nghệ này trước khi bạn bắt đầu viết thử nghiệm tự động.

+0

Câu trả lời của bạn là nhạt nhẽo và bỏ trống. – nalply

Các vấn đề liên quan