Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
1,93 MB
Nội dung
I CẢM ƠN Để hoàn thành đồ án tốt nghiệp này, lời em xin gửi lời biết ơn chân thành sâu sắc đến thầy giáo ThS Nguyễn Hồng Tân tận tình hƣớng dẫn, truyền đạt kinh nghiệm quý giá cho em suốt trình nghiên cứu thực đề tài Em xin gửi lời cảm ơn đến thầy cô giáo khoa Cơng nghệ thơng tin tồn thể thầy cô giáo truyền đạt vốn kiến thức quý báu cho chúng em suốt trình học tập vừa qua Em đƣợc quý thầy cô cung cấp truyền đạt tất kiến thức chuyên môn cần thiết q giá Ngồi em đƣợc rèn luyện tinh thần học tập làm việc độc lập sáng tạo Đây tảng cần thiết để thành cơng bắt tay vào nghề nghiệp tƣơng lai Đồ án tốt nghiệp hội để em áp dụng, tổng kết lại kiến thức mà học Đồng thời, rút đƣợc kinh nghiệm thực tế quý giá suốt trình thực đề tài Sau thời gian em tập trung công sức cho đề tài làm việc tích cực, đặc biệt nhờ đạo hƣớng dẫn tận tình thầy ThS.Nguyễn Hồng Tân với thầy cô trƣờng Đại học Công nghệ thông tin & Truyền thông - Đại học Thái Nguyên, giúp cho em hoàn thành đề tài cách thuận lợi gặt hái đƣợc kết mong muốn Bên cạnh kết khiêm tốn mà em đạt đƣợc, chắn khơng tránh khỏi thiếu sót thực báo cáo mình, kính mong thầy thơng cảm Sự phê bình, góp ý q thầy học kinh nghiệm quý báu cho công việc thực tế em sau Em xin chân thành cảm ơn Ban lãnh đạo nhà trƣờng tồn thể thầy giáo nhà trƣờng tạo điều kiện thuận lợi, cung cấp sở vật chất, trang thiết bị cần thiết cho trình học tập chúng em Kính chúc q thầy mạnh khoẻ, tiếp tục đạt đƣợc nhiều thắng lợi nghiên cứu khoa học nghiệp trồng ngƣời Em xin chân thành cảm ơn! L I CAM ĐOAN Em xin cam đoan rằng: Số liệu kết nghiên cứu đồ án hoàn toàn trung thực chƣa đƣợc sử dụng công bố cơng trình khác Mọi giúp đỡ cho việc thực đồ án đƣợc cám ơn thơng tin trích dẫn đồ án đƣợc ghi rõ nguồn gốc Sinh viên Trần Thị Vân Trang MỤC LỤC L I CẢM ƠN L I CAM ĐOAN MỤC LỤC DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ L I MỞ ĐẦU CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tại kiểm thử phần mềm lại cần thiết? 1.2 Định nghĩa kiểm thử phần mềm 1.3 Mục tiêu kiểm thử phần mềm 10 1.4 Quy trình kiểm thử phần mềm 10 1.4.1 Lập kế hoạch kiểm thử 11 1.4.2 Phân tích thiết kế trƣờng hợp kiểm thử 12 1.4.3 Thực kiểm thử 13 1.4.4 Báo cáo kết test 13 1.5 Phân loại 14 CHƢƠNG 2: KIỂM THỬ ỨNG DỤNG WEB 16 2.1 Kiểm thử ứng dụng web 16 2.1.1 Giới thiệu 16 2.1.2 Khái niệm 16 2.1.3 Các đặc điểm chất lƣợng ứng dụng Web 16 2.1.4 Các bƣớc kiểm thử ứng dụng web 17 2.1.5 Một số công cụ hỗ trợ kiểm thử ứng dụng Web 21 2.2 So sánh kiểm thử Web với kiểm thử phần mềm truyền thống (trên Desktop) 21 2.2.1 Sự khác phần cứng phần mềm 21 2.2.2 Sự khác mơ hình web hệ thống client-server truyền thống 22 2.3 Công cụ kiểm thử tự động Selenium 23 2.3.1 Selenium gì? 23 2.3.2 Selenium IDE 24 2.3.3 Selenium Remote Control (Selenium RC) 31 2.3.4 Selenium webdriver 32 CHƢƠNG 3: KIỂM THỬ PHẦN MỀM VÀO BÀI TOÁN THỰC TẾ 43 3.1 Bài toán thực tế 43 3.2 Khảo sát Website 43 3.2.1 Mục đích 43 3.2.2 Giới hạn ngƣời sử dụng 44 3.2.3 Tham khảo 44 3.3 Phạm vi test 45 3.4 Quy trình test phần mềm 45 3.5 Xây dựng testcase kiểm thử phần mềm 48 3.5.1 Trang đăng nhập 48 3.5.2 Module chọn tìm kiếm sản phẩm 52 3.6 Kết sử dụng selenium kiểm thử chức website mua hàng trực tuyến 55 KẾT LUẬN 57 TÀI LIỆU THAM KHẢO 58 DANH MỤC HÌNH ẢNH Hình 1.1 Quy trình kiểm thử 10 Hình 1.2 Sơ đồ kế hoạch kiểm thử 11 Hình 2.1: Giao diện cài đặt selenium 25 Hình 2.2: Giao diện sử dụng selenium 26 Hình 2.3: Giao diện selenium 30 Hình 2.4: Giao diện Selenium RC 32 Hình 2.5: Các hệ điều hành ứng dụng selenium Webdriver .33 Hình 2.6: So sánh Selenium WebDriver công cụ kiểm thử tự động khác 33 Hình 2.7: Tổng quan đối tƣợng UI (Locators) .34 Hình 2.9: Xác định phần tử Web theo ID 35 Hình 2.8: Xác định phần tử Web theo Name 35 Hình 2.9: Xác định phần tử Web theo LinkText .36 Hình 2.10: Xác định phần tử Web theo TagName 36 Hình 2.11:Xác định phần tử Web theo ClassName 37 Hình 2.12: Xác định phần tử Web theo CSS .37 Hình 2.13: Ví dụ cấu trúc HTML trang web .38 Hình 2.15: Kịch kiểm thử đơn giản cho phép ngƣời dùng login vào hệ thống 41 Hình 2.16: Cấu trúc POM 42 Hình 3.1: Quy trình kiểm thử .45 Hình 3.2: Giao diện trang đăng nhập 48 Hình 3.3:Giao diện module tìm kiếm 52 Hình 3.4: Giao diện hình login đăng nhập 55 Hình 3.5: Kết thực test 55 Hình 3.6: Giao diện mua sản phẩm thành cơng 56 Hình 3.7: Kết thực test 56 DANH MỤC BẢNG Bảng 2.1: Các thuộc tính 39 Bảng 3.1: Danh sách module test 45 Bàng 3.2: Testcase giao diện trang đăng nhập 49 Bảng 3.3: Testcase function đăng nhập 51 Bảng 3.4: Testcase giao diện module tìm kiếm 52 Bảng 3.5: Testcase function tìm kiếm sản phẩm 54 DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ Thuật ngữ từ viết tắt Ý nghĩa Regression Test Kiểm thử hồi quy Software Phần mềm IEEE (Institute of Electrical and Electronics Viện kỹ nghệ Điện Điện Engineers tử Test plan Kế hoạch kiểm thử Test case Trƣờng hợp kiểm thử Test leader Trƣởng nhóm kiểm thử SE Selenium HTML/ CSS (HyperText Markup Language Ngôn ngữ đánh dấu siêu văn / Cascading Style Sheets ) CAPTCHA ( Completely Automated Public Phép thử phân biệt ngƣời Turing test to tell Computers and Humans máy Apart) 10 GUI (Graphical User Interface) STT Giao diện đồ họa ngƣời dùng I MỞ ĐẦU Trong giai đoạn công nghệ thông tin phát triển nhanh nhƣ vũ bão, hàng năm có nhiều sản phẩm phầm mềm đời đáp ứng nhu cầu ngƣời sử dụng toàn giới Yêu cầu sản phẩm phầm mềm đời đáp ứng đƣợc yêu cầu khách hàng nhƣ giao diện thân thiện, dễ sử dụng bên cạnh chức phải hoạt động theo yêu cầu từ việc kiểm tra sản phẩm phầm mềm phần quan trọng quy trình phát triển phần mềm Kiểm thử giai đoạn khơng thể thiếu q trình tạo sản phẩm phần mềm hồn thiện giúp cho sản phẩm hoạt động nhƣ mong đợi, việc thực kiểm thử đòi hỏi ngƣời kiểm thử phải có kiến thức nhƣ cách nhìn khách quan với sản phẩm đồng thời tiêu tốn nhiều thời gian công sức để giảm bớt thời gian tiền bạc nhƣ nhàm chán kiểm thử thủ cơng việc kiểm thử công cụ tự động làm cho công việc trở nên nhẹ nhàng, rút ngắn đƣợc thời gian thực Có nhiều công cụ thực việc kiểm thử tự động, đợt làm đồ án em lựa chọn đề tài: “Kiểm thử ứng dụng Web áp dụng” để có nhìn tổng qt cơng cụ nhƣ q trình kiểm thử động Trong khn khổ thực khả có hạn dó có phần em thực chƣa đƣợc tốt em mong bảo thầy cô để làm em đƣợc hoàn thiện Em xin chân thành cảm ơn thầy cô dạy em suốt năm học vừa qua, đặc biệt em xin gửi lời cảm ơn đến thầy giáo Nguyễn Hồng Tân bảo cho em q trình hồn thành đồ án CHƢƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 Tại kiểm thử phần mềm lại cần thiết? Hiện ngành công nghệ thông tin phát triển, kèm theo yêu cầu chất lƣợng dịch vụ phần mềm đƣợc coi trọng Một phần mềm đáng tin cậy phần mềm không tồn lỗi nhƣng thực tế, phần mềm viết ngƣời ln tồn lỗi Nếu khơng có giải pháp để khắc phục lỗi cho phần mềm hệ thống chi phí lỗi lớn, kèm theo hậu ảnh hƣởng không nhỏ đến ngƣời cơng việc Kiểm thử phần mềm hạn chế vấn đề lỗi phần mềm hệ thống, giúp đánh giá đƣợc độ tin cậy, mặt khác, kiểm thử phần mềm phần kế hoạch dự án 1.2 Định nghĩa kiểm thử phần mềm Kiểm thử phần mềm có nhiều định nghĩa khác đề xuất nhiều tổ chức hay cá nhân khác Một số định nghĩa bật: Kiểm thử phần mềm trình khảo sát hệ thống hay thành phần dƣới điều kiện xác định, quan sát ghi lại kết quả, đánh giá khía cạnh hệ thống hay thành phần (Theo Bảng giải thuật ngữ chuẩn IEEE Thuật ngữ kỹ nghệ phần mềm- IEEE Standard Glossary of Software Engineering Terminology) Kiểm thử phần mềm q trình thực thi chƣơng trình với mục đích tìm lỗi.(Theo “The Art of Software Testing” – Nghệ thuật kiểm thử phần mềm) Kiểm thử phần mềm hoạt động khảo sát thực tiễn sản phẩm hay dịch vụ phần mềm môi trƣờng chúng dự định đƣợc triển khai nhằm cung cấp cho ngƣời có lợi ích liên quan thông tin chất lƣợng sản phẩm hay dịch vụ phần mềm Mục đích kiểm thử phần mềm tìm lỗi hay khiếm khuyết phần mềm nhằm đảm bảo hiệu hoạt động tối ƣu phần mềm nhiều ngành khác (Theo Bách khoa tồn thƣ mở Wikipedia) Có thể định nghĩa cách dễ hiểu nhƣ sau: 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 môi trƣờng hoạt động có u cầu khơng 1.3 Mục tiêu kiểm thử phần mềm Phát xác định nhiều lỗi tốt phần mềm đƣợc kiểm thử Tiến hành sửa lỗi phần mềm đƣợc kiểm thử kiểm thử lại đạt mức độ chất lƣợng phần mềm chấp nhận đƣợc Thực thi trƣờng hợp kiểm thử cách hiệu giới hạn ngân sách lịch trình cho phép Để biên dịch tài liệu lỗi phần mềm thƣờng gặp nhằm mục đích ngăn ngừa sửa chữa lỗi Kiểm thử phần mềm giúp hoàn thiện ứng dụng phần mềm sản phẩm so với yêu cầu kinh doanh ngƣời sử dụng Nó quan trọng để đảm bảo kiểm thử tốt để kiểm thử ứng dụng phần mềm hoàn tồn chắn hoạt động tốt theo thơng số kỹ thuật 1.4 Quy trình kiểm thử phần mềm Hình 1.1 Quy trình kiểm thử Quy trình kiểm thử phần mềm gồm bƣớc sau: - Lập kế hoạch kiểm thử (Test plan) - Thiết kế trƣờng hợp kiểm thử (Testcase) - Thực kiểm thử ghi nhận kết - Kiểm tra, phân tích, đánh giá kết 10 Ngƣời quản lý ln gặp khó khăn vấn đề quản lý q trình hoạt động phận: nhƣ hàng hóa, khoảng cách, địa lý, trang thiết bị đặc biệt trình bán hàng Khách hàng phải xếp hàng chờ đợi hàng lại hàng số để mua đƣợc hàng Chính lý mà số lƣợng khách hàng xem mua hàng hơn, thu nhập cửa hàng bị ảnh hƣởng Vì vậy, tạo phần mềm quản lý bán hàng trực tuyến nhu cầu 3.2.2 Giới hạn người sử dụng Đây dự án quản lý đƣợc thực với chức phù hợp cho cửa hàng bán đồ thời trang dựa chi tiết đặc thù riêng cửa hàng Nên ngƣời sử dụng đƣợc giới hạn phạm vi khách hàng 3.2.3 Tham khảo o Hệ thống bán hàng trực tuyến tiki.vn, lazada.vn o Các hệ thống quản lý khác o Các tài liệu hƣớng dẫn xây dựng phần mềm Mô tả chức hệ thống cung cấp: Hệ thống hƣớng tới đối tƣợng khách hàng, hệ thống có chức bao gồm: đăng nhập, đăng ký tài khoản, đặt hàng, xem sản phẩm, xem giá, mua hàng, toán Các chức giúp khách hàng dễ dàng trình mua hàng, đặt hàng Đặc điểm sản phẩm: Phần mềm mua hàng trực tuyến với chức chính: Lƣu thơng tin khách hàng: họ tên, địa chỉ, tài khoản… Tìm kiếm sản phẩm Chức đặt hàng, mua hàng, toán Ràng buộc thiết kế thực thi: Quy định user: Chẳng hạn, user không đƣợc sửa mật user khác Thời gian khởi động chƣơng trình lúc chƣơng trình bắt đầu khơng q 5s 44 Chƣơng trình chạy khơng ảnh hƣởng đến chƣơng trình ứng dụng có máy 3.3 Phạm vi test Việc kiểm tra hệ thống “Mua hàng trực tuyến ”đƣợc thực lần từ lúc thực đến hoàn thành, nhóm kiểm thử phải test tất chức có phần mềm này, bao gồm: Bảng 3.1: Danh sách module test Nội dung Ghi Module đăng nhập Test GUI, Function Module thoát Test GUI Module tìm kiếm sản phẩm Test GUI, Function Module chọn sản phẩm Test GUI, Function Module mua sản phẩm Test GUI, Function 3.4 Quy trình test phần mềm Hình 3.1: Quy trình kiểm thử 45 Xây dựng kế hoạch kiểm thử Test Manager Test Leader xây dựng kế hoạch ban đầu kiểm thử - Định nghĩa phạm vi kiểm thử - Định nghĩa chiến lƣợc kiểm thử - Nhận dạng rủi ro yếu tố bất ngờ - Nhận dạng hoạt động kiểm thử thủ công, kiểm thử tự động hay hai - Ƣớc lƣợng chi phí kiểm thử xây dựng lịch kiểm thử - Nhận dạng môi trƣờng kiểm thử - Kế hoạch kiểm thử cần đƣợc: - Xem lại QC team, Developers, Business Analysis, PM and Customer - Chấp thuận bởi: Project Manager and Customer - Hiệu chỉnh suốt chu kỳ kiểm thử để phản ánh thay đổi cần thiết Phân tích & thiết kế kiểm thử Test Analyst Test Designer thiết kế (định nghĩa) testcase từ u cầu liên quan (thí dụ từ thơng tin usecase) - Sẽ thiết kế (định nghĩa) testcase từ yêu cầu chức yêu cầu không chức phần mềm - Các testcase cần bao phủ tất khía cạnh kiểm thử cho yêu cầu phần mềm - Các testcase cần bao phủ tất yêu cầu chiến lƣợc kiểm thử - Nếu cần kiểm thử tự động,test designer xây dựng kịch dựa testcase/Test procedures - Các testcase cần đƣợc: - Xem xét lại Project Leader, Developer có liên quan, Testers khác, Test Leader, Business Analysis Customer - Chấp thuận Test Leader Customer - Hiệu chỉnh/cập nhật Tester tìm đƣợc lỗi mà không nằm testcase có 46 Thi hành kiểm thử Testers đƣợc bố trí cơng việc Test Leader để thi hành kiểm thử - Thi hành kiểm thử theo testcase - Thực kiểm thử đặc biệt (ad-hoc) - Thực kịch kiểm thử mà không đƣợc định nghĩa testcase - Kiểm thử lại lỗi đƣợc sửa - Tester tạo báo cáo lỗi suốt trình kiểm lỗi theo dõi chúng chúng đƣợc xử lý - Ở công đoạn kiểm thử độ chấp thuận, Customer thi hành kiểm thử để kiểm định xem hệ thống phần mềm có thỏa mãn nhu cầu ngƣời dùng khơng? Báo cáo kiểm thử đánh giá Test Manager Test Leader phân tích lỗi hệ thống theo dõi lỗi - Tạo báo cáo lỗi - Đánh giá kết kiểm thử, thống kê yêu cầu thay đổi - Tính phân phối thông tin đo lƣờng hoạt động kiểm thử - Tạo bảng tổng kết đánh giá hoạt động kiểm lỗi - Xác định xem đạt tiêu chí thành cơng hoàn thành kiểm thử chƣa Ở báo cáo phục vụ bƣớc thi hành kiểm thử để phục vụ cho trình kiểm thử 47 3.5 Xây dựng testcase kiểm thử phần mềm Trình tự thiết kế test case Kiểm thử Giao Diện Kiểm thử chức (Functional) 3.5.1 Trang đăng nhập Hình 3.2: Giao diện trang đăng nhập 48 Testcase cho chức đăng nhập: Testcase đƣợc thiết kế theo giao diện chức riêng Bàng 3.2: Testcase giao diện trang đăng nhập System Module Hệ thống mua hàng trực tuyến Đăng nhập Pre-condition Test result Test case ID OK N G N/A Total Test Method Expected Result Test Item Larg e Item Medium Small Item Item So sánh tiêu đề Check _001 header Header trang với đặc điểm, chức hình - Tiêu đề trang phù hợp hợp với đặc điểm hình, đƣợc bố trí hợp lý, cân xứng với form Phần cuối trang phù _002 Che ck Check footer Footer So sánh phần cuối hợp với đặc điểm trang với đặc điểm hình, đƣợc bố hình trí hợp lý, cân xứng với form GUI Logo hiển thị theo _003 Check logo Logo Kiểm tra việc hiển thị logo thiết kế cục tin học hóa, màu sắc, hình ảnh, chữ viết, kích thƣớc _004 Check việc Bấm icon phóng to, Thu nhỏ, phóng to phóng to, thu nhỏ khơng bị vỡ form, 49 thu nhỏ browser form _005 _006 không ảnh hƣởng tới bố cục hình Check menu move hover item, color button Check menu mouse item, hover button Kiểm tra việc thay đổi di chuyệt vào menu item, button Các menu item, button đổi màu di chuột qua Kiểm tra việc thay đổi di chuyệt Con trỏ chuột có vào menu item, hình bàn tay button Kiểm tra thứ tự di chuyển trỏ _007 Con trỏ di chuyển Nhấn phím Tab lần lƣợt theo thứ tự: liên tục Từ phải qua trái, từ hình dƣới lên nhấn phím Tab Kiểm tra thứ tự trỏ di Con trỏ di chuyển chuyển _008 ngƣợc lại Nhấn phín ngƣợc lại theo thứ Shift_Tab liên tục tự: từ dƣới lên trên, từ phải qua trái hình nhấn ShiftTab 50 Bảng 3.3: Testcase function đăng nhập Test Item Test case Large Medium ID Item Item Small Item _001 Test Method Expected Result Tại form đăng nhập Nhập mail Hiển thị liệu [leanh7494@gmail.com] Tại form đăng nhập Nhập ký tự số _002 Kiểm tra format ký tự đƣợc nhập _003 (1111111234) Tại form đăng nhập Nhập liệu không địa mail Trƣờng „ _005 Tên đăng Tại form đăng nhập Nhập dãy ký tự đặc nhập‟ biệt [!@#$%^&*] Kiểm tra việc nhập _006 liệu rỗng _007 Tại form đăng nhập Dữ liệu để rỗng đƣợc nhập Không đƣợc phép nhập Không đƣợc phép nhập Không đƣợc phép nhập ký tự đặc biệt Yêu cầu nhập tên đăng nhập Kiểm tra việc đăng Tại form đăng nhập Dữ liệu nhập giá trị Thông báo tài nhập tài khoản không không tồn CSDL khoản không tồn tồn [vtrang27@gmail.com] Check _009 Functi Tại form đăng nhập Nhập số ký tự