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

kiểm thử hộp đen

18 854 8

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 18
Dung lượng 201,26 KB

Nội dung

Một số kỹ thuật được sử dụng trong kiểm thử hộp đen...4 1.. Tài liệu tham khảo...18 Sinh viên thực hiện : Bùi Xuân Thanh :Một số kỹ thuật được sử dụng trong kiểm thử hộp đen Lê Hữu Toà

Trang 1

A Mở đầu 2

B Nội dung 3

I Kiểm thử hộp đen 3

1 Khái niệm 3

2 Mục đích 3

II Một số kỹ thuật được sử dụng trong kiểm thử hộp đen 4

1 Kỹ thuật phân hoạch tương đương 4

2 Phân tích giá trị biên 7

3 Kỹ thuật đồ thị nhân quả 9

III.Các bước kiểm thử hộp đen 12

IV Ưu điểm và tồn tại của kiểm thử hộp đen 14

C Kết luận 16

D Tài liệu tham khảo 18

Sinh viên thực hiện :

Bùi Xuân Thanh :Một số kỹ thuật được sử dụng trong kiểm thử hộp đen

Lê Hữu Toàn: Kiểm thử hộp đen, Ưu điểm và tồn tại của kiểm thử hộp đen

Đào Văn Hùng: Các bước kiểm thử hộp đen

Trang 2

Đề tài: Kiểm thử hộp đen

A Mở đầu

Kiểm thử là mộtquá trình quantrọng trong ngành phát triển phần mềm Trong thực tế có rất nhiều cách thức kiểm thử bởi các kỹ sư phần mềm trước khi sản phẩm của họ được đem ra thị trường Chính vì vậy, họ sử dụng nhiểu phương pháp khác nhau, và trong số đó là kiểm thử hộp đen.Ngàynay,nhiều nhà phát triển thường lựa chọn phương pháp kiểm thử này.Bởi vì nó có một số mặt thuận lợi nhất định Kiểm thử hộp đen có thể được thực hiện bởi bất kỳ người nào, ngay cả những người không có nhiều kinh nghiệm kỹ thuật chuyên môn Điều này là do kiểm thử hộp đen không cần biết trước cấu trúc nội tại hay mã nguồn bên trong phần mềm

Kiểm thử hộp đen có thể xác thực các chức năng của toàn hệ thống phần mềm.Việc kiểm thử này được thực hiện trên từng chức năng cụ thể cũng như việc kiểm tra và đánh giá các dữ liệu đầu vào và đầu ra

Mục đích của kiểm thử hộp đen là làm thế nàođể tìm ra các lỗi và kiểm tra quá trình chạy củahệ thống phần mềm Sau đó tích hợp và phân loại lại trong hệ thống.Nhờ đó mà các nhà phát triển sẽ được định hướng trong việc kiểm tra toànbộ hệ thống

Kiểm thử hộp đen là công đoạn kế tiếp của kiểm thử hộp trắng Kiểm thử hộp đen tập trung vào kiểm tra các yêu cầu chức năng, giao diện phần mềm Nó được thực hiện khi việc kiểm thử hộp trắng kiểm soát được toàn bộ các lỗi, các mã lệnh bên trong phần mềm

Kiểm thử so sánh được sử dụng để phát hiện ra các lỗi bởi việc đưa ra

sự so sánh của hai hay nhiều chương trình được thi hành như nhau Tương tự như vậy, những dữ liệu đưa ra được ứng dụng từ hai hay nhiều phiên bản phần mềm và kiểm thứ so sánh sẽ tìm ra các lỗi, các điểm bất thường

Kiểm thử so sánh được thực hiện với một số lượng lớn và tìm ra lỗi một cách nhanh nhất

B Nội dung

Trang 3

I Kiểm thử hộp đen

1 Khái niệm

Là phương pháp kiểm thử chỉ quan tâm đếnkết quả đầu ra đối với

một tập dữ liệu đầu vào mà không quan tâm đếncáchthực thi của cácmã

lệnh bên trong củaphần mềm

Kiểmthửhộpđentậptrungvàocác yêucầuchứcnăngcủa phầnmềm

Nóchophépthiếtkếcácđiềukiệnđầuvàođểthựcthitấtcảcác yêucầuchức năng

của chương trình Kiểm thử hộp đen không phải là phần bù cho kiểm thử

hộp trắng Đólàkĩ thuậtkiểmthử bổsungchokiểmthử hộptrắngvới độbao phủ

cáclớp lỗi ít hơn

Kĩthuậtkiểmthửhộpđencốgắngtìmracáclỗisau:cáchàmbịlỗi

haymất,lỗigiaodiện,lỗitrongcấutrúcdữliệuhaytruycập dựatrêndữliệu ngoài,

lỗi thực thi và cáclỗi khởi đầu và kết thúc

- Môhình:

2 Mục đích

Bổsungchophươngphápkiểmthửhộptrắngđểpháthiệnratấtcảcác lỗi

khác nhau mà kiểm thử hộp trắng không phát hiện ra được

kiểmthửhộpđennhắmđếnápdụngtrongcácgiaiđoạnsaucủakiểmthử.Vìkiểm

Trang 4

tứclàmỗimộtđiềukiệnđầuvàocóthểcólàmộttrường hợpkiểmthử.Bởivìnếu chỉkiểmthửmộtsốđiềukiệnđầuvàothìkhôngđảmbảođượcchươngtrìnhđãhết

lỗi.Tuynhiên,điềunàythựctếkhôngthểthựchiệnđược

Kiểm thử được thiết kế để trả lời các câu hỏi sau:

- Giátrị biên của cáclớp dữ liệu được phân tách như thế nào?

- Tỷ lệ và lượng dữ liệu mà hệ thống có thể chịu được?

II Một số kỹ thuậtđược sửdụng trong kiểm thử hộp đen

1 Kỹ thuật phân hoạch tương đương

Nhưđãtrìnhbày,việckiểmthửtấtcảcácđầuvàocủachươngtrìnhlàkhông

thể.Vìthế,khikiểmthửchươngtrìnhnêngiớihạnmộttậpcontấtcảcáctrường hợpđầuvàocó thểcó

Mộttập connhưvậycầncó haitínhchất:

− Mỗitrườnghợpkiểmthửnêngồmnhiềuđiềukiệnđầuvàokhácnhaucóthể

đểgiảmthiểutổngsố cáctrườnghợpcầnthiết

kiểmthửmộtgiátrịđạidiệncủamỗilớplàtươngđươngvớiviệckiểmthử mộtgiá trị bất kỳtrongcùnglớp

sửdụngđểpháttriểnmộttậpcựctiểucáctrường hợpkiểm thửphủcácđiều kiệntrên

Trang 5

Thiếtkếtrườnghợpkiểm thửbằngphânhoạchtươngđương đượcxửlýtheo haibước:phânhoạchcácmiềnđầuvào/rathànhcáclớptươngđương,vàthiếtkế

cáctrườnghợpkiểmthửđạidiệnchomỗilớp

a.Xácđịnhcáclớp tươngđương

“Phânhoạchtươngđương”đượcđịnhnghĩatheolýthuyếttậphợp

a∈Avà b∈B

− Quanhệ ρtrêntậpA gọi làphảnxạ nếuaρavới ∀a∈A

− Quanhệ ρtrêntậpA gọi làđốixứngnếuaρb⇒bρavới∀a,b∈A

− Quanhệ ρtrêntậpA gọi làbắccầunếuaρbvà bρc⇒aρcvới∀a,b,c∈A

đương

− Mộtquanhệ tươngđươngphânhoạchtập hợpthànhcáclớp tươngđươngrờirạc

nóthànhhaihoặcnhiềunhóm.Cáclớptươngđươngbiểudiễnmộttậpcáctrạng

tháihợplệhoặckhônghợplệchođiềukiệnđầuvào.Điềukiệnđầuvàolàgiátrịsố

chúngta sử dụngbảngliệtkê cáclớptươngđương

Bảng2.1-Bảngliệtkêcáclớptương đương Điềukiệnvào/ra Cáclớp

tương đương hợp lệ

