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

07bai7tacvukiemthuphanmem xuanhiens weblog

44 5 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

 Như trình bày trong phần “Phương pháp Hộp đen”, giai đoạn này thực hiện việc kiểm tra khả năng thực thi của các chức năng có đáp ứng được đầy đủ những yêu cầu (đã nêu trong bản đặc t[r]

(1)

CÔNG NGHỆ PHẦN MỀM

TÁC VỤ KIỂM THỬ PHẦN MỀM

Bài 7:

Thời gian: tiết

Giảng viên: ThS Dƣơng Thành Phết Email: phetcm@gmail.com

Website: http://www.thayphet.net Tel: 0918158670

(2)

CÔNG

NGHỆ

P

HẦ

N

M

M

NỘI DUNG

1. Tổng quan

2. Yêu cầu kiểm thử 3. Các kỹ thuật kiểm thử

(3)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.1 TỔNG QUAN

7.1.1 Lịch sử kiểm thử phần mềm 7.1.2 Giới thiệu

(4)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.1.1 LỊCH SỬ KIỂM THỬ PHẦN MỀM

 Sự tách biệt việc gỡ lỗi (sửa lỗi, debugging) với kiểm thử (testing) Glenford J Myers đưa vào năm 1979

 Mặc dù quan tâm ông kiểm thử gián đoạn (“một kiểm thử thành cơng tìm lỗi”), điều minh họa mong muốn cộng đồng cơng nghệ phần mềm để tách biệt hoạt động phát triển bản, giống việc tách phần gỡ lỗi riêng khỏi trình kiểm thử

 Vào năm 1988, Dave Gelperin William C Hetzel phân loại giai đoạn mục tiêu kiểm thử phần mềm theo trình tự sau:

(5)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.1.1 LỊCH SỬ KIỂM THỬ PHẦN MỀM

 Một nghiên cứu tiến hành NIST năm 2002 cho biết lỗi phần mềm gây tổn thất cho kinh tế Mỹ 59,5 tỷ đô năm

 Hơn phần ba chi phí tránh việc kiểm thử phần mềm thực tốt

(6)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.1.1 LỊCH SỬ KIỂM THỬ PHẦN MỀM

 Bảng cho thấy chi phí sửa chữa khiếm khuyết tùy thuộc vào giai đoạn tìm

 Ví dụ, vấn đề tìm thấy sau phần mềm thức có chi phí gấp 10-100 lần giải vấn đề từ lúc tiếp nhận yêu cầu

(7)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.1.2 GIỚI THIỆU

 Kiểm thử phần mềm việc tiến hành thí nghiệm để so sánh kết thực tế với lý thuyết nhằm mục đích phát lỗi. (Xem Phụ lục C – Phần E)

 Bộ thử nghiệm (test cases) liệu dùng để kiểm tra hoạt động chương trình

 Bộ kiểm thử tốt có khả phát lỗi chương trình

 Khi tiến hành kiểm thử, ta có thể chứng minh

(8)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.1.2 GIỚI THIỆU

 Nội dung thử nghiệm gồm:

 Tên mô-đun/chức muốn kiểm thử

 Dữ liệu vào:

 Dữ liệu chương trình: số, xâu ký tự, tập tin,

 Môi trường thử nghiệm: phần cứng, hệ điều hành,

 Thứ tự thao tác (kiểm thử giao diện)

 Kết mong muốn

(9)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.1.2 GIỚI THIỆU

 Kết thực tế

 Không gian thử nghiệm tập số thử nghiệm Khơng gian nói chung lớn Nếu ta vét cạn khơng gian thử nghiệm chắn qua việc xử lý phép kiểm tra đơn vị chương trình khơng cịn lỗi Tuy nhiên điều khơng khả thi thực tế Do đề cập đến tính đắn phần mềm ta dùng khái niệm độ tin cậy

(10)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.1.3 MƠ HÌNH CHỮ V

 Mơ hình (h7.1 h7.2) biểu diễn liên hệ kiểm thử tác vụ khác, đồng thời đại diện cho trình phát triển phần mềm (hay phần cứng) xem mở rộng mơ hình thác nước

 Xem thêm

(11)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.1.3 MƠ HÌNH CHỮ V

 Mơ hình chữ V thể mối quan hệ giai đoạn vòng đời phát triển giai đoạn liên quan thử nghiệm

 Các trục ngang dọc đại diện cho thời gian hay hoàn thiện dự án (từ trái qua phải) mức độ trừu tượng (thô tầng trừu tượng cao nhất), tương ứng Mơ hình chữ V hướng đến:

 Thực Xác nhận (Verification) với tác vụ phân tích yêu cầu, thiết kế hệ thống (kiến trúc, mô-đun …) mức cao mức chi tiết

(12)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.2 YÊU CẦU ĐỐI VỚI KIỂM THỬ

 Ta cần ý yêu cầu sau đây:

 Tính lặp lại:

o Kiểm thử phải lặp lại (kiểm tra lỗi sửa hay chưa)

o Dữ liệu/trạng thái phải mơ tả

 Tính hệ thống: phải đảm bảo kiểm tra hết trường hợp

(13)

CÔNG

NGHỆ

P

HẦ

N

M

M

 Phương pháp kiểm thử dạng kiểm thử chức (functional test) dựa đặc tả chức

 Chỉ tâm đến phát sai sót chức năngkhơng quan tâm đến cách thực cụ thể

 Với phương pháp ta có khả phát sai sót, thiếu sót mặt chức năng; sai sót giao diện mơ-đun, kiểm tra tính hiệu quả; phát lỗi khởi tạo, lỗi kết thúc

 Do kiểm thử trường hợp thực tế, ta chia nhỏ không gian thử nghiệm dựa vào giá trị nhập xuất đơn vị cần kiểm tra

 Ứng với vùng liệu, ta thiết kế thử nghiệm tương ứng đặc biệt thử nghiệm giá trị biên vùng liệu

(14)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.3.1 PHƢƠNG PHÁP HỘP ĐEN (BLACK BOX)

 Để kiểm chứng chương trình giải phương trình bậc theo phương pháp hộp đen, ta phân chia không gian thử nghiệm thành vùng “Vơ nghiệm”, “Có nghiệm kép” hay “Có nghiệm riêng biệt”

(15)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.3.2 PHƢƠNG PHÁP HỘP TRẮNG (WHITE BOX)

Phương pháp hướng đến việc kiểm thử cấu trúc ta chia khơng gian thử nghiệm dựa vào cấu trúc đơn vị cần kiểm tra

Thành phần cần kiểm tra

- Giao tiếp - Dữ liệu cục - Các điều kiện biên

- Các đường thực - Các ngoại lệ

Bộ liệu thử nghiệm

Trong đó:

Kiểm tra giao tiếp đơn vị để đảm bảo dịng thơng tin vào đơn vị ln (đúng giá trị, khớp kiểu …)

(16)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.3.2 PHƢƠNG PHÁP HỘP TRẮNG (WHITE BOX)

Kiểm tra điều kiện biên câu lệnh điều kiện vịng lặp để đảm bảo đơn vị ln chạy biên

 Kiểm tra để đảm bảo con đường thực hiện phải

(17)

17 CÔNG NGHỆ P HẦ N M Ề M

7.3.3 PHƢƠNG PHÁP HỘP XÁM (GREY BOX

 Phương pháp liên quan đến hiểu biết cấu trúc liệu bên thuật tốn cho mục đích kiểm thử thiết kế  Khi thực kiểm thử với người dùng mức độ hộp

đen, nhóm kiểm tra khơng thiết phải truy cập vào mã nguồn phần mềm

 Ta thao tác với liệu đầu vào định dạng đầu không xác định (như hộp xám), đầu vào đầu rõ ràng bên hộp đen mà chúng hệ thống gọi trình kiểm thử

 Sự phân biệt đặc biệt quan trọng tiến hành kiểm thử tích hợp hai mơ-đun viết mã hai nhóm phát triển khác nhau, có giao diện bộc lộ để kiểm thử

 Tuy nhiên, với kiểm thử có yêu cầu thay kho lưu trữ liệu bên hệ thống (back-end) – sở liệu hay tập tin đăng nhập – không xác định hộp xám, người dùng thay đổi kho lưu trữ liệu sản phẩm hoạt động bình thường

(18)

CƠNG

NGHỆ

P

HẦ

N

M

M

 Khi biết khái niệm cách thức phần mềm hoạt động nào, nhóm kiểm tra thực kiểm thử phần mềm từ bên tốt so với bên ngồi

 Thơng thường, nhóm kiểm thử theo phương pháp Hộp Xám phép thiết lập môi trường kiểm thử bị cô lập với hoạt động liên quan sở liệu

 Các kiểm thử quan sát trạng thái sản phẩm kiểm thử (sau thực hành động định giống việc thực câu lệnh SQL sở liệu) thực truy vấn để đảm bảo thay đổi dự kiến phản ánh

 Kiểm thử hộp xám thực kịch kiểm thử thông minh, dựa thông tin hạn chế Điều đặc biệt áp dụng cho kiểu

(19)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4 CHIẾN LƢỢC & CÁC GIAI ĐOẠN

 Với dự án phần mềm lớn, người tham gia chia thành:

 Nhóm thứ nhất: Những người chịu trách nhiệm kiểm tra đơn vị chương trình để chắn chúng thực theo thiết kế

 Nhóm thứ hai: Các chun gia tin học độc lập khơng thuộc nhóm thứ nhất, có nhiệm vụ phát lỗi nhóm thứ chủ quan cịn để lại

(20)

CÔNG

NGHỆ

P

HẦ

N

M

M

(21)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.1 KIỂM THỬ ĐƠN VỊ (UNIT TEST)

 Giai đoạn sử dụng kỹ thuật hộp trắng dựa vào hồ sơ thiết kế để xây dựng thử nghiệm

sao cho khả phát lỗi lớn nhất

 Vì đơn vị (unit) kiểm tra thường đoạn chương trình hay thủ tục chương trình đầy đủ, đơn vị gọi thực thi đơn vị khác (hoặc gọi đến đơn vị khác để thực thi), nên dù chương trình hồn tất đầy đủ đơn vị, ta

không nên giả thuyết tồn tại tính đắn của đơn vị khác mà phải xây dựng mô-đun giả lập đơn vị gọi (đặt tên driver) đơn vị bị gọi (đặt tên stub):

(22)

CÔNG

NGHỆ

P

HẦ

N

M

M

Driver đóng vai trị chương trình nhập số

thử nghiệm gởi chúng đến đơn vị cần kiểm tra đồng thời nhận kết trả đơn vị cần kiểm tra

Stub chương trình giả lập thay đơn vị gọi đơn

vị cần kiểm tra

 Stub thực thao tác xử lý liệu đơn giản in ấn, kiểm tra liệu nhập trả kết

(23)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.2 KIỂM THỬ CHỨC NĂNG (FUNCTIONAL TEST)

 Như trình bày phần “Phương pháp Hộp đen”, giai đoạn thực việc kiểm tra khả thực thi chức có đáp ứng đầy đủ yêu cầu (đã nêu đặc tả) chức hay khơng

 Vì thế, ta tập trung phát sai sót chức mà không quan tâm đến cách thực cụ thể

(24)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.3 KIỂM THỬ TÍCH HỢP (INTEGRATION TEST)

 Giai đoạn tiến hành sau hồn tất cơng việc kiểm thử chức cho mơ-đun riêng lẻ cách tích hợp mô-đun lại với

(25)

CÔNG

NGHỆ

P

HẦ

N

M

M

Hƣớng xử lý Trên Xuống (Top-Down)

Thuật giải hướng tiếp cận gồm bước sau:

 Sử dụng mơ-đun driver stub thay cho tất mô-đun trực tiếp mơ-đun chính,

 Lần lượt thay stub mô-đun thực sự,

 Tiến hành kiểm tra tính đắn,

 Một tập hợp thử nghiệm hoàn tất hết stub,

 Kiểm tra lùi tiến hành để đảm bảo không phát sinh lỗi

(26)

CÔNG

NGHỆ

P

HẦ

N

M

M

Ƣu điểm:

 Kiểm thử xuống kết hợp với phát triển xuống giúp phát sớm lỗi thiết kế làm giảm giá thành sửa đổi

 Nhanh chóng có phiên thực với chức

 Có thể thẩm định tính dùng sản phẩm sớm

Nhƣợc điểm:

(27)

CÔNG

NGHỆ

P

HẦ

N

M

M

Hƣớng xử lý Dƣới Lên (Bottom-Up)

 Ta kiểm tra mô-đun (cấp thấp nhất) trước, ta khơng cần phải viết stub

Thuật giải hướng là:

 Các mơ-đun cấp thấp nhóm thành nhóm (thực chức năng),

 Viết driver điều khiển tham số nhập xuất,

 Bỏ driver gắn chùm vào mô-đun cao

(28)

CÔNG

NGHỆ

P

HẦ

N

M

M

Ƣu điểm:

 Tránh xây dựng mô-đun tạm thời phức tạp, tránh sinh kết nhân tạo, thuận tiện cho phát triển mô-đun để dùng lại

Nhƣợc điểm:

 Chậm phát lỗi kiến trúc, chậm có phiên thực

(29)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.4 KIỂM THỬ HỆ THỐNG (SYSTEM TEST)

 Đến giai đoạn này, công việc kiểm thử tiến hành với nhìn nhận phần mềm yếu tố hệ thống thông tin phức tạp hồn chỉnh

(30)

CƠNG

NGHỆ

P

HẦ

N

M

M

7.4.5 KIỂM THỬ CHẤP NHẬN (ACCEPTANCE TEST)

 Kiểm thử chấp nhận tiến hành khách hàng, gọi alpha testing

 Mục đích nhằm thẩm định lại xem phần mềm có sai sót, thiếu sót so với yêu cầu người sử dụng không

 Trong giai đoạn dữ liệu dùng để kiểm thử

(31)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.6 KIỂM THỬ BETA

 Đây giai đoạn mở rộng alpha testing

 Khi đó, việc kiểm thử thực một số

lượng lớn người sử dụng

 Công việc kiểm thử tiến hành cách ngẫu nhiên mà khơng có hướng dẫn nhà phát triển

(32)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.7 MỘT SỐ CƠNG VIỆC KHÁC

Một số cơng việc khác trình kiểm thử:

Báo cáo kết kiểm thử: Sau hoàn tất kiểm thử, nhóm kiểm tra tạo số liệu báo cáo cuối nỗ lực kiểm thử họ cho biết phần mềm có sẵn sàng để phát hành hay khơng

(33)

CƠNG

NGHỆ

P

HẦ

N

M

M

7.4.7 MỘT SỐ CÔNG VIỆC KHÁC

Kiểm thử hồi quy: ta thường xây dựng chương trình kiểm thử nhỏ tập hợp kiểm tra cho tích hợp mới, sửa chữa cố định phần mềm, để đảm bảo cung cấp không phá hủy điều tồn phần mềm cịn hoạt động cách xác

(34)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.7 MỘT SỐ CÔNG VIỆC KHÁC

(35)

35

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.7 MỘT SỐ CÔNG VIỆC KHÁC

Kiểm thử chức phi chức năng:

Kiểm thử chức nhằm trả lời câu hỏi “người dùng có hay khơng làm với tính cụ thể này” (xem Phương pháp Hộp đen)

(36)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.7 MỘT SỐ CÔNG VIỆC KHÁC

Kiểm thử phá hủy: cố gắng làm hỏng phần mềm hệ thống

 Nó xác minh phần mềm có chức nhận đầu vào không hợp lệ không mong muốn, tạo vững mạnh xác nhận đầu vào thói quen quản lý lỗi

 Chèn lỗi phần mềm dạng mờ nhạt ví dụ kiểm thử thất bại

(37)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.7 MỘT SỐ CÔNG VIỆC KHÁC

(38)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.7 MỘT SỐ CÔNG VIỆC KHÁC

Kiểm thử lượng tải chủ yếu liên quan đến việc kiểm thử hệ thống tiếp tục hoạt động lượng tải cụ thể, cho dù lượng lớn liệu số lượng lớn người sử dụng Điều thường gọi khả mở rộng phần mềm Các hoạt động kiểm thử lượng tải có liên quan thực hoạt động phi chức thường gọi kiểm thử sức chịu đựng

(39)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.7 MỘT SỐ CƠNG VIỆC KHÁC

Kiểm thử tính ổn định (thường tham chiến lượng tải kiểm thử độ bền) giúp kiểm tra xem phần mềm hoạt động tốt liên tục chu kỳ chấp nhận

 Có quy ước mục tiêu cụ thể kiểm thử hiệu suất là: Các thuật ngữ lượng tải, kiểm thử hiệu suất, kiểm thử tính mở rộng kiểm thử khối lượng, thường sử dụng thay cho

 Hệ thống phần mềm thời gian thực có ràng buộc xác thời gian

(40)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.4.7 MỘT SỐ CÔNG VIỆC KHÁC

Kiểm thử tính khả dụng: cần thiết để kiểm tra xem giao diện có tiện dụng dễ hiểu với người dùng khơng, liên quan trực chủ yếu đến lực sử dụng phần mềm

Kiểm thử khả tiếp cận: ý việc tuân thủ tiêu chuẩn sau:

 Đạo luật bất khả thi Mỹ năm 1990

 Mục 508 sửa đổi đạo luật Phục hồi năm 1973

(41)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.5 VÍ DỤ MINH HOẠ

Ví dụ: Xét phần mềm QL Thư viện giai đoạn kiểm thử

Giai đoạn 6: Kiểm chứng phần mềm hƣớng đối tƣợng

Kiểm tra tính đắn lớp đối tượng

Chuẩn bị liệu thử nghiệm: Nhập liệu thử nghiệm cho bảng THU_VIEN, SACH, DOC_GIA, MUON_SACH

Kiểm tra:

 Kiểm tra lớp đối tượng:

 Kiểm tra lớp THU_VIEN (Tra cứu độc giả, Tra cứu sách)

 Kiểm tra lớp DOC_GIA (Lập thẻ, cho mượn sách)

(42)

CÔNG

NGHỆ

P

HẦ

N

M

M

7.5 VÍ DỤ MINH HOẠ

 Kiểm tra phối hợp lớp đối tượng

 Kiểm tra phối hợp lớp THU_VIEN lớp DOC_GIA (Lập thẻ sau tra cứu độc giả)

 Kiểm tra phối hợp lớp THU_VIEN lớp SACH (Nhận sách sau tra cứu sách)

 Kiểm tra phối hợp lớp DOC_GIA lớp SACH (Lập thẻ, Nhận sách, Cho mượn sách Tra sách)

 Kiểm tra phối hợp lớp THU_VIEN, DOC_GIA lớp SACH

(43)

CÔNG

NGHỆ

P

HẦ

N

M

M

43 TÓM TẮT

Giới thiệu kiến thức về:  Mơ hình chữ V

 Các u cầu kiểm thử  Các kỹ thuật kiểm thử

 Phương pháp Hộp đen (Kiểm thử chức năng)  Phương pháp Hộp trắng (Kiểm thử cấu trúc)  Chiến lược kiểm thử & giai đoạn

 Kiểm thử Đơn vị (Unit Test)

 Kiểm thử Chức (Functional Test)  Kiểm thử Tích hợp (Integration Test)  Kiểm thử Hệ thống (System Test)

(44)

CÔNG

NGHỆ

P

HẦ

N

M

M

BÀI TẬP

Ngày đăng: 27/04/2021, 18:50

Xem thêm: