Hướng dẫn kiểm thử website sử dụng công cụ Selenium IDE

MỤC LỤC

Kiểm thử đơn vị (Unit Test)

- Một đơn vị (Unit) là một thành phần phần mềm nhỏ nhất mà ta có thể kiểm thử được, ví dụ: các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc các phương thức (Method). Cũng như các mức kiểm thử khác, kiểm thử đơn vị cũng đòi hỏi phải chuẩn bị trước các ca kiểm thử (hay trường hợp kiểm thử) (test case) hoặc kịch bản (test script), trong đú chỉ định rừ dữ liệu vào, cỏc bước thực hiện và dữ liệu mong muốn sẽ xuất ra.

Kiểm thử hệ thống (System Test)

Stress test tập trung vào các trạng thái tới hạn, các "điểm chết", các tình huống bất thường như đang giao dịch thì ngắt kết nối (xuất hiện nhiều trong test thiết bị như POS, ATM),. - Kiểm thử khả năng phục hồi (Recovery test): Bảo đảm hệ thống có khả năng khôi phục trạng thái ổn định trước đó trong tình huống mất tài nguyên hoặc dữ liệu; đặc biệt quan trọng đối với các hệ thống giao dịch như ngân hàng trực tuyến.

Kiểm thử chấp nhận sản phẩm (Acceptance Test)

- Kiểm thử khả năng vận hành (Performance test): Bảo đảm tối ưu việc phân bổ tài nguyên hệ thống (ví dụ bộ nhớ) nhằm đạt các chỉ tiêu như thời gian xử lý hay đáp ứng câu truy vấn,. Kiểm thử khả năng chịu tải (Stress test hay Load test): Bảo đảm hệ thống vận hành đúng dưới áp lực cao (ví dụ nhiều người truy xuất cùng lúc).

Kỹ thuật kiểm thử hộp đen (Black – box Testing)

- Các lỗi cấu trúc dữ liệu trong truy cập cơ sở dữ liệu bên ngoài. Không giống với kiểm thử hộp trắng được thực hiện sớm trong quá trình kiểm thử, kiểm thử hộp đen được áp dụng trong các giai đoạn sau của kiểm thử. Vì kiểm thử hộp đen không để ý có chủ đích cấu trúc điều khiển, sự quan tâm tập trung trên miền thông tin.

Nếu người kiểm thử muốn sử dụng phương pháp này để tìm tất cả các lỗi trong. Bởi vì nếu chỉ kiểm thử một số điều kiện đầu vào thì không đảm bảo được chương trình đã hết lỗi. Vì thế, để đạt được mục tiêu kiểm thử, người ta đã áp dụng một số phương pháp kiểm thử hộp đen như: phân hoạch tương đương, phân tích giá trị biên.