Cáclớp

tương đương

khônghợp lệ

Trang 6

Cáclớptươngđươngcó thểđượcđịnhnghĩatheocácnguyêntắc sau:

Chẳnghạn,nếuđầuvàox nằmtrongkhoảng[0,100],lớphợplệlà0<=x<=

100,cáclớpkhônghợplệlàx<0vàx>100

lớptươngđươnghợplệvàhailớptươngđươngkhônghợplệ.Chẳnghạn,

nếuđầuvàox=5, thì lớphợplệlàx=5, cáclớp khônghợplệlàx<5vàx>5

3 Nếuđiềukiệnđầuvàoxácđịnhmộtphầntửcủatậphợp,thìphânhoạch

thànhmộtlớp tươngđươnghợplệvàmộtlớptươngđương khônghợplệ

hợplệvàmộtlớptươngđươngkhông hợplệtươngứngvớihaitrạng tháitruevà false Ngoàira,mộtnguyêntắcthứnămđượcbổsunglàsửdụngkhảnăngphán

đoán,kinhnghiệmvàtrựcgiáccủangườikiểmthử

b.Xácđịnhcáctrườnghợpkiểmthử

Tiếntrìnhnàyđượcthựchiệnnhưsau:

1 Gánmộtgiá trị duynhấtchomỗilớptươngđương

lớptươngđươnghợplệchưađượcphủ

hợpkiểmthửthìhãyviếtcáctrườnghợpkiểmthửmớisaochomỗitrường

Trang 7

Bảng2.2 –Vídụcáclớptương đương Điềukiệnđầuvào Cáclớp

tương đương hợp lệ

Cáclớp

tương đương khônghợplệ

Không rỗng

Khôngphảichữcái Rỗng

Giớitínhsinhviên Kýtựchữcái,“M”hoặc“F” Khôngphảichữcái

Khôngphải“M”hoặc“F”

Điểmcủa

sinhviên

Số Từ0đến100

Khôngphải số Sốnhỏhơn0 Sốlớnhơn100

2.Phântíchgiátrịbiên(BVA -BoundaryValueAnalysis)

Khithựchiệnviệckiểmthửphầnmềmtheodữliệu,chúngtakiểmtraxem

xửlýchínhxáchaykhông

Cácđiềukiệnbiênlàtìnhtrạngtrựctiếp ởphíatrênvà dướicủacáclớp tương đương

phânhoạchtươngđươngtheohaiđiểm:

làmphầntửđạidiện,trongkhiviệcphântíchgiátrịbiênsửdụngmộthoặc

mộtsốphầntử.Nhưvậy,mỗibiêncủalớptươngđươngchínhlàđíchkiểm thử

−Khôngchỉchúýtậptrungvàonhữngđiềukiệnđầuvào,cáctrườnghợp

đươngđầura)

Rấtkhócó thểcó thểliệtkê hếtcáchướngdẫncụthểchocáctrườnghợp.Tuy nhiên,cũngcó mộtsố nguyêntắcphântích giátrị biênnhưsau:

Trang 8

1 Nếu điềukiệnđầuvàoxácđịnhmộtkhoảnggiátrịgiữaavàb,cáctrường hợpkiểmthửsẽ đượcthiếtkếvớigiátrị avà b,và cácgiátrị sát trênvà sát dướiavà b

kiểmthửsẽđượcpháttriểnđểthựchiệntạicácgiátrịcựcđại,cựctiểu Cácgiá trị sáttrênvà dướigiátrị cựcđại,cựctiểu cũngđượckiểmthử

3 Nguyêntắc1và 2đượcáp dụngchocácđiềukiệnđầura

hạn,mảngđượcđịnhnghĩagiớihạn100mục),tậptrungthiếtkếtrường

hợpkiểmthửđể thựcthicấutrúcdữliệu tạibiêncủanó

Ngoàira,ngườikiểmthửcóthểsửdụngsựxétđoánvàsángtạocủamìnhđể

tìmcácđiềukiệnbiên

Tóm lại,chúngtaphảikiểm thửmỗibiêncủamộtlớptươngđươngvềtấtcả cácphía

quacáckiểmthửkháctừ lớpđó

Ví dụ :

Chương trình nhận vào ba số thực, kiểm tra ba số thực có là độ dài ba cạnh một tam giác Nếu là độ dài ba cạnh của một tam giác, thì kiểm tra xem

đó là tam giác thường, cân, đều cũng như kiểm tra đó là tam giác nhọn, vuông hay tù

Dữ liệu thử

 1, 1, 2 Không là tam giác

Trang 9

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

 3, 4, 5, 6 Bốn giá trị

 3 Chỉ một giá trị

 -3, -3, 5 Giá trị âm

3 Kỹthuậtđồthịnhân-quả(Cause-EffectGraph)

-Khái niệm:

Là mộtkỹthuậtđể thiếtkếcakiểmthử,cungcấpmộtbiểudiễnchính xácgiữacácđiềukiệnlogic(đầuvào)vàcáchànhđộngtươngứng(đầura- kêt quả)

Kỹthuậtđồthịnhânquảđượcxâydựngdựatrêncácmôđunchức năng, lôgíc tiến trình vàđặc tả hệ thống

Trongnhiềutrườnghợp,việccốgắngchuyểnmộtchínhsáchhoặcmộtthủtục

trongngônngữtựnhiênvàophầnmềmdẫnđếnsựthấtbạivàcácvấnđềkhóhiểu

mộtsựmôtảsúctíchcácđiềukiệnlogicvàcáchànhvikèmtheo

Đồthịnhân-quảsửdụngmôhìnhcácquanhệlogicgiữanguyênnhânvàkết

quảchothànhphầnphầnmềm.Mỗinguyênnhânđượcbiểudiễnnhưmộtđiềukiện(đúng

hoặcsai)củamộtđầuvào,hoặckếthợpcácđầuvào.Mỗikếtquảđượcbiểu

phầnvừathựchiện

Đồthị nhân-quảđượctạonhưsau:

dựatrênđặctảvà đượcđịnhdanhchomỗinhân-quả

đượcbiểudiễntrongđồ thị làmrõ ràngcácquanhệ logic

Trang 10

kếtquả.Dữliệukiểm thửđượcsinhradựatrêncácquitắctrong cácbảng này.

Cáckýhiệuđượcđơngiảnhoásửdụngtrongđồthịnhânquả,gồmcácphần

tử môtảnhưbảng

Cáckýhiệutrongđồthịnhânquả

Cácquitắc trongbảngquyếtđịnhđượcmôtảnhưsau:

Tênbảng Quitắc Tênbảng:chobiếttênlogic

Quitắc:đánhsốđểphânbiệtcácquitắcquyết

địnhlogic

Cácdòngđiềukiện:Mỗidòngbaogồmcác

điềukiệnđể tạo quyếtđịnhchochươngtrình

Y:“true”

1 2 …n

Trang 11

:Khôngcóquyếtđịnhđượctạo ra

Cáchànhđộng:Mỗidòngchỉđịnhcó cácxửlý

đượcthựchiệnhoặckhông

X:Xửlýđượcthựchiện

:Khôngcóxửlýđượcthựchiện

Ví dụ:Đểtínhthuếthunhập,ngườita có môtảsau:

Ngườivô giacưnộp4%thuếthunhập

Ngườicó nhàởnộpthuếtheobảngsau:

Tổngthunhập Thuế

<=5.000.000đồng 4%

>5.000.000đồng 6%

1.Ngườicónhàở

2.Tổngthunhập<=5.000.000đồng

3.Tổngthunhập>5.000.000đồng

4.Nộp4%thuế 5.Nộp6%thuế

Trang 12

−Đồ thị biểudiễnquanhệlogicrõ rànggiữanguyênnhân-kếtquả

−Xâydựngbảngquyếtđịnhdựatrênđồ thị.Từđâyxâydựngđượcbốntrường

thửcầnchoviệcnộpthuế4%)

Vídụbảngquyếtđịnh

trườnghợpkiểmthử

2.Cótổngthunhập<=5.000.000 N Y Y 3.Cótổngthunhập>5.000.000 Y N

Đểđảmbảophủnhânquả100%,cáctrườnghợpkiểmthửphảiđượcphátsinh

tươngứngvớicácquitắc trongbảngquyếtđịnhbảng trên

III.Các bước kiểm thử hộp đen

 Thực hiện kiểm tra tải

 Tiến hành kiểm tra bắt buộc

Trang 13

 Bước 1: Tạo kế hoạch test

- Xây dựng các trường hợp kiểm tra dựa trên những yêu cầu và các tài liệu đặc tả chức năng

 Đảm bảo rằng khối ứng dụng cho thấy nhiều địa chỉ giao diện mà tất cả các chi tiết

kỹ thuật chức năng yêu cầu

- Kiểm tra đầu vào là số 0

- Kiểm tra đầu vào là các giá trị null

- Đầu vào là các giá trị không hợp lệ hoặc ra khỏi phạm vi dự kiến

- Thực hiện trong điều kiện bình thường và tải cao

Trang 14

- Thực hiện việc kiểm tra này cho phép bạn xác minh ứng dụng có đáp ứng mục tiêu hiệu quả mong muốn,không vượt quá ngân sách phân bổ cho việc sử dụng tài nguyên như bộ nhớ , bộ xử lý ,thời gian thực hiện lệnh ,

• Bước 4: kiểm tra stress

- Sử dụng căng thẳng thử nghiệm để đánh giá hành vi của khối ứng dụng khi nó được đẩy vượt quá tải trọng trong điều kiện bình thường hoặc cao điểm

- Mục đích của thử nghiệm để tìm ra sự căng thẳng là lỗi chủ yếu xảy ra trong điều kiện tải cao , chẳng hạn như vấn đề đồng bộ hóa,và rò rỉ bộ nhớ

- Kiểm tra stress giúp nhà sản xuất đưa ra các thông báo lỗi cho khác hàng khi gặp

sự cố khi ứng dụng bị đẩy vượt quá điều kiện bình thường

- Dùng để tìm ra các lỗ hổng của ứng dụng tránh các trường hợp bị hack hoặc đổ vỡ

do các lỗi người dùng gây ra do không hiểu về ứng dụng ,

- Thử nghiệm này được thực hiện tại thời gian chạy

- Mục đích: phá vỡ các giao diện của khối ứng dụng, đánh chặn dữ liệu nhạy cảm trong phạm vi cấm

- Mục đích:tất cả mọi người ở tất cả mọi nơi đều có thể sử dụng ứng dụng không phụ thuộc vào vị trí địa lý hay nền văn hóa

- Để thực hiện kiểm tra toàn cầu hóa, bạn phải cài đặt nhiều nhóm ngôn ngữ và văn hóa hoặc thiết lập miền địa phương để các nền văn hóa khác nhau hoặc miền địa phương,

IV Ưu điểm và tồn tại của kiểm thử hộp đen

1.Ưu điểm:

- Manglạinhiềuhiệuquảlớntrênnhữngđơnvịmãnguồnsauviệc kiểm thử

hộp đen

-Ngườikiểmthửphầnmềmkhôngcầncómộtkiếnthứcsâurộngvề đặc tả và

ngôn ngữ lập trình

-Ngườikiểmthửvàcáclậptrìnhviênlàđộclậpvớinhau,kiểmthử được cân

nhắcvà khách quan nhất

-Ngườikiểmthửthựchiệnnhữngquanđiểmcủangườixem(người chưa biết

gì)

Trang 15

-Sẽ giúp cho việchiển thị sự mơ hồ hoặc sựmâu thuẫn trong cácđặc tả hệ thống

-Việckiểmthửđượctiếnhànhmộtcáchsớmnhấtngaysaukhihoàn thành việc

đặc tảhệ thống

- Cóhiệu quả cao khi được sửdụng trên hệthống lớn

-Ngườikiểmthửkhôngcầncókiếnthứcchitiếtvềchứcnăngcủahệ

thống

-Kiểmthửphầnmềmgiúphiểnthịnhữngviệcchưarõràngvànhững

mâu thuẫn trong đặctả hệ thống

