1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và phát triển mô hình và công cụ kiểm thử tự động ứng dụng web

73 8 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Hồn thiện quản lý vật tư Cơng ty Thủy điện Tuyên Quang VŨ KHẢI HOÀN Hoanvk1@gmail.com Ngành Quản lý kinh tế Giảng viên hướng dẫn: PGS.TS Đoàn Xuân Thủy Viện: Kinh tế Quản lý HÀ NỘI, 2021 TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ Hồn thiện quản lý vật tư Cơng ty Thủy điện Tuyên Quang VŨ KHẢI HOÀN Hoanvk1@gmail.com Ngành Quản lý kinh tế Giảng viên hướng dẫn: PGS.TS Đoàn Xuân Thủy Viện: Kinh tế Quản lý HÀ NỘI, 2021 Chữ ký GVHD ĐỀ TÀI LUẬN VĂN Hoàn thiện quản lý vật tư Công ty Thủy điện Tuyên Quang Chuyên ngành: Quản lý kinh tế Tác giả luận văn: Vũ Khải Hoàn Mã số đề tài: 18BQLKT-BK07 Giáo viên hướng dẫn Ký ghi rõ họ tên PGS.TS Đồn Xn Thủy Lời cam đoan Tơi xin cam đoan luận văn kết trình học tập, nghiên cứu cá nhân Các số liệu, nội dung trình bày luận văn trung thực, có nguồn gốc rõ ràng, trích dẫn có tính kế thừa, phát triển từ giáo trình, tài liệu, website tham khảo Tơi xin chịu trách nhiệm đề tài nghiên cứu Hà Nội, ngày 31 tháng năm 2021 Học viên Vũ Khải Hoàn Lời cảm ơn Em xin gửi lời cảm ơn chân thành sâu sắc đến Giáo viên hướng dẫn PGS.TS Đồn Xn Thủy – người tận tình dạy, hướng dẫn em từ bước q trình làm thực nghiệm hồn thành luận văn này, Em xin chân thành cảm ơn quý Thầy, Cô Viện Kinh tế Quản lý, Đại học Bách khoa Hà Nội giúp đỡ em suốt trình học tập thực đề tài luận văn thạc sĩ Mặc dù cố gắng nhiều, song khơng thể tránh khỏi thiếu sót, em mong nhận góp ý, dạy q Thầy Cơ Em xin chân thành cảm ơn! Tóm tắt nội dung luận văn Nội dung luận văn bao gồm 03 chương: - Chương 1: Lý luận chung công tác quản lý vật tư doanh nghiệp - Chương 2: Phân tích, đánh giá thực trạng cơng tác quản lý vật tư Công ty Thủy điện Tuyên Quang - Chương 3: Một số giải pháp nhằm hoàn thiện quản lý vật tư Công ty Thủy điện Tuyên Quang Học viên Ký ghi rõ họ tên Vũ Khải Hoàn Mục lục Mục lục i Danh mục hình vẽ iii Danh mục bảng iv Danh mục công thức v Danh mục từ viết tắt vi Danh mục thuật ngữ vii Chương Giới thiệu đề tài 1.1 Đặt vấn đề 1.2 Mục tiêu phạm vi đề tài 1.3 Định hướng giải pháp 1.4 Bố cục luận văn Chương Cơ sở lý thuyết 2.1 Tổng quan kiểm thử phần mềm 2.1.1 Khái niệm kiểm thử phần mềm 2.1.2 Các nguyên tắc kiểm thử phần mềm 2.1.3 Quy trình kiểm thử phần mềm 2.1.4 Các loại kiểm thử phần mềm 2.1.5 Các kĩ thuật kiểm thử phần mềm 2.2 Kiểm thử tự động 12 2.2.1 Khái niệm kiểm thử tự động 12 2.2.2 So sánh kiểm thử tự động kiểm thử thủ công 12 2.2.3 Quy trình kiểm thử tự động 13 2.3 Các công cụ kiểm thử tự động 15 2.3.1 Selenium 16 2.3.2 QTP (Quick Test Professional) 18 2.3.3 RANOREX 18 2.3.4 Các công cụ tự động không yêu cầu lập trình 19 Chương Hướng tiệp cận giải pháp 21 3.1 Ý tưởng giải pháp 21 3.2 Mơ hình hoạt động công cụ kiểm thử tự động không cần lập trình 22 3.3 Mơ tả cấu hình liệu đầu vào 23 3.3.1 Ví dụ chức kiểm thử 24 3.3.2 Cấu hình Sheet Test Scenario 27 i 3.3.3 Cấu hình Sheet Test Data 28 3.3.4 Cấu hình Sheet Test Step 30 3.3.5 Cấu hình Sheet Test Result 31 3.3.6 Mối liên hệ sheet Test Data Test Steps 32 3.3.7 Các hành động xây dựng sẵn 35 Chương Phân tích thiết kế xây dựng ứng dụng .40 4.1 Công nghệ sử dụng 40 4.1.1 Tổng quan Selenium 40 4.1.2 Selenium WebDriver 40 4.1.3 Các câu lệnh Selenium WebDriver .41 4.2 hiết kế kiến trúc chương trình 43 4.2.1 Thiết kế cấu trúc gói .43 4.2.2 Thiết kế lớp 44 4.3 Xây dựng ứng dụng 45 4.3.1 Thư viện công cụ sử dụng 45 4.3.2 Kết đạt 45 4.3.3 Minh hoạ chức .46 Chương Thực nghiệm công cụ đánh giá kết .49 5.1 Triển khai công cụ vào kiểm thử thực tế 49 5.1.1 Giới thiệu đối tượng mục đích kiểm thử 49 5.1.2 Mô tả chức kiểm thử tự động .49 5.2 Kết đạt đánh giá ưu nhược điểm 54 Chương Kết luận hướng phát triển 57 6.1 Kết luận 57 6.2 Hướng phát triển 58 Tài liệu tham khảo 59 ii Danh mục hình vẽ Hình Sơ đồ mơ tả mơ hình hoạt động cơng cụ luận văn 22 Hình Cấu hình sheet Test Data 28 Hình Cấu hình sheet Test Result 32 Hình Thiết kế cấu trúc gói ứng dụng 43 Hình Thiết kế lớp ứng dụng 44 Hình Giao diện cơng cụ kiểm thử tự động 46 Hình Hộp thoại cho phép chọn file định dạng xls, xlsx 46 Hình Chọn thư mục để lưu kết test 47 Hình Chọn button Run Test để thực thi test 47 Hình 10 Kết kiểm thử in công cụ 48 Hình 11 Kết kiểm thử lưu file excel 48 Hình 12 Thời gian huấn luyện sử dụng công cụ 54 Hình 13 Thời gian tạo liệu kiểm thử cơng cụ 54 Hình 14 Thời gian kiểm thử viên chạy chương trình kiểm thử 55 iii Danh mục bảng Bảng So sánh kiểm thử thủ công kiểm thử tự động 12 Bảng Cấu hình sheet Test Scenario 24 Bảng Dữ liệu kiểm thử chức đăng nhập 25 Bảng Các bước kiểm thử chức đăng nhập 27 Bảng Kết kiểm thử chức đăng nhập 27 Bảng Thông tin chi tiết sheet Test Scenario 28 Bảng Thông tin chi tiết sheet Test Data .29 Bảng Chi tiết loại test case 29 Bảng Thông tin chi tiết sheet Test Step .31 Bảng 10 Thông tin chi tiết sheet Test Result 32 Bảng 11 Dữ liệu sheet Test Step 33 Bảng 12 Dữ liệu sheet Test Data 33 Bảng 13 Các Action xây dựng sẵn 36 Bảng 14 Ví dụ câu lệnh lập trình điều khiển ứng dụng web 37 Bảng 15 Ví dụ hành động cơng cụ kiểm thử tự động 38 Bảng 16 Bảng câu lệnh liên quan đến trình duyệt 41 Bảng 17 Bảng câu lệnh tìm kiếm phần tử web (WebElement) 42 Bảng 18 Bảng câu lệnh Switch .42 Bảng 19 Bảng câu lệnh Wait 43 Bảng 20 Danh sách thư viện công cụ sử dụng 45 Bảng 21 Thơng tin chương trình 45 Bảng 22 Mô tả use case đăng nhập .50 Bảng 23 Mô tả use case mượn device 51 Bảng 24 Mô tả use case yêu cầu device 52 Bảng 25 Mô tả use case thông báo device .53 Bảng 26 So sánh hiệu trình thực nghiệm 55 iv Danh mục công thức Công thức Hiệu suất cải thiện kiểm thử 55 v 4.3.3 Minh hoạ chức Cơng cụ luận văn xây dựng có giao diện gồm button để chọn file chọn thư mục chứa kết test Hình Hình Giao diện cơng cụ kiểm thử tự động Hướng dẫn sử dụng công cụ sau: Bước 1: Người dùng nhấn Choose File để chọn file test file excel có định dạng xlsx xls Khi hộp thoại cho phép người dùng chọn file hiển thị Hình Hình Hộp thoại cho phép chọn file định dạng xls, xlsx 46 Bước 2: Người dùng chọn thư mục để lưu kết test Giả sử chọn thư mục lưu kết test Hình Hình Chọn thư mục để lưu kết test Bước 3: Nhấn vào nút Run Test để thực thi test Hình Hình Chọn button Run Test để thực thi test 47 Bước 4: Kết test hiển thị sau công cụ tự động hồn thành q trình chạy kịch kiểm thử Hình 10 Kết kiểm thử in cơng cụ Dữ liệu báo cáo kết kiểm thử ngồi in trực tiếp cơng cụ cịn lưu dạng HTML Excel folder htmlReport excelReport Hình 11 Kết kiểm thử lưu file excel 48 Chương Thực nghiệm công cụ đánh giá kết 5.1 Triển khai công cụ vào kiểm thử thực tế 5.1.1 Giới thiệu đối tượng mục đích kiểm thử Để đánh giá cơng cụ kiểm thử tự động ứng dụng web luận văn tiến hành thực nghiệm hiệu Phòng quản lý đảm bảo chất lượng Trung tâm nghiên cứu phát triển Điện thoại Di động Việt Nam (SVMC) Đối tượng thực thực nghiệm 10 kiểm thử viên, người có khả code (bậc Kỹ sư lập trình hay cịn gọi Engineer, chức danh cho nhân viên pass chứng thuật toán STC mức Advance trở lên Samsung), viết chương trình kiểm thử tự động với Selenium WebDriver người chưa code làm công việc kiểm thử thủ công túy (bậc Kiểm thử viên hay gọi Professional, chức danh cho nhân viên khơng có chứng thuật toán) Cả đội thử nghiệm 40 liệu kiểm thử (Test Data) Hệ thống quản lý device nội bộ, bao gồm chức đăng nhập hệ thống, mượn trả device, request bổ sung device mới, thông báo device Độ hiệu đánh giá tính thời gian huấn luyện sử dụng cơng cụ lẫn thời gian hồn thành nhiệm vụ 5.1.2 Mô tả chức kiểm thử tự động Chức đăng nhập hệ thống Tên use case Đăng nhập Tác nhân User Tiền điều kiện User có tài khoản để đăng nhập hệ thống Đảm bảo thành công User đăng nhập vào hệ thống Đảm bảo tối thiểu Trở lại hình đăng nhập để thành viên đăng nhập lại 49 Kích hoạt User chọn chức đăng nhập Chuỗi kiện User kích hoạt trang đăng nhập Hệ thống hiển thị trang đăng nhập gồm thông tin: MySingleID Password User nhập MySingleID, Password click vào nút “Login” Hệ thống kiểm tra tính hợp lệ tài khoản Hệ thống hiển thị giao diện trang quản lý device Ngoại lệ: 2.1 User nhập tài khoản mật sai 2.1.1 Hệ thống hiển thị thông báo lỗi yêu cầu nhập lại 2.1.2 User nhập lại thông tin tài khoản thực bước sau 2.2 Tài khoản mà User đăng nhập không tồn 2.1.1 Hệ thống thông báo lỗi yêu cầu người dùng nhập lại 2.1.2 User nhập lại thông tin tài khoản thực bước sau Bảng 22 Mô tả use case đăng nhập Chức mượn device Tên use case Đăng nhập Tác nhân User Tiền điều kiện User đăng nhập hệ thống vào hệ thống, Device cần mượn cần cịn 50 Đảm bảo thành cơng Device mượn thêm vào danh sách mượn User Đảm bảo tối thiểu Trở lại hình trang chủ quản lý device Kích hoạt User chọn chức mượn device Chuỗi kiện User click vào ô search đầu trang chủ quản lý danh sách device User nhập tên device muốn tìm kiếm click search User chọn vào nút Mượn dòng device muốn mượn danh sách kết Hệ thống hiển thị popup thông tin device, số lượng device cần mượn nút Xác nhận mượn User điền số lượng device cần mượn, ấn nút Xác nhận mượn Hệ thống thông báo device thêm thành công vào danh sách mượn User Ngoại lệ: 2.1 User nhập tên device không tồn hệ thống 2.1.1 Hệ thống hiển thị danh sách trống 2.1.2 User nhập lại thông tin tên device thực bước sau 2.2 Số lượng device kho không đủ cho User mượn 2.1.1 Hệ thống thông báo lỗi yêu cầu người dùng nhập lại số lượng 2.1.2 User nhập lại số lượng cần mượn ấn nút Xác nhận Bảng 23 Mô tả use case mượn device 51 Chức yêu cầu bổ sung device Tên use case Đăng nhập Tác nhân User Tiền điều kiện User đăng nhập hệ thống vào hệ thống Đảm bảo thành công Device thêm vào danh sách yêu cầu thêm từ User Đảm bảo tối thiểu Trở lại hình trang chủ quản lý device Kích hoạt User chọn chức Request new device Chuỗi kiện User click vào chức yêu cầu device (Request new device) trang chủ Hệ thống hiển thị popup với trường cần nhập tên máy, model name, số lượng, mục đích request nút Submit User nhập đầy đủ thông tin vào trường nhấn nút Submit Hệ thống thông báo tiếp nhận thông tin yêu cầu thêm quay trở trang chủ Ngoại lệ: 2.1 User nhập tên device model name không tồn hệ thống 2.1.1 Hệ thống thông báo lỗi User cần nhập lại 2.2 User vượt giới hạn số lần yêu cầu device tháng 2.1.1 Hệ thống thông báo lỗi Bảng 24 Mô tả use case yêu cầu device 52 Chức thông báo device Tên use case Đăng nhập Tác nhân User Tiền điều kiện User đăng nhập hệ thống vào hệ thống, Device có danh sách mượn User Đảm bảo thành công Device thêm vào danh sách bị thất lạc Đảm bảo tối thiểu Trở lại hình trang chủ quản lý device Kích hoạt User chọn chức Thơng báo Chuỗi kiện User click vào chức Quản lý device Hệ thống danh sách device mượn User User chọn vào nút Thơng báo dịng device bị thất lạc Hệ thống hiển thị popup hỏi User muốn xác nhận việc thông báo device User chọn nút Xác nhận popup Hệ thống thông báo thêm device User vào danh sách bị thất lạc hiển thị danh sách device User Bảng 25 Mô tả use case thông báo device 53 5.2 Kết đạt đánh giá ưu nhược điểm Thời gian huấn luyện sử dụng cơng cụ trình bày luận văn so với cơng cụ Selenium IDE Hình 12 Thời gian huấn luyện sử dụng công cụ Thời gian để tạo liệu kiểm thử công cụ luận văn so với cơng cụ Selenium IDE Hình 13 Thời gian tạo liệu kiểm thử công cụ 54 Thời gian để kiểm thử viên chạy chương trình kiểm thử luận văn so với công cụ Selenium IDE Hình 14 Thời gian kiểm thử viên chạy chương trình kiểm thử Từ ta so sánh thời gian giảm trung bình sử dụng tool luận văn so với sử dụng công cụ Selenium IDE Luận văn lựa chọn giá trị trung vị biểu đồ để đánh giá phần trăm chênh lệch việc sử dụng công cụ Gọi X giá trị trung vị tập liệu thời gian sử dụng công cụ luận văn, Y giá trị trung vị tập liệu thời gian sử dụng cơng cụ Selenium IDE Từ hiệu suất P tính công thức sau: P= Y−X Y % Công thức Hiệu suất cải thiện kiểm thử Engineer Professional 40% 9,47% Thời gian giảm tạo liệu kiểm thử 23,52% 31,96% Thời gian giảm chạy liệu 63,63% 18,87% Thời gian giảm huấn luyện dùng công cụ Bảng 26 So sánh hiệu q trình thực nghiệm 55 Từ đó, ta đưa đánh giá chung, sử dụng công cụ kiểm thử tự động ứng dụng Web luận văn xây dựng thời gian huấn luyện, thời gian tạo liệu kiểm thử thời gian chạy kiểm thử tối ưu so với sử dụng công cụ Selenium IDE Đặc biệt thời gian tạo liệu kiểm thử giảm đáng kể, với nhân viên Professional Qua ta thấy cơng cụ luận văn xây dựng phù hợp tối ưu cho kiểm thử viên khơng có kiến thức tốt lập trình 56 Chương Kết luận hướng phát triển 6.1 Kết luận Trong trình làm đồ án, giúp đỡ nhiệt tình giảng viên hướng dẫn, TS Trịnh Tuấn Đạt, em thực đề tài: ”Nghiên cứu phát triển mơ hình cơng cụ kiểm thử tự động ứng dụng Web ” Công cụ hỗ trợ kiểm thử tự động website hoạt động dựa tảng công cụ Selenium WebDriver, mơ hình tập hợp câu lệnh thực hành động tương tác ứng dụng web thành action định sẵn file excel Điều giúp cho kiểm thử viên khơng cần có kiến thức lập trình sử dụng để viết kịch kiểm thử dễ dàng Bình thường, hành động tương tác ứng dụng web cần phải viết câu lệnh gọi API Selenium WebDriver Tuy nhiên, luận văn mơ hình tập hợp câu lệnh thực hành động ứng dụng web thành hành động (action) định sẵn file excel đầu vào Từ cơng việc kiểm thử kiểm thử viên chuẩn bị file excel làm liệu đầu vào Với bước kiểm thử kịch (test step), công cụ đọc vào từ file excel đầu vào tên hành động, phương thức tìm kiếm phần tử web (id, name, xpath, ), giá trị tương ứng giúp xác định phần tử phần tử web đó, giá trị người dùng cần truyền vào tương ứng bước Khi test case tái hiện, bước công cụ truyền tham số thực thi hành động tương ứng ứng dụng web cách tự động Cuối kết test in hạng excel HTML Công cụ kiểm thử tự động ứng dụng web xây dựng luận văn cho thấy nhiều ưu điểm bật Thứ nhất, số lượng use case gia tăng giúp tối ưu việc quản lý kịch cho kiểm thử viên Thứ hai kiểm thử viên tùy ý dạng test case phù hợp với nhiều loại hình test dự án Cuối việc viết kịch kiểm thử công cụ thông qua file excel không tốn nhiều thời gian làm quen cơng cụ phần mềm quen thuộc để viết kịch kiểm thử viên thủ công 57 6.2 Hướng phát triển Hiện chương trình triển khai dự án nội Công cụ đáp ứng yêu cầu kiểm thử chức mức độ Giai đoạn sau, công cụ phát triển thêm tính hỗ trợ tích hợp trình duyệt Web dạng plug-in Firefox hay dạng mở rộng (extension) Chome Bên cạnh đó, cơng cụ hỗ trợ chức Ghi chạy lại giống ứng dụng Selenium IDE, sau action người dùng tự động lưu vào file excel Ngồi cơng cụ thêm chức hỗ trợ kiểm thử với API database 58 Tài liệu tham khảo [1] How Many Websites Are There, https://websitesetup.org/news/how-manywebsites-are-there/, lần truy cập cuối 05/28/20 [2] Prachi Kunte and Prof Dashrath Mane, Automation Testing of Web based application with Selenium and HP UFT (QTP), International Research Journal of Engineering and Technology, Volume: 04 Issue: 06, June -2017 [3] Automation Testing Vs Manual Testing: What’s the Difference, https://www.guru99.com/difference-automated-vs-manual-testing.html, last visited 03/27/21 [4] Monika Sharma and Rigzin Angmo, Web based Automation Testing and Tools, International Journal of Computer Science and Information Technologies, Vol (1), 2014 [5] Antawan Holmes and Marc Kellogg, Automating Functional Tests Using Selenium, IEEE, 2006 [6] Selenium Official Webiste, https://www.selenium.dev [7] Abha Jain, Manish Jain and Sunil Dhankar, A Comparison of RANOREX and QTP Automated Testing Tools and their impact on Software Testing, International Journal of Engineering, Management & Sciences, ISSN-2348 – 3733, Volume-1, Issue-1, January 2014 [8] Introduction to Scripting Languages, https://www.geeksforgeeks.org/introduction-to-scripting-languages [9] Who Earns More, Software Tester Or Developer? Let’s Find Out By Comparing Salary, https://www.softwaretestinghelp.com/who-earns-moresoftware-tester-or-developer-lets-find-out-by-comparing-salary [10] Anurag Dwarakanath, Dipin Era, Aditya Priyadarshi, Neville Dubash & Sanjay Podder, Accelerating Test Automation through a Domain Specific Language, 10th IEEE International Conference on Software Testing, Verification and Validation, 2017 [11] Suresh Thummalapenta, Saurabh Sinha, Nimit Singhania, and Satish Chandra, Automating Test Automation, Zurich, Switzerland, ICSE 2012 59 [12] Himanshi, Nitin Umesh and Amar Saraswat, Automation Testing: An Introduction to Selenium, International Journal of Computer Applications (0975 – 8887), Volume 119 – No.3, June 2015 [13] Davrondzhon Gafurov, Arne Erik Hurum and Martin Markman, Achieving Test Automation with Testers without Coding Skills: An Industrial Report, Conference on Automated Software Engineering (ASE ’18), September 3–7, 2018 [14] Zeng Wandan, Jiang Ningkang and Zhou Xubo, Design and Implementation of a Web Application Automation Testing Framework, Ninth International Conference on Hybrid Intelligent Systems, 2009 Test case, https://en.wikipedia.org/wiki/Test_case, lần truy cập cuối 02/20/21 60 ... công Dưới bảng so sánh kiểm thử tự động kiểm thử thủ công: Kiểm thử thủ công Kiểm thử tự động Kịch kiểm thử thực thi Kịch kiểm thử thực kiểm thử viên, tái thủ công công cụ tự động bước theo kịch... với hệ thống 11 2.2 Kiểm thử tự động 2.2.1 Khái niệm kiểm thử tự động Kiểm thử tự động hoạt động kiểm thử sử dụng công cụ phần mềm hỗ trợ để tự động hóa việc thực thi kiểm tra kiểm soát kết đầu... cơng cụ 3.2 Mơ hình hoạt động công cụ kiểm thử tự động không cần lập trình Hình mơ tả mơ hình hoạt động cơng cụ kiểm thử tự động luận văn Hình Sơ đồ mơ tả mơ hình hoạt động cơng cụ luận văn Mơ hình

Ngày đăng: 08/12/2021, 23:43

Xem thêm:

w