1. Trang chủ
  2. » Luận Văn - Báo Cáo

Kiểm thử phi chức năng website bán gạo

56 304 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

Thông tin cơ bản

Định dạng
Số trang 56
Dung lượng 5,42 MB

Nội dung

1 TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG KHOA CÔNG NGHỆ THÔNG TIN -o0o BÁO CÁO KIỂM CHỨNG PHẦN MỀM Kiểm Thử Phi Chức Năng Website Bán Gạo LỚP: CNTT K14A Giáo viên hướng dẫn: Ths Hà Thị Thanh Thái nguyên, tháng năm 2019 CHƯƠNG I: TỔNG QUAN VỀ KIỂM THỬ PHẦN MỀM 1.1 Các khái niệm kiểm thử phần mềm 1.1.1 Kiểm thử phần mềm gì? Kiểm thử phần mềm trình khảo sát hệ thống hay thành phần đ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 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 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 sau: 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 mã hóa máy tính thực theo mà chúng thiết kế để làm, không thực thứ khơng mong muốn Đây pha quan trọng trình phát triển hệ thống, giúp cho người xây dựng hệ thống khách hàng thấy hệ thống đáp ứng yêu cầu đặt hay chưa? 1.1.2 Các phương pháp kiểm thử Có phương pháp kiểm thử là: Kiểm thử tĩnh Kiểm thử động Kiểm thử tĩnh – Static testing: Là phương pháp thử phần mềm đòi hỏi phải duyệt lại yêu cầu đặc tả tay, thông qua việc sử dụng giấy, bút để kiểm tra logic, lần chi tiết mà không cần chạy chương trình Kiểm thử động – Dynamic testing: Là phương pháp thử phần mềm thông qua việc dùng máy chạy chương trình để điều tra trạng thái tác động chương trình 1.1.3 Các chiến lược kiểm thử Ba số chiến lược kiểm thử thông dụng bao gồm: Kiểm thử hộp đen, Kiểm thử hộp trắng, Kiểm thử hộp xám 1.1.3.1 Kiểm thử hộp đen – Black box testing 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 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ả Theo hướng tiếp cận này, liệu kiểm tra lấy từ đặc tả Các phương pháp kiểm thử hộp đen  Phân lớp 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  Kiểm thử dựa đặc tả – Specification-base testing Kiểm thử dựa đặc tả 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ử viên đơn giản tâm niệm là: mã lệnh phải có lỗi Sử dụng ngun tắc “ Hãy đòi hỏi bạn nhận”, 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à 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ù” 1.1.3.2 Kiểm thử hộp trắng – White box testing Là chiến lược kiểm thử khác, trái ngược hoàn toàn với kiểm thử hộp đen, kiểm thử hộp trắng hay kiểm thử hướng logic cho phép bạn khảo sát cấu trúc bên chương trình Chiến lược xuất phát từ liệu kiểm thử kiểm thử tính logic chương trình Kiểm thử viên truy cập vào cấu trúc liệu giải thuật bên chương trình (và mã lệnh thực chúng) Các phương pháp kiểm thử hộp trắng  Kiểm thử giao diện lập trình ứng dụng - API testing (application programming interface): phương pháp kiểm thử ứng dụng sử dụng API công khai riêng tư  Bao phủ mã lệnh – Code coverage: tạo kiểm tra để đáp ứng số tiêu chuẩn bao phủ mã lệnh  Các phương pháp gán lỗi – Fault injection  Các phương pháp kiểm thử hoán chuyển – Mutation testing methods  Kiểm thử tĩnh – Static testing: kiểm thử hộp trắng bao gồm kiểm thử tĩnh 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 1.1.3.3 Kiểm thử hộp xám – Gray box testing Kiểm thử hộp xám đòi hỏi phải có truy cập tới cấu trúc liệu giải thuật bên cho mục đích thiết kế ca kiểm thử, kiểm thử mức người sử dụng hay mức hộp đen Việc thao tác tới liệu đầu vào định dạng liệu đầu không rõ ràng, giống “hộp xám”, đầu vào đầu rõ ràng bên “hộp đen” mà gọi hệ thống kiểm tra Sự khác biệt đặc biệt quan trọng quản lý kiểm thử tích hợp – Intergartion testing modun mã lệnh viết hai chuyên viên thiết kế khác nhau, giao diện đưa để kiểm thử Kiểm thử hộp xám fdbao gồm thiết kế đối chiếu để định, ví dụ, giá trị biên hay thơng báo lỗi Các cấp độ kiểm thử phần mềm 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 Sơ đồ cấp độ kiểm thử 1.1.4.1 Kiểm thử đơn vị – Unit test Một đơn vị thành phần phần mềm nhỏ mà ta kiểm thử Ví dụ, hàm (Function), thủ tục (Procedure), lớp (Class) hay phương thức (Method) xem Unit Vì Unit 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 thể Unit kiểm tra Một nguyên lý đúc kết từ thực tiễn: thời gian tốn cho Unit Test đề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 Unit Test 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, Unit Test đòi hỏi kiểm thử viên có kiến thức thiết kế code chương trình Mục đích Unit Test bảo đảm thông tin xử lý xuất (khỏi Unit) xác, mối tương quan với liệu nhập chức Unit Điều thường đòi hỏi tất nhánh bên Unit 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 Unit 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 Unit đò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, Unit Test đòi hỏi phải chuẩn bị trước ca kiểm thử (Test case) kịch kiểm thử (Test script), định rõ liệu đầu vào, bước thực liệu đầu mong muốn Các Test case Test script nên giữ lại để tái sử dụng 1.1.4.2 Kiểm thử tích hợp – Intergration Test 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 Hai mục tiêu Integration Test:  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) Trong Unit Test, 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 Unit Có số phép kiểm thử đơn giản giao tiếp Unit với thành phần liên quan khác, nhiên giao tiếp liên quan đến Unit thật kiểm tra đầy đủ Unit tích hợp với thực Integration Test Trừ số ngoại lệ, Integration Test nên thực Unit kiểm tra cẩn thận trước Unit Test, tất lỗi mức Unit sửa chữa Một số người hiểu sai Unit qua giai đoạn Unit Test với giao tiếp giả lập khơng cần phải thực Integration Test Thực tế việc tích hợp Unit dẫn đến tình hồn tồn khác Một chiến lược cần quan tâm Integration Test nên tích hợp dần Unit Một Unit thời điểm tích hợp vào nhóm Unit khác tích hợp trước hồn tất đợt Integration Test trước Lúc này, ta cần kiểm thử giao tiếp Unit thêm vào với hệ thống Unit tích hợp trước đó, điều làm cho số lượng can kiểm thử giảm nhiều, sai sót giảm đáng kể 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ử cấu trúc nhằm bảo đảm thành phần bên chương trình chạy trọng đến hoạt động thành phần cấu trúc nội chương trình chẳng hạn câu lệnh nhánh bên  Kiểm thử chức (Functional Test): Tương tự Black Box Test, kiểm thử chức trọng đến chức chương trình, mà khơng quan tâm đến cấu trúc bên trong, khảo sát chức chương trình theo yê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 1.1.4.3 Kiểm thử hệ thống – System Test Mục đích System Test kiểm thử thiết kế toàn hệ thống (sau tích hợp) có thỏa mãn u cầu đặt hay không System Test bắt đầu tất phận phần mềm tích hợp thành cơng Thông thường loại kiểm thử tốn nhiều công sức thời gian Trong nhiều trường hợp, việc kiểm thử đò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 thử 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 tồ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 Sau hoàn thành Integration Test, hệ thống phần mềm hình thành với thành phần kiểm tra đầy đủ Tại thời điểm này, lập trình viên kiểm thử viên bắt đầu kiểm thử phần mềm hệ thống hoàn chỉnh Việc lập kế hoạch cho System Test nên giai đoạn hình thành phân tích yêu cầu System Test kiểm thử hành vi chức phần mềm lẫn yêu cầu chất lượng độ tin cậy, tính tiện lợi sử dụng, hiệu bảo mật Mức kiểm thử đặc biệt thích hợp cho việc phát lỗi giao tiếp với phần mềm phần cứng bên ngoài, chẳng hạn lỗi "tắc nghẽn" (deadlock) chiếm dụng nhớ Sau giai đoạn System Test, phần mềm thường sẵn sàng cho khách hàng người dùng cuối kiểm thử chấp nhận sản phẩm (Acceptance Test) dùng thử (Alpha/Beta Test) Đòi hỏi nhiều cơng sức, thời gian tính xác, khách quan, System Test thường thực nhóm kiểm thử viên hồn tồn độc lập với nhóm phát 10 - Tiêu thụ nhớ (Memory Consumption): JMeter mơ tải trọng hình dung báo cáo kiểm tra Điều tiêu tốn nhiều nhớ dẫn khỏi nhớ tải nặng - Chỉ chạy ứng dụng Web (Web application only): JMeter công cụ tốt để thử nghiệm ứng dụng web khơng phải cơng cụ phù hợp để thử nghiệm ứng dụng máy tính để bàn - Thiếu hỗ trợ cho JavaScript (Lack of support for JavaScript): JMeter khơng phải trình duyệt nên khơng thể chạy JavaScript ứng dụng web Nó có hỗ trợ hạn chế để xử lý JavaScript Ajax, điều ảnh hưởng đến độ xác mơ 42 CHƯƠNG 3: GIỚI THIỆU VỀ WEBSITE GẠO SỊN 3.1 Tổng quan Người phụ nữ Việt Nam ta, để giữ lửa yêu thương họ thường tất tả tìm kiếm thực phẩm thơm ngon bổ dưỡng dành cho ông xã Họ ln tìm hiểu để tự làm ăn ngon tràn đầy tình yêu th ương cho gia đình Và thực phẩm khơng thể thiếu gạo Hạt gạo lương thực phổ biến bữa cơm gia đình người Việt Chúng ta làm nhiều ngon khác t g ạo nh ư: Bún, phở, bánh bao, bánh mỳ… Không Việt Nam, mà n ước giới cần nguồn thực phẩm tốt Việt Nam nước xuất kh ẩu gạo đ ứng đầu th ế gi ới Hàng năm, có nhiều nước nhập kh ẩu gạo c ta v ới số lượng lớn Có nhiều thương gia, doanh nghiệp n ắm bắt th ời để kinh doanh gạo không nước mà quốc tế Bạn kinh doanh bn bán gạo thực phẩm từ Bạn phải bán hàng chợ, mạng xã hội… Nh ưng b ạn bán số lượng nhiều thời gian Ngày nay, với th ị tr ường kinh doanh gạo phát triển nhanh Giải pháp tốt xây dựng website bán gạo Vì v ậy chúng em xây dựng lên website nhằm giải quy ết nhu cầu 43 3.2 Bản đặc tả phần mềm 3.2.1 Đặc tả - Phương pháp đặc tả Đặc tả phi hình thức - Được diễn đạt ngơn ngữ tự nhiện tốn học, Tuy khơng chặt chẽ dễ hiểu dễ diễn đạt Thường sử dụng cần phát biểu toán, u cầu ban đầu, để xác hóa nh ững điểm chưa rõ, khái niệm mơ hồ.5 -Xác định rõ yêu cầu phần mềm + Yêu cầu chức năng: Về người quản lý: Có thể đăng nhập, thêm/ xóa sản phẩm, sửa thơng tin sản phẩm, in hóa đơn, tổng hợp doanh thu Về người dùng: Đăng nhập, tìm kiếm sản phẩm, nhập thơng tin sản phẩm (tên, số lượng, dịch vụ khác), tiến hành toán + Yêu cầu hiệu năng: Độ tin cậy: Khi người dùng có u cầu tốn -> tính giá tr ị hóa đơn xác ( Đảm bảo cung cấp thơng tin xác đến khách hàng ) Tính dễ sử dụng: Ngơn ngữ, giao diện dễ hiểu; bi ểu tượng mang tính quán Tính ổn định: Hệ thống ln sẵn sàng phục vụ người dùng 24/24h Tính bảo mật: Người quản lý (admin) đăng nhập với tài khoản đăng nhập với tài khoản khác; Không đ ể l ộ thông tin người dùng… 44 - Tài liệu đặc tả + Mô tả chung Tổng quan sản phẩm Chức sản phẩm Đối tượng: Người quản lý, người dùng Các ràng buộc tổng thể: Ràng buộc d ữ li ệu đầu vào so với li ệu CSDL, ràng buộc với ứng dụng bên Giả thi ết phụ thu ộc: Phần mềm đ ược cài đặt h ệ th ống máy tính cửa hàng, hệ th ống phần mềm kết n ối CSDL c cửa hàng + Đặc tả yêu cầu (Yêu cầu chi tiết) (Đăng nhập) (Tìm kiếm) Về đăng nhập: Dữ liệu vào: nhập tài khoản mật 45 Xử lý: kiểm tra tính xác Kết quả: thơng báo đăng nhập thành cơng, sai báo lỗi nhập lại Về tìm kiếm sản phẩm: Dữ liệu vào: Nhập thơng tin cần tìm kiếm Xử lý: Kiểm tra thơng tin CSDL Kết quả: Đúng thơng tin hiển thị, Sai tr ả v ề k ết qu ả danh sách rỗng - Bản đánh giá yêu cầu xác định trên: Tính hợp lệ, tính qn, hồn thiện, thực, xác thực, xem xét lại yêu cầu, mẫu thử, tạo trường kiểm thử - Lập kế hoạch quản lý yêu cầu Xác định yêu cầu, quản lý thay đổi, phân tích vấn đề đặc tả thay đổi, phân tích thay đổi chi phí cài đặt thay đổi 46 3.2.2 Tổng quan hệ thống a Khách hàng 47 b Cộng tác viên 48 c Nhân viên quản trị hệ thống (admin) 3.2.3 Kiến trúc hệ thống a.Mô tả phân giã 49 Hình 4: Biểu đồ UC tác nhân nhân viên khách hàng 50 Hình 5: Biểu đồ UC quản trị viên khách hàng 51 b.Thiết kế liệu Đây biểu đồ mô tả liệu phần mềm bao gồm b ảng thuộc tính hệ sở liệu (CSDL) + Bảng User (Bảng người dùng): Có chức lưu thông tin tài kho ản bao gồm thuộc tính: ID, Username (Tên tài khoản), Password (m ật kh ẩu), Fullname (tên người dùng), Email, Phone (sđt), Address (địa người dùng), Permission (phân quyền) +Bảng SanPham: Có chức lưu thơng tin hàng hóa, s ản ph ẩm; bao gồm thuộc tính: ID, Tên sản phẩm, loại sản phẩm, giá s ản ph ẩm, đặc tính s ản phẩm, mơ tả sản phẩm, người tạo sản phẩm, ngày tạo sản phẩm +Bảng ThanhToan: Chức lưu thơng tin hóa đơn Các thu ộc tính có bảng: ID, Tên sản phẩm, loại sản phẩm, giá sản phẩm, s ố lượng, tổng ti ền, người mua, ngày mua Thiết kế theo hướng chức 52 (Biểu đồ usecase) 53 CHƯƠNG : THỰC HIỆN KIỂM THỬ 4.1 Thiết kế testcase 4.2 Lịch trình cơng việc Tên cơng việc Thời gian thực Ngày bắt đầu Ngày kết thúc Lập kế hoạch kiểm thử ngày 17/04/2019 18/04/2019 Xem lại tài liệu ngày 19/04/2019 20/04/2019 Viết kịch ngày 21/04/2019 21/04/2019 Thiết kế testcase ngày 22/04/2019 22/04/2019 Viết testcase ngày 23/04/2019 27/04/2019 Xem lại testcase ngày 28/04/2019 28/4/2019 Thực thi test ngày 29/4/2019 30/4/2019 Viết báo cáo ngày 1/5/2019 2/5/2019 TRƯỜNG ĐẠI HỌC CNTT&TT KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN: CÔNG NGHỆ PHẦN MỀM CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc 54 BẢNG PHÂN CÔNG THỰC HIỆN TIỂU LUẬN Tên học phần: Kiểm chứng phần mềm Ngành học: Công nghệ thông tin Lớp: CNTT K14A Tên tiểu luận: Sử dụng công cụ kiểm thử phi chức Website gạo sịn Học kì: STT Năm học 2018-2019 Tên nhiệm vụ Hệ số điể m Chữ kí sinh viên Kiểm thử phi chức Kiểm thử phi chức Kiểm thử phi chức Kiểm thử phi chức Thái Nguyên, ngày 03 tháng 05 năm 2019 55 GIẢNG VIÊN GIẢNG DẠY Hà Thị Thanh 56 ... phương pháp kiểm thử kỹ thuật kiểm thử hồi quy CHƯƠNG 2: KIỂM THỬ PHI CHỨC NĂNG VÀ CÔNG CỤ KIỂM THỬ HIỆU NĂNG JMETER 1.1 Kiểm thử phi chức 2.1.1 Khái niệm kiểm thử phi chức Kiểm thử phi chức khía... Các cấp độ kiểm thử phần mềm 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 Sơ đồ cấp độ kiểm thử 1.1.4.1 Kiểm thử đơn vị –... kiểm thử Ba số chiến lược kiểm thử thông dụng bao gồm: Kiểm thử hộp đen, Kiểm thử hộp trắng, Kiểm thử hộp xám 1.1.3.1 Kiểm thử hộp đen – Black box testing Một chiến lược kiểm thử quan trọng kiểm

Ngày đăng: 21/06/2019, 09:35

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w