Kiểm thử giao diện tự động

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và đề xuất các phương pháp kiểm thử giao diện phần mềm (Trang 59 - 63)

Nhƣ đã biết, kiểm thử tự động ngày một phát triển, và việc ứng dụng kiểm thử tự động trong kiểm thử giao diện là một lẽ tất yếu. Kiểm thử giao diện tự động là phƣơng pháp sử dụng các công cụ, áp dụng các kỹ thuật kiểm thử tự động trong kiểm thử giao diện. Kiểm thử giao diện tự động liên quan tới khía cạnh khả dụng của ứng dụng. KTTĐ phải bao quát đƣợc tất cả các thành phần giao diện hiện thời trong ứng dụng. Điều này liên quan đến tập các hành động tự động gây ra bởi chuột hay bàn phím trên các mô-đun giao diện của ứng dụng và giữ lại kết quả để đánh giá các kết quả của nó. Về thƣơng mại, không có công cụ kiểm thử giao diện nào chính xác trong kiểm thử của họ và rất nhiều trƣờng hợp lỗi khả năng sử dụng bề mặt trên phiên bản của ứng dụng.

3.4.1. Tạo kế hoạch kiểm thử giao diện cho công cụ kiểm thử giao diện tự động

Giao diện ngƣời dùng hệ thống đƣợc phân tích để liệt kê ra các hoạt động có thể tiến hành trên giao diện. Các hoạt động này có thể đƣợc thực hiện trở thành xƣơng sống cho kiểm thử và gọi các operator của kế hoạch kiểm thử. Trạng thái ban đầu của các thành phần giao diên đƣợc quyết định. Trạng thái mục tiêu của các thành phần đƣa ra các trạng thái có thể thực hiện của các thành phần đã đƣợc liệt kê. Kế hoạch kiểm thử đƣợc viết ra để cân nhắc các trạng thái khởi tạo và trạng thái mục tiêu [8].

3.4.2. Sử dụng công cụ kiểm thử giao diện tự động

Khi kiểm thử giao diện tự động, cần đảm bảo một số vấn đề sau [8]: - Xác nhận không xuất hiện các liên kết hỏng

- Chắc chắn rằng giao diện ngƣời dùng là đồng nhất trên các trình duyệt khác nhau và nhiều platforms

- Xác nhận việc tuân thủ các chuẩn kiểm thử giao diện

- Định danh và phân cấp địa chỉ hiệu quả của các thay đổi trong ứng dụng - Xác thực các tính năng

- Chắc chắn rằng bản build là phù hợp để bắt đầu pha kiểm thử - Đi tìm các khiếm khuyết và các lỗi lặp đi lặp lại để đƣa ra cảnh báo

- Đảm bảo rằng mỗi phiên bản có cùng các chức năng đi theo cùng một cách - Tập trung trên các vùng của các hoạt động hỗ trợ kiểm thử nhƣ danh mục dữ

liệu kiểm thử đặc tả chức năng

- Xác định và dò tìm những thay đổi trên giao diện ngƣời dùng khi tập trung vào một khía cạnh kiểm thử

- Các miền ứng dụng của kiểm thử giao diện tự động

- Trong danh mục kiểm thử, trong các miền trạng thái kiểm tra của đối tƣợng, menu và window chuẩn nhìn và thấy đặc trƣng

- Hoàn thành tự động hóa của kiểm thử sự điều hƣớng

- Số lƣợng lớn các điều kiện đơn giản đƣợc dựa trên kiểm thử với cùng chức năng logic, ví dụ nhƣ bảng quyết định dựa trên kiểm thử (Decision table based Testing)

- Kiểm thử trên nhiều platform, các hệ điều hành khác nhau và so sánh

3.4.3. Mười điều cần nhớ khi kiểm thử giao diện tự động

- Công cụ tự động hóa phải dễ sử dụng

- Công cụ tự động hóa đƣợc sử dụng phải hỗ trợ tính tái sử dụng

- Các script tái sử dụng phải có khả năng chuyển đổi thành các test case tự động - KTTĐ phải khởi tạo dễ dàng trong chu trình phát triển ứng dụng

- Bắt đầu tạo các script kiểm thử cho các chức năng đơn giản

- Duy trì các tài liệu hƣớng dẫn của các script có thể tái sử dụng và các chức năng của chúng

- Công cụ tự động hóa phải hỗ trợ lƣu trữ và phục hồi dữ liệu thời gian chạy - Sử dụng các tên chuẩn cho các script, kiểm chứng các điểm, lƣu trữ dữ liệu để

đảm bảo tính nhất quán và dễ dàng khôi phục trong công cụ tự động

- Bugs và errors phải đƣợc truyền đạt đúng cách và đƣợc đóng để tránh dƣ thừa về sau

- Nhớ rằng thành công trong kiểm thử khi sử dụng công cụ KTTĐ đó là nhận biết các yêu cầu và phát triển các yêu cầu đã đƣợc xác định với các mục tiêu hợp lý trong kiểm thử.

3.4.4. Các thủ thuật khi kiểm thử giao diện tự động

Tự động hóa kiểm thử là một quá trình kiểm thử ứng dụng có sử dụng các công cụ thích hợp và dựa theo các phƣơng pháp kiểm thử đa dạng. Các công cụ khác nhau đƣợc tạo ra bởi các nhà sản xuất khác nhau tập trung vào các dạng kiểm thử khác nhau. Tuy nhiên, thực tế chỉ ra rằng, kết hợp giữa kiểm thử thủ công và KTTĐ sẽ đạt hiệu quả tốt nhất.

KTTĐ nên tập trung vào các yếu tố sau đây [11]:  Cải tiến quy trình kiểm thử

