Câu hỏi nên hỏi khi lựa chọn công cụ kiểm thử tự động – Phần 2

Phần 1

Câu hỏi 5: Công cụ hỗ trợ bao nhiêu ngôn ngữ? Chúng ta có sẵn nhân sự với kỹ năng cho những ngôn ngữ đó chưa?

Học công cụ là một chuyện, học ngôn ngữ là một chuyện khác. Nếu chúng ta có nhân sự với kinh nghiệm Java, và công cụ không hỗ trợ Java, thời gian và công sức học một ngôn ngữ mới sẽ phải cộng thêm vô những nỗ lực tiến hành kiểm thử tự động của chúng ta.

Một nhân tố khác là nếu ứng dụng được thiết lập trên nền tảng Java, chúng ta đã có sẵn một đội ngữ kỹ sư phát triển đầy kinh nghiệm với Java. Những kỹ sư phát triển này cũng có thể giúp sức cho kiểm thử tự động trong những vấn đề thuộc về ngôn ngữ lập trình. Lựa chọn công cụ mà hỗ trợ ngôn ngữ thân quen với nhóm/công ty là rất quan trọng và nó sẽ giúp chúng ta tối thiểu việc học tập cho thành viên.

Selenium hỗ trợ viết mã ở nhiều ngôn ngữ như C#, Java, Python, Ruby và JavaScript. TestComplete cũng hỗ trợ nhiều ngôn ngữ mã nhu VBScript, JSCript, DelphiScript, C++ Script và C# Script.

Câu hỏi 6: Công cụ kiểm thử có hỗ trợ kết nối với các cơ sở dữ liệu khác nhau?

Nếu chúng ta dùng mô hình kiểm thử như hướng từ khóa hay hướng dữ liệu, chúng ta cần một chức năng kết nối giữa công cụ và các cơ sở dữ liệu. Nếu công cụ cung cấp khả năng kết nối cơ sở dữ liệu một cách dễ dàng, nó thực sự là một lợi điểm.

Hãy nhìn vào khả năng kết nối cơ sở dữ liệu cơ bản như tập tin CSV, Excel, XML hay cơ sở dữ liệu. Nếu khả năng này có trong công cụ kiểm thử, chúng ta có thể đi tiếp với công cụ này.

Câu hỏi 7: Cơ chế báo cáo của công cụ kiểm thử tự động?

Khi chúng ta thực thi một bài kiểm thử, nó cần phải cho ra một kết quả thành công hay thất bại. Trong trường hợp thành công, không có nhiều thông tin cần thu thập trừ tổng thời gian thực thi và thông tin môi trường. Nhưng với trường hợp thất bại, chúng ta cần một báo cáo toàn diện về thất bại. Một báo cáo sẽ cho chúng ta biết chính xác bước nào của kịch bản kiểm thử thất bại. Một hình ảnh về thời điểm thất bại là một ưu điểm lớn.

Hơn nữa, báo cáo này nên được trích xuất thành các định dạng khác nhau để chúng ta có thể chia sẽ cho các bên liên quan. Trong nhiều công cụ, có những lựa chọn báo cáo có sẵn và trong những công cụ khác, có những cách khác nhau để làm ra một báo cáo tổng quát. Đây là một thứ khác mà chúng ta cần tìm hiểu khi chúng ta tải về phiên bản dùng thử. Nếu nó cung cấp một báo cáo toàn diện khi thất bại, nó sẽ phú hợp với dự án.

Câu hỏi 8: Công cụ có thể tương tác với hệ thống quản lý kịch bản kiểm thử và quản lý lỗi?

Thật tốt nếu công ty chúng ta đã có một công cụ quản lý kịch bản kiểm thử và quản lý lỗi. Công ty sẽ muốn công cụ kiểm thử tự động có thể tương tác với những công cụ quản lý có sãn để toàn bộ vòng đời ứng dúng có thể được quản lý một cách chính xác.

QTP hỗ trợ QLM, Coded UI hỗ trợ TFS và TestComplete hỗ trợ QAComplete. Vài công cụ mã nguồn mở cũng có khả năng tương tác với những công cụ quản lý kiểm thử mã nguồn mở khác.

