Tái cấu trúc mã Javascript trong kiểm thử tự động trên Selenium Framework
Số trang: 7
Loại file: pdf
Dung lượng: 1.92 MB
Lượt xem: 17
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài báo này đưa ra một cách tiếp cận mới của kịch bản kiểm thử tự động tạo mã JavaScript tái cấu trúc ứng dụng Web. Selenium là framework cốt lõi, cung cấp các API linh hoạt để kiểm thử tự động hóa.
Nội dung trích xuất từ tài liệu:
Tái cấu trúc mã Javascript trong kiểm thử tự động trên Selenium FrameworkHà Thị Minh Phương 259 Tái cấu trúc mã Javascript trong kiểm thử tự động trên Selenium Framework Hà Thị Minh Phương Khoa Công nghệ Thông tin và Truyền thông, Đại học Đà Nẵng htmphuong@sict.udn.vn Tóm tắt. Kịch bản kiểm tra tự động đóng một vai trò quan trọng trong kiểm thử tự động. Kiểm thử tự động đã trở thành một chủ đề nghiên cứu nóng trong ứng dụng Web để tăng chất lượng kiểm thử. Để tái cấu trúc mã JavaScript của ứng dụng Web được thuận tiện hơn, một cách tiếp cận tạo ra các kịch bản tự động từ trường hợp kiểm thử - test case được xác định sẽ giới thiệu trong bài báo này. Trước tiên, nó mô tả các trường hợp kiểm thử sử dụng định dạng XML. Sau đó, Selenium là một framework - nền tảng hỗ trợ nhiều trình duyệt kiểm thử, một phương pháp để chuyển đổi mô tả XML vào các tập lệnh kiểm tra dựa trên khung Selenium cũng được đề xuất để phục vụ cho việc kiểm thử tự động trên ứng dụng Web. Từ khóa: kiểm thử tự động, tái cấu trúc, XML, JavaScript, Selenium.1 Đặt vấn đề Hiện nay các ứng dụng Web đang dần dần được phổ biến nhiều hơn hơn các ứng dụngWinform, các trình duyệt Web dựa trên các chuẩn của HTML5 và CSS3. Điều này cho việc lậptrình giao diện người dùng trong các ứng dụng Web trở nên dễ dàng và thuận lợi hơn. Mặc dùsự phát triển nhanh chóng của công nghệ, nếu chương trình vẫn được lập trình bằng tay thay vìtự động tạo ra, mã phải được sắp xếp lại, điều này đòi hỏi sự cải thiện chất lượng phần mềmphải được tăng lên. Để phát hiện và sửa những lỗi, các kỹ sư có ít lựa chọn để thông qua kịchbản kiểm thử sử dụng các trình gỡ lỗi [1]. Tuy nhiên, vấn đề tương thích của nhiều trình duyệtvẫn gây phiền hà cho các nhà phát triển và người kiểm thử, khi thiết kế và lập trình các trangweb bằng kỹ thuật JavaScript với mỗi trình duyệt có thể phải có bộ phân tích HTML / CSS vàcông cụ JavaScript của chính nó. Đây một thách thức lớn đối với đảm bảo chất lượng và bảo trìphần mềm, cần thiết phải ứng dụng web để tái cấu trúc mã JavaScript khi xem xét việc chuyểnứng dụng web giữa các trình duyệt. Martin Fowler [2] đã chỉ ra unit test – kiểm thử đơn vị là điều kiện tiên quyết cho việc táicấu trúc ứng dụng Web. Đối với việc tái cấu trúc mã, bước quyết định là xây dựng một bộ hệthống unit test hoàn chỉnh, nếu không thì không có sự thay đổi của các hàm chương trình trướcvà sau khi tái cấu trúc, đây sự khó khăn để đảm bảo cho lập trình hiệu quả. Để đảm bảo chấtlượng phần mềm khi tái cấu trúc, unit test là một phần tất yếu. Tuy nhiên, functional function –kiểm thử chức năng hiệu quả và có ích hơn đối với JavaScript hơn là unit test [3]. Các lý do đểgiải thích cho việc này như sau: Một là các unit test được sử dụng trong các mô-đun logic màcác thuật toán được thực hiện. Unit test chỉ chỉ giám sát kết quả kiểm tra và đánh giá nó đúnghay sai giá trị từ kết quả mong đợi, trong khi mã JavaScript có thể thực hiện hiệu quả trong cáctrang Web. Hai là, mã JavaScript nên được tương thích với mỗi trình duyệt khác nhau. Mộttrang Web có thể hiển thị trong các trình duyệt khác nhau. Kết luận ở đây là trước khi bắt đầutái cấu trúc lại JavaScript, chúng ta cần phải xây dựng và tích hợp hệ thống kiểm thử chức năngcho ứng dụng Web.260 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Bài viết này được tổ chức như sau phần I đặt vấn đề, phần II giới thiệu về kiểm thử ứng dụngWeb và tự động hóa dựa trên Selenium. Phần III trình bày ngắn gọn quá trình tự động tạo cáctập lệnh chức năng. Phần IV thảo luận về thuật toán chính và chuyển đổi về việc thay đổi biểuthức thống nhất thành các tập lệnh thực thi. Phần V đưa ra kết luận và các công trình trongtương lai.2 Giới thiệu kiểm thử tự động Công cụ kiểm thử tự động là cực kỳ quan trọng trong kiểm thử tự động. Các chức năng củacác công cụ này là tương tự. Bên cạnh việc ghi lại hành động của người dùng, cần phải thựchiện nhiều tính năng hơn, chẳng hạn như thực hiện các kịch bản hành động và tạo ra các kịchbản kiểm thử. Kiểm thử tự động ứng dụng Web hiện nay chỉ được sử dụng để kiểm tra hồi quytrong ngành công nghiệp để thực hiện giảm chi phí [4]. Rất nhiều công cụ kiểm tra tự động đã được xuất bản cho các ứng dụng Web, chẳng hạn nhưQTP, Win Runner, Robot và Silk Test [5] .etc. Trong lĩnh vực nghiên cứu của MBT, Tuomas,Tommi và Mika đã thực hiện một framework làm việc bởi cơ chế hướng theo từ khóa, chúngkết hợp mô hình thử nghiệm trừu tượng với các tập lệnh kiểm tra tại lần đầu tiên[7]. Trên thựctế, họ tập trung vào những điểm khác nhau với ngữ cảnh kiểm thử hoặc mục đích ứng dụng.Hình 1 mô tả cấu trúc của framework kiểm thử tự động ...
Nội dung trích xuất từ tài liệu:
Tái cấu trúc mã Javascript trong kiểm thử tự động trên Selenium FrameworkHà Thị Minh Phương 259 Tái cấu trúc mã Javascript trong kiểm thử tự động trên Selenium Framework Hà Thị Minh Phương Khoa Công nghệ Thông tin và Truyền thông, Đại học Đà Nẵng htmphuong@sict.udn.vn Tóm tắt. Kịch bản kiểm tra tự động đóng một vai trò quan trọng trong kiểm thử tự động. Kiểm thử tự động đã trở thành một chủ đề nghiên cứu nóng trong ứng dụng Web để tăng chất lượng kiểm thử. Để tái cấu trúc mã JavaScript của ứng dụng Web được thuận tiện hơn, một cách tiếp cận tạo ra các kịch bản tự động từ trường hợp kiểm thử - test case được xác định sẽ giới thiệu trong bài báo này. Trước tiên, nó mô tả các trường hợp kiểm thử sử dụng định dạng XML. Sau đó, Selenium là một framework - nền tảng hỗ trợ nhiều trình duyệt kiểm thử, một phương pháp để chuyển đổi mô tả XML vào các tập lệnh kiểm tra dựa trên khung Selenium cũng được đề xuất để phục vụ cho việc kiểm thử tự động trên ứng dụng Web. Từ khóa: kiểm thử tự động, tái cấu trúc, XML, JavaScript, Selenium.1 Đặt vấn đề Hiện nay các ứng dụng Web đang dần dần được phổ biến nhiều hơn hơn các ứng dụngWinform, các trình duyệt Web dựa trên các chuẩn của HTML5 và CSS3. Điều này cho việc lậptrình giao diện người dùng trong các ứng dụng Web trở nên dễ dàng và thuận lợi hơn. Mặc dùsự phát triển nhanh chóng của công nghệ, nếu chương trình vẫn được lập trình bằng tay thay vìtự động tạo ra, mã phải được sắp xếp lại, điều này đòi hỏi sự cải thiện chất lượng phần mềmphải được tăng lên. Để phát hiện và sửa những lỗi, các kỹ sư có ít lựa chọn để thông qua kịchbản kiểm thử sử dụng các trình gỡ lỗi [1]. Tuy nhiên, vấn đề tương thích của nhiều trình duyệtvẫn gây phiền hà cho các nhà phát triển và người kiểm thử, khi thiết kế và lập trình các trangweb bằng kỹ thuật JavaScript với mỗi trình duyệt có thể phải có bộ phân tích HTML / CSS vàcông cụ JavaScript của chính nó. Đây một thách thức lớn đối với đảm bảo chất lượng và bảo trìphần mềm, cần thiết phải ứng dụng web để tái cấu trúc mã JavaScript khi xem xét việc chuyểnứng dụng web giữa các trình duyệt. Martin Fowler [2] đã chỉ ra unit test – kiểm thử đơn vị là điều kiện tiên quyết cho việc táicấu trúc ứng dụng Web. Đối với việc tái cấu trúc mã, bước quyết định là xây dựng một bộ hệthống unit test hoàn chỉnh, nếu không thì không có sự thay đổi của các hàm chương trình trướcvà sau khi tái cấu trúc, đây sự khó khăn để đảm bảo cho lập trình hiệu quả. Để đảm bảo chấtlượng phần mềm khi tái cấu trúc, unit test là một phần tất yếu. Tuy nhiên, functional function –kiểm thử chức năng hiệu quả và có ích hơn đối với JavaScript hơn là unit test [3]. Các lý do đểgiải thích cho việc này như sau: Một là các unit test được sử dụng trong các mô-đun logic màcác thuật toán được thực hiện. Unit test chỉ chỉ giám sát kết quả kiểm tra và đánh giá nó đúnghay sai giá trị từ kết quả mong đợi, trong khi mã JavaScript có thể thực hiện hiệu quả trong cáctrang Web. Hai là, mã JavaScript nên được tương thích với mỗi trình duyệt khác nhau. Mộttrang Web có thể hiển thị trong các trình duyệt khác nhau. Kết luận ở đây là trước khi bắt đầutái cấu trúc lại JavaScript, chúng ta cần phải xây dựng và tích hợp hệ thống kiểm thử chức năngcho ứng dụng Web.260 KỶ YẾU HỘI THẢO KHOA HỌC QUỐC GIA CITA 2017 “CNTT VÀ ỨNG DỤNG TRONG CÁC LĨNH VỰC” Bài viết này được tổ chức như sau phần I đặt vấn đề, phần II giới thiệu về kiểm thử ứng dụngWeb và tự động hóa dựa trên Selenium. Phần III trình bày ngắn gọn quá trình tự động tạo cáctập lệnh chức năng. Phần IV thảo luận về thuật toán chính và chuyển đổi về việc thay đổi biểuthức thống nhất thành các tập lệnh thực thi. Phần V đưa ra kết luận và các công trình trongtương lai.2 Giới thiệu kiểm thử tự động Công cụ kiểm thử tự động là cực kỳ quan trọng trong kiểm thử tự động. Các chức năng củacác công cụ này là tương tự. Bên cạnh việc ghi lại hành động của người dùng, cần phải thựchiện nhiều tính năng hơn, chẳng hạn như thực hiện các kịch bản hành động và tạo ra các kịchbản kiểm thử. Kiểm thử tự động ứng dụng Web hiện nay chỉ được sử dụng để kiểm tra hồi quytrong ngành công nghiệp để thực hiện giảm chi phí [4]. Rất nhiều công cụ kiểm tra tự động đã được xuất bản cho các ứng dụng Web, chẳng hạn nhưQTP, Win Runner, Robot và Silk Test [5] .etc. Trong lĩnh vực nghiên cứu của MBT, Tuomas,Tommi và Mika đã thực hiện một framework làm việc bởi cơ chế hướng theo từ khóa, chúngkết hợp mô hình thử nghiệm trừu tượng với các tập lệnh kiểm tra tại lần đầu tiên[7]. Trên thựctế, họ tập trung vào những điểm khác nhau với ngữ cảnh kiểm thử hoặc mục đích ứng dụng.Hình 1 mô tả cấu trúc của framework kiểm thử tự động ...
Tìm kiếm theo từ khóa liên quan:
Selenium Framework Cấu trúc mã Javascript Kiểm thử tự động Kịch bản kiểm tra tự động Kỹ thuật kiểm thử Selenium Remote ControlTài liệu liên quan:
-
Giáo trình Lập trình nâng cao: Phần 2 - Nguyễn Văn Vinh
153 trang 43 0 0 -
Bài giảng Kiểm thử - Chương 6: Kiểm thử phần mềm
63 trang 35 0 0 -
Bài giảng Kiểm thử và đảm bảo chất lượng phần mềm: Chương 3
64 trang 31 0 0 -
Quản trị dự án phần mềm: Phần 1
119 trang 26 0 0 -
Bài giảng Kỹ thuật lập trình - TS. Vũ Hương Giang
8 trang 24 0 0 -
Bài giảng Kiểm thử phần mềm - Chương 0: Giới thiệu môn học
6 trang 24 0 0 -
Bài giảng Kỹ thuật lập trình - Bài 7: Kiểm thử
62 trang 23 0 0 -
Bài giảng Công nghệ phần mềm: Chương 5 - Hoàng Thị Hà
61 trang 19 0 0 -
Giáo trình Kiểm thử phần mềm: Phần 2
164 trang 17 0 0 -
23 trang 16 0 0