2.Tồn tại:

- Chỉcó một số lượng nhỏ cácyếu tố đầu vào có thể đã được kiểm tra

-Nếukhông cócáchthức rõ ràngvà chitiết, cáctrường hợpkiểm thử khó có thể được thiết kế

-Cóthếsẽlặplạinhữngcáikhôngcầnthiếtcủa việckiểmtrađầuvào nếu nhưngười kiểmthử khôngcó đượcthông tinvề quytình testmànhững người lập trình đã cố gắnglàm

-Cóthểchấpnhậnnhiềuđườngdẫnchươngtrìnhmàchưađượckiểm

tra

- Rấtkhóxácđịnhcácyếutốđầuvào,nếunhưquitrìnhkiểmthử không được phát triểndựatrên bản đặctả chi tiết

Trang 16

C Kết luận

Nóitómlại,kiểmthửhộpđenlàmộtphươngphápkiểmthửmà nguyên tắccủanólà phầnmềm cầnkiểmthửnhư làmột khốiđen đóng,chỉ quan tâm tới đầu vào và đầu ra củaphần mềm mà không quan tâm tới cấu trúc bên trong củaphầnmềm nhưthế nào.Kiểmthử hộpđen đượcáp dụngtrong bước kiểm thử tích hợp và kiểm thử hệ thống Trong mỗi giai đoạn, người ta thiết kếcáccakiểm thửđể kiểmtra,ghi nhậnlỗi củaphầnmềm

mụcđíchkiểmthử.Đểcóthểthiếtkếđượcmộtcakiểmthửhiệuquả,người

tathườngápdụngmộtsốphươngphápnhư:Cácphươngphápdựatrênđồ thị, phân hoạch tương đương, phân tích giá trị biên…Ngoàira, trong một số trườnghợpphươngphápkiểmthửhộpđencònđượcápdụngđốivớihình

thứckiểmthửsosánh,ởđómộtsốphiênbảncủaphầnmềmđượcsửdụng cùng mộtluồng dữliệuvàorồisosánhkếtquả trả vềcủacácphiên bản.Để cho việckiểmthử hiệuquả, ngườita thườngsử dụngmột sốchiếnlượcnhư: chiếnlượckiểmthửhồi quy,chiếnlượckiểmthửtừ trên xuống,chiếnlược kiểm thử từ dưới lên, chiếnlượckiểm thử thời gian thực Trong chiếnlược

kiểmthửthờigianthực,quytrìnhkiểmthửđượctiếnhànhqua4phachính đó là:Kiểm thửtác vụ,kiểm thửứng xử,kiểm thử liêntác,và kiểmthử hệ

màápdụngcácphươngphápkiểmthửkhácnhaunhưkiểmthửhộpđen,

kiểmthửhộptrắng,kiểmthửsongsong.Đểcôngviệckiểmthửđượchiệu

quả,ngườitaluônchúýđếntiêuchílựachọncáccakiểmthửsaochovừa

đơngiản,vừahiệuquả (vínhư:Chobiếtvềsựtồntạihoặcvắngmặtcủa một lớp

Trang 17

sai (không phải về một saicụ thể gắn với một kiểm thử riêng biệt).

Trang 18

D.Tàiliệu thamkhảo

1.Tiểuluận:Đềtài:CÁCPHƯƠNGPHÁPKIỂMTHỬPHẦNMỀM

của Nghiêm Văn Triệu,Trường đại học quốc gia Hà Nội

2.GiáotrìnhCNPMnângcaocủaNguyễnVănVỵ-Trườngđạihọc

quốc gia Hà Nội

3 Luận văn: Đề tài : MỘT SỐ KỸ THUẬT KIỂM THỬ PHẦN

MỀM

Của Cao Thị Bích Liên, Trường ĐH Thái Nguyên.

4 Diễn đàn testingvn, địa chỉ http://www.testingvn.com

5 Diễn đàn SEGVN, địa chỉ http : //www s egvn.o r g/ f o r um

Ngày đăng: 20/04/2014, 08:43

TỪ KHÓA LIÊN QUAN

w