Câu hỏi 9: Hỗ trợ kỹ thuật chính thức của công cụ là như thế nào?

Ỡ đây chúng ta chỉ nói về các công cụ thương mại. Khi chúng ta lựa chọn một công cụ thương mại, sự hỗ trợ chính thức là một nhân tố rất quan trọng. Hãy nhìn vào các bài đào tạo/hướng dẫn cung cấp bởi trang chủ. Trang web có các video/clip và bài hướng dẫn? Trang web có các diễn đàn chính thức để hỏi câu hỏi? Hãy tải một bản dùng thử và gửi một câu hỏi trên diễn đàn và xem thử câu trả lời sẽ có trong bao lâu.? Nhà cung cấp công cụ có hỗ trợ qua điện thoại hay không?

Những câu hỏi này nên được nhắc lại bất cứ khi nào chúng ta trả tiền cho một công cụ. Nếu công cụ không được hỗ trợ tốt, đừng tốn tiền cho nó.

Câu hỏi 10: Vài nhân tố kỹ thuật khác cần xem xét:

Hỗ trợ Record/Playback

Nó không phải là một hướng tiếp cận được khuyết khích trong kiểm thử tự động, nhưng nó là một chức năng nên có trong công cụ kiểm thử. Nó đơn giản hóa quá trình học công cụ và giúp đỡ những kịch bản đơn giản.

Phương thức nhận diện đối tượng khác nhau và hỗ trợ lập bản đồ đối tượng

Có thể nhận diện một đối tượng bằng nhiều phương thức khác nhau. Vài đối tượng sẽ khó để xác định. Vậy nên có nhiều phương thức khác nhau cho việc nhận diện đối tượng sẽ rất hữu ích. Ví dụ như, Selenium hỗ trợ phương thức xác định đối tượng với id, name, class, link text, XPath, CSS Selector và JavaScript. Nếu một phương thức không hoạt động, chúng ta có những cách khác để lựa chọn là một điểm mạnh của công cụ.

Cũng như vậy, một lựa chọn để lập bản đồ những đối tượng đang có trong một hệ dữ liệu. Hệ dữ liệu nên có khả năng chỉnh sửa và quản lý dễ dàng. Cũng nên nhớ là, Selenium không có bất kỳ một hỗ trợ có sẵn để lập bản đồ đối tượng.

Hỗ trợ nhiều phương thức xác nhận hay điểm kiểm tra

Kịch bản kiểm thử thành công hay thất bại là dựa vào các điểm kiểm tra hay sự xác nhận. Nếu công cụ có nhiều phương thức để kiểm tra các kết quả mong muốn, nó tốt. QTP có nhiều phương thức xác nhận như Standard, Bitmap, Table, XML, Database và File Content.

Xử lý phục hồi các kịch bản

Nếu kịch bản kiểm thử thất bại và chúng ta muốn tiếp tục thực thi, công cụ có hỗ trợ hay không? Nếu phục hồi kịch bản dễ thiết lập, nó sẽ cho phép chúng ta thực thi kiểm thử mà không bị trục trặc gì. Chúng ta có thể thực thi kịch bản kiểm thử xuyên đêm và sáng hôm sau sẽ có kết quả. Điều này chỉ có thể khi công cụ có khả năng xử lý phục hồi kịch bản. Mặt khác, một lượng lớn công sức kiểm thử sẽ vô ích nếu không thể xử lý việc phục hồi kịch bản.

Kết luận

Hãy luôn nhớ rằng không có công cụ nào tốt hay xấu. Nó phụ thuộc vào yêu cầu của chúng ta và đặc điểm sản phẩm.

Selenium có thể là một công cụ phổ biến, nhưng nếu sản phẩm của chúng ta là trên Desktop, công cụ này là vô ích. Hiểu rõ sản phẩm trước và sau đó hãy tìm kiếm công cụ phù hợp, đúng với các yêu cầu bằng các câu hỏi ở trên.

Lựa chọn công cụ chính xác đóng vai trò quan trọng để việc kiểm thử tự động thành công.