1. Trang chủ
  2. » Giáo Dục - Đào Tạo

(TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver

75 142 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

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO Kiểm thử phần mềm ĐỀ TÀI: KIỂM THỬ CHỨC NĂNG WEBSITE VỚI SELENIUM WEBDRIVER Lớp: ĐH KTPM3-K9 Nhóm: 02 Giảng viên hướng dẫn: Hà Nội, ngày… tháng….năm 2016 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM ĐỀ TÀI: KIỂM THỬ CHỨC NĂNG WEBSITE VỚI SELENIUM WEBDRIVER Giảng viên hướng dẫn: Sinh viên thực hiện: Hoàng Tấn Phát Hà Nội, ngày… tháng….năm 2016 Lời Nói Đầu Tên đề tài KIỂM THỬ CHỨC NĂNG WEBSITE VỚI SELENIUM WEBDRIVER Lí chọn đề tài Trong năm gần đây, công nghệ thông tin phát triển nhanh chóng, mạnh mẽ ứng dụng hầu hết mặt đời sống, kinh tế, văn hóa, xã hội Cơng nghệ thơng tin phát triển đồng nghĩa với ngành cơng nghệ phần mềm phát triển Việc xây dựng ứng dụng web ngày phổ biến ngày trở nên thân thiết với người qua hoạt động giới thiệu, quảng cáo, mua bán, quản lý mạng Cuộc sống lên cao nhu cầu chất lượng sản phẩm tăng lên Một sản phẩm không dừng lại việc thân thiện dễ sử dụng mà cịn phải ln xác, kịp thời đảm bảo tính bảo mật tốt Lỗi phần mềm nói chung hay ứng dụng web nói riêng gây hậu nghiêm trọng Do đó, hoạt động đảm bảo chất lượng phần mềm quan trọng Trong hoạt động lại tiêu tốn chiếm tỉ trọng lớn công sức thời gian dự án Chính lí đó, việc đưa vào quy trình kiểm thử vơ cần thiết Vì vấn đề cấp thiết , nhóm em định chọn đề tài để nâng cao kĩ “ kiểm thử phần mềm ” để hướng đến sản phẩm tốt cho người sử dụng Em xin chân thành cảm ơn ! Mục Lục Phần : PHẦN MỞ ĐẦU I.Tổng quan kiểm thử phần mềm 1.Khái niệm kiểm thử phần mềm 2.Các cấp độ kiểm thử phần mềm 3.Các kỹ thuật kiểm thử Phần : Nội dung 12 Chương I Tổng quan Selenium 12 Giới thiệu chung Selenium 12 Các thành phần Selenium 13 Cài đặt Selenium Webdriver 16 CHƯƠNG 2: 18 I TÀI LIỆU KHẢO SÁT, XÁC ĐỊNH YÊU CẦU CỦA HỆ THỐNG 18 Khảo sát trạng 18 Giới thiệu website: 19 Đối tượng sử dụng chức website 21 Thiết kế hệ thống: 22 CHƯƠNG 3: KIỂM THỬ TỰ ĐỘNG WEBSITE 27 I Kế hoạch kiểm thử 27 II Chiến lược kiểm thử 27 Các loại hình kiểm thử 27 Phương pháp kiểm thử 28 III Cụ thể 30 chức đăng nhập 30 Chức đăng ký 33 Ứng dụng web 37 Xây dựng test case đăng nhập 38 Xây dựng test case đăng ký 39 Thực test selenium webdriver 46 Báo cáo kết 60 IV: Kiểm thử hiệu web bán sách 61 A Tìm hiểu cộng cụ Jmeter 61 B Tiến hành kiểm thử hiệu cụ thể 63 KẾT LUẬN 70 Tài liệu tham khảo: 70 Phần : PHẦN MỞ ĐẦU I.Tổng quan kiểm thử phần mềm 1.Khái niệm kiểm thử phần mềm Kiểm thử phần mềm trình thực thi hệ thống phần mềm để xác định xem phần mềm có với đặc tả khơng thực mơi trường mong đợi hay khơng Mục đích kiểm thử phần mềm để kiểm tra xem phần mềm có đáp ứng với nhu cầu khách hang phù hợp với đặc tả yêu cầu, đảm bảo chất lượng tính xác ứng dụng 2.Các cấp độ kiểm thử phần mềm 2.1 Kiểm thử đơn vị Một đơn vị (Unit) thành phần phần mềm nhỏ mà ta kiểm thử được, ví dụ: hàm (Function), thủ tục (Procedure), lớp (Class), phương thức (Method) Unit testing đề cập đến kiểm thử để chứng thực (xác minh - verify) chức phần riêng biệt code, thường mức hàm (function level) Trong môi trường hướng đối tượng (object-oriented environment), kiểm thử đơn vị thường sử dụng mức lớp (class) kiểm thử đơn vị nhỏ bao gồm hàm constructor destructor Kiểm thử đơn vị thường lập trình viên thực Công đoạn cần thực sớm tốt giai đoạn viết code xuyên suốt chu kỳ phát triển phần mềm Một hàm có nhiều kiểm thử, để bắt trường hợp nhánh code Cũng mức kiểm thử khác, kiểm thử đơn vị đòi hỏi phải chuẩn bị trước ca kiểm thử (hay trường hợp kiểm thử) (test case) kịch (test script), định rõ liệu vào, bước thực liệu mong muốn xuất Các test case test script giữ lại để sử dụng sau 2.2 Kiểm thử tích hợp Integration test kết hợp thành phần ứng dụng kiểm thử ứng dụng hoàn thành Trong Unit Test kiểm tra thành phần Unit riêng lẻ Intgration Test kết hợp chúng lại với kiểm tra giao tiếp chúng  Integration Test có mục tiêu chính: Phát lỗi giao tiếp xảy Unit Tích hợp Unit đơn lẻ thành hệ thống nhỏ (subsystem) cuối nguyên hệ thống hoàn chỉnh (system) chuẩn bị cho kiểm thử mức hệ thống (System Test) Có loại kiểm thử Integration Test: • •  Kiểm thử cấu trúc (Structure Test): Tương tự White Box Test (kiểm thử nhằm bảo đảm thành phần bên chương trình chạy đúng), trọng đến hoạt động thành phần cấu trúc nội chương trình chẳng hạn lệnh nhánh bên • Kiểm thử chức (Functional Test): Tương tự Black Box Test (kiểm thử trọng đến chức chương trình, khơng quan tâm đến cấu trúc bên trong), khảo sát chức chương trình theo u cầu kỹ thuật • Kiểm thử hiệu (Performance Test): kiểm thử việc vận hành hệ thống • Kiểm thử khả chịu tải (Stress Test): kiểm thử giới hạn hệ thống •  2.3 Kiểm thử hệ thống Kiểm thử hệ thống (ST) bao gồm loạt kiểm nghiệm nhằm xác minh toàn thành phần hệ thống tích hợp cách đắn Mục đích ST đảm bảo toàn hệ thống hoạt động khách hàng mong muốn System Test bắt đầu tất phận PM tích hợp thành công Thông thường loại kiểm tra tốn nhiều công sức thời gian Trong nhiều trường hợp, việc kiểm tra đòi hỏi số thiết bị phụ trợ, phần mềm phần cứng đặc thù, đặc biệt ứng dụng thời gian thực, hệ thống phân bố, hệ thống nhúng Ở mức độ hệ thống, người kiểm tra tìm kiếm lỗi, trọng tâm đánh giá hoạt động, thao tác, tin cậy yêu cầu khác liên quan đến chất lượng toàn hệ thống Điểm khác then chốt Integration Test System Test System Test trọng hành vi lỗi toàn hệ thống, Integration Test trọng giao tiếp đơn thể đối tượng chúng làm việc Thông thường ta phải thực Unit Test Integration Test để bảo đảm Unit tương tác chúng hoạt động xác trước thực System Test Kiểm thử hệ thống thường có loại kiểm thử sau: Kiểm tra chức (Functional Test): bảo đảm hành vi hệ thống thỏa mãn yêu cầu thiết kế Kiểm tra khả 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ụ nhớ) nhằm đạt tiêu thời gian xử lý hay đáp ứng câu truy vấn… Kiểm tra khả chịu tải (Stress Test hay Load Test): bảo đảm hệ thống vận hành áp lực cao (ví dụ nhiều người truy xuất lúc) Stress Test tập trung vào trạng thái tới hạn, “điểm chết”, tình bất thường… Kiểm tra cấu hình (Configuration Test) Kiểm tra khả bảo mật (Security Test): bảo đảm tính tồn vẹn, bảo mật liệu hệ thống Kiểm tra khả phục hồi (Recovery Test): bảo đảm hệ thống có khả khơi phục trạng thái ổn định trước tình tài nguyên liệu; đặc biệt quan trọng hệ thống giao dịch ngân hàng trực tuyến 2.4 Kiểm thử chấp nhận Sau giai đoạn ST AT, giai đoạn kiểm tra khách hàng thực Mục đích AT để chứng minh phần mềm thỏa mãn tất yêu cầu khách hàng khách hàng chấp nhận sản phẩm trả tiền tốn hợp đồng AT có ý nghĩa quan trọng, hầu hết trường hợp, phép kiểm tra ST AT gần tương tự, chất cách thức thực lại khác biệt Trên thực tế, khách hàng không quan tâm không tham gia vào trình phát triển phần mềm thường kết AT sai lệch lớn, PM trải qua tất kiểm tra trước Sự sai lệch liên quan đến việc hiểu sai yêu cầu mong chờ khách hàng Ví dụ PM xuất sắc vượt qua phép kiểm tra chức thực nhóm thực dự án, khách hàng kiểm tra sau thất vọng bố cục hình nghèo nàn, thao tác không tự nhiên, không theo tập quán sử dụng khách hàng… Có phương pháp kiểm thử chấp nhận: Kiểm thử alpha: thực nơi tổ chức phát triển nhóm phát triển test mà khách hàng thực test Kiểm thử beta: thực khách hàng khách hàng tiềm nơi họ (khách hàng download beta cài vào máy sử dụng).[5] 3.Các kỹ thuật kiểm thử Một sản phẩm kiểm thử theo cách: Hiểu rõ chức cụ thể hàm hay module Các trường hợp kiểm thử xây dựng để kiểm thử tất thao tác • Hiểu rõ cách hoạt động hàm/module hay sản phẩm Các trường hợp kiểm thử xây dựng để đảm bảo tất thành phần khớp với Đó tất thao tác nội hàm dựa vào mô tả tất thành phần nội kiểm thủ cách thoả đáng Cách tiếp cận gọi kiểm thử hộp đen (Black-box testing) cách tiếp cận thứ hai gọi kiểm thử hộp trắng (White-box testing) • 3.1 Kiểm thử hộp đen (Black Box Test) Kiểm thử hộp đen hay gọi kiểm tra chức thử nghiệm hành vi Xem chương trình “hộp đen”, hồn tồn khơng quan tâm cách cư xử cấu trúc bên chương trình Thay vào đó, Tập trung vào tìm trường hợp mà chương trình khơng thực theo đặc tả [2] Phương pháp kiểm thử hộp đen bao gồm: Phân vùng tương đương - Equivalence partitioning Phân tích giá trị biên – Boundary value analysis Kiểm thử cặp – All-pairs testing Kiểm thử fuzz – Fuzz testing Kiểm thử dựa mơ hình – Model-based testing Ma trận dấu vết – Traceability matrix Kiểm thử thăm dò – Exploratory testing Đồ thị nguyên nhân-kết - Cause Effect Graphing Kiểm thử dựa đặc tả – Specification-base testing  3.1.1 Phân vùng tương đương - Equivalence partitioning Phân vùng tương đương (Equivalence Class): kỹ thuật kiểm thử phần mềm có liên quan đến phân chia giá trị đầu vào thành phân vùng hợp lệ khơng hợp lệ, sau viết kịch kiểm thử cho phần, chọn giá trị đại diện từ phân vùng làm liệu thử nghiệm.[2] Phân vùng tương đương: kỹ thuật thực test theo class đồng giá trị (tập hợp điều kiện thao tác) Tập hợp giá trị input có kết xử lý, tập hợp thời gian có kết xử lý, tập hợp kết export xử lý giá trị nhập Mục đích : Giảm đáng kể số lượng test case cần phải thiết kế với lớp tương đương ta cần test phần tử đại diện Chọn tối thiểu giá trị đại diện từ class đồng giá trị để tiến hành test Thiết kế ca kiểm thử cho phân vùng tương đương dựa đánh giá vùng tương đương với điều kiện vào Vùng tương đương biểu thị tập cho trạng thái hợp lệ hay không hợp lệ điều kiện vào Thiết kế test case phân vùng tương đương tiến hành theo hai bước: - Xác định lớp tương đương - Xác định ca kiểm thử - -> Nếu có lỗi xảy giá trị khác class đồng giá trị có lỗi giống 3.1.2 Phân tích giá trị biên – Boundary Value Analysis Phân tích giá trị biên (Boundary Value Analysis): kỹ thuật kiểm thử phần mềm có liên quan đến việc xác định biên (ranh giới) điều kiện mô tả cho giá trị đầu vào chọn giá trị biên bên cạnh giá trị biên làm liệu kiểm thử Phương pháp phân tích giá trị biên đưa giá trị đặc biệt, bao gồm loại liệu, giá trị lỗi, bên trong, bên biên giá trị, lớn nhỏ   - - Test giá trị biên thực theo trình tự đây: Tìm đường biên Quyết định giá trị biên Quyết định giá trị để test Giá trị biên Dưới giá trị biên (Nếu class đồng giá trị) Trên giá trị biên (Nếu class đồng giá trị) Boundary values: Min – Min Max Max + [11] 3.1.2 Sử dụng bảng định – Decision Table Làm giảm số lượng tets casse không cần thiết so với kỹ thuật loại trừ phép kết hợp không cần thiết giá trị biến đầu vào Liệt kê nguyên nhân (cause) – kết (result) ma trận Mỗi cột ma trận đại diện cho phép kết hợp cause trong việc tạo result Các bước để tạo bảng định Liệt kê nguyên nhân bảng định Tính tổng số lượng kết hợp cause Điền vào cột với tất kết hợp có Rút bớt số lượng phép kết hợp dư thừa 10 60 61 62 63 Báo cáo kết STT 64 Đã test: 100% Test thành công: 100% IV: Kiểm thử hiệu web bán sách A Tìm hiểu cộng cụ Jmeter - Jmeter công cụ để đo độ tải performance đối tượng, sử dụng để test performance nguồn tĩnh nguồn động, kiểm tra độ tải hiệu nhiều loại server khác như: Web HTTP, HTTPS, SOAP, Database via JDBC, LDAP, JMS, Mail – SMTP(S), POP3(S) and IMAP(S)… - Jmeter mã nguồn mở viết java Cha đẻ JMeter Stefano Mazzocchi sau Apache thiết kế lại để cải tiến giao diện đồ họa cho người dùng khả kiểm thử hướng chức 1.Đặc trưng Jmeter - - Nguồn mở, miễn phí Giao diện đơn giản, trực quan dễ sử dụng Có thể kiểm thử nhiều kiểu server: Web - HTTP, HTTPS, SOAP, Database - JDBC, LDAP, JMS, Mail - POP3,… Một công cụ độc lập chạy nhiều tảng hệ điều hành khác nhau, Linux cần chạy shell scrip, Windows cần chạy file bat Đa luồng, giúp xử lý tạo nhiều request khoảng thời gian, xử lý liệu thu cách hiệu Đặc tính mở rộng, có nhiều plugin chia trẻ rộng rãi miễn phí Một công cụ tự động để kiểm thử hiệu tính ứng dụng Cách thức hoạt động: giả lập nhóm người dùng gửi yêu cầu tới máy chủ, nhận xử lý response từ máy chủ trình diễn kết cho người dùng dạng bảng biểu, đồ thị,cây… 1.1.Cài đặt - Tải jmeter trang : http://jmeter.apache.org/download_jmeter.cgi, chọn download tìm đến mục Binaries 65 - Giải nén vào bin chạy file ApacheJMeter 1.2.Giao diện công cụ 66 B Tiến hành kiểm thử hiệu cụ thể Giả lập nhiều user truy cập vào trang web Mở jmeter ,đặt tên cho Test Plan testtruycap Chuột phải vào Test Plan –> Add –> Threads(users) –> Thread Group Cửa sổ Thread Group với mục quan trọng : 67 Name : tên thread group Number of Threads(users) : số lượng thread user mà ta muốn giả lập Ramp-Up Period: cho biết thời gian để JMeter tạo tất thread cần thiết Loop Count : số lần thread tạo thực , chọn forever thực mãi người dùng dừng lại tay Cửa sổ Thread Group Tạo request đến server : thread(tương ứng user) tạo nhiều request http gửi lên server Chuột phải vào Thread group –> add –> sample –> http request Default 68 Cửa sổ Http Request Default Cửa sổ Http Request Default: Protocol: giao thức sử dụng HTTP HTTPS(bỏ trống mặc định http) Server Name or IP: điền vào domain IP trang web cần kiểm tra Port Number: port web, để trống port mặc định 80 Method: phương thức để gửi HTTP request, phương thức bao gồm GET, POST, PUSH, HEAD,… Path: đường dẫn nguồn để xử lý Request Parameters: biểu diễn danh sách thơng số gửi request, ta thêm xóa thơng số 69 Truy cập vào trang chủ Đăng nhập vào hệ thống 70 Kết Tiến hành chạy thu kết : 2.1 Xem kết tổng hợp tất thread (Chuột phải vào Thread Group –> Add -> Listener –> Summary Report) Label : tên request # Sample : số request Average : thời gian trung bình xử lý request : thời gian nhỏ xử lý request max : thời gian nhỏ xử lý request Std.Dev: độ lệch tiêu chuẩn mô tả mức độ phân tán tập liệu lập thành bảng tần số Error : phần trăm bị lỗi request(lỗi kết nối lỗi cho đầu không mong muốn) thoughput : số request/s server kb/s = (avg.bytes*thoughput)/1024 Kết tổng hợp thread truy cập trang chủ 71 Kết tổng hợp thread login 2.2 Xem kết request kịch bản(Chuột phải Thread Group –> Add –> Listener –> View Results Tree) Kết thread truy cập trang chủ 72 Kết thread login 73 Phần 3: KẾT LUẬN Kiểm thử phần mềm hoạt động quan trọng đảm bảo chất lượng phần mềm để đảm bảo độ tin cậy chất lượng phần mềm Mục đích kiểm thử phát lỗi phần mềm để từ khắc phục sửa chữa Việc kiểm thử khẳng định chức sản phẩm điều kiện, mà khẳng định khơng hoạt động điều kiện cụ thể Trong thời gian tìm hiểu kiểm thử phần mềm nói chung cơng cụ kiểm thử Selenium , Jmeter nói riêng nhóm em hiểu kiểm thử phần mềm giai đoạn quan trọng quy trình sản xuất phần mềm Sự áp dụng thực tốn nhỏ Nhóm e xin trân thành cảm ơn thầy Nguyễn Đức Lưu giúp đỡ chúng em thực tốt đề tài Tài liệu tham khảo: http://forums.testervn.com/ http://www.seleniumhq.org/docs/ http://jmeter.apache.org/usermanual https://viblo.asia 74 ... 70 Tài liệu tham khảo: 70 Phần : PHẦN MỞ ĐẦU I.Tổng quan kiểm thử phần mềm 1.Khái niệm kiểm thử phần mềm Kiểm thử phần mềm trình thực thi hệ thống phần mềm để xác định xem phần mềm. .. Phần : PHẦN MỞ ĐẦU I.Tổng quan kiểm thử phần mềm 1.Khái niệm kiểm thử phần mềm 2.Các cấp độ kiểm thử phần mềm 3.Các kỹ thuật kiểm thử Phần :...TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO ĐẢM BẢO CHẤT LƯỢNG PHẦN MỀM ĐỀ TÀI: KIỂM THỬ CHỨC NĂNG WEBSITE VỚI SELENIUM WEBDRIVER Giảng viên hướng dẫn: Sinh viên thực hiện: Hoàng

