1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn kiểm Định phần mềm theo tiếp cận hệ thống

74 3 0
Tài liệu được quét OCR, nội dung có thể không chính xác
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Kiểm Định Phần Mềm Theo Tiếp Cận Hệ Thống
Tác giả Đoàn Văn Trung
Người hướng dẫn PGS. TSKII Nguyén Xuan Huy
Trường học Trường Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Chuyên ngành Công nghệ Thông tin
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2007
Thành phố Hà Nội
Định dạng
Số trang 74
Dung lượng 1,35 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 2

DAI 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 3

CHUONG 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 4

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

1.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 6

13.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 9

13.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 10

CHUONG 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 12

De 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 14

Tậ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 17

delta >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 18

wˆ 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 25

Hì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 30

Từ 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

Ngày đăng: 21/05/2025, 18:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. AL Anton, M. Vouk, L. Williams (2005) Software Testing, North Carolina State University Sách, tạp chí
Tiêu đề: Software Testing
Tác giả: AL Anton, M. Vouk, L. Williams
Nhà XB: North Carolina State University
Năm: 2005
2. Antonia Bertolino (2005), Software Testing Research and Practice Sách, tạp chí
Tiêu đề: Software Testing Research and Practice
Tác giả: Antonia Bertolino
Năm: 2005
3, Antonia Bertolino, Eda Marchetti, (2005) A Brief Essay on Software Testing, Pisa Italy Sách, tạp chí
Tiêu đề: A Brief Essay on Software Testing
Tác giả: Antonia Bertolino, Eda Marchetti
Nhà XB: Pisa Italy
Năm: 2005
4. B. Beizer. Software Testing Techniques. Van Nostrand Reinhold, New York, NY, 2nd edition, 1990 Sách, tạp chí
Tiêu đề: Software Testing Techniques
Tác giả: B. Beizer
Nhà XB: Van Nostrand Reinhold
Năm: 1990
5. Harish V. Kantamneni Sanjay R. Pillai Yashwant K (1998), Structurally Guided Black Box Testing, Malaiya, Department of Computer Science, Colorado State University Sách, tạp chí
Tiêu đề: Structurally Guided Black Box Testing
Tác giả: Harish V. Kantamneni, Sanjay R. Pillai, Yashwant K
Nhà XB: Malaiya, Department of Computer Science, Colorado State University
Năm: 1998
6. Harish V. Kantamneni ,Sanjay R. Pillai, Yashwant K. Malatya (2002), Structurally Guided Testing, Dept of Computer Science, Colorado StateUniversity Sách, tạp chí
Tiêu đề: Structurally Guided Testing
Tác giả: Harish V. Kantamneni, Sanjay R. Pillai, Yashwant K. Malatya
Nhà XB: Dept of Computer Science, Colorado State University
Năm: 2002
9. http:/Avww.ddj.com/articles/2000/0003/0003a/0003a.htm, White-Box Testing. (2005) Sách, tạp chí
Tiêu đề: White-Box Testing
Năm: 2005
11. Sami Beydeda, Michael Stachorski (2005), A Graphical Class Representation for Integrated Black- and White-Box Testing Sách, tạp chí
Tiêu đề: A Graphical Class Representation for Integrated Black- and White-Box Testing
Tác giả: Sami Beydeda, Michael Stachorski
Năm: 2005
14.W. Lui, P. Dasiewiez; Component Interaction Testing Using Model-Checking. Submitted to Sth European Conference on Software Maintenance andReengineering, CSMR 2001, September 11 2000 Sách, tạp chí
Tiêu đề: Component Interaction Testing Using Model-Checking
Tác giả: W. Lui, P. Dasiewiez
Nhà XB: Sth European Conference on Software Maintenance and Reengineering
Năm: 2000
15, Marnie L.Hutcheson (2003), Sofware Testing Fundamentals: Methods and Metrics Sách, tạp chí
Tiêu đề: Sofware Testing Fundamentals: Methods and Metrics
Tác giả: Marnie L. Hutcheson
Năm: 2003
7. Gregory M. Kapfhammer, Sofavare Testing. Department of Computer Science, Allegheny College Khác
12. Volker Gruhn University of Dortmund Computer Science Department Software Technology, 44221 Dortmund, Germany fsamibeydeda, volker.gruhng@uni- dortmund.de Khác
13.Adesso AG, Stockholmer Allee 24 ,44269 Dortmund, Germany stachorski@adesso.de Khác

HÌNH ẢNH LIÊN QUAN

Hình  1.1.  Các  mức  độ  cơ  bản  của  kiém  tra  phan  mém - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 1.1. Các mức độ cơ bản của kiém tra phan mém (Trang 4)
Hình  2.1.  Các  loại  cấu  trúc  cơ  bản - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 2.1. Các loại cấu trúc cơ bản (Trang 13)
Hình  2.3.  Ví  dụ  vẻ  đồ  thị  dong - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 2.3. Ví dụ vẻ đồ thị dong (Trang 15)
Hình  2.6.  Các  vòng  lặp  cơ  bản - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 2.6. Các vòng lặp cơ bản (Trang 22)
Hình  2.7.  Vòng  lặp  nỗi  tiếp - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 2.7. Vòng lặp nỗi tiếp (Trang 23)
Hình  2.8.  Vòng  lặp  phi  cấu  trúc - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 2.8. Vòng lặp phi cấu trúc (Trang 24)
Hình  2.10.  Mô  tả  đơn  giản  dữ  liệu  vào,  ra  của  kiểm  định  hộp  đen. - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 2.10. Mô tả đơn giản dữ liệu vào, ra của kiểm định hộp đen (Trang 26)
Hình  2.12.  Các  bước  của  quy  trì - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 2.12. Các bước của quy trì (Trang 38)
Hình  2.13  Cae  bước  của  quy  trình  kiểm  định  phan  mềm. - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 2.13 Cae bước của quy trình kiểm định phan mềm (Trang 50)
Hình  3.4—  Giao  điện  điều  khiển  kiêm  thử  thuật  toán  MergeSort  Kiểm  thử  khả  năng  thực  hiện - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 3.4— Giao điện điều khiển kiêm thử thuật toán MergeSort Kiểm thử khả năng thực hiện (Trang 68)
Hình  3.5—  Giao  diện  điều  khiễn  kiểm  thử  khả  năng  thực  hiện  của  các  thuật  toán  sắp - Luận văn kiểm Định phần mềm theo tiếp cận hệ thống
nh 3.5— Giao diện điều khiễn kiểm thử khả năng thực hiện của các thuật toán sắp (Trang 69)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm