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
1,97 MB
Nội dung
TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Tìm hiểu kiểm thử phần mềm ứng dụng vào website Sinh viên thực hiện: Trần Thị Hằng Mã sinh viên: 0851070256 Lớp: 49K- Tin Giáo viên hướng dẫn: TS Phan Anh Phong Nghệ An, tháng 12 năm 2012 Đồ án tốt nghiệp đại học LỜI CẢM ƠN Lời em muốn nói em xin chân thành cảm ơn hướng dẫn tận tình thầy Phan Anh Phong, khoa Công nghệ thông tin trường Đại học Vinh Trong suốt thời gian thực đồ án thầy giành nhiều thời gian tâm huyết việc hướng dẫn em Trong q trình thực thầy ln định hướng, góp ý sửa chữa sai sót giúp em không bị lạc lối biển kiến thức mênh mông Em xin chân thành cảm ơn thầy cô khoa Công nghệ thông tin, thầy cô trường giảng dạy, giúp đỡ em năm học qua Chính thầy xây dựng cho chúng em kiến thức tảng kiến thức chun mơn để em hồn thành đồ án cơng việc sau Em xin chân thành cảm ơn anh chị công ty FPT software bạn lớp 49k-Tin gia đình giúp em hồn thành đồ án Xin chân thành cảm ơn! Sinh viên Trần Thị Hằng SVTH: Trần Thị Hằng - Lớp: 49K - Khoa: CNTTn Thị Hằng - Lớp: 49K - Khoa: CNTT Hằng - Lớp: 49K - Khoa: CNTTng - Lớp: 49K - Khoa: CNTTp: 49K - Khoa: CNTT Đồ án tốt nghiệp đại học LỜI MỞ ĐẦU Với yêu cầu ngày cao việc phát triển phần mềm, mức độ phức tạp ngày lớn, giới hạn thời gian chi phí ngày khắt khe, khách hàng ngày khó tính có nhiều u cầu cao nên công ty phần mềm cần phải đưa sản phẩm đạt yêu cầu, việc kiểm thử phần mềm yếu tố quan trọng khơng thể thiếu Những lập trình viên chủ quan ln nghĩ họ code nên lỗi xuất hay tiềm ẩn sản phẩm phần mềm, cần phải có phận ngồi phận phát triển phần mềm để bắt lỗi Trong trình thực tập cơng ty FPT Đà Nẵng em tiếp xúc tìm hiểu trình kiểm thử phần mềm Cùng với hướng dẫn giúp đỡ thầy Phan Anh Phong nên em chọn đề tài “Tìm hiểu kiểm thử phần mềm ứng dụng vào website” làm đề tài cho đồ án tốt nghiệp Nội dung đề tài đề cập đến sở lý thuyết kiểm thử phần mềm, phương pháp thiết kế ca kiểm thử cho website, hoạt động kiểm tra công cụ tự động tìm hiểu cơng cụ Quick Test Professionnal SVTH: Trần Thị Hằng - Lớp: 49K - Khoa: CNTTn Thị Hằng - Lớp: 49K - Khoa: CNTT Hằng - Lớp: 49K - Khoa: CNTTng - Lớp: 49K - Khoa: CNTTp: 49K - Khoa: CNTT Đồ án tốt nghiệp đại học MỤC LỤC LỜI CẢM ƠN .2 LỜI MỞ ĐẦU .3 Chương 1: KIỂM THỬ PHẦN MỀM 1.1 Lỗi phần mềm 1.1.1 Định nghĩa 1.1.2 Nguyên nhân .6 1.1.3 Lỗi phần mềm phổ biến 1.2 Kiểm thử phần mềm .6 1.2.1 Kiểm thử phần mềm gì? .6 1.2.2 Mơ hình phát triển kiểm thử phần mềm 1.2.3 Các chiến lược kiểm thử phần mềm 1.2.4 Nguyên tắc kiểm thử phần mềm .13 1.2.5 Khó khăn kiểm thử phần mềm 14 1.3 Thiết kế ca kiểm thử .14 1.3.1 Khái niệm .14 1.3.2 Yêu cầu ca kiểm thử 14 1.3.3 Nội dung ca kiểm thử .15 1.3.4 Thiết kế ca kiểm thử .15 Chương 2: CÔNG CỤ KIỂM TRA TỰ ĐỘNG 20 2.1 Kiểm thử tự động 20 2.1.1 Định nghĩa 20 2.1.2 Tại phải dùng công cụ kiểm tra tự động .20 2.2 Công cụ kiểm tra tự động Quick Test Professionnal 21 2.2.1 Giới thiệu 21 2.2.2 Hướng dẫn sử dụng phần mềm Quick Test Professionnal 22 Chương 3: THIẾT KẾ CA KIỂM THỬ CHO WEBSITE QUẢN LÝ GARA 34 3.1 Yêu cầu đặc tả chức website quản lý Gara 34 SVTH: Trần Thị Hằng - Lớp: 49K - Khoa: CNTTn Thị Hằng - Lớp: 49K - Khoa: CNTT Hằng - Lớp: 49K - Khoa: CNTTng - Lớp: 49K - Khoa: CNTTp: 49K - Khoa: CNTT Đồ án tốt nghiệp đại học 3.1.1 Website quản lý Gara 34 3.1.2 Mô tả hình website quản lý Gara 34 3.2 Thiết kế ca kiểm thử cho website quản lý Gara 46 3.3 Sử dụng Quick Test Professionnal chạy ca kiểm thử 54 KẾT LUẬN .57 TÀI LIỆU THAM KHẢO 58 SVTH: Trần Thị Hằng - Lớp: 49K - Khoa: CNTTn Thị Hằng - Lớp: 49K - Khoa: CNTT Hằng - Lớp: 49K - Khoa: CNTTng - Lớp: 49K - Khoa: CNTTp: 49K - Khoa: CNTT Đồ án tốt nghiệp đại học Chương 1: KIỂM THỬ PHẦN MỀM 1.1 Lỗi phần mềm 1.1.1 Định nghĩa Lỗi phần mềm thể chương trình khơng làm mà người dùng mong muốn làm 1.1.2 Nguyên nhân - Lỗi mã nguồn: Chương trình khơng làm mà người lập trình mong muốn chương trình làm - Vấn đề thiết kế: Chương trình thực mà lập trình viên u cầu, khách hàng khơng thích khơng vui với - Vấn đề u cầu: Chương trình thiết kế thực hành tốt khơng phù hợp với u cầu khách hàng - Khơng hịa hợp tài liệu mã nguồn - Khơng hịa hợp đặc tả mã nguồn: Đặc tả yêu cầu bị thay đổi 1.1.3 Lỗi phần mềm phổ biến - Lỗi giao diện - Xử lý kiện làm người dùng không hiểu - Ngồi giá trị biên - Lỗi tính tốn - Giai đoạn khởi động kết thúc - Luồng điều khiển - Lỗi nhập liệu - Điều kiện tải - Điều kiện cạnh tranh - Điều kiện khơng tương thích với môi trường - Dùng phần mềm phiên bản, ID điều khiển - Kiểm thử - Tài liệu 1.2 Kiểm thử phần mềm 1.2.1 Kiểm thử phần mềm gì? Kiểm thử phần mềm tiến trình hay tập hợp tiến trình thiết kế để đảm bảo trình xây dựng phần mềm thực theo mà chúng thiết SVTH: Trần Thị Hằng - Lớp: 49K - Khoa: CNTTn Thị Hằng - Lớp: 49K - Khoa: CNTT Hằng - Lớp: 49K - Khoa: CNTTng - Lớp: 49K - Khoa: CNTTp: 49K - Khoa: CNTT Đồ án tốt nghiệp đại học kế để làm, khơng thực thứ khơng mong muốn Đây phần quan trọng trình phát triển phần mềm, giúp cho người xây dựng phần mềm khách hàng thấy hệ thống đáp ứng yêu cầu đặt hay chưa? 1.2.2 Mơ hình phát triển kiểm thử phần mềm Kiểm thử chấp nhận Xác định yêu cầu Xác định chức Kiểm thử hệ thống Thiết kế hệ thống Kiểm thử tích hợp Thiết kế nội dung chi tiết Kiểm thử đơn vị Mã hóa Hình 1.1 Mơ hình chữ V Các tính chất quan trọng mơ hình kiểm thử: - Các hoạt động xây dựng phần mềm kiểm thử tách biệt - Cần phân biệt mức độ kiểm thử mức kiểm thử kiểm thử mức phát triển phần mềm tương ứng - Quy trình thiết lập yêu cầu phần mềm, thiết kế, xây dựng, kiểm thử hệ thống phần mềm thực chuỗi chu trình phát triển ngắn Các yếu tố quan trọng quy trình kiểm thử: - Cần có mức độ kiểm thử cho công đoạn phát triển phần mềm - Các mục tiêu kiểm thử bị thay đổi, mức kiểm thử nên có mục tiêu đặc thù riêng - Việc phân tích thiết kế ca kiểm thử cho mức độ kiểm thử nên bắt đầu sớm SVTH: Trần Thị Hằng - Lớp: 49K - Khoa: CNTTn Thị Hằng - Lớp: 49K - Khoa: CNTT Hằng - Lớp: 49K - Khoa: CNTTng - Lớp: 49K - Khoa: CNTTp: 49K - Khoa: CNTT Đồ án tốt nghiệp đại học - Các kiểm thử viên nên xem xét tài liệu sớm có thể, sau tài liệu tạo chu kỳ phát triển phần mềm - Số lượng cường độ mức kiểm thử điều khiển theo yêu cầu đặc thù dự án phần mềm 1.2.3 Các chiến lược kiểm thử phần mềm 1.2.3.1 Phương pháp kiểm thử 1) Phương pháp kiểm thử hộp đen Một chiến lược kiểm thử quan trọng kiểm thử hộp đen, hướng liệu, hay hướng vào/ra Kiểm thử hộp đen xem chương trình “hộp đen” Mục đích bạn hồn tồn khơng quan tâm cách hoạt động 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ả Theo hướng tiếp cận này, liệu kiểm tra lấy từ đặc tả yêu cầu Các phương pháp kiểm thử hộp đen: - Phân lớp tương đương - Phân tích giá trị biên Kiểm thử dựa đặc tả yêu cầu tập trung vào kiểm tra tính thiết thực phần mềm theo u cầu thích hợp Do đó, kiểm thử viên nhập liệu vào, thấy liệu từ đối tượng kiểm thử Mức kiểm thử thường yêu cầu ca kiểm thử triệt để cung cấp cho kiểm thử viên mà xác minh liệu đầu vào cho, giá trị đầu (hay cách thức hoạt động) có giống với giá trị mong muốn xác định ca kiểm thử hay khơng Kiểm thử dựa đặc tả cần thiết, không đủ để để ngăn chặn rủi ro chắn Ưu nhược điểm: Kiểm thử hộp đen khơng có mối liên quan tới mã lệnh, kiểm thử đơn vị nên đơn giản tâm niệm rằng: mã lệnh phải có lỗi Những kiểm thử viên hộp đen tìm lỗi mà lập trình viên khơng tìm Nhưng, mặt khác, người ta nói kiểm thử hộp đen “giống bóng tối mà khơng có đèn vậy”, kiểm thử viên phần mềm kiểm tra thực xây dựng Đó lý mà có nhiều trường hợp mà kiểm thử viên hộp đen viết nhiều ca kiểm thử để kiểm tra thứ mà SVTH: Trần Thị Hằng - Lớp: 49K - Khoa: CNTTn Thị Hằng - Lớp: 49K - Khoa: CNTT Hằng - Lớp: 49K - Khoa: CNTTng - Lớp: 49K - Khoa: CNTTp: 49K - Khoa: CNTT Đồ án tốt nghiệp đại học cần kiểm tra ca kiểm thử nhất, và/hoặc số phần chương trình khơng kiểm tra chút Do vậy, kiểm thử hộp đen có ưu điểm “một đánh giá khách quan”, mặt khác lại có nhược điểm “thăm dò mù” 2) Phương pháp kiểm thử hộp trắng Phương pháp kiểm thử hộp trắng sử dụng để đánh giá hoàn thành kiểm thử mà tạo với phương pháp kiểm thử hộp đen Điều cho phép nhóm phần mềm khảo sát phần hệ thống kiểm tra đảm bảo điểm chức quan trọng kiểm tra Kiểm thử hộp trắng thường lập trình viên thực 1.2.3.2 Cấp độ kiểm thử Kiểm thử phần mềm gồm có cấp độ: kiểm thử đơn vị, kiểm thử tích hợp, kiểm thử hệ thống kiểm thử chấp nhận sản phẩm Các đơn vị thành phần đơn giản Kiểm thử đơn vị Các nhóm đơn vị Kiểm thử tích hợp Tồn hệ thống Kiểm thử hệ thống Kiểm thử chấp nhận Hệ thống nhìn từ phía khách hàng Hình 1.2 Sơ đồ cấp độ kiểm thử 1) Kiểm thử đơn vị Một đơn vị thành phần phần mềm nhỏ mà ta kiểm thử Ví dụ: hàm, thủ tục, lớp hay phương thứ xem đơn vị SVTH: Trần Thị Hằng - Lớp: 49K - Khoa: CNTTn Thị Hằng - Lớp: 49K - Khoa: CNTT Hằng - Lớp: 49K - Khoa: CNTTng - Lớp: 49K - Khoa: CNTTp: 49K - Khoa: CNTT Đồ án tốt nghiệp đại học Vì đơn vị chọn để kiểm tra thường có kích thước nhỏ chức hoạt động đơn giản, khơng khó khăn việc tổ chức kiểm thử, ghi nhận phân tích kết kiểm thử Nếu phát lỗi, việc xác định nguyên nhân khắc phục tương đối dễ dàng khoanh vùng đơn vị kiểm tra Một nguyên lý đúc kết từ thực tiễn: Thời gian tốn cho kiểm tra đơn vị đền bù việc tiết kiệm nhiều thời gian chi phí cho việc kiểm thử sửa lỗi mức kiểm thử sau 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 Thông thường kiểm thử đơn vị đòi hỏi kiểm thử viên có kiến thức thiết kế code chương trình Mục đích kiểm thử đơn vị bảo đảm thông tin xử lý kết đưa xác, mối tương quan với liệu nhập chức đơn vị Điều thường đòi hỏi tất nhánh bên đơn vị phải kiểm tra để phát nhánh phát sinh lỗi Một nhánh thường chuỗi lệnh thực thi đơn vị Ví dụ: chuỗi lệnh sau điều kiện If nằm Then Else nhánh Thực tế việc chọn lựa nhánh để đơn giản hóa việc kiểm thử qt hết đơn vị địi hỏi phải có kỹ thuật, đơi phải dùng thuật tốn để chọn lựa Cùng với 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ử kịch kiểm thử, định rõ liệu đầu vào, bước thực liệu đầu mong muốn Các ca kiểm thử kịch kiểm thử nên giữ lại để tái sử dụng 2) Kiểm thử tích hợp Kiểm thử tích hợp kết hợp thành phần ứng dụng kiểm thử ứng dụng hoàn thành Trong kiểm thử đơn vị kiểm tra thành phần đơn vị riêng lẻ kiểm thử tích hợp kết hợp chúng lại với kiểm tra giao tiếp chúng Hai mục tiêu kiểm thử tích hợp: - Phát lỗi giao tiếp xảy đơn vị - Tích hợp đơn vị đơn lẻ thành hệ thống nhỏ cuối hệ thống hoàn chỉnh chuẩn bị cho kiểm thử mức hệ thống Trong kiểm thử đơn vị, lập trình viên cố gắng phát lỗi liên quan đến chức cấu trúc nội đơn vị Có số phép kiểm thử đơn giản giao tiếp đơn vị với thành phần liên quan khác, nhiên giao tiếp liên quan đến SVTH: Trần Thị Hằng - Lớp: 49K - Khoa: CNTTn Thị Hằng - Lớp: 49K - Khoa: CNTT Hằng - Lớp: 49K - Khoa: CNTTng - Lớp: 49K - Khoa: CNTTp: 49K - Khoa: CNTT 10 ... Kiểm thử phần mềm gì? .6 1.2.2 Mơ hình phát triển kiểm thử phần mềm 1.2.3 Các chiến lược kiểm thử phần mềm 1.2.4 Nguyên tắc kiểm thử phần mềm .13 1.2.5 Khó khăn kiểm thử phần. .. rõ liệu đầu vào, bước thực liệu đầu mong muốn Các ca kiểm thử kịch kiểm thử nên giữ lại để tái sử dụng 2) Kiểm thử tích hợp Kiểm thử tích hợp kết hợp thành phần ứng dụng kiểm thử ứng dụng hoàn... dựng phần mềm kiểm thử tách biệt - Cần phân biệt mức độ kiểm thử mức kiểm thử kiểm thử mức phát triển phần mềm tương ứng - Quy trình thiết lập yêu cầu phần mềm, thiết kế, xây dựng, kiểm thử hệ