Lỗi vẫn luôn tiểm ân trong mọi sin phẩm phần mẻm và nhiều khi gây ra những thiệt hại năng nẻ vẻ tài chính cững như ảnh hưởng đến công việc Vi vay, kiếm định phân mềm lả một bước không th
Trang 1
DAI HOC QUOC GIA HA NOI
TRUONG DAI HOC CONG NGHE
Truong Thi Thu Ha
KIEM DINH PHAN MEM
BANG KY THUAT HOP DEN
LUAN VAN THAC Si
Hà nội - 2006
Trang 2
DAI HOC Quoc GIA HA NOL
TRUONG DAI HOC CONG NGHE
Trwong Thi Thu Ha
KIEM DINH PHAN MEM
HUONG DAN KHOA HOC:
PGS TSKH Nguyễn Xuân Huy
Hà nội - 2006
Trang 3
2.1 Kiểm định phần mềm bằng kỹ thuật hộp đen He .20
2.2 Thiếtkếcác giai đoạn kiểm định phần mềm theo tiếp cân hộp đen 38 CHƯƠNG 3: XAY DUNG UNG DUNG KIEM ĐỊNH
3.1 Muc tiêu xây dựng kiểm dịnh 53
.2 Giới thiệu tổng quan phần mểm 95 3.3 Cài đặt và hưởng dẫn sử dụng 56 3.4 Chương trình dùng để kiểm định 62
KẾT LUẬN VẢ HƯỚNG PHÁT TRIẾN 81
Trang 4LOI CAM DOAN
Tôi xin cam doan
1 Đây là công trình nghiền cứu của riêng tôi
2 Kết quả nêu trong luận văn là trung thực và chưa từng được ai công
hề trong bắt kỳ công trình nào khác
Tác giả
Trương Thị Thu Hà
Trang 5LO CM ON
Prong subl quá đu đọc dips wiz thear itn đun mầm cơ: đẾ whan dog see
Á-âug đấu cứu quý đáy (ỐC, càng see gitfe A0 đồng ciêu sửa “ẹu đề mà gán Auếc
đầm dân châm Guia dan cơ gio ly đÁcs “đồng nghệ đôn đền 2i- by
Bat hee ving nghd - Gai hige Laie gia Kia ni rừng eae Mig Vln “Eing nghé
Mhingy ñn - Tiện (an dục nà ng nghé Vick wam di tin link gidug dag wa bon
điều (An Buda td vha om toc tif, wi nghitn erie trang thet gàng hoc tify tat
liêu độ dày, om oiing ain yitt let cm cn ie ban be ding ngliif Ata?
fa nbioug ny-it Gain trong gia dish dé tuin bin cant ding wide, git doom tung
sel quasi tisch đọc đội
Ha ngt nyiy 22 Maing 37 niin 2008
F-ong Thi Thee His
Trang 6Kiểm định theo các lớp phân hoạch hợp lệ điểm thí
Kiểm dịnh theo các lớp phân hoạch hợp lệ điểm thị 28
định theo các lớp phân hoạch hợp lệ điểm thi
Kiểm định theo các lớp phân hoạch hợp lệ điểm thi
Kiểm dịnh theo các lớp phân hoạch hợp lệ điểm thi 29
Kiểm định theo các lớp phân hoạch không hợp lệ điểm thị 30 Kiểm định cho lất oá các lớp phân hoạch điểm thi .30 Kiểm định cho tất cả các lớp phân hoạch điểm thi
Quan hệ nhân quả thuẻ thu nhập
Bảng quyết dịnh tỉnh thuế thu nhập - cB?
Trang 7Một phần tử của mê hình tiến trình tương tranh
Chỉ phí cho việc sửa lỗi
Các giai đoan kiểm định
Quy trình chỉ tiết quá trình kiểm định
Minh họa kiểm định hộp den
Sơ dỗ phân hoạch các lớp tương dương diễm thì 24
Sơ đỗ phân hoạch các lớp tương dương theo giá trị biên tổng điểm 25
Sơ đồ phân tích giá trị biên cho tập số nguyên X, Y
ĐỀ thị nhân quả tính thuế thu nhập
Chiến lược kiếm dinh
Các bước kiếm định
kiểm định đơn vi (a) va mdi trường kiểm định đơn vị
Tich hop Top - down Tich hop bottom - up
Sơ đồ tổng quát các giai đoạn kiểm định theo tiếp cận hép den 49
Chỉ tiết các giải doan kiểm dịnh tho tiếp cân hộp dơn .90
thư mục lưu bài thi
Các lớp chương trình kiểm định
Giao diện ban đầu
Trang 8Giao diện danh sách thí sinh
Giao diện kết quả chấm thí " 60
Giao diễn kết quả chỉ tiết 61
Giao diện nhập thêm thí sinh 6]
Giao diễn nhập thêm Testcasc cac 6
Trang 9của khách hang Hon thể nữ
kiệm tôi đa công sức, thời gian, chỉ phí, giúp cho công việc đạt hiệu quả cao hơn
Việc phát triển phần mểm cũng ngảy cảng được hỗ trợ bởi nhiều công cụ tiến tiên, giúp cho vide xây đựng phần mém dé khó khăn và đáp ứng nhu câu người ding cao hơn Tuy nhiên, do độ phức tạp của phân mém, cho nên dủ các hoạt déng dam bio chất lượng phần mềm nói chung và kiểm định nói riêng ngày cảng chặt chế và khoa học, vẫn không dâm bảo được rằng các sản phẩm phần mềm đang được ting dung không có lỗi Lỗi vẫn luôn tiểm ân trong mọi sin phẩm phần mẻm và nhiều khi gây ra những thiệt hại năng nẻ vẻ tài chính cững như ảnh hưởng đến công việc
Vi vay, kiếm định phân mềm lả một bước không thế thiếu của công nghệ phan
nêm bao gồm các bước: phản tích, thiết kế, mã hoá, kiểm định và bảo trì Kiểm định
phân mềm là một quá trình liên tục, xuyên suốt mi giai đoạn phát triển phân mềm để
đâm bão rằng phần mềm thoả mãn các yêu cầu thiết kế và các yên cầu đó đáp ứng,
nhu cầu của người dùng,
Cac kỹ thuật kiếm dịnh phản mềm đã, dang dược nghiền cửu, và việc kiểm dịnh phân mềm trở thành qui trình bắt buộc trang các đự án phát triển phẩn mềm trên thế giới Kiểm định phần mềm là một hoạt động rái tốn kẻm, mát thời gian, và khó phát hiện được hết lỗi Vì vậy, việc kiểm định phần mềm đói hỏi phái có chiến lược phú
hop, mét ké hoach hop ly và việc thực biện được quản lí chặt chẽ
Ở Việt Nam, trong thời gian qua việc kiếm định phan mém bi xem nhẹ, với công cụ lập tình hiện dại, người ta cảm lính cho rằng không kiểm định cũng không
Trang 10dịnh phần mềm Tuy nhiên, vẫn dễ kiểm dịnh phần mềm hầu như vẫn chưa dược dầu tư
và quan tâm đúng mức Nước ta đang trong quá trinh xây dựng một ngành công nghiệp
phan mém thì không thể xem nhẹ việc kiểm định phân niềm vì xác suất thất bại sẽ rất cao, hơn nữa, hầu hết các công ty phần mềm có uy từn đều đặt ra yêu câu nghiêm ngặt
là nêu một phần mẻm không có tài liệu kiếm định đi kèm thì sẽ không được chip nhận
2 Đối tượng và phạm vi nghiên cứu
~_ Luận văn tập trung nghiên cứu, tìm hiểu, đánh giá các nguyên lý, chiến lược và
kỹ thuật kiểm dinh phần mễm bằng kỹ thuật hộp den
—_ Áp dụng kỹ thuật kiểm dịnh hộp den để xây dựng chương trình cham thi học
sinh giới Tim học
3 Phương pháp nghiên cửu
- Nghiên cứu, tìm hiểu các kỹ thuật, chiến lược kiểm định phản mềm theo kỹ
thuật hộp đen
—_ Sử dụng phương pháp kiểm định hộp đen đã nghiên cứu để thiết kế bộ test cho chương trình cụ thể, Đưa ra tải liệu kế hoạch kiểm dinh và dặc tả kiểm định, Xây dựng chương trình thực thị kiểm định
4$ Kết quả nghiên cứu
—_ Thiết kế các trường hợp kiểm định theo kỳ thuật hộp đen cho một sé chương,
trình cụ thể
— Tạo các tải liệu kiểm định (đặc tả trường hợp kiểm định và kết quả kiểm định.)
—_ Xây dựng chương trình kiểm định châm bài thi hac sinh gidi Tin hoc
5 Ý nghĩa khoa học và thục tiễn của Luận văn
Việc thiết kê các giai đoạn kiểm định phân mềm theo tiếp cận hộp đen có thé được dùng làm tải liệu tham khảo cho việc kiểm dịnh phân mềm tại một số công ty, cơ
quan, trường học tại Việt nam
Trang 11Đình hưởng người dùng hiểu tâm quan trọng ctia viée kiém dinh phin mém, dé khái niệm nảy không còn mang tính lý thuyết mà sẽ là một phần không thể thiếu trong quả trình xây dựng và phát triển phần mềm
6 Chụn lên đề tài: “Kiểm định Phần Mẫm Theo Kỹ Thuật Hập Đen”
7 Bỗ cục của Luận văn: Nội dưng của Luận văn chìa thành 4 chương,
Chương †: Tng quan kiểm định phần mềm
Dé cập sơ lược các rnô hình phát triển phần mềm, vẫn để chải lượng phần miền:
và tầm quan trọng của việc kiểm định phần mềm, các kỹ thuật kiểm định phần mềm
hay str đụng,
Chương 2: Kỹ thuật và chiến lược kiểm định phẫn mếm theo tiếp cận hộp đen
Chương này trình bày các kỹ thuật cơ bản kiếm định phần mềm theo tiếp cận
hộp đen rhc xây dựng lớp phân hoạch Lương đương, phân tích giá trị biên, kỹ thuật đỗ
thị nhân quả, kiểm định so sánh Dễ từ đó người đọc có những khái niệm cơ bản nhất
về kiểm định phân mềm theo kỹ thuật hộp đen
Phan tiép theo của chương giới thiệu cáo chiến lược kiểm định phản mềm : kiểm dịnh dơn vị, kiểm dịnh tích hợp, kiểm dịnh hợp lệ vá kiểm dịnh hệ thông
Nội dụng, chính của chương nảy là giúp người dọc có cải nhìn tổng quan khi xây dựng kiểm định phân mềm bằng kỹ thuật hệp đen theo các giai đoạn: thiết kế các trường hợp kiểm định, tiết kế giao điện và lập trình các trường hợp kiểm định, thực tiện các trường hợp kiểm định, kiểm tra và đánh giá kết quá
Chương 3: Xây Dựng Ứng Dụng Kiểm dịnh
Đề mình hoa cho phân lý thuyết ở trên, chương 3 sẽ trình bảy một chương trình
áp dụng kỹ thuật hộp đen đễ kiểm: dịnh bài tú cũa học sinh rong các kỳ thí học sinh gidi Tin hoe
— Xéy dumg cae test case cho ting bai thi
vì
Trang 12- Xay dumg chuong trinh va giao diện để: dọc vào bài thị của học sinh, thực hiện các bài thí đó với cáo testcase đã xây đựng, sau dé so sánh kết quả của bài thí và kết quả dự kiến của Iostcasc, Đưa ra đánh giá và cho điểm
—_ tổng hợp điểm của từng bài thị để cho kết quả cuối cùng
Các nội dung chính trong chương 1 và 2 chủ yêu được trình bay lại qua quá
trình dọc và nghiên cửu tải liệu của tác gia với những kiến thức dã được nhiều nhà khoa học công bổ Trong đó phân đóng góp của tác giả là
- Hé théng hóa lại kiến thức theo cách tiếp cận kỹ thuật häp đen
- Từ các chiến lược kiểm dinh phan mém ndi chung, Tác giả áp dung dé
xây dung cáo giai đoạn thiết kế kiếm định phản mềm theo kỹ thuật hộp
đen Toản bộ nội dung chương 3 là kết quả của riêng tác giá với việc xây dựng phản
xuểm kiếm thử theo kỹ thuật hộp đen bằng cách tuêt kế bộ testcase chấm thi hec sinh giỏi Tin hoc Toàn quốc
vii
Trang 13CHUONG 1
TONG QUAN KIEM BINH PHAN MEM
Thân đầu của chương giới thiệu sơ lược ruột số mồ tình cơ bản theo các quy trình phát triển phản mềm
Phần tiếp theo dánh giá chất lượng, phân mềm qua một số tiêu chỉ có sẵn Từ dó phân tích lý do tại sao phải kiểm định phân mẻm, và nhân mạnh tim quan trong cia kiểm định phẩn ruễm trong quy trình phát triển của mỗi phản mềm nói riêng và nhận thúc của những người lắm phần mềm nói chung
1.1 CÁC MÔ HÌNH PHÁT TRIEN PHAN MEM
LLL Phin mim ta gi?
Phần mềm là một (bộ) chương trình dược cài đặt trên máy tính nhằm thực hiện 1uột nhiệm vụ lương đối độc lập và phục vụ cho một ứng dụng cụ thế như việc quản Ii hoạt dòng của máy tỉnh boặc áp đụng máy tính trong các hoạt động kinh tế, quốc
phòng, văn hóa, giáo dụe,
c Tạo ra một sản phẩm phần mềm phải trải qua nhiều giai đoạn, người ta goi
a Mé hinh tudn ne tuyén tink
Mô hình tuần tự tuyến tỉnh còn gọi là vòng đời cổ điển hay mô hình thác nước
Kỹ nghệ hệ Hình 1.1 Mô hình trân tự tuyên tính thông/ thông tin
Trang 14Mô hình tuần tự tuyên tính bao gồm các hoạt động:
- Kỹ nghệ và mô hình hoả hê thông thông tin: thiết lập yêu cau cho mọi phản tử hệ
thông và phản bê một tập con các yêu câu đỏ cho phan mem
-_ Phân tích yêu câu phân mềm: tiên trình thu thập yêu cầu phản mềm như chức
năng, hiệu năng, giao diện lập tư liệu thông qua việc thăm đỏ khách hảng
-_ Thiết kế: là một tiên trình tập trung vào bổn bước chính: cầu trúc dữ liêu, kiên trúc phan mem, biéu dién giao điện và chỉ tiết thuật toán Tiền trình thiết kế mô tả các
yêu câu thành một biểu điển phân mềm
~ Sinh mã: Thiết kể phải được biên dịch sang ngôn ngữ máy
- Kiểm định: Việc kiểm định được thực hiện sau khi mã hoá, tiên hảnh kiểm định
phần mẻm đẻ xem xét các chức năng cỏ đúng đặc tả hay không? hoặc đẻ làm lộ ra các lỗi và đâm bảo dữ liệu vào cỏ cung cắp đúng dữ liệu ra muốn có?
- Hồ trợ Trong quả trình sử dụng phân mềm cỏ thể có những thay đôi do khách
quan hoặc chủ quan Vì vậy, việc bảo trì phân mềm phải áp dụng lại các bước vòng đời
Tỏi trên
b Mô hình bãn mẫu
Mô hình làm bản mâu bắt đầu với việc thu thập yêu cầu Người phát triển phân
mềm xác định các mục tiêu tỏng thê cho phân mềm thông qua khách hàng Sau đó thiết
kế nhanh đẻ đưa ra một bản mẫu với những yêu câu cơ bản, người dùng đánh giá và bỏ sung để làm mịn các yêu câu vả tiếp tục quá trình xây dựng và điều chỉnh ban mau dé
đạt được phần mềm đúng theo yêu cầu của khách hàng
-Hình 1.2 Mô hình làm bản mẫu
_
Trang 15Sinh ứng dụng
Kiểm định
và quay vũng,
“Tình 1.3 Mé hink RAD
60—90 ngay
- M6 hinh hoa nghiép vir ludng théng tin gitta cdc chite nang nghiệp vụ được mô hình hoá theo cách trả lời câu hỏi như: thông tín nào được sinh ra? ai sinh ra nó? Ai xứ lý né?
- Mô hinh hoá đữ liệu: cáo thông tin được làm mịn thành tập cáo dữ liệu, các đặc trưng của từng sự vật được rhận điện và mối quan hộ giữa chúng được xóc định
- Mô hình hoá xử lý: đữ liệu được biến đổi dễ dạt Lới luỗng thông tin cần cho việc thực
"hiện chức năng nghiệp vụ Các mô tả xử lý được tạo ra dễ bổ sung, sứa đổi, xoa bd hay tim kiểm sự vật đữ liệu
Trang 16- Sinh ứng dụng: RAD làm việc dễ dùng lại các cấu phân chương, trình hiện có hay tạo
7a các cầu phân chương trình đùng lại được
Các mô hình tiễn hoá mang tỉnh lặp Chúng được đặc trưng theo cách thức tạo khả năng cho người phát triển phân mém phát triển các phiên bản ngảy mệt hoàn thiện
và phù hợp với thời gian
e Mé hink ting din
Mô hình tăng dân là tổ hợp các yêu tổ của mô hình tuần ty tuyén tính và bản
chất lặp của mô hình bản mẫu
Mô hình ting dan áp đựng các trình tự tuyển tính theo kiêu so le khi thời gian
Trang 17Sử dụng mô hình tăng dân: lần tăng dầu thường là sản phẩm lõi (các yêu cầu cơ bản) Sản phẩm lõi được khách hàng dùng và đánh giá và lập bản kế hoạch cho lần tăng tiếp theo, Tiếp Lục sữa đổi sản phẩm lõi dựa vào bàn kế hoạch và chuyển giao các tính năng và chức năng phụ Tiển trình được lặp lại với việc chuyển giao từng phần cho
đến khi sản phẩm hoàn chỉnh được tạo ra
,Ƒ AMô hình xoáy ốc
Là mô hình tiên hoá cắp đôi bản chất lặp của mô hình bản mẫu với các khia cạnh hệ thông của mô hình trình tự tuyển tính Cung cấp tiểm năng cho việc phát triển nhanh các phiên bản tăng dẫn của phần mềm Trong mô hình xoáy ốc, phân mềm được phát triển thành từng chuỗi các lân đưa ra Ging dan,
Mô hình xoáy Ốc được chia thành sắu vùng nhiệm vụ sau đây:
- Trao đối với khách hàng,
Thi tiến trình tiễn hoá bắt đầu, tỗ kỹ nghệ phan mam đi vòng xoáy é
phẩm Các bước tiếp theo quanh xoáy ốc được đùng đề phát triển bản mẫu và phát triển các phiên bản phức tap dẫn thêm Mỗi bước qua vùng lập kế hoạch lại làm nãy sinh
việc điều chỉnh kế hoạch đự án Chỉ phí và lịch biểu được điều chỉnh dựa trên nhân hồi được suy ra từ: đánh giá của khách hãng
£ Mã hình phát triển tương tranh
Mô hình tiên trinh tương tranh có thế được biểu điễn như một chuỗi các hoạt động kỹ thuật chính, các nhiệm vụ và trạng thải liên kết của clrủng,
Trang 18Mô hình tiền trình tương tranh định nghĩa ra một loạt các biến cô lâm nảy sinh
việc chuyên trạng thái nọ sang trạng thái kia của hoạt động kỹ nghệ phan mém Ching
hạn, trong các giai đoạn đầu của thiết kẻ, sự không nhất quản trong mô hình phân tích được làm lỗ ra Điều nảy sinh ra biến cô sửa mô hình phân tích chuyên hoạt động phân
tích từ trang thái đã làm sang trạng thải đợi thay đồi
1.2 CHAT LUQNG PHAN MEM
1.2.1 Chất lượng phần mềm là gì?
Chất lượng trong phần mềm máy tính hiện vân cỏn là một vẫn đề còn nhiều tranh luận Trong một số trường hợp, nói tới chất lượng phan mem là nỏi tới tỉnh thực tiên vả tính thâm mỹ của phản mềm Ở đây, khái mềm nảy trả lời cho câu hỏi một
chương trình máy tính thực thi một nhiệm vụ nào đỏ hiệu quả và cỏ tỉnh thâm mỹ tới
mức nao Trong một ngữ cảnh khác, chất lượng phan mềm được hiểu là sự dap ứng den
mức tôi đa các yêu câu đặt ra và không chứa lỗi Trong cả hai trường hợp trên, có một
loạt các vẫn đề đặt ra cần giải quyết đê đi đến một kết quả cuối củng lả phần mềm cỏ
chất lượng
1.2.2 Lỗi phần mềm
Trang 19Hiện nay, có rất nhiều dịnh nghĩa khác nhau về lỗi phần mềm, nlưưng tóm lại có thể phát biểu một cách tổng quát như sau: “Lỗi phần mềm là sự không khép nhau giữa
chương trình và dite td cu nd”
Như vậy, chúng ta có thể thấy lỗi phân mềm xuất hiện dưới ba hình thức sau:
-_ Sai: Sâm phẩm được xây dựng khác với đặc tả
~_ Thiếu: Một yêu sầu đã được đặc tả nhưng lại không có long sẵn phẩm:
~ Thừa: Mội.yêu cầu được đưa vào sân phẩm mã không có trong đặc tả
Cũng có trường hợp yêu cầu có thể là một thuộc tỉnh sẽ dược người
dùng chấp nhận nhưng kháe với đặc tả nên vấn được coi là có lỗi
Một hình thức khác cũng được coi là một dạng lỗi, đó là phần mềm khó hiểu,
*khá sử dựng, chậm chỗ hoặc đễ gây căm nhận rằng phần mềm hoạt động không đúng Nguyên nhân xuất hiện lỗi phần mềm
Suy nghĩ chung của nhiều người lỗi phần mêm lä do lập trình Thực tế, lỗi xuất hiện nhiều nhất không phải do lập trình Nhiều nghiên cứu dã dược thực hiện trên các
dự án từ rất nhỏ tới rất lớn đều cho kết quả giống nhau Dó là số lỗi gây ra do
chiếm phân lớn nhất, khoảng 80% Trong nhiên trường hợp, đặc tả không được viết ra Các nguyên nhân khác có thể do đặc tả không, dú cân thận, hay thay dỏi hoặc do chưa
có sự phối hợp tốt trong toản nhóm phát triển Sự thay đổi yêu cầu của khách hang
cũng là một nguyên nhân đề gây ra lỗi phần niềm Khách hàng thường thay déi yéu can không mà cần quan tâm đến những táo động sau khi thay đổi yêu câu như phải thiết kế
lại, lập lại kế hoạch, lảm lại những việc đã hoàn thành Nếu có nhiều sự thay đối, rất
khó nhận biết hết được phần nào của du an phụ thuộc và phần nào không phụ thuộc vào sự thay đổi Vị vậy, lỗi thường rất dễ phát sinh
'Ta xét một ví dụ nhỏ về sự không cần thận trong đặc tá của bai toan phan sé:
Với việc đặc tả phí hình thức: Phân số là một cặp ##s, trong đó ¿ là một số nguyên, z¡
la một số tự nhiên lớn hơn 0; ¿ được gọi là ## số, mm được gọi là mẫu số của phân số.
Trang 20- Đặc tá hinh thức là đặc tá trong dỏ sử dụng các ký hiệu toản học dễ mỏ tá Một phân
số có thể được mồ tả như sau:
+Phinsd {(fm) |i eZ,m EN} œ)
nhất của hai số tự nhiên
Thư vậy, đặc tã phép chia trên mâu thuần với đặc tả phân số (*) Chẳng hạn, khi
thục hin chia hai phan sé (2,3)-(2,5) = (5,6), thì mẫu số trong trường hợp mày lại là
xmột số âm, không dúng đặc tả
'Trên dây là một vi dụ đơn giản về việc đặc tả sai do không, cần thận Với các bài
toán lớn thi việc đặc tả sẽ rất khó và đễ nhằm lẫn, sai sót
Nguồn gây lỗi lớn thứ hai sau đặc tã là thiết kẻ Đây là cơ sở đề lập trình viên
dựa vào đề thực hiện lập trình Những thiết kế không hiệu quá hoặc quả phức tạp sẽ gây rất nhiều khỏ khăn cho việc lập trình và dẫn đến lỗi lán thân các thiết kế nhiễu
khi cũng mang lãi
Tiệp theo là lễi do lập trình Ai cũng có thế mắc lỗi khi lập trình đủ đó có là người giỏi hay kinh nghiệm tới mức nào Thời kỳ đầu của quả trình phát lriểu của
ngành phần mềm, công việc lập trinh con rat ning nhọc, do vậy lãi do lập trình là chủ
yêu Ngày may, lập trình chỉ là một phân việc của quá trình phát triển phần mềm, công với sự hỗ trợ của nhiễu công, cụ lập trình cao cắp nền việc lập trình trở nên nhẹ nhàng, hơn đủ độ phức tạp của phần mêm lén hon rất nhiều Do đó, lãi đo lập trình gây ra
cũng ÍLhơn
Trang 21‘Lay vậy, các yếu tổ khiến lập trình tạo ra lỗi lại nhiều hơn Đỏ là độ phức tạp của phân mềm, tài liệu nghèo nàn, do đặc tả, thiết kế không hợp lý, sức ép thời gian, bộ
biên dịch phân mềm có lỗi hoặc chỉ đơn giãn là những lỗi “&hổng rỡ nguyên nhậm” Chỉ nhí cho việc sửa lỗi
Người ta ước tính, bảo trì là phần chỉ phí chính của phần mêm và kiếm định là
hoạt động có chỉ phi đất thứ hai, ước tính khoảng 40% cúa chỉ phí trang quả trình phát
triển ban đầu của sân phẩm phân mềm Kiếm định cũng là phản chỉ phi chính của giai đoạn bão trì do phâi tiến hành kiểm định lại những thay dải trong quá trình sửa lỗi và đáp ứng yêu cầu của người dùng
Kiểm định và sửa lỗi có thể được thực hiện tại bắt kỷ giai đoạn nảo của vong đời phần mềm Tuy nhiên, chỉ phí cho việc tìn và sửa lỗi sẽ lăng đáng ké theo thời sian trong quả trinh phát triển
Sự thay đổi một tải liệu yêu cầu khi duyệt lại lần đầu tiền là khéng dit nếu
không nói là không đáng kẻ Chí phí sẽ tăng lên nhiều hơn nêu các yêu cân thay đổi
được đưa ra sau khi đã lập trình Thay đổi lúc này đồng nghữa với việc phải viết lại
clrương trình
Việc sửa lỗi sẽ không dáng kế nêu người lập trình tự phát hiện lỗi của mình, va không có sự liên quan đến chỉ phí khác Họ không phải giải thích lỗi cho bất kỳ người
nao trong nhóm Họ cũng không phải nhập lại lỗi đó vào cơ sở đữ liệu lỗi và hưu vết
lỗi Người kiểm định và người quản lý không phải duyệt lại tình trạng lỗi Và lỗi đó
không ảnh hưởng đến công việc của người khác trong nhóm đự án
Nói chung sửa một lỗi trước khi phát hành ruột phản mềm rẻ hơn rất nhiều so
với việo khắc phục nó sau khi dã phát lành
Theo các nghiền cứu của IBM, GTE cho biết, lỗi dược phát hiện cảng muôn thì
chỉ phí cho việc sửa lỗi càng lớn Chỉ phí tầng theo hàm mũ như sau
Trang 22+hi máy tỉnh coi năm 1900 như năm 2000
1.2.3 Dãnh giá chất lượng phần mềm
Chất lượng phần mâm có thế được đánh giá theo một số tiêu chỉ [6] sau:
có tỉnh đề hiểu phải có muục địch rõ rằng, Mục
dich 6 đây không dơn thuần chỉ là mục tiẻu phân mềm cần đạt dược mà hơn thẻ nữa,
tật cả cáo thiết ké, các tài liện hướng dẫn sử dụng phải được trình bày rõ ràng, dễ u
Một vấn đề đặt ra là cầu trả lời câu hồi rằng phần mẫm được đặt trorgr ngữ cảnh người dùng nảo, chẳng bạn như phần mềm dành cho người đứng bình trường thì cần dễ hiểu hơn phân mềm đánh cho người sử đựng là các kỹ sư phần mềm
Vi du, déi với người đúng, sản phẩm phải có những yêu tổ sau:
- Dé thao tac
- Dé hoc va đễ sử dụng,
-_ Giao điện phải rõ ràng, để hiểu, để nhớ
«Tính hoàn chỉnh: Được đánh giá qua tập các chứ năng của sản phẩm Tập các
chức năng niên thoả mãn các tính chất sau:
Trang 23
-10 Tinh déi ximg; Néu cé thao tac phat sinh thi cling cé thao tac huy bé va nguge Iai
- Tỉnh tiêu chuẩn: Sản phẩm cân dạt một số tiêu chuẩn dược thừa nhận trên thị
trường hoặc trong khoa học
« Tính khúc chiết: Yêu cảu đặt ra là không có các thông lin dư thừa Điều này đặc biệt quan trọng khi bộ nhớ cúa hệ thống có giới hạn Vì vậy, việc giảm các đóng lệnh đến mức tối đa là cần thiết Tính khúe chiết có thể được nâng lên nhờ việc dùng
chương trình eon thay cho các chức năng dược xứ l¡ lặp dì lặp lại
«Tỉnh tương thích: Phần mềm phải có khả năng hoạt đồng trơn tru, để dang trén nhiều nến lãng câu hình ruáy tỉnh khác rau
« Tỉnh nhất quán: Tất cả các ký hiện, biểu tượng hay thuật ngữ trong chương
trình phải thông nhất
« Tinh dé bao trì: Dễ đảng trong việc cập nhật để đáp ứng những yêu cầu mới
Vi vậy, đề có được đặc tính này, phản muêm phải eó những tài liệu hỗ trợ kỹ thuật đây
dũ chỉ tiết mà không phức tạp Có thê thay dỏi trong cấu trúc đữ liệu? Nếu một thiết kế đựa trên chức năng được sửa lại thì có yêu cầu cầu trúc lại cả chương trình chính hay
chỉ một vai module
« Tỉnh khả kiểm: Phần mém cho phép để dàng xây dựng các tiêu chuẩn và
trường hợp đánh giá hoạt động của nó Dây là đặc tính gắn liên với giai đoạn thiết kẻ,
cho phép việc kiểm dịnh có để dàng không, Một thiết kế quả phức tạp sẽ dẫn đến việc rất khó khăn trong kiểm tra, đánh giá phần mềm
« _ Tính tiện dụng: Điều này được thể hiện rất nhiều qua giao điện Người — Máy Thánh tố có ảnh hướng lớn nhất dên dặc tình này của phẩn mềm chỉnh là giao diện dẻ
họa người dùng (Grapbieal User Interface)
«_ Tính tin cậy: Phần mẻm thực hiện được những chức năng, nhiệm vụ như
mong đợi Yếu tổ thời gian trong đắc tính này rất quan trọng, tức là phản mềm phải thực thị tốt các yêư cầu đặt ra trong một giới hạn thời gian nhất định nảo đó Lơn nữa,
Trang 24
-11-chương trinh có trinh duge cac Idi [ip vô hạn, kiểm tra lỗi đữ liệu dầu vào hay cung cấp các điều khiển ngoại lệ khi xảy ra xung đột không?
Ngoài ra, sẵn phẩm có cơ chế bảo mật và bảo vệ các đổi tượng do nó quản lý hoặc phát sinh và bản thân sản phẩm cũng được dặt trong một cơ chế bão mật nhằm chống lại sự sao chép trộm hoặc làm biến dạng sắn phẩm
©) Tink khua học: được thể hiệu qima các mặt sau:
- Cầu frúc: Sản phẩm được chia thánh các đen vị cân đối, không trừng lặp về mặt chức nãng, các chức nâng quan hệ với nhau vả tổ hợp để cỏ thẻ tạo thanh chức năng,
mới
- Mội đụng: Các thuật toán đựa trên những thành tựu khoa học, có cơ sở và chặt chẽ
về tỉnh khoa học
- Hình thức và thao táo: Tên của vac lệnh phải hợp Tý, thể tuện tink logie và phù hợp
vai tu duy tự nhiên của con người
«Tỉnh hiệu quả: Thể biện qua các tiêu chuẩn sau:
~_ Hiệu quả kinh tế, giá trị thu được khi áp dựng sản phẩm
-_ Tốc độ xử lý của sẵn phẩm được tính bằng tỉ lệ giữa số lượng đối tượng xử lý và tổng số dơn vị thời gian cần thiết đẻ xử lý dói tượng trên
-_ Giới han tdi da của sản phẩm hoặc miễn xác định của chương trình được xác định thông qua đổi tượng mà sản phẩm đó quản lý
-_ Dung lượng tối đa của miễn nhớ trong mà chương trình sử đựng
Phan mềm thớa mẫn được mục địch đặt ra mã không làm lăng phí tải nguyên, tức là tận đụng tối đa bộ nhớ và tốc độ của hệ thống
1.3 KIEM DINH PHAN MEM
1.3.1 Kiểm định phần mễm là gì?
Trang 25
-12-"Như dà trình bảy ở phần trước Một phần mẻm đủ lớn hay uho déu có thể xuất hiện những lỗi nếu không được kiểm tra và giảm sát chặt chế các quy trình, có các biện
pháp sửa chữa khắc phục kịp thời tại các khêu đoạn
Voi các lỗi xây ra với phẩm mềm, dễ phát hiền ra dược thì chúng ta phải tổ chức kiểm định chúng Do đỏ, kiểm định phân mễm thường đồng nghữa với việc từm ra lỗi
chua được phát hiện Tuy nhiên, có nhiều bối cảnh kiếm định kháng bộc lộ ra lỗi Như
vậy, có thể khải quái rằng: kiểm định phẩm mỗm là quả trình thực thì mật hệ thông phẩn mm đễ xác định xem phẩm mẫm đó có đúng với đặc tá hay không và thực
hiện trong mỗi trường nhự mong đợi hay không?[6]
Có rất nhiều phương pháp kiểm định phần tiềm Có những phương pháp tập
trung vảo phân tích mã nguồn, như kỹ thuật kiểm định hộp trắng Có những phương,
phap đi sâu vào các đữ liệu vào và kết quả đâu ra của chương trinh như mong muốn,
diễn hình là kỹ thuật kiểm định hộp đen
Tuy nhiên trên thực tế, hệ thông đang thực hiện sẽ khác biệt so với việc duyệt
lại mã nguồn Thông thường, người thực hiện sẽ thực hiện việc đọc lại và phân tích mã xgnỗn, xem xét mã nguồn và tạo cáo lưu đổ của chương trình với các nhánh mả mã
nguồn oỏ Chương trinh với mã nguồn đó sẽ phái thực hiện được hay nói cách khác nó
là một hệ thống chạy được, bởi hệ thông không chạy được thì việc kiểm định sẽ rất mắt thời gian và tiền bạo
Ngoài việc phân tích mã nguồn của chương trình ra, người thực hiện sẽ căn cứ
vào các đặc tả, đặc tả chính là căn cứ chủ yếu cho việc kiểm định Các phân đặc tả chỉ
quan tâm chủ yếu đến yéu 16 vao ra chit khong tim hiển về cấu Irúc và nội đụng các thao tác cân thực hiện Mỗi chương trình được xem như một hộp đen một bộ biến đổi
có cầu trúc thao tác bị che khuất Các đặc tả sẽ xác định những hành vị đứng và làm
cho dé ding hơn trong việc xác định những hành vị không dủng, Mỗi hành vị không
đúng đó được hiểu chính là một lỗi phản mẻm Từ những lỗi phần mềm phát hiện đó, người thực hiện sẽ căn cứ trên những hiếu biết của mình và mã nguên của chương trinh
dé chân doán nguyên nhận phát sinh lỗi, tùn ra các lỗi đo lập trình hay mà nguồn xử lý
Trang 26vấn để sai lệch sơ với dic tả dược nêu ra vá thậm chỉ sai lệnh so với kết quả mong,
smuén đạt được
Để giải quyết các vẫn để vướng, mắc này trong kỹ thuật lập trình, các nhà tìì học
lý thuyết đã đi sâu vào nghiên cứu tìm hiểu bản chất của ngôn ngữ, thuật toán và hoạt
động lập trù và nâng nội đụng của nó lên thành nguyên lý khoa học Cũng lừ giai
đoạn này, các công việc của quá trinh kiểm định chương trinh trên nhiêu góc độ trước khi đi vào ứng dụng được chú ý nhiêu và chiếm tỷ lệ rất lớn về thời gian và tiễn bạc trong việc tạo ra chương Izình (1594 trên tổng số chỉ phí của vỏng đời sản phẩm)
Bảng 1.1 Tỷ lệ công việc các giai đoạn phát triển phan mém
¬ kế sơ , | kiểmđịnh | kiểm định
1.3.2, Tại sao phải kiếm định
Như đà trình bày ở trên, một phần mềm san khi sản xuất ra đo nhiều yến tố có
thé din đến viện sai so với đặc tã ban đầu, lỗi trong thiết kế và viết nã của bản thân
chương trình Các chương trình dó sau khi dược thiết kẻ và được bản cho người sử
Trang 27-14-Kiểm dịnh sẽ giúp phát hiện ra những lỗi sai sót so với dặc tả, phát hiện dược những lỗi hay mắc phải hoác chưa từng được phát hiện Một cuộc kiểm định thành
công chính là việc xác dịnh những lỗi mà chua từng dược phải hiện
Việc phát hiện lỗi và tạo điều kiện dễ khắc phục sẽ làm chất lượng phần mềm nâng cao, các chỉ phí cho quả trình báo dưỡng giảm xuống nhiêu, các phản mém sé tro
niên hiệu quả hơn
Một chương trinh dù lớn hay nhô đêu qua các công đoạn khác nhau đế tạo ra dược nó Các phần mềm cảng lớn thì đặc tả của nó cảng nhiều, việc mắc lỗi ong quá trình xây dựng lá không thể tránh khối Quá trình kiểm định tại giai đoạn cuối sẽ tỉm ra sai sót và tạo điều kiện để hoàn thiên hơn chương trình
Kiểm định chương trình còn đông với trò rất lớn trong: công tác giáo dục Ví dụ như trong các cuộc thí Tin học, hội đồng cham thi phải mất rất nhiều thời gian dễ kiểm tra lại chương trinh và châm bài Các bai nay déu phải được kiểm tra chặt chẽ, nêu không có các nguyên tốc và phương pháp kiếm tra và thử nghiệm thi viée cham thi sé
trở lên rất khỏ khăn trong việc xây dựng cdc ‘Testoase chuẩn đề kiểm tra được hết các
đặc tà của bài đề ra
1.3.3 Quy trình kiểm định
Mục đích của cuộc kiểm định chính là thiết kế được một chuối các trường hợp kiểm định mà có khả năng phát hiện lỗi cao Chuỗi các trường hợp kiểm định đó sẽ rà soát hết tat cả các trường hợp có thể xử lý của chương trình so với đặc tá ban đâu Bảo cáo kiếm định sẽ thống kê hết tật cả các trường hợp kiếm định đã chạy, những lỗi đã phát hiện trong kiểm định, chỉ tiết các dữ liệu đầu vào, các luồng đữ liệu, đầu ra mong, đợi của chương trình (đây chính là kết quả đứng của chương trình), kết quả thực tế cho
Ta của chương trình và trục đích kiểm định Muốn có được các đít Tiệu đầu vào hợp lý
và có khá năng phát hiện lỗi cao như vậy thì cản phải thông qua một kế hoạch và giai đoạn chuẩn bị hẹn lý nhằm thiết kế các Testcase, các đữ liệu cho các trường hợp kiếm
định Các giai đoạn kiểm định này có thể được mô tả qua hình vẽ sau
Trang 28lai đoạn kiểm định
Như vậy mô hình chỉ tiết quá trình kiếm định như sau:
c Chuan bi dit Chạy chương kết quả vớ
p liện kiểm định trình với dữ 2
Tiệu kiểm định hợp kiểm định
Các trường hợp kiểm
Trang 29-16-1.3.4, Các phương pháp kiểm định phần mềm
a Phương pháp kiểm định hộp đen
Kỹ thuật kiểm định hộp den còn gọi là kiểm định vào ra, chỉ tập trung vào các yêu cầu chức năng của phân mềm
Người kiểm định xem phần mềm như lá một hộp đen không thể nhìn thây vào bên trong xem nó hoạt đồng như thể nào Do đó, sẽ không quan tảm nhiều đền cấu trúc
biên trong của phân mềm mã cần quan tâm đến miễn thông tím, cho nhập các giá trị đầu vào, thực thì chương trình và xem xét các kết quả đầu ra tương ứng có phủ hợp với kết
quả mong đợi hay không”
Trong kiểm dịnh hộp den, người kiểm định chỉ biết phần mềm dự kiến thực hiện
và những gì đự kiến không thực hiện Căn cứ vào đặc tã, người kiếm định xây dựng, các nhỏm giả trị đầu vào cho lất cả các yên câu chức năng của chương trình
Đô tim tất cả các lỗi trong, chương trình thì điều kiện bắt buộc là phải kiểm định
tất cả các giá trị đầu vào Diễu này thực tế là không tế thực hiện được Tuy nhiên, nêu
số lượng và sự da đạng của các giá trị dầu vào và số lượng kiểm dịnh đạt đến cũng có thê kết luận răng: “Phân mềm có thẻ chấp nhận duo
Tink 1.9 Mink hoa kiém dink hip den
Kiểm dịnh hệp den nhằm tim ra cdc loai sai [4], đó là:
-_ Chức năng thiểu hoặc chức năng không đúng đắn
- Sai iao điện
- Sai trong cdu tic hoke wong truy ep dit ligu ngoai
-_ Sai trong thực thi
- Sai khởi dầu hoặc kết thúc
Trang 30Kiểm dịnh hộp den tập trung dễ trá lời các câu hỏi sau dây:
-_ Tiiệu lực chức năng được kiểm định đến đâu?
~ Lớp dầu vào nào làm cho các ca kiểm dịnh tốt?
-_ Sự nhãy cảm đối với một vải giá trị vào nảo?
- Cae bién của lớp đữ liệu đã được cô lập như thé nao?
-_ Khả năng dung thử lỗi dôi với các nhịp diệu và khôi lượng dữ liệu như thé nao? -_ Những tổ hợp đữ liệu đặc biệt ảnh hưởng gì đến hoạt động hệ thông
Khi áp dụng các kỹ thuật kiếm định hộp đen, cần tìm ra được các ca kiêm định
thod man cde tiêu chuẩn sau:
- Cáo ca kiếm định là thu gọn
~_ Cáp ca sử dụng nói cho biết về sự tốn tại hoặc vắng mặt của một lớp sai
liệu xuất phát từ việc kiểm tra logic của chương trình (bố qua đặc tả)
Hộp Trắng ở dây chính là hộp trong suối Chỉnh vì vậy, kỹ thuật kiểm định này
còn có một số tên khác là kiếm định hép thity tinh (Glass-Box Testing), hay kiếm định
hép trong suốt (Clear-Box Testing) Người kiểm định truy nhập vào mã nguồn chương, trình và có thể kiểm tra nó, lấy đó làm cơ sở để hỗ trợ việc kiểm định (có nghĩa là người kiểm định có thể nhìn thấy bên trong hệp) Dựa vào những gì thấy được, người kiểm định có thể xác đmh: được cáo số liệu cụ thể và hướng việc kiểm định theo những,
thông tín đỏ
Kiểm định hộp trắng sẽ đi vào kiểm định các đường dẫn lệnh trong chương
trình Trong một chương trình thông thường sẽ có nhiều đường dẫn lệnh của nhiêu lưu
trình điển khiển khác nhau Nhiệm vụ của kiểm định chỉnh là kiểm đt toàn bộ lưu
trình và đường dẫn lệnh này, khi kiểm định được hết thì có thể khẳng định là chương
trình đã được kiểm định
Trang 31
-18-Neuyén tic kiém dịnh hộp trắng:
-_ Thực hiện tất cả các dường, dẫn độc lập ít nhất một lẫn
- ‘Thue hién mọi điều kiện logic (# then else) én cac gid tri có thể 7rwe hoặc False cia chúng
-_ Thựe hiện mọi vòng lặp (cáo vòng lặp for, while do, repeat until) tal cac
biên và trong phạm vị hoại động của chúng,
- Thue hién moi cau Wie dit gu bén trong dé dam bao tinh hop 16 eta chimg
Trang 32
-19-CHUONG 2
KỸ THUẬT VÀ CHIÉN LƯỢC KIỂM ĐỊNH PHAN
MEM THEO TIEP CAN HOP DEN
2.1 KIỀM BINH PHAN MEM BANG KY THUAT HOP DEN
2.1.1 Nguyên tắc kiểm thử hộp den
irong kỹ thuật kiêm định “hộp den”, người kiểm định coi phẩn mềm như một
liộp đen Túc là người kiêm định hoàu toàn không quan lâmu đến cấu lúc và hoại động
bên trong của phản mềm Người kiểm định chỉ cần quan tâm đến việc tìm các hiện tượng mà phản mềm không thực thi theo đúng đặc tả của nó (dựa trên đặc tả yêu cầu, người kiểm định chỉ biết những gì phần ruẩm dự kiến thục hiện vả tim ra những gì chua thực hiện mả không thể nhin vao bên trong xem nó hoạt động như thế nảo) VÌ
vậy, dữ liệu kiếm định hộp đen đựa trên cơ sở đặc tả
Như vậy, cách tiếp cận kiếm định hộp đen tập trung vảo các yêu cầu chức năng, của nhân mém Kiém định hộp đen cho phép các kỹ sư kiếm định xây dựng các nhóm giá trị đầu vào có khá năng thực thì đây đú các yêu cầu clrức năng của chương trình
Trên thực lế, rong các hãng phần mềm thường có các nhóm thực hiện công việc thiết
kế và các nhóm kiểm định độc lập với nhau Tuy vậy, kiểm định hộp den không thay thé kỹ thuật kiểm định hộp trắng, nhưng nó bổ sung khá năng phat hiện các lớp lỗi khác với phương pháp hép ting để đạt dược mụe dịch chúng cuỗi củng là phần mễm
hạn chế tối đa số lỗi
Không giống kiểm định hộp trắng được thực hiện sớm trong quả trình kiểm
định, kiểm định hộp đen được áp dụng trong các giai đoạn sau của qui trình kiểm định
phân mềm Vì kiểm định hộp đen không nhằn mục đích kiểm tra câu trúc bên lrong của cấu trúc điều khiển mả sự quan tâm tập trung vào miền thông tin Kiểm định hệp đen cũng không thế tìm tất cả các lỗi trong chương trinh vì đề có thê phát hiện được tắt
Trang 33cả các lỗi thì diều kiện bắt buộc là phái kiểm dịnh tất cả các giả trị dầu vào Tức là mỗi điều kiện đầu vào đều cần một trường hợp kiếm định Vì nếu chỉ kiểm định một số điều kiện đầu vào thỉ không đảm bảo được chương trình dã hết lỗi Tuy nhiên, trên Hiực tế điều này là không thẻ thục hiện được
Vi vay, một số kỹ thuật kiểm định hộp đen được đề xuất [6, 7, 17, 19] để có thầ kiểm định phản mềm một sách hiệu quả nhất mà không phải đuyệt bắt tất cả các điều
kiện đâu vào
2.1.2 Một số kỹ thuật kiểm định hộp đen
œ Phân hoạch tương đương
Việc kiểm định tất cá các đầu váơ của chương trình là không thể Vì thế, khi kiểm định chương trình tiên giới hạn một tập con lất cỗ các trường hợp đầu vào có thé
có Tắt nhiên, người ta mong muốn lựa chọn một tập con ding hay nói cách khác lả một tập con có xác suất cao nhất phát hiện hầu hết các lỗi
Một tập con như vậy cần có hai tính chất:
-_ Mỗi trường hợp kiếm định nên gềm nhiều điển kiện đầu vào khác nhau có thể
giảm thiểu tổng số các trường hợp cẩn thiết
SỐ
- Nên có gắng phân hoạch các miễn đầu vào của một chương trình thành mộ xác định các lớp tương đương, sao cho có thé giá định hợp lý rằng việc kiểm
định một giá trị đại điện của mỗi lớp là tương đương với việc kiểm định một giá
trị bất kỳ trong củng lớp đó (tuy điều nảy không đảm bảo tuyệt đối), Có nghĩa, nểu một trường hợp kiểm định trong một lớp tương đương phát hiện ra lỗi, thủ tất câ các trường hợp khác trong lớp tương đương cũng sẽ phát hiện ra củng lỗi
đó Ngược lại, nếu một trường hợp kiểm dị không phát hiệu ra một lỗi, thì
không có trường hợp nào khác trong lớp tương đương đó phát hiện ra lỗi (trù
kn một lập con của lớp tương đương nắm trong nội lớp tương đương khắc, vì
Trang 34Hai van dé xem xét ở trên tạo thành một phương pháp của kỹ thuật hộp den và được gọi là phân hoạch tương đương Vẫn đề thứ hai được sử dụng đẻ phát triển một tập các điều kiện cần quan tâm phải được kiểm định Vấn đẻ thứ nhất được sử dụng đẻ phát triển một tập cực tiêu các trường hợp kiểm định phủ các điều kiện trên
Thiết kế trường hợp kiểm định bằng phân hoạch tương đương được xử lý theo
hai bước:
Bước 1: Phân hoạch các miền giá trị đầu vào thành các lớp tương đương
Buớc 2: Thiết kế các trường hợp kiểm định đại diện cho mỗi lớp
SSeS
Dũ liệu vào không
họp lệ
Dữ liệu vào hợp lệ
Hình 2.1 Phân hoạch các lớp tương đương
Phân hoạch thành các lớp ttơng đương:
Các lớp tương đương được nhận dang bằng cách lấy mỗi điều kiện đầu vảo và
phân hoạch thành hai hoặc nhiều nhỏm Các lớp tương đương biểu diễn một tập các trạng thải hợp lệ hoặc không hợp lê cho điều kiện đầu vào Điều kiện đầu vào là giá trị
số xác định, miền giá tri, tập giả trị cỏ liên quan, hoặc điều kiện logic
Các lớp tương đương có thể được phát biểu thành các quy tắc sau
1) Nếu điều kiện vào xác định một miễn giá trị, thì phân hoạch thành một lớp tương,
22
Trang 35dương, hợp lệ và hai lớp tương đương không hợp lệ Ví dụ, nếu dầu vào x nằm trong,
“Orange”, “Violet”}, thi lớp tương đương hợp lệ là x e Colars và lớp tương đương
không hợp lệ là x £ Coiors
4) Nếu điều kiện dâu vào là một biến hoặc một biểu thức logie, thì phân hoạch
thành một lớp tương đương hợp lệ và một lớp tương đương không hợp lệ tương ứng
với hai Irang thái đúng và sai của biểu thức hoặc biến logic:
Vide: Xét chương trình “Sắp xếp lớp” dựa trên các
Chương trình nhận vào diễm thi (ĐT) (<75) và điểm trung bình môn (ĐTBM)
“<25), dựa vào các dữ liệu đỏ, nó sẽ tính toán và xếp lớp theo các lớp từ 1 đến /) Việc
xép lớp được tỉnh toán đựa trên điểm trung bình chưng = tổng điểm thí và điểm trung
Đình môn theo cách Lính như sau:
- 50<Diem <7 lopB
- 30<Diém<50,; lớpC
- Frém < 30: lop D
Nếu điểm nằm ngoài các khoảng trên thì sinh ra một thông bảo lỗi Tất cả các
đữ liệu nhập vào đều là số nguyên
13an đâu, ta cần xác định các phân hoạch tương đương, sau đó xây dựng các
trường hợp kiểm định dựa trên các phân hoạch đỏ Các phần hoạch được xác định Lừ cã
Trang 36dữ liệu vào và đữ liệu ra của chương trình Các đữ liệu hợp lệ và không hợp lệ đều
được xét
Trước hột, ta xác định các phân hoạch cho đữ liệu vào:
* Các lớp tương đương hợp lệ
0< điểm this 75 0< điểm trung bình môn < 25
* Các lớp tương đương không, hợp lệ:
Điểm thi > 75
Diém thi <0 Điểm trưng bình môn > 25 Điểm trưng bình môn <
Như vậy, phân hoạch của dữ liệu và điểm thi (DT) có thé duoc biển điển thea
Thân hoạch của đữ liệu vào điểm trung bình món (ĐTBM) có thế được biểu
diễn theo sơ dé sau:
Hình 2.2 Sơ đủ phân hoạch cúc lớp trưng đương điểm thi
Ngoài ra, còn có các kiểu đữ liên vào khẳng hợp lệ nh đử liệu nhập vào không,
thuộc tập số nguyên hoặc không phải ký tự số
Trang 37„ ta có thêm phản hoạch tương dương, cho dữ liệu vào không hợp lệ:
Điềm thị - số thực
Diém thi ly tự khác số Diễm trung bình — số thực Điền trung bình — kỷ tự khác số
Tiếp theo là việc xác định các phân hoạch cho dữ liệu ra:
Phan hoạch hợp lệ dược tạo ra bằng cách tính toàn từng đữ liệu ra hợp lệ cho
xãi thành phân:
Kết quả: lớp “4” được tạora khi 70 <tống điểm « 100
“B" được tạo ra khi 50 < tống điểm < 70
“C” được tạo ra khi 30
éng điểm < 50
“Ð'” được tạo ra khi O < tổng điểm < 30
“Thông báo lễ” (được tạo ra khi tổng điểm > 100
được tạo ra khi tổng điểm <0
Các phân hoach trong đương trên và đưới giá trị biên được thẻ hiện theo sơ đồ sau
Hinh 2.3 Sơ đỗ phân hoạch các top trong dwong theo gid tri biên tông điểm
Một dữ liệu ra không hợp lệ là bắt kỳ dữ liệu ra nào không nằm trong Š giá trị
trên (%4, “8”, SƠ", “Д, “không hợp lệ”) Thực ra, việc xác định các đữ liệu ra không,
Trang 38rõ ràng là rất khó khăn Nhưng chủng cẳn dược xem xét kỹ dễ nhận ra lỗi có thể có ở
cả trong chương trình và trong đặc tả Dưới đây là 3 ví dụ vẻ dữ liệu ra không rõ rằng,
Việc phân hoạch như thế này mang tính khá chủ quan và khác nhau với mỗi người
kiểm định vì họ có cảm nhận và phản đoàn không giống nhau
Phân hoạch 4: 0 <IBM < 25
Phân hogch 5: DYBM> 25
Phân hoach 6: DYBM<0
Phân hoạch 7:_ ĐI =real namber
Phân hoạch 8: DT = alphabetic
Phân hoạch 9: EYTBM= real number
Phân hoạch 10: ÐYTBMC alphabetic
Trang 39Phân hoạch 1ó: 1Ð <0
Phân hoạch 17: output = '⁄"
Phân hoạch 18: output = 1⁄4+°
Phân hoạch 19: output = ‘null!
Sau khi dã xác dịnh dược các phân hoạch, ta tiến hành xây dựng các trường hợp kiểm định cho chúng Có hai cách xây đựng: Mẫ¡ phân hoạch có một tường hợp kiếm
định hoặc xây dựng một bộ tường hợp kiểm định cho lấI cả các phân hoạch
Cách thử niiẫt: Mỗi phân hoạch có một trường hợp kiểm định
+ Các trường hợp kiểm định cho phân hoạch điểm thì nhập vào là
Điểm thi nhập vào 44 -10 9
Điểm trung bình môn 15 15 15
Téng diém 59 5 108
Phân hoạch được thử
Be Ấn Than cà 0<ÐT<75 ĐT<0 ĐT >25
(đối với điểm thi nhập vào)
Kết quả dhự kiến Ip “B” “Thang bao 1éi” “Thông báo lãi”
Bang 1.1 Kiém định theo các lân phân hoạch hợn lệ điềm thẻ
Chủ ý: Trong băng trên, việc kiểm định tập trung vào giả trị điểm thị nhập vào nên
“Điểm trưng bình môn” được cho một giá trị lùy ý, cố định là 15
© Cae tưởng hợp kiểm dink cho phân hoạch điểm trung bình môn nhập vào là:
Trang 40(di voi điểm trưng bình môn)
Kết quả dự kiến lớp “C” “Thông báolỗi" | “Thông báo Hỗi”
Bang 2.2 Kiém dinh theo các lớn nhân haạch hợp lệ
Chủ ÿ: Dữ liệu “Diễm thí” được cho tủy ÿ, có định = 40
® Các trường hợp kiểm định cho phân hoạch dữ liệu nhập vào không hợp lệ: