Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 57 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
57
Dung lượng
4,77 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC KINH TẾ KHOA THỐNG KÊ - TIN HỌC BÁO CÁO THỰC TẬP NGHỀ NGHIỆP NGÀNH HỆ THỐNG THÔNG TIN QUẢN LÝ CHUYÊN NGÀNH QUẢN TRỊ HỆ THỐNG THÔNG TIN TÊN ĐỀ TÀI: NGHIÊN CỨU CÔNG CỤ KIỂM THỬ TỰ ĐỘNG SELENIUM WEBDRIVER VÀ ỨNG DỤNG CHO HỆ THỐNG GURU99 Sinh viên thực : Ngô Thị Kim Phương Lớp : 46K21.3 Đơn vị thực tập : TMA Solutions Bình Định Cán hướng dẫn : Đỗ Trường Giang Giảng viên hướng dẫn : TS Hoàng Thị Thanh Hà Đà Nẵng, tháng 08 năm 2023 LỜI CẢM ƠN Em xin xin cảm ơn đến quý Thầy Cô Khoa Thống kê - Tin học trường Đại Học Kinh Tế Đà Nẵng tạo điều kiện để em có điều kiện thực tập Và em xin chân thành cảm ơn Hồng Thị Thanh Hà nhiệt tình hướng dẫn em hồn thành tốt tập Đặc biệt, em xin chân thành gửi lời cảm ơn đến Mentor Đỗ Trường Giang hướng dẫn trực tiếp, đạo tạo điều kiện giúp đỡ em suốt trình học hỏi thực tập Em xin gửi lời cảm ơn đến anh chị nhân viên, quản lý cơng ty TMA Bình Định hỗ trợ em tìm hiểu cơng ty tạo điều kiện để em hồn thành tốt Trong suốt trình làm đề tài trình tìm hiểu, khơng thể tránh khỏi thiếu sót hạn chế Em mong nhận ý kiến đóng góp phản hồi từ quý thầy để em khắc phục sai sót rút học cho trau dồi thêm kiến thức Em xin chân thành cảm ơn! LỜI CAM ĐOAN Em xin cam đoan cáo thực tập nghề nghiệp em kết đạt hướng dẫn giáo viên hướng dẫn TS Hoàng Thị Thanh Hà Mentor Đỗ Trường Giang Ngồi khơng có chép người khác Nội dung báo cáo thực tập sản phẩm mà em nỗ lực nghiên cứu q trình hướng dẫn tham gia thực tập Công ty TMA Solutions Bình Định Các số liệu, kết trình bày báo cáo hoàn toàn trung thực, em xin chịu hoàn toàn trách nhiệm, kỷ luật mơn nhà trường đề có vấn đề xảy MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU DANH MỤC CÁC TỪ VIẾT TẮT 10 CHƯƠNG 1: TỔNG QUAN VỀ CÔNG TY TMA VÀ VỊ TRÍ TESTER 12 1.1 Giới thiệu tổng quát về công ty TMA Bình Định 12 1.1.1 Giới thiệu công ty: 12 1.1.2 Tầm nhìn và sứ mệnh: 12 1.1.3 Giá trị cốt lõi: 12 1.2 Tổng quan về vị trí Tester 13 1.2.1 Mơ tả vị trí Tester: 13 1.2.2 Các kỹ cần có Tester: 13 1.2.3 Cơ hội nghề nghiệp: 14 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 15 2.1 Tổng quan về kiểm thử phần mềm 15 2.1.1 Khái niệm kiểm thử phần mềm: 15 2.1.2 Mục tiêu kiểm thử phần mềm: 15 2.1.3 Quy trình phát triển phần mềm: 15 2.1.4 Các nguyên tắc kiểm thử: 16 2.1.5 Phân biệt Error/Fault/Failure: 18 2.1.6 Phân biệt Verification & Validation: 18 2.1.7 Sự khác QA & QC: 20 2.2 Vòng đời phát triển phần mềm (SDLC Models): 20 2.2.1 Giai đoạn phát triển phần mềm: 20 2.2.2 Mơ hình WaterFall: 21 2.2.3 Mơ hình V: 22 2.2.4 Mơ hình Agile: 23 2.2.5 Mơ hình Scrum: 26 2.3 Test types- Các loại kiểm thử phần mềm: 27 2.3.1 Manual Testing: 27 2.3.2 Automation Testing: 28 2.3.3 Security Testing: 29 2.3.4 API Testing: 31 2.4 Testing Methods- Phương pháp kiểm thử phần mềm: 32 2.4.1 Static Testing: 32 2.4.2 Dynamic Testing: 33 2.4.3 White Box Testing: 33 2.4.4 Black Box Testing: 34 2.4.5 Grey Box Testing: 35 2.5 Test levels- Các cấp độ của kiểm thử: 35 2.5.1 Unit Testing: 35 2.5.2 Integration Testing: 35 2.5.3 System Testing: 36 2.5.4 Acceptance Testing: 36 2.6 Kỹ thuật thiết kế Test case 37 2.6.1 Specification-based techniques 37 2.6.2 Experience-based techniques: 39 2.7 Tìm hiểu về Python 39 2.7.1 Python gì? 39 2.7.2 Ứng dụng Python: 39 2.8 Tổng quan về Selenium 41 2.8.1 Selenium gì? 41 2.8.2 Ưu điểm và nhược điểm Selenium: 41 CHƯƠNG TRIỂN KHAI DỰ ÁN 43 3.1 Tổng quan về website Guru99 43 3.1.1 Giới thiệu website Guru99: 43 3.1.2 Giao diện website Guru99 Bank: 44 3.2 Đặc tả yêu cầu: 45 3.2.1 Chức Login: 45 3.2.2 Chức Change Password: 46 3.3 Test case: 47 3.3.1 Test case manual cho chức Login: 47 3.3.2 Test case manual cho chức Change Password: 47 3.4 Kết kiểm thử tự động 48 3.4.1.Kết kiểm thử chức Login: 48 3.4.2 Kiểm thử chức Change Password: 49 3.5 Bảng tổng hợp kết kiểm thử theo chức 50 3.5.1.Tổng hợp kết kiểm thử chức Login: 50 3.5.2.Tổng hợp kết kiểm thử chức Change Password: 50 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 51 TÀI LIỆU THAM KHẢO 52 CHECK LIST CỦA BÁO CÁO 52 PHỤ LỤC 54 DANH MỤC HÌNH ẢNH Hình nguyên tắc kiểm thử 16 Hình Vòng đời phát triển phần mềm 20 Hình Mơ hình V 22 Hình Quy trình thực Automation Testing 29 Hình Các dạng Security Testing 30 Hình Black Box Testing 34 Hình Giá trị biên 38 Hình Phân vùng tương đương 38 Hình Bảng định 39 Hình 10 Màn hình đăng nhập Guru99 Bank 44 Hình 11 Màn hình trang chủ Website Guru99 Bank 44 Hình 12.Test case chức Login 47 Hình 13 Test case chức Change Password 47 Hình 14 Kết test_Login01 48 Hình 15 Kết Test_Login02 48 Hình 16 Kết Test_Login03 48 Hình 17 Kết Test_Login04 49 Hình 18 Kết Test_Login05 49 Hình 19 Kết test_CP_01 49 Hình 20 Kết test_CP_01 50 Hình 21 Test Report Login 50 Hình 22 Test Report Change Password 50 Hình 23 Code test_Login01 54 Hình 24 Code test_Login02 54 Hình 25 Code test_Login03 54 Hình 26 Code test_Login04 55 Hình 27 Code test_Login05 55 Hình 28 Code test_CP_01 55 Hình 29 Code test_CP_02 56 DANH MỤC BẢNG BIỂU Bảng 0-1 Phân biệt QA & QC 20 ❖ Nhược điểm: - Tốc độ thực thi: Tự động hóa trình duyệt thơng qua Selenium thường chậm so với kiểm thử thủ cơng tự động hóa API, việc điều khiển trình duyệt phải thơng qua giao diện đồ họa - Phức tạp cấu hình: Cài đặt cấu hình Selenium cho mơi trường kiểm thử địi hỏi nhiều cơng việc cấu hình kỹ thuật, đặc biệt bạn sử dụng nhiều trình duyệt hệ điều hành khác - Giới hạn truy cập vào trang web khác trình duyệt: Do sách bảo mật trình duyệt, Selenium gặp giới hạn thao tác trang web có nhiều chống tự động hóa 42 CHƯƠNG TRIỂN KHAI DỰ ÁN 3.1 Tổng quan về website Guru99 3.1.1 Giới thiệu website Guru99: - Guru99 Bank trang web mô sử dụng để học thực hành kiến thức kiểm thử phần mềm quản lý dự án Trang web cung cấp nhiều khóa học, hướng dẫn tài liệu liên quan đến testing quản lý dự án, cung cấp cho người học môi trường thực hành an toàn để hiểu rõ khía cạnh phức tạp kiểm thử phần mềm - Trong phạm vi trang web Guru99 Bank, có ứng dụng web sử dụng để minh họa khái niệm kiểm thử làm quen với tác vụ cụ thể Một số chức ứng dụng bao gồm: + Đăng nhập Quản lý tài khoản: Ứng dụng cho phép người dùng đăng nhập vào tài khoản người dùng họ quản lý thông tin tài khoản + Chức Change Password: Chức cho phép người dùng thay đổi mật cách cung cấp mật cũ, mật xác nhận mật + Chức New Customer: Người dùng tạo tài khoản khách hàng cung cấp thông tin tên, ngày sinh, địa số điện thoại + Chức Edit Customer: Cho phép người dùng chỉnh sửa thơng tin khách hàng có sẵn + Chức Delete Customer: Cho phép người dùng xóa khách hàng khỏi hệ thống - Trang web Guru99 Bank môi trường thực hành tốt để thử nghiệm kiến thức kiểm thử phần mềm, hiểu rõ chức ứng dụng web cách sử dụng công cụ kiểm thử Selenium để tự động hóa việc kiểm tra 43 3.1.2 Giao diện website Guru99 Bank: - Link website: https://www.demo.guru99.com/V4/ - Mơi trường thực nghiệm: Chrome Hình 10 Màn hình đăng nhập Guru99 Bank Hình 11 Màn hình trang chủ Website Guru99 Bank 44 3.2 Đặc tả yêu cầu: 3.2.1 Chức Login: Chức năng: Đăng nhập vào hệ thống trang web Guru99 - Mô tả: Người dùng sử dụng chức đăng nhập để truy cập vào hệ thống trang web Guru99 Chức cho phép người dùng xác thực tài khoản mật để truy cập vào tính dịch vụ trang web - Luồng chính: Người dùng truy cập trang chủ trang web Guru99: https://www.demo.guru99.com/V4/ Trang web hiển thị giao diện đăng nhập với trường sau: + Trường "User ID" (uid): Người dùng nhập tên tài khoản vào trường + Trường "Password": Người dùng nhập mật vào trường + Nút "Login": Người dùng nhấn nút để thực việc đăng nhập Người dùng nhập thông tin tài khoản mật vào trường tương ứng Người dùng nhấn nút "Login" để đăng nhập vào hệ thống - Kết quả: Nếu tên tài khoản mật xác: + Trang web chuyển hướng người dùng đến trang hệ thống với giao diện đăng nhập thành công + Hiển thị thông báo “Welcome To Manager ' s P a g e o f G u r u 9 B a n k ” để xác nhận đăng nhập thành công Nếu tên tài khoản mật khơng xác: + Trang web hiển thị thông báo lỗi "User or Password is not valid" để thông báo việc tên tài khoản mật không - Điều kiện đặc biệt: Nếu tên tài khoản mật không hợp lệ, người dùng lại trang đăng nhập thử lại việc đăng nhập 45 3.2.2 Chức Change Password: Chức năng: Thay đổi mật ("Change Password") - Mô tả: Chức "Change Password" cho phép người dùng thay đổi mật tài khoản hệ thống Người dùng cần cung cấp thông tin xác thực mật để thực thay đổi mật - Luồng chính: + Người dùng truy cập vào trang web: https://www.demo.guru99.com/V4/index.php + Người dùng nhập tên đăng nhập mật vào trường tương ứng + Người dùng nhấn nút "Login" để đăng nhập vào tài khoản + Trang web hiển thị trang "Manager Home Page" + Người dùng tìm nhấn vào liên kết "Change Password" trang + Trang web chuyển sang trang "Change Password" + Trang web hiển thị giao diện với trường sau: + Trường “Old Password”:Người dùng nhập mật + Trường “New Password”:Người dùng nhập mật muốn đổi + Trường “Confirm Password”:Người dùng xác nhận lại mật + Nút “Submit”: Người dùng nhấn vào nút để xác nhận thay đổi mật + Người dùng nhập mật tại, mật xác nhận mật vào trường tương ứng + Người dùng nhấn nút "Submit" để thay đổi mật - Kết quả: Nếu mật cũ mật xác nhận mật hợp lệ: + Trang web hiển thị thông báo "Password is Changed" để xác nhận thay đổi mật thành công + Người dùng nhấn nút "OK" cửa sổ cảnh báo + Trang web chuyển hướng người dùng đến trang đăng nhập vào hệ thống 46 Nếu người dùng nhập sai mật tại: + Trang web hiển thị thông báo lỗi “Old Password is incorrect” mật cũ không Nếu người dùng nhập mật xác nhận mật không khớp nhau: + Trang web hiển thị thông báo “Passwords not Match” 3.3 Test case: 3.3.1 Test case manual cho chức Login: Hình 12.Test case chức Login 3.3.2 Test case manual cho chức Change Password: Hình 13 Test case chức Change Password Link testcase: https://docs.google.com/spreadsheets/d/1STMWnqVCz-JITjUaVR3nH9kWL0DSntp7P7xhCE8h6U/edit?usp=sharing 47 3.4 Kết kiểm thử tự động 3.4.1.Kết kiểm thử chức Login: • Kết Login Unsuccessful nhập sai Password: Hình 14 Kết test_Login01 • Kết Login Unsuccessful nhập sai UserID: Hình 15 Kết Test_Login02 • Kết Login Unsuccessful nhập sai UserID Password: Hình 16 Kết Test_Login03 48 • Kết Login Unsuccessful bỏ trống trường UserID Password: Hình 17 Kết Test_Login04 • Kết Login Successful nhập UserID Password: Hình 18 Kết Test_Login05 3.4.2 Kiểm thử chức Change Password: • Kết Change Password nhập sai mật cũ: Hình 19 Kết test_CP_01 49 • Kết Change Password nhập sai xác nhận mật : Hình 20 Kết test_CP_01 3.5 Bảng tổng hợp kết kiểm thử theo chức 3.5.1.Tổng hợp kết kiểm thử chức Login: Hình 21 Test Report Login 3.5.2.Tổng hợp kết kiểm thử chức Change Password: Hình 22 Test Report Change Password 50 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Kết đạt được: - Sau tháng thực tập công ty TMA hướng dẫn giáo viên hướng dẫn mentor em kết sau: + Học hỏi nhiều kiến thức kiểm thử phần mềm + Hiểu vòng đời kiểm tra phần mềm chu trình phát triển phần mềm + Tìm hiểu loại phương pháp kiểm thử + Hiểu ngôn ngữ Python thư viện Selenium + Áp dụng kiến thức học để kiểm thử chức website Guru99 Hạn chế: - Do thời gian thực tập tương đối ngắn nên thực tránh thiếu sót định.: + Em chưa thực test hết chức + Khả viết automation test hạn chế Hướng phát triển: - Với mong muốn tương lai trở thành kiểm thử viên kiểm thử phần mềm Trong thời gian tới em tiếp tục cố gắng tìm hiểu, nghiên cứu sâu vấn đề kiểm thử phần mềm cách viết test case Python để tiến lĩnh vực mà theo đuổi - Tiếp tục mở rộng phạm vi kiểm thử cách tạo thêm test case để đảm bảo kiểm tra tất chức quan trọng Guru99 - Hoàn thiện điểm cịn thiếu sót 51 TÀI LIỆU THAM KHẢO https://www.tma-binhdinh.vn/gioi-thieu https://careerbuilder.vn/vi/talentcommunity/wiki-career/tester-la-gi-mo-ta-cong viec-ky-nang-can-thiet-tro-thanh-tester.35A52003.html https://viblo.asia/p/static-testing-kiem-thu-tinh-phan-1-oOVlYogaK8W https://aws.amazon.com/vi/what-is/python/ https://viblo.asia/p/tim-hieu-co-ban-ve-security-test-3P0lPYmn5ox https://accgroup.vn/kiem-thu-tinh-phan-mem https://www.testing.vn/7-nguyen-tac-kiem-thu-phan-mem/ https://www.w3schools.com/ https://www.techbeamers.com/selenium-webdriver-waits-python/ 10 https://www.techbeamers.com/handle-alert-popup-selenium-python/ 11 https://www.techbeamers.com/locate-elements-selenium-python/ 52 CHECK LIST CỦA BÁO CÁO STT Nội dung công việc Có Báo cáo trình bày (định dạng) với X yêu cầu Báo cáo có số lượng trang đáp ứng yêu cầu (30-50 trang) X Báo cáo trình bày phần mở đầu bao gồm: Mục tiêu, Phạm vi đối tượng, kết X cấu … Báo cáo trình bày cơng ty, vị trí việc làm (cơng việc làm gì, kiến thức kỹ cần thiết gì, đường phát triển nghiệp (career path)), sở lý thuyết phù X hợp với nội dung đề tài (Tối đa 10-12 trang) Báo cáo có sản phẩm cụ thể phù hợp với mục tiêu đặt đề tài Báo cáo có phần kết luận hướng phát triển đề tài 53 X X Không Ghi chú PHỤ LỤC - Chức Login Hình 23 Code test_Login01 Hình 24 Code test_Login02 Hình 25 Code test_Login03 54 Hình 26 Code test_Login04 Hình 27 Code test_Login05 - Chức Change Password Hình 28 Code test_CP_01 55 Hình 29 Code test_CP_02 56