Ngày đăng: 02/12/2022, 08:40

HÌNH ẢNH LIÊN QUAN

Hình 1.1.1 Các Thành phần của Selenium - (TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver
Hình 1.1.1 Các Thành phần của Selenium (Trang 14)
Bảng tbl_user Tên trường User_id User_name User_password User_fullname User_address User_phone User_email User_avatar Bảng tbl_listbook Tên trường Listbook_id Listbook_name Bảng tbl_book Tên trường Book_id Listbook_id Book_name Book_image Book_author - (TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver
Bảng tbl _user Tên trường User_id User_name User_password User_fullname User_address User_phone User_email User_avatar Bảng tbl_listbook Tên trường Listbook_id Listbook_name Bảng tbl_book Tên trường Book_id Listbook_id Book_name Book_image Book_author (Trang 23)
4.3 Mơ hình thực thể liên kết - (TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver
4.3 Mơ hình thực thể liên kết (Trang 27)
Màn hình đăng nhập gồm các thành phần: - (TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver
n hình đăng nhập gồm các thành phần: (Trang 39)
3. Ứng dụng web - (TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver
3. Ứng dụng web (Trang 39)
Các ca kiểm thử : Từ mô tả và bảng phân vùng tương đương ta có - (TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver
c ca kiểm thử : Từ mô tả và bảng phân vùng tương đương ta có (Trang 46)
được lập thành bảng tần số - (TIỂU LUẬN) báo cáo kiểm thử phần mềm đề tài kiểm thử chức năng website với selenium webdriver
c lập thành bảng tần số (Trang 72)

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w