1. Trang chủ
  2. » Công Nghệ Thông Tin

SLIDE BÀI GIẢNG KIỂM THỬ

29 475 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 29
Dung lượng 381,81 KB

Nội dung

Slide bài giảng KIỂM THỬ của trường Đại học Bách Khoa Đại học Đà Nẵng cung cấp cho sinh viên những kiến thức như: giới thiệu về kiểm thử; kiểm thử trong tiến trình phát triển; kiểm thử hộp đen, kiểm thử hộp trắng.

Trang 3

Các khái ni ệ m

 M ộ t sai sót (error) là m ộ t s ự nh ầ m l ẫ n hay m ộ t s ự

hi ể u sai trong quá trình phát tri ể n ph ầ n m ề m c ủ a

ng ườ i phát tri ể n

 M ộ t li (fault, defect) xu ấ t hi ệ n trong ph ầ n m ề m

nh ư là k ế t qu ả c ủ a m ộ t sai sót

 M ộ t hng hóc (failure) là k ế t qu ả c ủ a m ộ t l ỗ i xu ấ t

hi ệ n làm cho ch ươ ng trình không ho ạ t ñộ ng ñượ c

hay ho ạ t ñộ ng nh ư ng cho k ế t qu ả không như mong

ñợ i

Các khái ni ệ m

 D ữ li ệ u th ử (test data)

 d ữ li ệ u vào c ầ n cung c ấ p cho ph ầ n m ề m

trong khi th ự c thi

Trang 5

• d ự a trên các tiêu chu ẩ n ch ọ n d ữ li ệ u th ử

 bước thực thi chương trình trên dữliệu thử

Trang 6

 Liên quan ñến tiến trình phát triển

 gồm nhiều giai ñoạn phát triển

• cái ra của một giai ñoạn là cái vào của giai ñoạn khác

 không tồn tại thuật toán tổng quát có thểchứng minh

sự ñúng ñắn hoàn toàn của bất kỳmột chương trình

 Phân biệt hợp thức hóa và xác minh

 “Verification: Are we building the product right ?”

 “Validation: Are we building the right product ?”

Trang 7

Ki ể m th ử trong ti ế n trình

phát tri ể n

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

 kỹthuật kiểm thửtĩnh (static testing)

 kỹthuật kiểm thử ñộng (dynamic testing)

• kiểm thửhộp ñen (black-box testing)

• k ỹ thu ậ t ki ể m th ử ch ứ c n ă ng (functional testing)

• kiểm thửhộp trắng (white-box testing)

• k ỹ thu ậ t ki ể m th ử c ấ u trúc (structural testing)

 Các hoạt ñộng kiểm thử/chiến lược kiểm thử

 kiểm thử ñơn vị(unit testing)

 kiểm thửtích hợp (integration testing)

 kiểm thửhợp thức hóa (validation testing)

 kiểm thửhồi quy (regression testing)

Ki ể m th ử trong ti ế n trình

phát tri ể n

 Ki ể m th ử ñơn vị (unit testing)

 ki ể m th ử m ỗ i ñơ n v ị ph ầ n m ề m (mô- ñ un)

• phần mềm yêu cầu chất lượng cao

 th ườ ng ñượ c th ự c hi ệ n trên ph ầ n c ứ ng phát

tri ể n ph ầ n m ề m

Trang 8

• chi phí cao, khó khăn

 d ữ li ệ u th ử ñượ c t ạ o ra d ự a trên thi ế t k ế

Trang 9

 chiến lược ttrên xung (top-down)

• ki ể m th ử tích h ợ p các thành ph ầ n chính tr ướ c, sau ñ ó thêm

• tuy nhiên chi ế n l ượ c này ñ òi h ỏ i ph ả i xây d ự ng nhi ề u nút trám

 chiến lược từ dưới lên (bottom-up)

• ki ể m th ử các thành ph ầ n không g ọ i các thành ph ầ n khác, sau

ñ ó thêm vào các thành ph ầ n g ọ i các thành ph ầ n v ừ a ki ể m th ử

• ít s ử d ụ ng các nút trám

• nh ư ng l ạ i xác ñị nh l ỗ i tr ễ hơn

Trang 10

 Ki ể m th ử h ồ i quy (regression testing)

 ph ầ n m ề m sau khi ñư a vào s ử d ụ ng, có th ể

Trang 11

Kiểm thử ñơn vị

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

k ỹ thu ậ t ki ể m th ử t ĩ nh (static testing)

không thc thi ch ươ ng trình

k ỹ thu ậ t ki ể m th ử ñộ ng (dynamic

testing)

• ki ể m th ử h ộ p ñ en (black-box testing)

• kỹthuật kiểm thửchức năng (functional testing)

