Kiểm thử phần mềm, Tìm hiểu về quá trình kiểm thử negative và interoperability

30 3 0
Kiểm thử phần mềm, Tìm hiểu về quá trình kiểm thử negative và interoperability

Đ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

Kiểm thử phần mềm,Tìm hiểu về quá trình kiểm thử negative và interoperability,Kiểm thử phần mềm là một quá trình kiểm tra để phát hiện ra lỗi của những phần mềm, ứng dụng nhằm cung cấp cho khách hàng, lập trình viên… thông tin về chất lượng của phần mềm được kiểm thử. Mục đích cuối cùng của công việc này là để đảm bảo sản phẩm (phần mềm, ứng dụng) được tạo ra theo đúng mong muốn khách hàng và hoạt động hiệu quả. Với các công ty phát triển phần mềm thì Tester (chuyên viên kiểm thử phần mềm) có vai trò cốt yếu để đảm bảo uy tín của công ty, tránh những trường hợp sản phẩm lỗi bị khách hàng trả về nơi sản xuất.

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI - BÁO CÁO THỰC HÀNH Mơn: Kiểm thử phần mềm Đề tài: Tìm hiểu q trình kiểm thử negative interoperability Nhóm thực hiện: 21 Mã lớp: 20212IT6013002 Danh sách nhóm : Người hướng dẫn: TS Hoàng Quang Huy Hà Nội, 11/2021 MỤC LỤC CHƯƠNG 1: KHÁI NIỆM KIỂM THỬ PHẦN MỀM 1.1 Khái niệm .4 1.2 Lợi ích kiểm thử .4 1.3 Các giai đoạn trình kiểm thử phần mềm 1.3.1 Phân tích yêu cầu sản phẩm (requirement analysis) 1.3.2 Lập kế hoạch kiểm thử phần mềm (test planning) 1.3.3 Thiết kế kịch kiểm thử phần mềm (test case development) .7 1.3.4 Sắp đặt môi trường kiểm thử phần mềm (test environment set up) 1.3.5 Thực thi trình kiểm thử phần mềm (test execution) 1.3.6 Kết thúc chu trình kiểm thử phần mềm (test cycle closure) .8 1.4 Kiểm thử hộp đen 1.4.1 Khái niệm 1.4.2 Ưu điểm 1.4.3 Nhược điểm .9 1.5 Kiểm thử hộp trắng .10 1.5.1 Khái niệm 10 1.5.2 Ưu điểm 10 1.5.3 Nhược điểm 11 CHƯƠNG 2: QUÁ TRÌNH KIỂM THỬ NEGATIVE VÀ INTEROPERABILITY 12 2.1 Kiểm thử negative 12 2.1.1 Khái niệm 12 2.1.2 Quy trình thực Kiểm tra bị động(Negative Testing) .14 2.1.3 Ưu điểm 15 2.1.4 Nhược điểm 15 2.2 Kiểm thử Interoperability (kiểm thử liên tác) .16 2.2.1 Khái niệm 16 2.2.2 Quy trình thực Kiểm tra liên tác .17 2.2.3 Ưu điểm 19 2.2.4 Nhược điểm 20 CHƯƠNG 3: ỨNG DỤNG KIỂM THỬ 21 3.1 Lập kế hoạch 21 3.2 Công cụ 21 3.3 Kịch kiểm thử 21 3.4 Thực kiểm thử 21 3.5 Cài đặt công cụ .25 KẾT LUẬN 28 TÀI LIỆU THAM KHẢO .29 LỜI MỞ ĐẦU Công nghệ thông tin ngành phát triển xã hội ngày Nó ứng dụng nhiều ngành, lĩnh vực đạt hiệu cao Đặc biệt công tác quản lý, tin học làm giảm nhẹ sức người quản lý, tiết kiệm thời gian gọn nhẹ nhiều so với cách quản lý giấy tờ trước Ứng dụng tin học vào công tác quản lý cịn giúp thu hẹp khơng gian lưu trữ liệu, tránh thất lạc liệu cách an tồn Hơn cịn giúp tìm kiếm, tra cứu thơng tin cách nhanh chóng, xác đầy đủ Nhóm em xin gửi lời tri ân sâu sắc đến thầy ThS Hồng Quang Huy Trong q trình tìm hiểu học tập mơn Kiểm thử phần mềm, nhóm nhận hướng dẫn chia sẻ tận tình, tâm huyết thầy Từ hướng dẫn tận tình thầy với kiến thức mà nhóm học tập, tìm hiểu, chúng em hoàn thành báo cáo đề tài “Nghiên cứu kỹ thuật kiểm negative interoperbility” Với tất cố gắng, nỗ lực mình, nhóm em hồn thành tốt báo cáo Nhưng chúng em mong nhận góp ý thầy bạn để báo cáo chúng em hồn thiện Kính chúc thầy thật nhiều sức khoẻ, hạnh phúc thành công sống Nhóm em xin chân thành cảm ơn! CHƯƠNG 1:KHÁI NIỆM KIỂM THỬ PHẦN MỀM 1.1 Khái niệm Kiểm thử phần mềm trình kiểm tra để phát lỗi phần mềm, ứng dụng nhằm cung cấp cho khách hàng, lập trình viên… thơng tin chất lượng phần mềm kiểm thử Mục đích cuối cơng việc để đảm bảo sản phẩm (phần mềm, ứng dụng) tạo theo mong muốn khách hàng hoạt động hiệu Với cơng ty phát triển phần mềm Tester (chun viên kiểm thử phần mềm) có vai trị cốt yếu để đảm bảo uy tín cơng ty, tránh trường hợp sản phẩm lỗi bị khách hàng trả nơi sản xuất Kiểm thử phần mềm phương pháp kiểm tra xem sản phẩm phần mềm thực tế có phù hợp với yêu cầu đặt hay không, đảm bảo lỗi hay khiếm khuyết Nó bao gồm việc kiểm tra, phân tích, quan sát đánh giá khía cạnh khác sản phẩm Người kiểm thử phần mềm (Tester) sử dụng kết hợp công cụ thủ công tự động Sau tiến hành kiểm thử, Tester báo cáo kết cho team phát triển Mục đích xác định lỗi, khiếm khuyết yêu cầu thiếu so với yêu cầu thực tế 1.2 Lợi ích kiểm thử Hiệu chi phí: Đây lợi ích quan trọng kiểm thử phần mềm Thực tế cho thấy lỗi thiết kế khó loại trừ hồn tồn hệ thống Đó lỗi bất cẩn Developer mà phức tạp hệ thống Nếu vấn đề thiết kế khơng phát hiện, việc tìm sửa lỗi/khiếm khuyết trở nên khó khăn tốn Kiểm thử dự án IT giúp công ty tiết kiệm, việc xác định lỗi giai đoạn đầu giúp q trình sửa chữa tốn chi phí Bảo mật: Đây điểm nhạy cảm dễ bị công kiểm thử phần mềm Kiểm thử giúp loại bỏ rủi ro vấn đề sản phẩm Cùng với đó, tất khách hàng tìm kiếm sản phẩm đáng tin cậy Chất lượng sản phẩm: Đây yêu cầu thiết yếu sản phẩm phần mềm Kiểm thử phần mềm giống việc củng cố danh tiếng công ty cách cung cấp sản phẩm chất lượng cho khách hàng Sự hài lòng khách hàng: Trong hoạt động kinh doanh sản phẩm nào, mục tiêu cuối mang đến cho khách hàng trải nghiệm tốt Sự hài lòng khách hàng quan trọng trình hợp tác lâu dài 1.3 Các giai đoạn trình kiểm thử phần mềm Khơng có quy trình trường hợp, bước mang tính khái quát phù hợp cho hầu hết trình kiểm thử phần mềm: Phân tích u cầu Thiết kế kiểm Lập kế hoạch thử Chuẩn bị môi Thực thi trường Kết thúc Quy trình kiểm thử phần mềm 1.3.1 Phân tích yêu cầu sản phẩm (requirement analysis) Bước việc kiểm thử phần mềm gì? Khơng liên quan đến việc kiểm tra thử nghiệm đâu Các thành viên nhóm kiểm thử lập thành QA team để thực nghiên cứu, phân tích chi tiết tài liệu thiết kế hệ thống, yêu cầu khách hàng tiêu chí, chất lượng sản phẩm, mẫu (prototype) mà khách hàng cung cấp, Nhờ đó, team nắm bắt yêu cầu dự án Bên cạnh đó, có thắc mắc mong muốn khách hàng hay muốn đưa đề xuất mới, QA team đưa câu hỏi cho bên BA( Business Analysis), trưởng nhóm kiểm thử hay khách hàng để hiểu rõ yêu cầu tài liệu Hơn nữa, khơng phải khách hàng hiểu biết công nghệ nên khó khăn để đặt câu hỏi mang tính chun mơn cho họ Chính vậy, người QA team phải hỗ trợ cung cấp đề xuất cách dễ hiểu cho khách hàng lựa chọn 1.3.2 Lập kế hoạch kiểm thử phần mềm (test planning) Sau nhận tài liệu phân tích, báo cáo… từ QA team bước trên, leader tiến hành lập kế hoạch kiểm thử cho nhóm thực Người lập kế hoạch phải thực hoạt động như: - Xác định phạm vi dự án: vấn đề liên quan đến thời gian thực hiện, lịch trình, cơng việc cụ thể cho giai đoạn… - Xác định phương pháp tiếp cận: dựa vào thời gian, yêu cầu khách hàng, công nghệ, kỹ thuật… leader kiểm thử phần mềm đưa cách thức kiểm thử phù hợp, hiệu - Xác định nguồn lực cho trình kiểm thử: cần người tham gia, làm cơng việc gì, cần thiết bị hỗ trợ nào, số lượng sao… - Lập kế hoạch thiết kế công việc kiểm thử: đưa chức cần kiểm thử cơng việc cần thực hiện, thời gian bao lâu, xác định điều kiện tối thiểu để bắt đầu kết thúc hoạt động kiểm thử với chức năng… 1.3.3 Thiết kế kịch kiểm thử phần mềm (test case development) Dựa vào kế hoạch leader đưa tài liệu đầu vào khác, chuyên viên kiểm thử phần mềm (Tester) xem xét lại bắt đầu viết test case chi tiết Bên cạnh viết kịch chi tiết chuyên viên kiểm thử phải chuẩn bị trước liệu test data, test script cho trường hợp cần thiết Sau hoàn thành test case/checklist, thành viên team leader cần kiểm tra lại xem cần bổ sung, sửa chữa vấn đề khơng để tránh rủi ro sau 1.3.4 Sắp đặt môi trường kiểm thử phần mềm (test environment set up) Đầu vào trình kịch kiểm thử, test data, kế hoạch kiểm thử lập bước trên… Việc thiết lập môi trường (test environment) kiểm thử phần mềm quan trọng quy trình test phần mềm mơi trường khơng phù hợp với sản phẩm hay mong muốn khách hàng kết kiểm thử khơng xác Mơi trường kiểm thử thiết lập dựa đề nghị khách hàng, hay đặc điểm sản phẩm server, network, client, Ngoài ra, chuyên viên kiểm thử cần chuẩn bị vài test case để xem môi trường kiểm thử sẵn sàng cho bước thực thi hay chưa Kết thúc giai đoạn này, tester có sẵn mơi trường phù hợp cho việc test phần mềm thực tế 1.3.5 Thực thi trình kiểm thử phần mềm (test execution) Nhiệm vụ chuyên viên kiểm thử phần mềm gì? Dựa vào tất tài liệu, kế hoạch từ bước trên, tester tiến hành test case môi trường kiểm thử thiết lập Họ so sánh kết kiểm thử với kết mong đợi để phát lỗi sai tiến hành theo dõi lỗi đến chúng fix hoàn toàn Bên cạnh đó, kiểm thử viên cần theo dõi tiến độ dự án điều chỉnh cho phù hợp với kế hoạch đề Công việc người kiểm thử khơng phải test phần mềm, họ cịn phải hỗ trợ, đưa đề xuất hay giải pháp hợp lý cho lập trình viên (developer) để hồn thành sản phẩm mong muốn Trong q trình này, chuyên viên kiểm thử phải thường xuyên báo cáo tình hình test (phần kiểm tra, phần chưa, báo cáo tình phát sinh bất ngờ…) cho bên liên quan team leader, người quản lý dự án, khách hàng… 1.3.6 Kết thúc chu trình kiểm thử phần mềm (test cycle closure) Đây giai đoạn cuối quy trình kiểm thử phần mềm Tất chuyên viên thực test phần mềm tổng hợp viết báo cáo kết cuối việc kiểm thử (test report final) Trong phải test case đạt/ không đạt yêu cầu, case sửa, lỗi phát hiện, lỗi tồn nhiều chức nào, chức được/ chưa kiểm thử hay trễ tiến độ… Bên cạnh đó, team test phần mềm cần xem lại trình thực để nhìn điểm tốt, chưa tốt team, rút kinh nghiệm cho lần kiểm thử sau 1.4 Kiểm thử hộp đen 1.4.1 Khái niệm Kiểm thử hộp đen: phương pháp kiểm thử phần mềm thực mà cấu tạo bên phần mềm, cách mà tester kiểm tra xem hệ thống hộp đen, khơng có cách nhìn thấy bên hộp Nó cịn gọi kiểm thử hướng liệu kiểm thử hướng in/out Người kiểm thử nên xây dựng nhóm giá trị đầu vào mà thực thi đầy đủ tất yêu cầu chức chương trình Cách tiếp cận tester hệ thống không dùng kiến thức cấu trúc lập trình bên hệ thống, xem hệ thống cấu trúc hồn chỉnh, khơng thể can thiệp vào bên 1.4.2 Ưu điểm Các tester thực từ quan điểm người dùng giúp đỡ việc sáng tỏ chênh lệch thông số kỹ thuật Các tester theo phương pháp black box “mối ràng buộc” với code, nhận thức tester đơn giản: source code có nhiều lỗi Sử dụng nguyên tắc, "Hỏi bạn nhận" tester black box tìm nhiều bug nơi mà DEV khơng tìm thấy Tester IT chuyên nghiệp, không cần phải biết ngôn ngữ lập trình làm phần mềm thực Các tester thực quan độc lập từ developer, cho phép nhìn khách quan tránh phát triển thiên vị Hệ thống thật với toàn u cầu kiểm thử xác Thiết kế kịch kiểm thử nhanh, mà yêu cầu chức xác định 1.4.3 Nhược điểm Dữ liệu đầu vào yêu cầu khối lượng mẫu (sample) lớn Nhiều dự án khơng có thơng số rõ ràng việc thiết kế test case khó khó viết kịch kiểm thử cần xác định tất yếu tố đầu vào, thiếu thời gian cho việc tập hợp Khả để thân kỹ sư lạc lối kiểm thử cao Chỉ có số nhỏ đầu vào kiểm tra nhiều đường dẫn chương trình để lại chưa kiểm tra thấy tùy chọn tải lên hình ảnh, chúng tơi phải kiểm tra với tất tệp Trong tạo trường hợp negative testing phải ưu tiên đầu vào khơng, có nhiều trường hợp xảy Ví dụ: trường hình ảnh có tệp '.png' cho nhập, có nhiều tùy chọn để tải lên 'jpeg', 'xml', 'xls', v.v Vì vậy, cần ưu tiên tùy chọn XML SQL có tác động lớn jpeg xls, nên quan tâm đến trường hợp SQL XML trước Như vậy, phải ưu tiên trường hợp trước thực để tiết kiệm thời gian chi phí kiểm tra 2.1.3 Ưu điểm Như biết Negaive Testing quan trọng để đảm bảo chất lượng sản phẩm Một sản phẩm chất lượng tốt sản phẩm khơng có lỗ hổng bảo mật, để đảm bảo việc Negative Testing quan trọng Thực Negative Testing để đảm bảo tất trường hợp xảy bảo hiểm Cố ý hay vơ ý có khả xảy trường hợp Negative Testing Vì vậy, để đảm bảo tất trường hợp bảo hiểm, phải làm negative testing với positive testing Negative Testing khiến khách hàng tin tưởng trước phát trực tiếp Negative testing đảm bảo nghiệp vụ xác nhận, negative testing đảm bảo phần mềm chuyển giao khơng có sai sót xảy khách hàng sử dụng 2.1.4 Nhược điểm Trong Kỹ thuật phần mềm, negative testing số trường hợp trở nên lãng phí thời gian lượng Trong nhiều trường hợp, không cần negative testing mức Ví dụ: ứng dụng tạo để sử dụng cho 15 người, không cần phải xem xét trường hợp 100 người dùng sử dụng hệ thống lúc Vì điều kiện định trường hợp negative testing quan trọng Sẽ có lúc khơng phải negative testing hệ thống cụ thể Yêu cầu người có kỹ kinh nghiệm để tạo trường hợp negative testing Đối với khách hàng, negative testing điều khác gây chậm trễ không cần thiết việc phát hành tăng thêm chi phí Cơ hội mà nhóm dành nhiều thời gian lượng cho việc negative testing Có khả người thử nghiệm dành nhiều thời gian lượng cho negative testing dẫn đến nồng độ thấp positive testing 2.2 Kiểm thử Interoperability (kiểm thử liên tác) 2.2.1 Khái niệm Kiểm liên tác loại kiểm thử phần mềm, kiểm tra xem phần mềm tương tác với thành phần hệ thống phần mềm khác hay khơng Mục đích kiểm tra Khả liên tác để đảm bảo sản phẩm phần mềm giao tiếp với thành phần thiết bị khác mà khơng có vấn đề tương thích Nói cách khác, kiểm tra liên tác có nghĩa để chứng minh chức end-to-end hai hệ thống giao tiếp định yêu cầu Ví dụ, kiểm tra liên tác thực điện thoại thơng minh máy tính bảng để kiểm tra việc truyền liệu qua Bluetooth Có nhiều cấp độ khác Kiểm tra liên tác, chúng  Khả tương tác vật lý  Khả tương tác kiểu liệu  Mức đặc điểm kỹ thuật Khả tương tác 16  Khả tương tác ngữ nghĩa Kiểm tra liên tác tác thực vì,  Nó đảm bảo cung cấp dịch vụ đầu cuối cho hai nhiều sản phẩm từ nhà cung cấp khác  Sản phẩm phần mềm phải giao tiếp với thành phần thiết bị khác mà khơng có vấn đề tương thích Rủi ro liên quan thiếu Kiểm tra liên tác  Mất liệu  Hiệu suất không đáng tin cậy  Hoạt động không đáng tin cậy  Hoạt động khơng xác  Khả bảo trì thấp 2.2.2 Quy trình thực Kiểm tra liên tác Quy trình thử nghiệm để kiểm tra liên tác bao gồm bước sau: Bước : Khởi chạy dự án  Xác định thức hóa tuyên bố công việc thiết lập sở hạ tầng quản lý dự án Bước : Thiết lập phịng thí nghiệm kiểm tra  Đảm bảo tất cơng cụ kỹ tự động hóa cần thiết thiết lập cho hoạt động thử nghiệm  Sử dụng cơng cụ tự động hóa để giảm thiểu trường hợp thử nghiệm sử dụng lại trường hợp thử nghiệm  Duy trì sở liệu gồm tệp cấu hình  Ghi lại phân tích số cho dự án 17  Ghi lại cấu hình từ thử nghiệm khơng thành cơng để tham khảo phân tích Bước : Xây dựng kế hoạch kiểm tra  Viết kế hoạch kiểm tra  Xác định trường hợp thủ tục kiểm tra  Thiết lập thiết bị giám sát cần thiết để trì nhật ký kiểm tra Bước 4: Thực kế hoạch kiểm tra  Thực thi trường hợp thử nghiệm  Làm việc với nhóm kiểm tra để phân tích ngun nhân gốc rễ lỗi Bước : Kết tài liệu  Sử dụng nhật ký kiểm tra để ghi lại ghi triển khai Bước : Giải phóng tài nguyên đánh giá hiệu suất dự án,  Với trợ giúp công cụ tự động hóa, phân tích kết kiểm tra 18 Prerequisites Interoperability (Điều kiện tiên quyết) Interoperability Testing Framework Test System Design Executable Test Suite (ETS) (Thiết kế hệ thống (Bộ kiểm thử thực thi) kiểm thử liên tác) (Khung kiểm thử liên Abstract Test Suite (ATS) tác) Define Test (Bộ kiểm thử tóm tắt) Configuration (Xác định cấu Testing Descriptions hình kiểm thử) Specify Test Cases Validate (Chỉ định trường hợp kiểm thử) (Xác thực) (Mô tả kiểm thử) Define Message Structures Test Architecture (Kiến trúc kiểm thử) (Xác định cấu Equipment Operation Conformance trúc thông báo) Repository Check Repository (Hoạt động tuân thủ (Kho lưu trữ kiểm thiết bị) tra phù hợp) Define Test Limitations (Hạn chế) Parameters (Xác định thông số kiểm Implement Codec and thử) Adaptations Functions (Thực chức Codec thích ứng) 2.2.3 Ưu điểm  Kết nối hai nhiều thiết bị từ nhà cung cấp khác  Kiểm tra kết nối thiết bị  Kiểm tra xem thiết bị gửi / nhận gói khung từ khơng  Kiểm tra xem liệu có xử lý cách mạng lớp sở hay không  Kiểm tra xem thuật tốn triển khai có hoạt động xác khơng 19

Ngày đăng: 10/06/2023, 19:01

Tài liệu cùng người dùng

Tài liệu liên quan