Kiếm định không giới hạn đề phát hiện lỗi rong phần mễm, mà sự tin cậy tăng lên Irong các chức năng của chúng với sự đánh giá cửa các thuộc tính chức năng cũng như các thuộc tính khae [
Trang 2DAI HOC QUOC GIA HANOI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Đoàn Văn Trung
Kiểm định phần mềm theo tiếp cận hệ thống
Ngành : Công nghệ thông tin
Mã ngành: 1 01.10
Luận văn thạc sỹ
Người hướng dẫn khoa học:
PGS TSKII Nguyén Xuan Huy
Hà Nội - 2007
Trang 3CHUONG 1 TONG QUAN VE KLEM DINH PHAN MEM
Kiểm định phần mềm là một phần quan Irong và quyết định của quá trình phải
triển phân mềm trên chất hrong và độ tin cậy của sản phẩm chuyển giao Kiếm định
không giới hạn đề phát hiện lỗi rong phần mễm, mà sự tin cậy tăng lên Irong các chức
năng của chúng với sự đánh giá cửa các thuộc tính chức năng cũng như các thuộc tính khae [2]
Kiểm định phẩn mềm là một hoạt động kiểm tra năng lực, khả năng của phẳm mém bao gồm nhiều nhiệm vụ đôi hồi khắt khe khác nhan: trước hết là nhiệm vụ xuất phát từ một bộ dây dủ các trường hợp kiểm dịnh thích hợp, theo một kỹ thuật kiểm định phần mềm được chợn lựa có lợi và có khả năng thục hiện được Tuy nhiên, sự lựa chọn hình thức kiếm định mới chỉ là một điểm bắt đâu mà còn nhiêu nhiệm vụ quyết
định khác thể hiện cac mặt về chuyên môn kỹ thuật và các khải niệm phức tạp: chặng,
han kha nang dé chon hra các kiểu kiểm định; sự quyết định các kết quả kiểm định có
1.2 Khải niệm kiểm định nhần mềm
Kiểm dịnh phản mẻm là phần mẫu chốt của dâm bảo chất lượng phản mềm vá
tiểu thị cho việc xét duyệt tôi hậu và đặc tã, thiết kế và mã hóa.
Trang 4Theo nghĩa thông thường nhất, kiểm đình phần mềm bao gồm việc "chạy thử" phân mềm hay một chức năng của phân mềm, xem nó chạy đúng như mong muốn hay
không
Theo Glen Myers [1 5] thi kiểm định là một quá trình vận hành chương trình với
ý đình tìm ra các lỗi của phần mẻn Một (lân) kiểm định tốt là kiểm định có xác suất
cao trong việc tìm ra một lỗi chưa được phát hiện Một (lần) kiểm định thành công là
một kiêm định làm lộ ra được ít nhất một lỗi còn chưa được phát hiện
1.3 Quy trình kiểm định phần mềm
Việc kiểm định phân mềm có thê thực hiện từng bước, sau mỗi chức năng hoặc
module được phát triển, hoặc thực hiện sau củng, khi phần mềm đã được phát triển
Trang 51.3.1 Kiém dinh don vi
Tẻ có thể hiểu rõ vẻ kiểm định đơn vị, khái niệm trước tiền ta cẩn làm rõ: thé
nao là một đơn vị phân mềm [2] Một đơn vị là một thành phân phản mêm nhỏ nhất
ma ta có thể kiểm tra được Theo định nghĩa nảy, các hàn, thú tục, lớp, hoặc các
phương thức đều có thể được xem là đem vị
Vi đơn vị được chon dé kiếm tra thường có kích thước nhẻ và chúc năng hoạt
kiêm tra san đó
Kiểm định đơn vị thường do lập trình viên thực hiện Công đoạn này cần được thực hiện cảng sớm cảng tốt ưrưng giải đoạn việt code và xuyên suốt chư kỳ phát triển phần mềm Thông thường, kiểm định đơn vị đòi hỏi kiểm tra viên có kiến thức về thiết
kế và code của chương trinh Mục đích của kiếm định đơn vị lả bảo đảm thông tin
được xữ lý và xuất (khỏi đơn vị) là chính xde, trong mỗi tương quan voi dir Hiệu nhập
và chức năng của đơn vị Diễu này thường đổi hỏi tất cả các nhánh bên trong đơn vị đêu phải được kiểm tra để phát hiện nhánh phát sinh lỗi Mêt nhánh thường là một
chuỗi các lệnh được thực thì tong một đơn vị, ví dụ: chuối các lệnh sau điều kiện ÿ và
nằm giữa /hen else la mot nhanh Thực tế việc chọn lựa các nhánh để dơn giản hóa việc kiếm tra và quét hết đơn vị đòi hỏi phâi có kỹ thuật, đôi khi phải đảng thuật toán
để thực hiện
Cũng như các mức kiểm tra khác, kiểm định đơn vị cũng đòi hỏi phải chuan bi
trước các ca kiểm định hoặc kịch bán, trong dé chi định rõ dữ liệu vào, các bước thực
hiện và đữ liệu mong chờ sẽ xuất ra Các ca kiếm định và kịch ban này nên được giữ
lại dễ tải sử dụng
đỉnh đơn vị có thê bao gẫm các kỹ thuật kiểm định sau:
= Kiểm định hép den (black box)
= Kiểm định hộp trắng (while box)
Trang 613.2, Kiém định tích hợp
Kiểm định tích hợp kết hợp các thành phan của một ứng đựng và kiểm tra như một ứng dụng đã hoàn thành [15] Trong khi kiếm định đơn vị kiếm tra các thành phan
và đơn vị riêng lẽ thì kiểm định tích hợp kết hợp chúng lại với nhau va kiểm tra sự
giao tiếp giữa chúng
Kiểm định tích hợp có 2 mục tiêu chính:
+ Thái Hiện lỗi giao tiếp xây ra giữa các đơm vi
| Lich hợp các đơn vi don lé thành các hệ thống nhỏ và cuối củng là nguyên hệ thống hoàn chỉnh chuân bị cho kiểm tra ở mức hệ thống
Trong kiểm định đơn vị, lập trình viên cỗ gằng phát hiện lỗi liên quan đên chức
năng và câu trúc nội tại của đơn vị Có một số phép kiểm tra don giản trên giao tiệp giữa don vị với các thánh phân liên quan khác, tuy nhiên mọi giao tiếp liên quan đến
đem vị thật sự được kiếm tra đây đủ Khi các đem vị tích hợp với nhau trong khi thực
hiện kiểm dịnh tích hợp
Một chiên lược cẩn quan tâm trong kiểm định tích hợp là nên tích hợp dần từng,
đem vị Một đơn vị tại một thời điểm được tích hợp vào một nhóm các đơn vị khác đã
tích hợp trước đó và đã hoàn tất các đợt kiếm định tích hẹp trước dé Lite nay, ta chi cần kiểm tra giao tiếp của đơn vị mới thêm: vào với hệ thống các dơn vị đã tích hợp
trước đó, điều này làm cho số hrợng kiếm tra sẽ giảm đi rất nhiều, sai sót sẽ giảm đáng
kế
Có 4 loại kiểm lra trong kiểm định tích hợp:
1 Kiễm ba cầu trúc Tương tự kiểm định hộp trắng (kiếm tra nhằm bảo đảm các
thành phân bẻn trong của một chương trình chạy dùng), chủ trọng dễn hoạt động của các thành phản câu trúc nội tại của chương trình chẳng hạn các lệnh
và nhánh bên trong
b9 Kiếm tra chức nắng: Tương tự kiếm địh hộp đen (kiểm tra chỉ chủ trọng đến
chức năng của chương trình, không quam tâm đến cấu trúc bên trong), chỉ khảo
sát chức năng của chương trinh theo yêu cầu kỹ thuật
3 Kiểm tra hiệu năng: Kiểm tra việc vận hành: của hệ thông,
Trang 7
-4-4 Kiểm tra khả năng chịa tải: Kiểm Ira các giới hạn của hệ thông
Điểm khác nhau then chốt giữa kiếm định tích hợp và kiếm định hệ thông là
kiểm định hệ thông, chú trọng các hành vi và lỗi trên toàn hệ thống, còn kiểm định tích
hợp chú trọng sự giao tiếp giữa các đơn thé hoặc đổi tượng khi chúng làm việc cùng,
nhau Thông thường ta phải thực hiện kiểm định đơn vị và kiểm định tích hợp để bảo
đấm mọi Lmt vả sự tương tác giữa chúng hoạt động chỉnh xác trước khi thực hiện
+iễm định hệ thông,
Kiểm định hệ thắng kiếm tra cä các hành vị chức năng của phân mềm lẫn cáo
yêu cầu về chất lượng như độ lin cậy, tính tiên lợi khi sử dụng, liệu năng và bảo mật Mức kiểm tra này dặc biệt thích hợp chơ việc phát hiện lỗi giao tiếp với phần mềm hoặc phần cứng bên ngoài, chẳng hạn các lỗi “tác nghẽn" hoặc chiếm dụng bộ nhớ Sau giai đoạn kiểm định hệ thống, phan mém thường đã sẵn sảng cho khách hàng hoặc người dùng cuỗi củng kiểm tra để chấp nhận hoặc dùng thứ (Alpha/Beta Test)
Đôi hỏi nhiều công sức, thời gian và tính chính xác, khách quan, kiểm định hệ
thêng thường được thực hiện bởi một nhóm kiểm tra viên hoàn toản độc lập với nhóm
Trang 8+ Kiém tra kha năng vận hành: bảo đảm tôi tru việc phân bỏ tải nguyên hệ thông
(vi du bộ nhớ) nhằm đạt các chỉ tiêu như thời gian xử lý hay đáp img câu truy
van,
© Kiém tra khả năng chịu tái: bào đảm hệ thông vận hành đúng dưới áp lực cao
(vi dụ nhiều người truy xuất củng lúc) Kiểm tra khả năng chịu tải tập trung vảo các trạng thái tới hạn, các "điểm chết", các tỉnh huồng bắt thường,
«_ Kiểm tra cấu hình
+ Kiểm tra khả năng bảo mật: bào đàm tính toàn vẹn, bảo mật của dữ liệu và của
hệ thống,
+ Kiểm tra khả năng phục hồi: bão đảm hệ thống cỏ kha năng khôi phục trạng
thai 6n định trước đỏ trong tỉnh huông mất tải nguyên hoặc dữ liệu; đặc biệt quan trọng đối với các hệ thông giao dịch như ngân hàng trực tuyền
kha mira] Kim tra kha] Kiếm tra it
S nang van hành |_ năng phụ,
Hình 1.2 Các loại kiểm tra khác nhau trong Kiểm định hệ thông Nhìn từ quan điểm người dủng, các kiểm tra trên rất quan trọng: bảo đảm hệ
thống đủ khả năng làm việc trong môi trường thực, Lưu ý không nhất thiết phải thực
hiện tật cả các loại kiểm tra nêu trên Tủy yêu cau va đặc trưng của từng hệ thông, tuỳ
khả năng và thời gian cho phép của dự an, khi lap kế hoạch, trưởng dự án sẽ quyết định áp dụng những loại kiểm tra nào
Trang 913.4 Kiểm định chấp nhận
Thông thường, sau giai đoạn kiểm định hệ thông là kiểm định chấp nhận, được
+hách hàng thục hiện (hoặc ủy quyền cho một nhóm thứ ba thực hiện) [1] Mục đích
của kiểm định chấp nhận là để chứng minh phần mềm thỏa mãn tất cá yêu cầu của
khách hàng và khách hàng chấp nhận sản phẩm (vả trả tiên thanh toán hợp đồng)
Kiểm định chip nhận có ý nghĩa hết sức quan trọng, mặc đủ trong hâu hết moi
trường hợp, các phép kiểm tra cửa kiểu định hệ thống và kiểm định chấp nhận gần như tương tự, nhưng bản chết và cách thức thực hiện lại rất khác biệt
Đôi với những sản phẩm dành bản rộng rãi trên thị trường cho nhiềư người sử đụng, thông thường sẽ thông qua hai loại kiểm tra gọi là Alpha Test và Ieta Test Với Alpha Test, người sử đựng (liêm năng) kiểm tra phan mdr ngay (ai nei phat trién phan mềm, lập trình viên sẽ ghi nhận các lỗi hoặc phản hỏi, và lên kế hoạch sửa chữa Với Beta Test, phan mém sé được gửi tới cho người sử dung (tiém năng) để kiểm tra ngay
trong môi trường thực, lỗi hoặc phân héi cũng sẽ gửi ngược lại cho lập trình viên để sữa chữa
Thực tế cho thảy, nếu khách hàng không quan tâm và không tham gia vào quả
trình phát triển phân mềm thì kết quả kiêm định chấp nhận sẽ sai lệch rất lớn, mặc đủ
phan mém đã trải qua tất cả các kiểm tra trước đó Sự sai lệch này liên quan đến việc hiểu sai yêu cầu cũng như sự mong chờ của khách hàng Vì dụ, dõi khi một phản mềm: xuất sắc vượt qua các phép kiếm tra về chức năng thực hiện bêi nhóm thực hiện đự án, nhưng khách hàng khi kiểm tra sau củng vẫn thất vợng vì bố cục màn hình nghèo nàn,
thao tác không tự nhiên, không theo tập quản sứ dụng của khách hàng, v.v
Gin liền với giai đoạn kiểm định châp nhận thưởng là một nhỏm những dịch vụ
và tai liệu đi kèm, phổ biển như hướng dẫn cài đặt, sử đụng, v.v Mọi tài liệu đi kèm
phải dược cập nhật và kiểm tra chặt chế
Trang 10CHUONG 2 CAC KY THUAT KIEM DINH PHAN MEM
2.1 Kiểm định hộp trắng
2.1.1 Kiểm định hập đen và kiểm định hận trắng
Hép đen và hộp trắng là các phương pháp kiếm định phân mếm: kiếm định hép
đơn (black-box, chức năng) và kiểm dịnh hộp trắng (while-box , cấu trúc) |2]
Kiểm định hệp đen thường dược hiểu theo nghia là tập trung vào kiểm tra cde yêu cầu chức năng, của ứng dụng phân mêm Phần mềm được thực thi đẩy đủ đối với
các đất dữ liệu đâu vào vả tập đứt liệu đâu ra sẽ được xem xét xem có đúng đần không,
Cách thức dé dạt được kết quả đầu ra này hay cải gì bên trong “hộp” thi không cân quan tâm đến Kiểm định hộp den coi hệ thông như một hộp đen thuần tủy, vì vậy nó
không cần biết đến các cầu trúc bên trong,
Mặc đủ kiếm định hộp đen có nhiễu ưu điểm nhưng ban thân nó thi chua đủ
Trước tiên, các hệ thông trong đời thưởng có rất nhiều loại đữ liệu đầu vào khác nhau,
điều đó dẫn tới sự bùng nỗ các ca kiểm định Ví dụ, đối với một chương trình kiểm tra
sé du trong tài khoăn ở Ngân hàng (check-balancing) là khoảng 100 dòng lệnh, ta có
thể chạy một lập các ca kiểm định tiêu biểu, nhưng dối với hệ thông lớn như hệ thông
mô phỏng để dao tao phi công lái máy bay 747 thí không thê kiểm tra chặt chế các thông số đầu vào/đầu ra dua trên kỹ thuật kiểm định hộp đen
Thêm nữa là không thể biết được các phản mã lệnh não của chương trình cỏ
thực hiện bằng kỹ thuật kiểm dịnh hộp đen Các đoạn mã lệnh mà chưa thực hiện trong, quả trình kiểm tra được vị như một qua bom né chậm trong gói phần mnẻm Tắt nhiên,
những đoạn mã lệnh ehưa thực hiện nghĩa là chua được test
Một giải pháp cho vấn đẻ nảy lả sử dụng kiểm tra hép tring bd sung thêm cho kiểm tra hộp đen Chiến thuật kiểm tra hộp trắng bao gdm các kiểm tra tiết kế nhì các đòng mã lệnh phải được thực thị ít nhất một lần hoặc kiêm tra các chức năng một cách riêng biệt Kiếm đình hộp trắng cho phép người kiểm tra xem xét bên trong, nó đặc biệt chú trọng các thông từ bên trong của phan mém dé chon các đữ liệu kiểm tra
một các hiệu quả
Kiểm định hộp trắng đòi hói phái có các am hiểu bên trong chương trình, trong, khi đó kiểm định hộp đen chỉ đựa trên hiểu biết về các yêu cầu bệ thống nói chưng
Trang 11
-8-2.1.2 Các nguyên tắc kiểm định bập mắng
Kiểm định hộp trắng liên quan đến logic bên trong và câu trúc cửa mã lệnh Nó
cèn được gọi là ClearBox Testnp/OpenBox Testing/Structural Testing/ Glass Testing
(131
Cáo bài kiểm tra dựa trên kỹ thuật kiểm định hợp trắng kết hợp chặt chẽ ác yếu:
tổ bao gồm các cảu lệnh, các rẻ nhánh, đường đi, biểu thức và logie bên trong của mã
lệnh chương trình
Để thục hiện kiểm định, kiểm tra viễn phải quan tâm, làm việc với mã lệnh va
do do can am hiểu, có kiến thức về lập trinh và cách thức hoạt động, bên trong của mã lệnh Kiểm định hộp trắng cũng yêu cầu kiểm tra viên xem xét trong mã lệnh và tìm ra phần Lử/biểu thúc/doạn mã nào hoạt động không chính xác
Một sd quy tae co ban déi voi kiém định hộp trắng:
-_ Kiểm tra tất cả các đường đi độc lập ít nhật một lần
~_ Kiểm tra tất cễ các quyết định logic (j22hen-else) với giá trị TRUPE/F AI.SE
- Kiém tra tất cả các vững lập (for, while-do) lai các
c giá trị biên, giá trị
bên trong biên
-_ Kiểm tra tính dúng dẫn của tất các các cầu trúc đữ liệu nội tại trong chương,
trính,
2.1.3 Ua, nhược điểm của kiém định hập rằng
Các ưu điểm của kiểm định hộp ining:
~_ Vi người kiếm tra am hiểu vẻ cầu Irúc bên lrong của chương lrình, do đó rãi dễ
Trang 12De yêu sầu phải năm rõ cầu trúc chương trình và mã lệnh bên trong, các kiểm tra viên cân cỏ kỹ năng cao hơn dẫn tới tăng chỉ phí
Có thể bỏ sót các tham số kiểm tra thừa lại sau khi can thiệp vào mã lệnh của
chương trình
G&n như không thé xem xét tất cả đến byte/bit của chương trình để tìm các lỗi
ấn giáu mà có thể làm chương trình xây ra lỗi khi hoạt động,
2.2 Các chiến lược kiểm tra của kiểm thử hộp trằng
2.2.1 Kiểm định đường cơ sở
điểm trong chương trình ít nhất một
Mù tiêu là tim ra một tập cơ bân các cơn đường thực hiện độc lập đi qua các
‘Tt một thiết kế hoặc một mã nguồn vẽ dỗ thị dòng Œ tương ứng,
‘Tinh toan độ phức tạp chu trình V(G) của chương trình ứng với số con đường,
độc lập
Tìm tập cơ bản các con đường độc lập ứng với V(G) đã tìm
Thiết kế các ca kiểm định cho tập cơ bản trên
2.2.1.1 Đồ thị dòng
Đề thị đòng ding dé biéu dién các dòng điều khiến trong chương trình và giúp
xác định ra lập con đường cơ bản
Đồ thị dòng (đồ thị chương trình) là một để thị mà:
Mỗi nứt (hình tròn) biểu thị một vải câu lệnh thủ tục
Mỗi gạnh ni hai nút hiểu điển đồng điều khiển,
Chia mặt phẳng thành nhiều miễn
Mỗi mút biếu thị sự phân nhánh hoặc hội nhập được gọi là nút vị từ
Trang 13
Tap cơ bản các đường độc lập là tập:
© Mọi cung của đồ thị dòng đều cỏ mặt trong một đường của tập các con đường
Trang 14Tập đường dẫn độc lập cha dé Thị lưu trình được mình họa trong hình 4 là
Đường dẫn 1: 7-11
Đường dân 2: 1-2-3-4-5-10-1-11
Mỗi đường đẫn mới đưa ra một cung mới Đường dẫn 1-2-3-4-5-10-1-2-3-6-8-9-
10-1-11 không được xem là một đường dẫn độc lập vi nó chỉ lá một tổ hợp các đường cân đã được chỉ ra (đường đẫn 2 và 3) và nó sẽ không đi qua một cung mới nào
Các đường dẫn 1, 2, 3 và 4 tạo thành một đổp c2 sở trong hình 2.4b Nêu các
không phải là duy nhất Trong thực tổ, một số các lập cơ sở khác nhau có thé due suy
diễn cho việc thiết kế một thủ tục được đưa ra
Trang 16
(1) Phân tích, xác dịnh yêu câu mức dộ kiểm dinh dường cơ sở
Yêu cau phân tich mã nguồn, xác dịnh mức dộ kiểm dịnh tập các đường cơ sở
độc lập tuyến tính Mỗi đường sẽ được tiến hành kiểm định bằng kỹ thuật phân hoạch
tương đương và phân tích giá trị biên
Trang 17delta >0 £abe] (13,2) xI=-L, x2=-3
—_ Mỗi dòng/cội ứng với lên mội mút
Mỗi õ: là tên một cưng nếi nút dòng đến mút cột
Nhân liên tiếp k ma trận nảy được ma trận chỉ các con đường k cũng từ nút
v Xác suất cung đó được tiền hành
*⁄ Thời gian xử lý của quá trình đi qua cung đó
-15-
Trang 18wˆ Bộ nhớ đôi hôi của quả trinh di qua cung do
vˆ Nguồn lue đòi hỏi của quá trình ổi qua cùng đỏ
2.2.2 Kiếm định điều hiện
Diều kiện có thể là một trong các dạng sau:
vˆ Điều kiện đơn: là một biên boolean hoặc một biêu thức quan hệ , có thể cở toản
*“ˆ Điều kiện kết hợp: là điều kiện câu thành từ hơn một diéu kiện don nhờ các toàn
tử boolean: hoặc, và, phú định (OR, AND, NOT)
Các kiểu sai rong điều kiện kiểm định có thê lả
—_ Sai biển boolean (ví dụ: sử đụng sai biển)
— Sai toan ti boolean (vi dy: AND thay cho OR)
—_ Sai số hạng trong biểu thức toán tử boolean
— Sai todn ti quan hé (vi du: > thay cho >)
—_ Sai biểu thức số học (ví dụ: j + k thay cho ¡ - k)
Kiểm định điều kiện đựa trên các điều kiện để kiêm định, và bao gồm các kỹ thuật sau:
thường của ứng đựng
Trang 19
Kiểm dịnh từng diễu kiện trong chương trình
Mục tiêu của kiểm định điều kiện không chỉ là phát hiện sai trong điều kiện đó
xả còn là phát hiện các lỗi khác của chương trình
Kiểm định nhánh: với mỗi điều kiện kết hợp C, thì các nhánh “true” va “false” của C và mỗi một điều kiện đơn trong C phải được kiếm định ít nhật một lần 2.2.2.2 Kiếm định theo miền
Chiến lược kiểm định theo miền đòi hỏi 3 hoặc 4 kiểm định cho một biểu thức
quan hệ Các trường hợp <=,>=vàz
Vi dụ Điều kiện (x> 5}
Tiẩn lới 3 kiểm định là: x— 5,xT— 3 <5, x—8> 5
Nếu biểu thức boolean có n biển thì cần tới 2° kiểm định
Vị dụ: C= (b1 && b2) [ (b3 #&¿& b4) sẽ cản 16 kiểm định tất cá
Nền n nhỏ thị thuận lợi, song nếu n lớn thị điều nảy là khó khả thị
Trang 20
-17-2.2.2.3 Kiém dink BRO
Kiểm định theo mién voi 2 ca kid dịnh là rất khỏ thực hiện trong tường hợp
n lớn BRO là kỹ thuật làm giảm số ca kiểm định xuống [9]
BRO = kiểm định nhánh & toán tử quan hệ,
© BRO ding “rang bude điều kiện cho điều kiện cần thử”
®_ Giả sử trong điều kiện C cần thứ có n-] điều kiện đơn, các ràng buộc của C (có
u điều kiện đơn) là (Dị, Dạ, , Dạ), trong đó T3 là một đặc tả ràng buộc đầu ra
của diễu kiện dơn tương ứng của C
« Ta nói rằng rang buộc D của điều kiện C là được phủ bởi một thí hành của C
(“ouleome”) của mỗi điều kiện đơn
trêu như trong quá trìmh thí hành đó, đầu ra
trong C thoả mãn các ràng buộc tương, ứng,
‘Voi một biến Boolean B, thì ràng buộc đầu ra của Ð là ý (rue) hoặc ƒ (false)
Với mật biểu thức quan hệ B thì rằng buộc đầu ra của B là: >, <, =,
nhỏ hơn, bằng hoặc khác)
= đớn hơn,
Xét điên kiện C là kết hợp của hai biến Boolean A và B (C = A II B) Khi đó
ràng buộc đầu ra của Ở là một cặp giá trị ¿ hoặc /
Ví dụ, xét điều kiện (CA AND B) Chiến lược kiểm định BRO đồi hồi rằng,
tập ba ràng buộc {(, Ð), Œ, Ð, Œ, Đ} dễu dược phủ bởi các thi hành của C, côn ff, f} là
thùa Biểu thúc logic C không đứng khi “ít nhất một đối sai” (hoặc A hoặc B sai), do vậy trong 3 cặp trên có íLrihất một cặp kim Ở sai
Xét điều kiên đơn : ( = E) Khi đó ràng buộc của € là một trong ba: <:, >,„
Vĩ dụ xét điều kiện C là hội của bai biển 13oolean: A và l3 = li, Khi dé cdc rang
tuộc của C là các cặp (tL, 1), Œ, Ð và (£ 0; vei (B= EB) 06 pid trị ¿ tương ứng với “=", và
#”, Xót lương Lự trên đối với điều kiện hai bien
giả trị ƒ lương ứng với “<“ hoặc
Boolean {(t, t), (t, Ø, (£, )} ta có tập các ràng buộc của C phải gồm 4 phân tử: (t, =), (t,
<), (t, >) va (£, =)
Phú của rảng buộc nảy bảo đảm đã phát hiện được sai biên Boolean hoặc toán
tử quan hệ wong C
Trang 21
-18-2.2.3 Kiểm định dòng dữ liệu
Phương pháp kiểm định dòng dữ liệu tuyển chọn các đường của chuơng trình tương ứng với việc định vị các xác định biển và sử dụng biển trong chương trình Đã
cỏ một số chiến lược kiểm định dóng dữ liệu vả so sánh chúng,
Giả sử rằng mỗi câu lệnh của chương trình dược gán với số câu lệnh duy nhất
và mỗi hàm không được cải biên các tham số của nó và các biển toàn cục
ởi mỗi câu lệnh 8 ta định nghĩa:
3> DHI(S) = {X | câu lệnh 8 chứa định nghĩa của X]: tập các biến được định nghĩa trong 8
> USB(S) = (X; câu lệnh S chứa một sử dụng 3X}: tập các biến được sử đụng trong 8
Nếu 5 là câu lệnh ý hoặc câu lệnh lặp thì DEE cửa nó là rỗng (đối với ngồn ngữ
v
Pascal), còn UST của nó là được xác định đựa theo điêu kiện trong 5
Giả thiết định nghĩa biến X ở cầu lệnh 5 vẫn còn sóng tại câu lệnh S' nêu có
một con đường từ § tới 8' mà trên son đường đó không chứa một định nghữa nào khác của XL
Một chuỗi khai bảo - sử dụng (DU) của biến X là có dang [X, 8, S’] trong do 8, 5” là các số hiệu lệnh, X có trong tập DLII'(S) và tập USH(S'), và khai bảo của X trong câu lệnh S trủ trong lệnh S”
Chiến lược kiếm định đòng dữ liệu đòi hỏi rằng mọi DƯ đến phải được phủ ít
nhất một lần
Kiểm định DU không bão đâm phủ tất cả các nhánh của chương trình, Luy nhiên một nhánh không được phủ bởi DU kiểm định là rất hiểm
Kiểm định dòng dữ liệu lá hữu ¡ch để chọn các đường của chương trình có chứa
Tổng các câu lệnh rẻ nhánh if hole ving lip (for, while, do-while)
2.2.4 Kiểm định vòng lặp
Có bón loại vòng lặp can xem xét như sau:
«_ Vòng lặp don (Simple Loop)
Trang 22
-19-© Vong lap lỏng (Nested Loop)
© Vong lip ndi tiép (Concatenated Loop)
© Vong lap phi cau trie (Unstructured Loop)
S33
Simple Loop Nested Concatenated Unstructured
repeat-until) (BAD)
Hình 2.6 Các vòng lặp cơ bản 2.2.4.1 Vòng lặp đơn
Các trường hợp sau nên được áp dụng đôi với các bải kiểm tra vòng lặp đơn
Giả sử n là cận trên cho phép số lân thực hiện vòng lặp:
Trang 23-20-1 Bắt đầu từ vỏng lặp trong củng Thiết lập các vòng lặp khác giả trị nhỏ nhật
t9 Thực hiện các kiểm tra vòng lặp đơn (giả trị 1, m, n-1, n) đối với vòng lặp trong,
cùng trong khi vần giữ các giá trị vòng lặp bên ngoài là nhỏ nhất
3 Xét tiếp vòng lặp bên ngoài, thực hiện kiểm tra với các giả trị vòng lặp ngoài nó
nhận giá trị nhỏ nhất, vòng lặp bên trong thi nhận giả trị thông thường m nào
đó
4 Tiếp tục cho đến khi tất cả các vòng lặp được kiểm tra
2.2.4.3 Vòng lặp nối tiếp
Có thể được kiểm tra như vòng lặp đơn nêu các vòng lặp là độc lập với nhau
Néu chúng không độc lập thì có thể áp dụng như phương thức kiểm tra vòng lặp lỏng
Hình 2.7 Vòng lặp nỗi tiếp 2.2.4.4 Vòng lặp phi cầu trúc
Loại vòng lặp này không thé hiện phong cách lập trình câu trúc, nói chung lả
nên thiết kế lại mã lệnh để loại bỏ
Trang 24:
Hình 2.8 Vòng lặp phi cấu trúc
2.3 Kiểm định hộp đen
2.3.1 Cáe kỹ thuật kiểm định hộp đen
Kiểm định hộp đen lả một kỹ thuật kiểm định phần mềm chỉ quan tâm cách hoạt động của hệ thông dựa trên các dữ liệu vào và đữ liệu ra mả không quan tâm câu trúc
bên trong của hệ thông Người kiểm định không có thông tin vẻ cầu trúc chương trình
Theo phương pháp nảy người kiểm định hệ thông dựa trên sự đặc tả các chức năng dé tiến hảnh kiểm định tỉnh thực thi của chủng có đúng với đặc tả không Với lý do này
kiểm định hộp đen được xét bằng kiểm định chức năng Kỹ thuật kiểm định này cũng
được gọi là kiểm định cách hoạt động hay kỹ thuật kiểm định hộp mờ đục hoặc hộp
đóng hoàn toản Như vậy kiêm định hộp đen là một kiểm định cách hoạt động vả theo
đó việc thiết kế kiểm định cách hoạt động không khác là bao nhiêu từ thiết kế kiếm
định hộp đen và đây là lý do để ta đưa ra việc thiết kế xây dựng kiểm định hộp đen
Trang 25Hình 3.9 đưới đây cho thay kiểm định hộp đen không quan tâm đến cầu Irúc bên trong của chương trinh mả ch quan tam dén dit ligu vao (input) va dif ligu ra (output)
Black Box Testing
Hình 3.9 Mội sự dic t don gidm về kiểm định hộp den
Kiểm định hộp đen về cơ bán lả dựa vào sự đặc tá của hệ thông, các thiết kế chỉ
tiết để xây dựng các giá trị đầu vào theo tắt cä các yêu cảu chức năng của chương trình
hay côn gọi là thiết kế các trường hợp kiểm định theo đặc tả Xét về mặt lý thuyết để tìm hết tất cả các lỗi trong chương trình cân kiểm định thì chứng ta phải kiểm định tất
cã các giá trị đầu vào trong miễn giả trị Nhưng trong thực tế điểu này không thể thực hiện được bởi vì clủ phí quá cao và tồn nhiều thời gian Việc xéL cáo trường hợp kiểm định với một số lượng tương đổi theo ngẫu nhiên và đa dạng các giá trị dữ liệu vào lá điều co thé "Chap nhận" Tuy nhiên, theo đó vẫn sẽ gặp phải nhiều hạn chế trong việc phát hiện lỗi, vẫn để đặt ra cân phải cỏ các giải pháp kỹ thuật thích hợp và thực hiện theo một quy trình nào đó nhằm kiểm tra phát hiện một cách tốt nhất các lỗi dữ liệu ra
không đúng với đặc tả bay các lỗi đi thường với chỉ phú và thời gian tiêu tôn ít nhất có
thể cho phép
Sau khi chuẩn bị cáo trường hợp kiểm định một cách hợp lý, công việc tiếp theo
là xây dựng chương trình kiểm định đề tiền hành kiểm định cho các trường hợp với dự kiên kết qua dir Héu ra, cudi cing là so sánh các kết quả của chương trình cẩn kiếm định với đặc tá để đánh giá kết quả kiểm định
Trang 26
-23-Dữ liệu vào nguyên đo hoạt động bắt thường
Dữ liệu ra, biểu lộ
các nhược điểm
Hình 2.10 Mô tả đơn giản dữ liệu vào, ra của kiểm định hộp đen
Kiểm định hộp đen về cơ bản có ba phương pháp chính:
2.3.1.1 Phân hoạch tương đương
'Việc kiểm thử tất cả các đầu vào của chương trình lả không thể Vì thể, khi kiểm
thử chương trình nên giới hạn một tập con tất cả các trưởng hợp đầu vào có thể có Tat nhiên, người ta mong muốn lựa chọn một tập con đúng (tứ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 thử nên gồm nhiêu điều 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
Phân hoạch các miễn đầu vào của một chương trình thành một số 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 thử một giá trị
đại điện của mỗi lớp là tương đương với việc kiểm thử 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 là, nêu một trường hợp kiểm thử trong một lớp tương đương phát hiện ra một lỗi, thi tat cả các trường hợp khác trong lớp tương đương sẽ phát hiện ra củng một lỗi đó Ngược lại, nêu một trường hợp kiếm thử không phát hiện 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ừ khi một
tập con của lớp tương đương nằm trong một lớp tương đương khác, vi các lớp
tương đương có thể gồi lên nhau)
Trang 27
-24-Hai vấn dé xem xét ở trên tạo thành rnột phương pháp của kỹ thuật hộp đen và gọi là phân hoạch tương dương, Văn dễ thử hai dược sứ dụng dễ phát triển một tập các điên kiên cần quan tâm phải được kiếm thử Vấn đề thừ nhật được sử đụng để phát triển một lập cực tiêu các trường hợp kiểm thử phú các điều kiện trên
Thiết kế trường hợp kiểm thử bằng phân hoạch tương dương được xử lý theo bai bước: phân hoạch các miễn đầu vào/ra thành các lớp tương đương, vá thiết kế các
trường hợp kiểm thử đại điện cho mdi lap
Xác định các lớp tương đương,
*Phân hoạch tương đương” được định nghĩa theo lý thuyết tập họp
Quan hệ p trên hai tập A vá B là một tập con của tích Đêcác A < B, ngiữa là apb trong đó a 6A và be B
Quan hệ có thể được định nghĩa trên chính tập A, tửe lả khi [3 = A
Quart hé p trén tap A goi la phan xa néu apa voi Vac A
Quan hé p trén tap A goi la déi xứng nêu apb —> bpa vdi Va, beA
Quarthé p trén tap A goi la bie cu néu apb va bpe > ape vei Vajbe © A
Một quan hệ có tính phân xạ, đổi xứng và bất câu gọi là quan hệ tương đương Chẳng hạn quan hé “ ” trên tập N (số nguyên) là quan hệ tương dương nhưng,
quan hệ “>” trên tập N thi không phải Một quan hệ tương đương phân hoạch tập hợp thành các lớp tương đương không,
bao nhau Chẳng hạn quan hệ p={ (a,b): a, b ¢ N, atb 14 sé chin} co hai phan
hoạch {0, 2, 4, } va {1, 3,5, .}
Như vậy, các lớp tương đương được nhện dạng bằng cách lấy mỗi điều kiện đầu
vào (thông thường là một câu lệnh hoặc một cụm từ trong đặc tả) và phân hoạch nó
thành hai hoặc nhiều nhóm Cc lớp tương đương biểu điể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 Diễu kiện đầu vào là giá trị số xác định, hoặc miễn giá trị, tập giá trị có liên quan, hoặc điều kiện logie Đề làm điều này, chúng
ta sử dụng bằng hệt kê các lớp Lương dương,
Trang 28
-25-Bang 2.1 - -25-Bang Hội kê cáo lớp lương đương
Điễu kiện vàgra _ |Các lớp tương dương hop lệ |Các lớp tương đương không hợp lệ
Các lớp tương đương có thể được định nghĩa theo các nguyên lắc sau:
1 Nếu điều kiện đầu vào xác định một khoảng giá trị, lủ phân boạch thành một lớp tương đương hợp lệ và một lớp tương dương không hợp lệ Chẳng hạn, nêu
đâu vào x nim trong khoảng [0,100], lớp hợp lệ lả 0 <= x <= 100, các lớp không hợp lệ là x « 0 và x > 1Ô0,
2 Nếu điểu kiện đầu vào yêu cầu một giá rị xác định, phân hoạch thành một lớp tương đương hợp lệ và bai lớp tương đương không hợp lệ Chẳng bạn, nều đầu
vào x=5, thì lớp hợp lệ là x= 5, các lớp không hợp lệ là x <5 vả x >5
3 Nếu điển kiện đầu vào xác định một phần ¿ử của tập hợp, thì phân hoạch thanh
tuột lớp Lương đương hợp lệ và một lớp lương đương không hợp lê Chẳng han, nêu đầu vào x thuộc tập cac gia tri thing trong nlm, Months — {“Jan”, .,
“Dec”), thì lớp tương đương hợp lệ là x eMonths và lớp tương dương không hợp lệ là xơ Months,
4 Nếu điều kiện đầu vào lA Boolean, thi phan 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 trạng thái true
trình nảy dược thực hiện như sau
1 đán một giá trị duy nhất cho mỗi lớp tương đương
2 Đến khỉ tất cã các lớp tương đương hợp lệ được phủ bởi các trường hợp kiếm thử thì viết một trường hợp kiểm thứ mới phủ nhiều nhất có thế các lớp
tương đương hợp lệ chưa được phủ
Trang 29
-26-3 Đến khi tất cả các lớp Lương đương không hợp lệ được phủ bởi các trường hợp kiểm thử thí hãy viết các trường hợp kiểm thử mới sao cho mỗi trường, hợp kiếm thứ mới chỉ phủ duy nhất một lớp tương đương không hợp lệ chưa
được phủ Các ưrường hợp không lợp lệ dược phủ bởi các trường hợp kiểm thử riêng biệt
do việc kiểm tra đầu vào có lỗi này sẽ bị che hoặc bỏ sót việc kiểm tra đâu vào có lỗi
khác
Tĩ dụ: Phát sinh cáo lớp tương, đương hợp lệ và không hợp lệ cho đặc tả sau
Dữ liệu thu được từ xử lý các thông tin của các sinh viên để tạo cáo bản báo cáo tóm tắt
Dữ liệu đầu vào dược mô tá
+ Mỗi bân ghi phải bat dau gồm số ID của sinh viên, chỉ chứa các giá trị số
| Tip theo là lên sinh viên, chỉ chúa giả trị là các ký tự chữ cải
+_ Giới tính sinh viên chí là một trong hai ký tự chữ cải “M” (nam) hoặc
tù 0 đến 100
" nữ)
+ Cudi cùng là điểm của sinh viên chỉ chứa giá trị s
Bang 2.2 _Vidu cdc lớp tương đương
'Điều kiện đầu vào [Cac lop trong đương hợp lệ Các lop trong đương không hợp lệ
Bồ ID của sinh viên Các ký số |không phải ký số
[Ten sinh viên: Ký tự chữ cái |Không phải chữ cải
Gigi tinh sinh wien ký tự chí cái, “M” hoặc “1° không phải chít cải
Không phải “M” hoặc Điểm của sinh viên Số lKhông phải số
2.3.1.2 Phan tich gia tri bién (BVA - Boundary Value Analysis)
Khi thực hiện việc kiểm thử phản mềm theo đữ liệu, chúng †a kiếm tra xem đầu
vào của người dùng, kết quá nhận dược và kết quả tạm thời bên trong có dược xử lý
chính xác hay không,
Các điều kiện biên là tình trạng trực tiếp ở phía trên và dưới của các lớp tương đầu vào và lớp tương đương đầu ra Việc phân tích các giá trị biên khác với phân hoạch Lương đương theo hai điểm
Trang 30Từ mỗi lớp tương đương, phân hoạch tương đương sẽ chon phần tử bất kỳ làm phân tử dại điện, trong khi việc phân tích giả trị biên sử dụng một hoặc một số phân tử Như vây, mỗi biến của lớp tương đương chính là đích kiếm thử
Không chỉ chú ý tập trung vào những điều kiện đầu vào, các trường hợp kiểm thử cũng dược suy ra từ việc xen xót các kết quả ra (tức các lớp tương dương đầu
ra)
Các trường hợp kiểm thứ tốt là tại các biên của lớp Những giá trị biên nảy lả các
phân tử cực tiểu/cực đại, ngắn nhất/dài nhất, chậm nhât/nhanh nhất, xâu nhât/đẹp nhật,
tiên của miễn đầu vào hơn là các giá trị tiêu biếu của nó
Rat khó có thê có thế liệt kê hết các hướng dẫn cụ thế cho các trường hợp Tuy nhiên, cũng có một số nguyên tắc phân tích giá trị biên như sau:
1 Nếu điều kiện dau vào xác định một khoảng giá trị giữa a và b, các trường, hợp kiểm thứ sẽ được thiết kế với giá trị a vả b, và các giá trị sát trên và sát
đưới a và b
2 Nếu một điêu kiện đầu vào xác định một số các giá trị, các trường hợp kiểm
thữ sẽ được phát triển để thực hiện lại các giá trị cực đại, cực tiểu Các giá iri sắt trên và đưới giá trị cực đại, cực tiểu cũng được kiểm thử
3 Nguyên tắc ] và 2 được áp dụng cho các điều kiện đầu ra
4 Nếu câu trúc dữ liệu chương trình bền trong, dược qui định các biên (chẳng han, mang được định nghĩa giởi hạn 100 mục), tập trung thiết kế tường hợp
kiêm thử dễ thực thủ cầu trúc dữ liệu tạt biên của tỏ
Ngoài ra, người kiểm thử có thể ử dụng sự xéi đoán và sáng tạo của trình dé (im
các điều kiện biến
‘Tom lại, chúng ta phải kiểm thứ mỗi biên của một lớp tương đương về tắt cá các
phía Một chuong trình nếu vượt qua những trường hợp kiểm thử đó có thể vượt qua
các kiểm thử khác Lừ lớp đó
Trang 31
-28-V4 da: Nếu phần tiêm cần diéu khién mot sé ban ghi bal ky trong khodng ue 1 dén 16383 ban ghi, sẽ có ba lớp tương dương;
Lớp tương dương hợp lệ 1: trong khoảng 1 dễn 16383
Lớp tương đương không hợp lệ 2 : nhö hơn 1
Lớp tương đương không hợp lệ 3: lớn hơn 1 6383
Các trường hợp kiểm thử có thể lá:
Trường hợp kiểm thử 1: 0 bản ghị, là thành viên của lớp tương dương 2 và kế sát giá trị biên
'Trường hợp kiểm thứ 2: 1 bán ghú, lá giả trị biến
'Trường hợp kiểm thứ 3: 2 bán ghị, kế sát giá trị biên
'Trường hợp kiểm thử 4: 723 bản ghị, là thành phần cửa lớp tương đương 1
'Trường hợp kiểm thứ 5: 1632 bán ghú, kẻ sát giá trị biên
Trường hợp kiểm thử 6: 16383 bản ghỉ, chính là giá trị biên
'Trưởng hợp kiém thi 7: 16384 ban gli, thanh phan của lớp tương dương 3, kê sát
giá trị biên
2.3.1.3 Kỹ thuật đồ thị nhân-quã (Canse-Effect Graph)
Trong nhiều trường hợp, việc có gắng chuyển một chính sách hoặc một thủ tục trong ngôn ngữ tự nhiên vào phân mềm dẫn dến sư thất bại và các vẫn dễ khó hiểu, Đỏ
thị nhân - quả la một phương pháp thiết kế trường hợp kiểm thứ trên cơ sở đưa ra một
su md ta atic tích các điểu kiện logic và cáo hành vĩ kèm theo
Đả thị nhân - quả sử dụng mõ hình các quan hệ Ïogie giữa nguyên nhân và kết quả chơ thành phần phản mềm, Miỗi nguyên nhân dược biểu diễn như một diéu kiện (đứng hoặc sai) của một đầu vào, hoặc kết hợp cáo đầu vào Mỗi kết quả được biểu điển như là một biếu thức Bool biểu điễn một kết quâ trang ứng cho nhĩmg thánh phần vừa thực hiện
Dé thị nhân - quả dược tạo như sau:
Tắt cả các nguyên nhân (đầu vào) và các kết quả (đầu ra) dược liệt kê dựa trên
đặc tá và được định danh cho mỗi nhân - quả
Trang 32
-28-ác quan hệ giữa cúc nguyên nhên (g-28-ác đầu vào) và c-28-ác kết quả (c-28-ác đầu ra)
được biểu diễn trong đỗ thị làm rõ ràng các quan hệ logic
Từ dỗ thị tạo ra báng quyết định biểu điễn các quan hệ giữa nguyên nhân và kết quả Dữ liệu kiểm thử được sinh ra đựa trên các qui tắc trong cáo bảng này
Các ký hiện được đơn giản hoá sử đụng trong đỏ thị nhân quả, gềm cáo phân tử
mé tâ như bằng 2.3
Hằng 2.3 - Các ký hiệu trong đồ thị nhân quả
Ý nghĩa Giải thích
Tương đương — Nếug đúng tì@ đứng
NếuQ đúng và @ đúng, thi ding
Néu g dimg, thì @ sai, hode niu
Ten bing — CHỦ t _ Trên bảng; cho biết tên logie
IDiễukiệnl Y Y| |Y |Oni tắc: đánh số để phân biét cac qui tac quyết
Điukiên2 Y_ | |Y inh logic
PEukêni Ý —| ÍN Lá: đảng điều kiện: Mỗi dòng bao gồm các điểu
Trang 33-30-Người vô gia cư nộp 404 thuế thu nhập
Người có nhà ở nộp thuê theo bằng sau:
Tổng thu nhập Thuế
<= 5.000.000 đẳng 4%
> 5.000.000 đẳng 6%
Quan hệ giữa nguyên nhân (đầu vào) và kết quả (đâu ra) như sau:
1 Người có nhà ở 4 Nộp 49% thu
2 Tổng (hu nhập <= 5.000.000 ding 5 Nộp 6% thie
Bang 0.4— VÍ dụ bảng quyết định
Trang 34
-31-Điều kiện đầu vàu Điều kiện đầu ra
ƠI: Tệnh là tiền gửi E1: In lệnh không hợp lệ C2: Lénh ghi ng 2: In AC khéng hop 1é
C3: AVC hợp lệ E3: Insẻ ghi nợ khêng hợp lệ
C4: Giả trị giao địch hợp lệ B4: ghí nợ A/C hợp lệ
BS: gửi tiến A/C
2.3.1.4 Kiểm thử so sánh
Có một số trường hợp (như điện tử máy bay, điều khiển thiết bị năng lượng hạt
nhân) trong đó độ tin cậy của phan mềm là tuyệt đổi quan trọng, người ta thường gọi là
phần mềm tuyệt đối đúng Trong các ứng dụng nhu vậy phần cứng và phầu mềm không cần thiết thường được sử dụng đẻ tối thiểu khả năng lỗi Khi phần mềm không, cần thiết được phát triển, các nhóm công nghệ phẩn mềm riêng biệt phát triển các
phiên bản độc lập của ứng dung sử dụng cùng một đặc tả Trong các trường hợp như
vậy, mỗi phiên bán có thể được kiểm thử với cùng đữ liệu kiểm thử để đấm báo rằng,
tất cả cung cấp đầu ra y như nhau San đó tất cả các phiến ban được thực thi song song
Trang 35
-32-với so sảnh thời gian thục các kết quả để đâm bảo lĩnh chic chắn Các phiên bản độc lập là cơ sở của kỳ thuật kiểm thứ hợp den được gọi là kiểm thứ so sánh hay kiểm thứ
back-to-back
Khi nhiêu cải đặt của cùng một đặc tả được đưa ra, các trường hợp kiểm thử được thiết kế sử dụng các kỹ thuêt hộp den khác (vi du phân hoạch cân bằng) được cung cấp như đầu váo cho mỗi phiên bán của phin mém Néu đầu ra của muỗi phiên
‘ban là như nhau, sẽ cho rằng tất cả các cài đặt là đúng Nên đâu ra là kháo nhau, mỗi
ứng dụng dược nghiên cửu dẻ xác dịnh có sai sót trào trong nột hoặc nhiễu phiên bản
la nguyên nhân gây ra lỗi Trong nhiều trường hợp, so sảnh các đầu ra có thể được
thực hiện bởi các công cụ tự động
Kiểm thử so sánh là không rõ ràng Nêu đặc tả mà tật cä các phiên bin được phát
triển trên đó là có lỗi, thì tất cả e phiên bản sẽ có khả năng dẫn đến lỗi Hơn nữa
mỗi phiên bản độc lập tạo ra giổng nhau, nhưng không đứng, cáo kết qủa, kiểm thử
điêu kiện sẽ thất bại Irong việc phát hiện lỗi
các chương lrình cụ thể, các chuyên gia đoán trước
trường hợp kiếm thứ dễ phơi ra các lỗi nảy
Khỏ có thể đưa ra được một thủ tục cho việc đoán lỗi vì đỏ là một quả trình cúa trực giác và tự học Ý tưởng cơ bản là liệt kê một đanh sách các lỗi có thê hoặc những, tỉnh huồng dễ mắc lỗi, rồi viết các trường hợp kiêm thử đựa trên danh sách Chẳng han
ột chương trình là tỉnh
im thir cho cáo giá trị dau
như sự xuất hiện giá trị 0 trong đầu vào hoặc đầu ra của
ly, người ta viết những trường hợp
vào có giá trị là Ö và các giả trị ra là 0 Và cũng như vậy dối với trường hợp số biến
hợp danh sách rỗng hoặc chỉ chứa mnột phản tử là những tỉnh huồng dễ gây lỗi
Một ý tưởng khác là chỉ ra các trường hợp kiếm thứ liên quan đến giả định rằng,
lap trình viên đã mắc phôi khủ dọc đặc lâ (tức là những thử bị bô sói lử đặc lỗ có thể do
tinh od),
Trang 36
-33-2.3.2 Quy tình kỹ thật kiểm định hộp den
Quy trình kỹ thuật kiểm định hộp đen là quy trình sử dựng các kỹ thuật kiểm đính hộp đen một cách hẹp lý để kiểm định phan mềm trên các chức năng của chúng,
cỏ thực hiện theo đúng đặc tá hay không Để thực hiện kiểm định phần mềm sử dụng,
các kỹ thuật hộp đen nhằm phát hiện lỗi của chương trình trên các chức năng của
chúng một cách hiệu quả nhật với chỉ phí và thời giam tiêu tốn íL nhật chứng la cần có
xột quy trình kiểm dịnh hợp lý 5au đây là các bước của một quy trình:
Bước 1: Xác dịnh yêu càu kiểm định hộp den
‘Trong bude nay dựa vào dặc tả của chương trình để xác dịnh các chức năng cản +kiêm định, xác định các miễn giá trị dữ liệu vào và giá trị đữ liệu ra
ước 2: Phân tích dữ liệu vào ra
Tể thiết kế các trường hợp kiểm định cho mỗi chức năng ta phải tiên hành phần
tích các miễn giá trị đữ liệu vào và đữ liệu ra bằng cách:
- Phân hoạch miễn đâu vào thành các lớp tương đương, hợp lệ hay không hợp lê,
cae gia trị đặc trưng
- Xác định các giả trị biên và các giá tri kể cận trong và ngoài biên cho các lớp
tương đương
Bước 3: Thiết kế các trường hợp kiểm định
- Dua vao sy phân tích miễn giá trị, thiết kế các trường hợp kiếm định đại điện
cho cae lap tương đương, giá trị biên và kế cận trong và ngoài biên cũng như lỗi đự
đoán theo trí thúc và kinh nghiệm
- Dự kiến kết quã đữ liệu ra bằng việc xây dựng một bộ eraole kiếm định ở bước tiếp theo là bước thiết kế và lập trinh kiểm định
ước 4: Thiết kế & lập trình kiểm định hộp đen
- Thiết kể vả lập trình giao diện kiểm định: Đựa vào đặc tá yêu câu để thiết kế
giao điện kiểm định, về cơ bản giao điện có thế biểu điển được cho từng trường hợp
kiểm dịnh: đữ liệu vào, dữ liệu ra vả kết quả đánh giả đữ liêu ra của chương trình cần
kiểm định thực tế có đúng như đặc tả của hệ thống hay không
Trang 37
-34 Thiết kế và lập trình cầu trúc bên trong của chương triết nhằm dap ứng các chức năng dược thiết kế trên giao diện của chương trình kiểm dịnh
‘Trong việc thiết kế & lập trình kiểm dinh nay mét bé oracle kiểm dinh sẽ dược
xây dựng
ước §: Thực thi kiểm định hép đen
Tiên hành thực hiện chương trình cân kiếm định lần lượt với tất cả cáo trường,
tiợp kiểm định đá được thiết kể, bao gồm đưa vào các giả trị dữ liên vào và cho ra các kết quá đữ liệu ra của từng trường hợp Sau đó thực thị chương trình kiểm định đề tiến
hành kiểm tra so sánh các kết quả của chương trình cần kiếm định với đặc tả của
oracle kiểm định
Bước 6: Đánh giá kết quả
e kết quả của các trường hợp kiểm định, so sánh kết quả thực thí với đặc tả của oracle kiém dịnh ding hay sai
- Đánh giả chung kết quả kiểm định theo hộp đen