• ki ể m th ử h ộ p tr ắ ng (white-box testing)

• kỹthuật kiểm thửcấu trúc (structural testing)

Trang 12

Outputs which reveal the presence of defects

Trang 13

 Ki ể m th ử ng ẫ u nhiên (random testing)

 ðồ th ị nhân-qu ả (cause-efect graph)

 Ki ể m th ử cú pháp

Trang 14

 Tập trung phân tích các giá trịbiên của miền dữliệu

ñểxây dựng dữliệu kiểm thử

 Nguyên tắc: kiểm thửcác dữliệu vào gồm

Trang 15

• 4 giá tr ị = giá tr ị biên ± sai s ố nh ỏ nh ấ t

 Nếu giá trvào thuc danh sách các giá trị, chọn

 Chương trình nhận vào ba sốthực, kiểm tra ba số

thực có là ñộdài ba cạnh một tam giác Nếu là ñộdài

ba cạnh của một tam giác, thì kiểm tra xem ñó là tam

giác thường, cân, ñều cũng như kiểm tra ñó là tam

giác nhọn, vuông hay tù

Trang 16

3, 4, 5.00001 Tam giác giác g ầ n vuông

Trang 17

 Nguyên tắc phân hoạch các lớp tương ñương

 Nếu dliu vào thuc mt khong, xây dựng

Trang 18

 Kiểm thửgiá trịbiên

 Viết một chương trình thống kê phân tích một tệp

chứa tên và ñiểm của sinh viên trong một năm học

Tệp này chứa nhiều nhất 100 trường Mỗi trường

chứa tên của mỗi sinh viên (20 ký tự), giới tính (1 ký

tự) và ñiểm của 5 môn học (từ 0 ñến 10) Mục ñích

chương trình:

• tính diểm trung bình mỗi sinh viên

• tính ñiểm trung bình chung (theo giới tính et theo môn

học)

• tính sốsinh viên lên lớp (ñiểm trung bình trên 5)

 Xây dựng dữliệu thử cho chương trình trên bởi kiểm

thửgiá trịbiên

Trang 19

Bài t ậ p

 Kiểm thửlớp tương ñương

 Viết chương trình dịch, trong ñó có câu lệnh FOR,

ñặc tảcâu lệnh FOR như sau: “Lệnh FOR chỉchấp

nhận mt tham sduy nht là biến ñếm Tên biến

không ñược sửdụng quá hai ký tựkhác rỗng Sau ký

hiệu = là cận dưới và cận trên của biến ñếm Các cận

trên và cận dưới là các số nguyên dương và ñược

ñặt giữa từkhóa TO”

 Xây dựng dữliệu thử ñểkiểm thửcâu lệnh FOR theo

kỹthuật kiểm thửlớp tương ñương

Ki ể m th ử h ộ p tr ắ ng

 D ự a vào mã ngu ồ n/c ấ u trúc ch ươ ng trình

 Xây d ự ng d ữ li ệ u th ử sau khi mã hóa/l ậ p

trình

 Th ườ ng phát hi ệ n các l ỗ i l ậ p trình

 Khó th ự c hi ệ n

 Chi phí cao

Trang 23

if (n mod 2) = 0 then

n := n / 2else

n := 3*n + 1end ;

write(n);

Trang 24

if a[i] > 0 thens := s + a[i];

Trang 25

 tiêu chu ẩ n t ố i thi ể u

functionsum(x,y : integer) : integer;

Trang 26

Ki ể m th ử d ự a trên ð TL ð K

Ph ủ t ấ t c ả các cung

 Ph ủ t ấ t c ả các cung ít nh ấ t m ộ t l ầ n

 phủtất các giá trị ñúng sai của một biểu thức lô-gíc

 phủtất cảcác cung kéo theo phủtất cảcác ñỉnh

if ((a < 2) and (b = a))

 Ph ủ t ấ t c ả các quy ế t ñị nh ñượ c th ỏ a mãn khi:

 tiêu chuẩn phủtất cảcác cung ñược thỏa mãn và

Trang 28

 Hoặc chỉthực hiện hai loại lộtrình

• các lộtrình vượt qua vòng lặp nhưng không lặp

• các lộtrình chỉlặp n lần (chẳng hạn n = 1)

Ki ể m th ử d ự a trên ð TL ð K

Ph ủ t ấ t c ả các l ộ trình

 D ữ li ệ u th ử

 DT1 = {a[1]=50, a[2]=60, a[3]=80, inf=1, sup=3}

 DT2 = {a[1]=50, a[2]=60, a[3]=80, inf=3, sup=2}

Trang 29

if (n mod 2) = 0 then

n := n / 2 else

n := 3*n + 1 end ;

read(ch);

end;

Ngày đăng: 11/04/2015, 05:27

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w