Cải tiến quy trình kiểm thử đề cập tới việc liệt kê ra các yêu cầu quy tình kiểm thử. Sau khi định nghĩa các yêu cầu quy trình kiểm thử, tiến hành thiết kế quy trình kiểm thử. Sự cải tiến này là một tiến trình logic phân tích những gì cần tự động hóa, các vùng tự động hóa, cách viết các chuẩn tự động hóa, tài liệu rủi ro và các giả định. Quy trình này lặp đi lặp lại trong khí quy trình phát triển ứng dụng và quy trình kiểm thử cũng đồng thời đƣợc cải tiến.

 Định nghĩa các yêu cầu

Định nghĩa yêu cầu gồm hai nhóm - các yêu cầu tự động hóa và các yêu cầu kiểm thử. Chúng đƣợc tài liệu hóa bởi các tài liệu thiết kế kiểm thử và mục tiêu tự động hóa. Có bốn tập hợp khác nhau để hiểu rõ về kiểm thử ở giai đoạn này. Nhóm nghiên cứu phát triển ý tƣởng kiểm thử, quản lý mục tiêu kiểm thử, kiểm tra các tham số của các kiểm thử liên quan và nhóm tự động hóa kiểm thử quan sát quá trình kiểm thử. Thành công của bƣớc này đó là sự hòa trộn giữa việc quan sát và các yêu cầu thành một thiết kế kiểm thử để đạt đƣợc thành công khi kiểm thử tự động.

 Tính khả thi

Tính khả thi là việc lựa chọn thích hợp công cụ và phƣơng pháp kiểm thử tự động. Công cụ đƣợc lựa chọn và phƣơng pháp đƣợc lựa chọn phải kết nối tới sản phẩm và đội ngũ liên quan. Nó sẽ là một ý tƣởng khôn ngoan khi sử dụng cách chứng minh kiểm thử bằng cách lấy mẫu kiểm thử tự động thông qua sử dụng một test case phù hợp để ứng dụng và thực hiện thông qua các nhóm kiểm thử. Điều này cung cấp một ƣớc lƣợng thực tế về tính khả thi của công cụ và phƣơng pháp đã đƣợc thông qua. Công cụ kiểm thử tự động là khó khăn nhất để lựa chọn khi có quá nhiều phƣơng pháp và kiểm thử thành công vẫn khó nắm bắt. Ví dụ khi lựa chọn công cụ phải đảm bảo đồng thời cả kiểm thử hồi quy, quản lý cấu hình, khả năng tái sử dụng và kiểm thử không giao diện.

 Khả năng kiểm thử giao diện

Giao diện ứng dụng cần kiểm thử chặt chẽ. Chúng đƣợc phân cấp thành kiểm thử mức dòng lệnh, kiểm thử mức ứng dụng và kiểm thử mức giao diện. Một ứng dụng phải có ít nhất một trong ba giao diện đó. Trong nhiều ứng dụng, giao diện có thể bị ẩn và đƣợc thực hiện bên trong giao diện GUI nhìn thấy rõ ràng. Thành công trong khả năng kiểm thử giao diện nằm trong sự hiểu biết rằng khả năng để kiểm thử một ứng dụng là một yêu cầu ứng dụng.

 Khả năng bảo trì

Sự bảo trì trong kiểm thử đƣợc gọi là sự “nuôi dƣỡng”. Các tham số tự động phải đƣợc ứng biến, mở rộng, nâng cao nhƣ các phiên bản mới của ứng dụng để có thể thực hiện. Thiết kế kiểm thử và các test case vẫn đƣợc duy trì sau khi thực thi ứng dụng. Với một phiên bản mới đƣợc lên kế hoạch, thiết kế kiểm thử có sẵn và các test case đƣợc thực thi mà không có bất kỳ lỗi nào. Điều này không có nghĩa là bản phát hành không có lỗi nào, và thích hợp để phát hành. Có trƣờng hợp bản phát hành đƣợc tiếp cận theo phƣơng pháp này và thất bại thê thảm khi đi vào thực hiện. Điều này nhấn mạnh tầm quan trọng khả năng bảo trì của công cụ kiểm thử tự động và tính dễ

tổn thƣơng của các ứng dụng trong kiểm thử khi mà các tham số kiểm thử khoogn đƣợc cập nhật nâng cao hoặc sửa lỗi của ứng dụng.

 Khả năng tái sử dụng

Có hiểu biết về các thành phần có thể tái sử dụng sẽ giúp giảm rất nhiều thời gian làm lại các thành phần. Điều này nhấn mạnh “xây dựng trên công trình của ngƣời khác”. Các thành phần tái sử dụng có thể đƣợc dùng khi kiểm thử các phiên bản mới của phần mềm. Nếu ứng dụng đƣợc giới thiệu trên một nền tảng mới, các thành phần tái sử dụng có thể áp dụng cho các kiểm thử tiêu chuẩn chung cho mọi ứng dụng và có thể hỗ trợ quy trình xây dựng với nỗ lực ít hơn và tiêu tốn ít thời gian hơn.

3.4.5. Một số vấn đề thường gặp với kiểm thử tự động

Một trong những vấn đề thƣờng gặp nhất khi kiểm thử tự động đó là về kỹ thuật con ngƣời. Nếu đội ngũ kiểm thử viên thiếu kinh nghiệm và khả năng tƣ duy lập trình, khi xây dựng các script kiểm thử rất dễ để thiếu sót các trƣờng hợp kiểm thử. Kiểm thử tự động cũng khó kiểm soát hơn, và khả năng mở rộng bảo trì khó khăn, còn phụ thuộc vào nền tảng và khả năng của công cụ kiểm thử tự động.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu và đề xuất các phương pháp kiểm thử giao diện phần mềm (Trang 59 - 63)