Giới thiệu về các công cụ testing và cài đặt Selenium IDE

    - Selenium RC (Remote Control): Selenium- RC cho phép các nhà phát triển tự động hóa kiểm thử sử dụng một ngôn ngữ lập trình cho tính linh hoạt tối đa và mở rộng trong việc phát triển logic thử nghiệm. Ví dụ, nếu trình ứng dụng trả về một tập kết quả của việc kiểm thử, và nếu chương trình thử nghiệm tự động cần chạy thử nghiệm trên mỗi phần tử trong tập hợp kết quả, hỗ trợ lặp đi lặp lại các ngôn ngữ lập trình có thể được sử dụng để chuyển đổi thông qua việc tập hợp kết quả, kêu gọi lệnh Selenium chạy thử nghiệm trên mỗi mục. Khả năng sử dụng Selenium- RC với một ngôn ngữ lập trình bậc cao để phát triển các trường hợp thử nghiệm cũng cho phép thử nghiệm tự động được tích hợp với một dự án xây dựng môi trường tự động.

    Nhờ đó tester có thể nhanh chóng tạo một bộ kịch bản kiểm tra (test script) bằng cách trực tiếp thu các thao tác của mình trên đối tượng cần kiểm tra thành lập một tập những câu lệnh “Selenese”. - Ưu điểm: Dễ dàng cài đặt, sử dụng và tiết kiệm thời gian của người dùng, không yêu cầu kinh nghiệm lập trình, có thể debug, set breakpoint, thêm comment vào script để người đọc dễ hình dung, hỗ trợ biểu thức điều kiện và vòng lặp, có thể convert qua các ngôn ngữ lập trình khác nhau như: HTML, Java, C#, Python,…. - Nhược điểm: Không hỗ trợ test report (có thể cài đặt thêm để hiển thị report), không cho phép đọc dữ liệu từ các file như: text(.txt), excel (.xls) , (.csv),… (có thể cài đặt để đọc dữ liệu từ các file trên), không hỗ trợ database và cả mobile testing (việc này có thể vượt qua mức cho phép với 1 plugin trình duyệt).

    - Để cài đặt Selenium IDE, ta vào tab tools trên thanh công cụ của Firefox hoặc cái trình duyệt web chúng ta sử dụng , vào phần Add ons, tìm kiếm Selenium IDE hoặc vào trang chủ https://www.selenium.dev/selenium - ide/ và chọn cài.

    CÁCH THỰC HIỆN TESTING TỰ ĐỘNG

      Các thông tin này giúp ích cho nhân viên kiểm thử cũng như nhân viên lập trình trong quá trình tìm ra nguyên nhân lỗi đã phát hiện trong test case (nếu có). Trong quá trình thu, Selenium IDE sẽ tự động chèn thêm các lệnh vào test case dựa trên hành động của người thực hiện. Một số lưu ý: Sau một liên kết thường ghi lại một lệnh nhấp chuột, phải thay đổi tốc độ chạy của test case để đảm bảo test case tạm dừng cho đến khi trang mới được tải xong.

      Các trường hợp kiểm kiểm thử các thuộc tính của một trang web sẽ đòi hỏi các lệnh xác minh (verify) và khẳng định (assert) các yếu tố trên giao diện. - Khi thu một test case với Selenium IDE, vào trình duyệt hiển thị website ta muốn thực hiện kiểm thử, trỏ truột phải vào bất cứ vị trí nào trên trang, ta sẽ thấy các lệnh xác minh và khẳng định như hình dưới. Vào tag HTML, cần tạo 3 dòng chứa lệnh bao gồm tham số đầu tiên (nếu lệnh yêu cầu có tham số), tham số thứ hai (nếu có).

      Comment có thể được sử dụng để thêm vào các khoảng trống dọc (một hoặc nhiều dòng trắng) vào các test case của chúng ta, khi chúng ta tạo ra các comment trắng. Để lưu lại các bước kiểm thử trên Selenium- IDE sau khi sử dụng, bạn có thể lưu lại một test case riêng lẻ, hay lưu nhiều test case dưới dạng một test suite. • Bắt đầu từ giữa: Chúng ta cũng có thể bắt đầu chạy một test case từ một điểm xác định ở giữa test case, thao tác này cũng được sử dụng trong gỡ lỗi.

      KẾT QUẢ KIỂM THỬ

      Bài toán thử nghiệm

      - Chức năng kiểm tra thứ hạng từ khóa: Để kiểm tra các từ khóa được cài đặt trong web được kiểm thử. 2 Màn hình laptop MÁY KHÔNG TÌM THẤY KẾT QUẢ TÌM KIẾM PHÙ HỢP CHO: MÀN HÌNH LAPTOP. 4 Dế mèn phiêu lưu ký Hiện ra các danh mục về truyện dế mèn phiêu.

      Sự khác nhau giữa kịch bản kiểm thử tự động và kịch bản kiểm thử thủ công

      Với kiểm thử tự động, có hai phần chính mà ta cần quan tâm là test case và dữ liệu kiểm thử. - Test case: Có thể là một lớp hoặc một hàm hoặc một lớp ghi lại một chuỗi sự kiện mà ta thao tác với ứng dụng cần kiểm thử. Khác với khái niệm test case khi thực hiện kiểm thử thủ công là cứ mỗi giá trị đầu vào khác nhau thì sẽ tạo thành một testcase.

      Chức năng kiểm tra khả năng tìm kiếm của trang web

        Do những hạn chế về kinh nghiệm và thời gian tìm hiểu tool và sự phức tạp của ứng dụng check thứ hạng từ khóa, báo cáo trình bày demo một số case cơ bản của chức năng đăng nhập bằng công cụ là Selenium IDE và thực hiện báo cáo kết quả dựa trên framework kiểm thử Chrome. Sau khi thực thi kiểm thử với kịch bản kiểm thử đã được lập phía trên, em xin trình bày một số nhận định về kết quả thử nghiệm với 2 chức năng bao gồm chức năng đăng nhập và chức năng kiểm tra khả năng tìm kiếm của trang web người dùng muốn kiểm thử. - Đăng nhập không nhập tên đăng nhập: Chương trình không đưa ra câu cảnh báo mà reset hai trường tên đăng nhập và mật khẩu đăng nhập về null gây khó khăn cho người sử dụng mới.

        - Đăng nhập không nhập mật khẩu đăng nhập: Chương trình không đưa ra câu cảnh báo mà reset hai trường tên đăng nhập và mật khẩu đăng nhập về null gây khó khăn cho người sử dụng mới. - Giao diện đăng nhập bằng tiếng Việt nhưng giao diện chính của chương trình cũng như các cảnh báo đều bằng tiếng Anh, gây ra sự không nhất quán cũng như ảnh hưởng tới thẩm mỹ của chương trình. • Báo cáo thực tập tốt nghiệp là một tài liệu xúc tích tổng hợp được các vấn đề chính của kiểm thử phần mềm, và có thể được coi là một tài liệu hướng dẫn sử dụng Selenium IDE ngắn gọn rừ ràng bằng tiếng Việt để tham khảo.

        Trong thời gian tới em sẽ tiếp tục nghiên cứu sâu hơn về các vấn đề của kiểm thử phần mềm, và đặc biệt là bộ công cụ kiểm thử ứng dụng web Selenium IDE, để có thể vận dụng vào kiểm thử các ứng dụng lớn hơn trong thực tế công việc trong tương lai nhằm góp một phần nhỏ bé vào công cuộc chuyên nghiệp hóa kiểm thử phần mềm ở Việt Nam.