ĐẠ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 T[.]
ĐẠ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 Đơn vị thực tập : TMA Solutions Bình Định MỤC LỤC LỜI CẢM ƠN III LỜI CAM ĐOAN IV MỤC LỤC V DANH MỤC HÌNH ẢNH DANH MỤC BẢNG BIỂU VI VIII DANH MỤC CÁC TỪ VIẾT TẮT IX LỜI MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ CƠNG TY TMA VÀ VỊ TRÍ TESTER 1.1 Giới thiệu tổng quát về công ty TMA Solutions Bình Định 1.1.1 Quá trình hình thành phát triển công ty: 1.1.2 Tầm nhìn sứ mệnh: 1.1.3 Giá trị cốt lõi: .4 1.2 Tổng quan về vị trí Tester 1.2.1 Mơ tả vị trí Tester: 1.2.2 Các kỹ cần có Tester: 1.2.3 Cơ hội nghề nghiệp: .7 CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tổng quan về kiểm thử phần mềm 9 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: 11 2.1.3 Phân biệt QA & QC: 12 2.1.4 Các mơ hình vịng đời phát triển phần mềm: 13 2.2 Software Testing Types - Các loại kiểm thử phần mềm 18 2.2.1 Manual Testing: 18 2.2.2 Automation Testing: 19 2.2.3 Security Testing: 21 2.2.4 API Testing: 21 2.3 Software Testing Methods - Các phương pháp kiểm thử phần mềm 22 2.3.1 Static Testing: .22 2.3.2 Dynamic Testing: .22 2.3.3 White Box Testing: .22 2.3.4 Black Box Testing: .23 2.3.5 Grey Box Testing: .24 2.4 Software Testing Levles - Các cấp độ của kiểm thử 2.4.1 Unit Testing: .24 2.4.2 Integration Testing: 25 2.4.3 System Testing: 25 24 2.4.4 Acceptance Testing: 26 2.5 Các kỹ thuật thiết kế Testcase 26 2.5.1 Specification-based techniques: 26 2.5.2 Experience-based techniques: 28 2.6 Bug Life Cycle 29 2.6.1 Bug Life Cycle gì? 29 2.6.2 Giải thích vịng đời Bug: 29 2.7 Tìm hiểu về Python 30 2.7.1 Python gì? 30 2.7.2 Ứng dụng Python: .31 2.8 Tổng quan về Selenium 32 2.8.1 Selenium gì? 32 2.8.2 Ưu điểm nhược điểm Selenium: 33 CHƯƠNG TRIỂN KHAI DỰ ÁN 34 3.1 Tổng quan về website Guru99 Bank 34 3.1.1 Giới thiệu website Guru99 Bank: 34 3.1.2 Giao diện website Guru99 Bank: 34 3.1.3 Đặc tả chức Guru99 Bank: 35 3.2 Thiết kế Test case: 38 3.3 Kết kiểm thử 39 3.3.1 Kết Login: 39 3.3.2 Kết Create New Customer: 40 3.4 Bảng tổng hợp kết kiểm thử theo chức 41 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 43 TÀI LIỆU THAM KHẢO 44 CHECK LIST CỦA BÁO CÁO 45 PHỤ LỤC 46 DANH MỤC HÌNH ẢNH Hình TMA Solutions Hình Quy trình kiểm thử phần mềm Hình Waterfall Model Hình V Model Hình Agile Model Hình Scrum Framework Hình White Box Testing 13 15 16 17 23 Hình Black Box Testing Hình Grey Box Testing Hình 10 Giá trị biên Hình 11 Phân vùng tương đương Hình 12 Bảng định Hình 13 Vịng đời Bug Hình 14 Python Hình 15 Selenium Hình 16 Màn hình đăng nhập Guru99 Bank Hình 17 Màn hình trang chủ Website Guru99 Bank Hình 18 Test case chức Login Hình 19 Test case chức Create New Customer_1 Hình 20 Test case chức Create New Customer_2 Hình 21 Kết test case LG_001 Hình 22 Kết test case LG_002 Hình 23 Kết test case LG_003 Hình 24 Kết test case NC_001 Hình 25 Kết test case NC_016 Hình 26 Kết test case NC_019 Hình 27 Test Report Login Hình 28 Test Report Create New Customer Hình 29 Code test case LG_001 Hình 30 Code test case LG_002 Hình 31 Code test case LG_003 Hình 32 Code test case NC_001_1 Hình 33 Code test case NC_001_2 Hình 34 Code test case NC_016_1 Hình 35 Code test case NC_016_2 Hình 36 Code test case NC_019_1 Hình 37 Code test case NC_019_2 23 24 27 28 28 29 31 32 35 35 39 39 39 40 40 40 41 41 41 42 42 46 47 47 48 48 49 49 50 50 DANH MỤC BẢNG BIỂU Bảng Phân biệt QA QC 12 Bảng Đặc tả chức Login 35 Bảng Đặc tả chức Create New Customer 37 DANH MỤC CÁC TỪ VIẾT TẮT STT Từ viết tắt Diễn giải IoT CNTT QA Quality Assurance: Đảm bảo chất lượng QC Quality Control: Kiểm soát chất lượng API Application Programming Interface Dev Developer: Lập trình viên PO Product Owner IDE Integrated Developer Environment RC Remote Control 10 AI Artificial intelligence Internet of Things Công nghệ thông tin LỜI MỞ ĐẦU Lý chọn đề tài Các ứng dụng Web ngày phát triển mạnh mẽ, đóng vai trị định thương mại điện tử, trao đổi thơng tin Để đạt điều đó, ứng dụng Web phải có hiệu cao, hoạt động đáng tin cậy, tính bảo mật cao Việc đưa ứng dụng Web hoàn hảo cho người dùng thách thức việc đảm bảo chất lượng phần mềm Sự phức tạp, tính linh hoạt phụ thuộc ứng dụng vào dịch vụ với nhiều người sử dụng tảng khác thách thức lớn nhân viên Điều dẫn đến việc kiểm thử ứng dụng Web trở nên điều thiết yếu dự án phần mềm Để tạo sản phẩm hay phần mềm có chất lượng hoạt động kiểm thử phần mềm đóng vai trị quan trọng Tuy nhiên, kiểm thử thủ công (Manual Testing) chiếm nhiều thời gian tốn nhiều chi phí nguồn nhân lực Do vậy, loạt công cụ hỗ trợ kiểm thử chức năng, kiểm thử hiệu Trong đó, kiểm thử chức Selenium cơng cụ kiểm thử tự động cho ứng dụng Web, kiểm thử nhiều trình duyệt, hỗ trợ nhiều ngơn ngữ lập trình hoạt động mã nguồn mở Xuất phát từ yếu tố thực tế đó, em chọn đề tài “Nghiên cứu cơng cụ kiểm thử tự động Selenium Webdriver ứng dụng cho hệ thớng Guru99 Bank” với mong muốn có nhìn xác thực, rõ ràng kiểm thử phần mềm tiếp cận với công cụ kiểm thử tự động để làm tiền đề cho định hướng tương lai Mục tiêu của đề tài Mục tiêu đề tài xác định kịch kiểm thử quan trọng chức cần kiểm tra hệ thống Guru99 Bank Áp dụng kiến thức kiểm thử phần mềm, kiểm thử tự động kiến thức công cụ Selenium để viết kịch kiểm thử cho hệ thống Guru99 Bank Đối tượng phạm vi nghiên cứu Đối tượng nghiên cứu: Hệ thống Guru99 Bank công cụ kiểm thử tự động Selenium Phạm vi nghiên cứu: Tập trung vào việc xây dựng kịch kiểm thử tự động cho Guru99 Bank Selenium, tập trung vào chức quan trọng: đăng nhập (login) tạo khách hàng (create new customer) Kết cấu của đề tài Đề tài tổ chức gồm phần mở đầu, chương nội dung phần kết luận ● Mở đầu ● Chương 1: Tổng quan cơng ty TMA vị trí Tester ● Chương 2: Cơ sở lý thuyết ● Chương 3: Triển khai dự án ● Kết luận hướng phát triển CHƯƠNG TỔNG QUAN VỀ CÔNG TY TMA VÀ VỊ TRÍ TESTER 1.1 Giới thiệu tổng quát về cơng ty TMA Solutions Bình Định 1.1.1 Q trình hình thành phát triển cơng ty: Hình TMA Solutions - Được thành lập năm 1997, TMA tập đồn cơng nghệ hàng đầu Việt Nam với 4000 kỹ sư khách hàng tập đồn cơng nghệ cao hàng đầu giới từ 30 quốc gia - TMA có chi nhánh Việt Nam (6 Tp.HCM Tp Quy Nhơn) chi nhánh nước (Mỹ, Úc, Canada, Đức, Nhật, Singapore) - Các trung tâm: + Trung tâm Phát triển Phần mềm (Software Development Center): Cung cấp giải pháp dịch vụ phần mềm cho khách hàng ngồi nước (thị trường có TMA 30 nước) Trong năm hoàn thành dự án cho khách hàng từ Mỹ, Canada, Úc, Nhật Bản, Hàn Quốc Việt Nam + Xưởng Phần mềm (Software Factory): Chắt lọc phát huy kiến thức dày dặn 25 năm làm phần mềm TMA, xưởng phần mềm nơi tập trung sản xuất sản phẩm ứng dụng công nghệ 4.0 không cho thị trường Việt Nam mà quốc tế + Trung tâm Khoa học Dữ liệu (Data Science Lab): Đào tạo chuyên sâu Khoa học Dữ liệu Trí tuệ Nhân tạo Phát triển giải pháp đột phá dựa Khoa học Dữ liệu Trí tuệ Nhân tạo + Học viện Công nghệ (TMA Academy): Đào tạo chuyên sâu công nghệ mới: AI, data science, IoT - Với 25 năm phát triển vững mạnh, TMA xây dựng đội ngũ với 4,000 kỹ sư tài năng, nhiệt huyết nhận đánh giá cao từ phía khách hàng, chung tay xây dựng hình ảnh TMA - đối tác tin cậy đồ cơng nghệ thơng tin tồn cầu 1.1.2 Tầm nhìn sứ mệnh: - Tầm nhìn: + TMA Solutions tạo dựng tương lai kỹ thuật số thông qua việc xây dựng giải pháp công nghệ thông tin sáng tạo, phục vụ khách hàng toàn cầu TMA đặt mục tiêu trở thành công ty CNTT hàng đầu giới, công nhận với đội ngũ nhân viên tài năng, đổi liên tục khả cung cấp giải pháp công nghệ cao cấp - Sứ mệnh: + TMA Solutions cam kết mang lại giá trị cho khách hàng, đối tác cộng đồng thông qua việc phát triển giải pháp công nghệ thông tin chất lượng cao + Họ tạo môi trường làm việc cởi mở, đa dạng truyền cảm hứng, nơi thành viên có hội phát triển cá nhân chia sẻ kiến thức + TMA Solutions thúc đẩy sáng tạo đổi liên tục, khuyến khích nhân viên đưa ý tưởng tận dụng công nghệ tiên tiến để tạo giải pháp tiên phong + Họ đóng góp cho cộng đồng xã hội thơng qua hoạt động xã hội, ủng hộ giáo dục đào tạo, thực dự án bền vững 1.1.3 Giá trị cốt lõi: - Chất lượng: Chúng cam kết mang đến chất lượng cao sản phẩm dịch vụ mà cung cấp Chúng không tập trung vào việc đáp ứng yêu cầu kỹ thuật, mà cịn ln tìm kiếm cách nâng cao chất lượng hiệu suất giải pháp công nghệ