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

kiểm thử hộp đen - kiểm thử so sánh

18 1,2K 2

Đ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 363,67 KB

Nội dung

3 Là phương pháp kiểm thử chỉ quan tâm đến kết quả đầu ra đối với một tập dữ liệu đầu vào mà không quan tâm đến cách thực thi của các mã lệnh bên trong của phần mềm .... Kiểm thử hộp đe

Trang 1

-*-* -TÊN ĐỀ TÀI:

“KIỂM THỬ HỘP ĐEN & KIỂM THỬ SO SÁNH”

GVHD: NGUYỄN ĐỨC LƯU Nhóm 8:

1 Nông Thị Ngọc Hà (*)

2 Thiều Thị Chính

3 Đinh Văn Hùng

4 Đinh Thị Hạnh

5 Hà Mạnh Tuyế́n

6 Ngô Thị Lan

7 Tô Thị Diễm

8 Triệu Hương Giang

9 Nguyễn Huyền Trang

10 Trần Ngọc Mai

11 Nguyễn Tiến Công

12 Nguyễn Đức Thanh

Hà Nội, tháng 10/2009

Trang 2

A Mở đầu 2

B Nội dung 3

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

Là phương pháp kiểm thử chỉ quan tâm đến kết quả đầu ra đối với một tập dữ liệu đầu vào mà không quan tâm đến cách thực thi của các mã lệnh bên trong của phần mềm 3

1.2 Mục đích 3

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

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

1.3.1.1 Chọn lớp tương đương 4

1.3.1.2 Áp dụng cho giá trị biên ra 6

1.5.1.3 Phân hoạch và phân tích giá trị biên 6

1.3.2 Kỹ thuật đồ thị nhân quả 7

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

2 Kiểm thử so sánh 11

3 Kiểm thừ thời gian thực 12

C Kết luận 15

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

Trang 3

Tên đề tài: Kiểm thử hộp đen - Kiểm thử so sánh

Bắt đầu từ slide: 16 - 24 trong giáo trình Email: nhom8_tin2k2@yahoo.com

A Mở đầu

Kiểm thử là một quá trình quan trọ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ày nay, 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ủa hệ 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àn bộ 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

Trang 4

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

1 Kiểm thử hộp đen

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

tập dữ liệu đầu vào mà không quan tâm đến cách thực thi của các mã lệnh bên

trong của phần mềm

Kiểm thử hộp đen tập trung vào các yêu cầu chức năng của phần mềm

Nó cho phép thiết kế các điều kiện đầu vào để thực thi tất cả các yêu cầu chứ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ật kiểm thử bổ sung cho kiểm thử hộp trắng với độ bao

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

Kĩ thuật kiểm thử hộp đen cố gắng tìm ra các lỗi sau: các hàm bị lỗi

hay mất, lỗi giao diện, lỗi trong cấu trúc dữ liệu hay truy cập dựa trên dữ liệu

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

- Mô hình:

1.2 Mục đích

Bổ sung cho phương pháp kiểm thử hộp trắng để phát hiện ra tất cả các

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

Không như kĩ thuật kiểm thử hộp trắng được thực thi trong giai đoạn

sớm của quá trình kiểm thử, kiểm thử hộp đen được thực hiện trong giai đoạn

sau của quá trình kiểm thử Kiểm thử hộp đen không quan tâm tới trúc điều

khiển mà tập trung vào miền thông tin Kiểm thử được thiết kế để trả lời các

câu hỏi sau:

Trang 5

- Giá trị chức năng được kiểm thử như thế nào?

- Các lớp đầu vào nào sẽ cho các ca kiểm thử tốt?

- Hệ thống có bị ảnh hưởng bởi những giá trị đầu vào nhất định?

- Giá trị biên của các lớ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?

- Việc kết hợp dữ liệu xác định có ảnh hưởng gì trong việc vận hành hệ thống?

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

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

Phân hoạch tương đương là phương pháp kiểm thử hộp đen chia miền

dữ liệu vào thành các lớp từ đó có thể thực hiện các ca kiểm thử Phân hoạch tương đương cố gắng xác định các ca kiểm thử mà không bao phủ các lớp lỗi,

do đó giảm tổng số các kiểm thử sẽ được phát triển

Thiết kế các ca kiểm thử cho phân hoạch tương đương dựa trên việc đánh giá của các lớp tương đương cho một điều kiện đầu vào Sử dụng khái niệm được đưa ra trong mục trước, nếu một tập các đối tượng có thể liên kết bởi các mối quan hệ đối xứng, chuyển tiếp và phản xạ, một lớp tương đương được biểu diễn Một lớp tương đương biểu diễn một tập các trạng thái phù hợp hay không cho các điều kiện đầu vào Điển hình, một điều kiện đầu vào hoặc là một giá trị số xác định, một miền giá trị, một tập các giá trị liên quan hay một điều kiện logíc

1.3.1.1 Chọn lớp tương đương

Đây là kỹ thuật chia vùng thông tin nhập vào của chương trình thành các lớp thông tin/dữ liệu Lớp tương đương biểu diễn thành một tập các giá trị hợp lệ và không hợp lệ Nhưng lớp dữ liệu tương đương này có thể được xác định theo những cách sau:

Nếu thông tin đầu vào chỉ định một vùng các giá trị, thì ta có một lớp

dữ liệu hợp lệ và hai không hợp lệ được định nghĩa

Trang 6

Nếu thông tin đầu vào chỉ định một giá trị, thì ta có một lớp dữ liệu hợp

lệ và hai không hợp lệ được định nghĩa

Nếu thông tin đầu vào chỉ định một giá trị của một tập, thì ta có một lớp

dữ liệu hợp lệ và hai không hợp lệ được định nghĩa

Nếu thông tin đầu vào chỉ định một giá trị boolean, thì ta có một lớp dữ liệu hợp lệ và một không hợp lệ được định nghĩa

* Ví dụ minh họa

Môt khách hàng có thể liên lạc với ngân hàng bằng máy tính cá nhân,

họ gởi một mật khẩu gồm 6 chữ số và các thao tác khởi động một số chức

năng của ngân hàng Phần mềm hổ trợ cho các ứng dụng của ngân hàng chấp nhận dữ liệu theo dạng sau:

Mã vùng - rỗng hay 3 chữ số

Tiền tố - 3 chữ số không bắt đầu bằng 0 hay 1

Hậu tố - 4 chữ số

Mật khẩu – 6 ký tự alphanumberic

Thao tác/nghiệp vụ ngân hàng – "xem_tài_khoản", "gửi_tài_khoản" ,

"rút_tài_khoản" …

Áp dụng kỹ thuật phân vùng thông tin để tạo các bộ kiểm thử như sau : Các trường hợp kiểm định

Mã vùng Boolean – giá trị của mã vùng có thể được nhập hoặc không

Range – giá trị của mã vùng có thể được định nghĩa từ 200 đến 999

Tiền tố Range – Xác định các giá trị >200

Hậu tố Value - một chuổi 4 số

Mật khẩu Boolean – giá trị của mật khẩu có thể được nhập hoặc không

Value – giá trị nhận là một chuổi 6 ký tự Thao tác/nghiệp

vụ ngân hàng

Set - một tập các thao tác được ghi bên trên

Trang 7

Áp dụng các chỉ dẫn trên cho việc thiết kế các lớp tương đương, các ca

kiểm thử cho mỗi miền dữ liệu có thể được phát triển và thực thi Các ca kiểm

thử được lựa chọn cốt để số lượng lớn nhất các thuộc tính của một lớp tương

đương được thực thi một lần

1.3.1.2 Áp dụng cho giá trị biên ra

Với những lí do không rõ ràng, một số lớn các lỗi có khuynh hướng

xảy ra tại giá trị biên của miền dữ liệu vào hơn là các giá trị trung tâm Vì lí

do này, việc phân tích giá trị biên được phát triển như là một kĩ thuật kiểm

thử Việc phân tích giá trị biên dẫn đến sự lựa chọn một tập các ca kiểm thử

thực thi các giá trị biên

Việc phân tích giá trị biên là kĩ thuật thiết kế các ca kiểm thử bổ sung

cho phân hoạch tương đương Đúng hơn là việc lựa chọn bất kì phần tử nào

của một lớp tương đương BVA(Boundary Value Analysis) dẫn đến việc lựa

chọn các ca kiểm thử tại “bờ” của lớp Đúng hơn là chỉ tập trung vào các điều

kiện đầu vào, BVA đưa ra các ca kiểm thử từ miền đầu ra

1.5.1.3 Phân hoạch và phân tích giá trị biên

Hướng dẫn sau cho BVA tương tự trong một số khía cạnh cho các

hướng dẫn được đưa ra trong phân hoạch tương đương:

1) Nếu một điều kiện đầu vào xác định một miền biên bởi giá trị a và b,

các ca kiểm thử cần được thiết kế với giá trị của a và b, giá trị trên a và dưới

b

a

b

Giá trị cận biên Giá trị biên

Giá trị ngoài biên

Trang 8

2) Nếu một điều kiện đầu vào xác định một số giá trị, các ca kiểm thử cần được thiết kế mà thực thi các số lớn nhất và nhỏ nhất Các giá trị trên và dưới các giá trị nhỏ nhất và lớn nhất cũng được kiểm thử

3) Nếu điều kiện 1 và 2 (bên trên) được áp dụng cho các điều kiện đầu ra Chẳng hạn, giả sử rằng một bảng nhiệt độ và áp suất được yêu cầu như là một đầu ra từ chương trình phân tích kĩ nghệ Các ca kiểm thử cần được thiết

kế để tạo ra một báo cáo đầu ra mà đưa ra số tối đa (tối thiểu) cho phép của danh mục bảng

4) Nếu một cấu trúc dữ liệu chương trình trong quy định giá trị biên (chẳng hạn một mảng có một giới hạn xác định của 100 phần tử) có thể chắc chắn để thiết kế một tập các ca kiểm thử để thực thi cấu trúc dữ liệu tại giá trị biên của nó

Hầu hết các kĩ sư phần mềm đều thực thi bằng trực giác một số cấp độ Bằng việc áp dụng các hướng dẫn ở trên, việc kiểm thử biên có thể được hoàn thành nhiều hơn, do đó có thể có khả năng cao hơn trong việc phát hiện lỗi

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

- Khái niệm:

Là một kỹ thuật để thiết kế ca kiểm thử, cung cấp một biểu diễn chính xác giữa các điều kiện logic (đầu vào) và các hành động tương ứng (đầu ra- kêt quả)

Kỹ thuật đồ thị nhân quả được xây dựng dựa trên các mô đun chức năng, lôgíc tiến trình và đặc tả hệ thống

Ta thấy rằng 2 kỹ thuật trên dữ liệu đầu vào đã được phân loại để phân tích Tuy nhiên kỹ thuật sắp trình bày dưới đây cho phép xác định ra các

trường hợp kiểm thử hiểu quả nhất ngay cả trong lúc dữ liệu đầu vào là khó phân loài thành các lớp như trong 2 kỹ thuật trên

- Một số ký hiệu sử dụng trong đồ thị nhân quả (cause - effect)

Trang 9

Kỹ thuật này gồm có 4 bước như sau :

Bước 1 Xác định Cause (điều kiện nhập vào) và effect (là hành động)

cho mỗi một module cần kiểm định

Bước 2 Xây dựng đồ thị cause-effect

Bước 3 Đồ thị được chuyển thành bảng quyết định

Bước 4 Những phần/luật trong bảng quyết định được chuyển thành các

trường hợp kiểm thử

* Ví dụ:

Modul đếm số lần phần tử x có mặt trong mảng A Với các dữ liệu đầu vào: x = 2; A ={0, 2, 2, 2, 4}

* Kết quả:

- "Đúng" - Nếu kết quả trả về là 3

- "Nghi ngờ"- Nếu kết quả trả về là 2

- "Sai" - Nếu kết quả trả về là 1

Bước 1: Xác định quan hệ giữa input & output của module trên

Cause ( Dữ liệu nhập) Result (Dữ liệu xuất )

1 Nếu kết quả trả về là 3

2 Nếu kết quả trả về là 2

4 Đúng

5 Nghi ngờ

GVHD: Nguyễn Đức Lưu

xác định

B A

B

A B

C

A B

C

A B

E

Exclusive-

if A== true then B = false

if B== true then A = false

A B

Include-

I

A

B

require-

8

Trang 10

6 Sai

Bước 2 Biểu diễn quan hệ giữa cause và result trên đồ thị cause - effect

Bước 3 Tạo bảng quyết định

Cause 1 Nếu kết quả trả về là 3 Y N N

2 Nếu kết quả trả về là 2 - Y N

Result

3 “Đúng” là kết quả xuất ra X -

-4 “Nghi ngờ” là kết quả xuất ra - X

-5 “Sai” là kết quả xuất ra - - X

Chú thích cho bảng quyết định:

- Dòng chỉ định điều kiện: mỗi dòng bao gồm các điều kiện để quyết định cho chương trình: (đây là các dòng có màu xâm hơn trên bảng)

Y : true, N false, - không có quyết định nào

- Dòng chỉ định hành động: mỗi dòng chỉ định tiến trình có được thực thi hay không: (đây là các dòng có màu sáng hơn trên bảng)

X : tiến trình hoạt động, - không có tiến trình nào hoạt động cả

Bước 4 Chuyển thành các trường hợp kiểm thử

- Chia thành các ca kiểm thử và tiến hành kiểm thử (có thể chia thành nhiều ca kiểm thử nhỏ hơn nếu cần thiết)

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

* Ưu điểm:

3 1

2

4 5

A E

Trang 11

- Mang lại nhiều hiệu quả lớn trên những đơn vị mã nguồn sau việc kiểm thử hộp đen

- Người kiểm thử phần mềm không cần có một kiến thức sâu rộng về đặc tả và ngôn ngữ lập trình

- Người kiểm thử và các lập trình viên là độc lập với nhau, kiểm thử được cân nhắc và khách quan nhất

- Người kiểm thử thực hiện những quan điểm của người xem (người chưa biết gì)

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

hệ thống

- Việc kiểm thử được tiến hành một cách sớm nhất ngay sau khi hoà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ười kiểm thử không cần có kiến thức chi tiết về chức năng của hệ thống

- Kiểm thử phần mềm giúp hiển thị những việc chưa rõ ràng và những mâu thuẫn trong đặc tả hệ thống

* Tồn tại:

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

- Nếu không có cách thức rõ ràng và chi tiết, các trường hợp kiểm thử khó có thể được thiết kế

- Có thế sẽ lặp lại những cái không cần thiết của việc kiểm tra đầu vào nếu như người kiểm thử không có được thông tin về quy tình test mà những người lập trình đã cố gắng làm

- Có thể chấp nhận nhiều đường dẫn chương trình mà chưa được kiểm tra

- Không thể định hướng tới những đoạn mã cụ thể mà được cho là rất phức tạp…

Trang 12

- Rất khó xác định các yếu tố đầu vào, nếu như qui trình kiểm thử không được phát triển dựa trên bản đặc tả chi tiết

2 Kiểm thử so sánh

- Kiểm thử so sánh còn được gọi là kiểm thử dựa vào nhau

- Khi triển khai nhiều bản phần mềm từ cùng 1 đặc tả: Kiểm thử hộp đen cho các sản phẩm này được thực hiện cùng ca kiểm thử và cùng các dữ liệu vào

Sau đó so sánh các kết quả thu được, nếu có sự khác nhau có nghĩa là

đã lỗi trong một sản phẩm nào đó

Có một vài tình huống (chẳng hạn điện tử hàng không, điều khiển nhà máy điện hạt nhân) ở đó độ tin cậy phần mềm là tuyệt đối then chốt Trong những ứng dụng như vậy, phần cứng và phần mềm cần thiết thường được tối thiểu hóa khả năng có lỗi Khi mà các phần mềm cần thiết được phát triển, các nhóm kĩ nghệ phần mềm riêng rẽ phát triển những phiên bản độc lập của ứng dụng cùng các chi tiết kĩ thuật Trong những tình huống như vậy, mỗi phiên bản có thể được kiểm thử với cùng dữ liệu kiểm thử để đảm bảo rằng tất cả cho ra những kết quả xác định Sau đó tất cả các phiên bản được thực thi song song với việc so sánh các kết quả thời gian thực để đảm bảo sự nhất quán

Sử dụng những bài học đã học được từ các hệ thống cần thiết, các nhà nghiên cứu gợi ý rằng các phiên bản phần mềm độc lập cho những ứng dụng tới hạn Thậm chí chỉ có phiên bản đơn được sử dụng trong hệ thống dựa trên máy tính được phân phát Những sản phẩm độc lập đó là cái cơ bản để tạo thành kĩ thuật kiểm thử hộp đen được gọi là kiểm thử so sánh hay kiểm thử back - to – back

Khi các đa thực thi của cùng các chi tiết kĩ thuật được tạo ra, các ca kiểm thử được thiết kế sử dụng kĩ thuật kiểm thử hộp đen (chẳng hạn phân hoạch tương đương) được yêu cầu như là đầu vào cho mỗi phiên bản phần

Ngày đăng: 20/06/2014, 23:17

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
6. The art of software testing của Glenford J. Myers 7. Diễn đàn SEGVN, địa chỉ http://www.segvn.org/forum Link
1. Software Engineering APRACTITiONER’S APPROACH - FIFTH EDITION - Roger S. Pressman, Ph.D Khác
2. Testing Overview and Black-Box Testing Techniques Khác
3. Software Testing(Gregory M. Kapfhammer Department of Computer cience Allegheny College) Khác
4. Tiểu luận: Đề tài: CÁC PHƯƠNG PHÁP KIỂM THỬ PHẦN MỀM của Nghiêm Văn Triệu, Trường đại học quốc gia Hà Nội Khác
5. Giáo trình CNPM nâng cao của Nguyễn Văn Vỵ- Trường đại học quốc gia Hà Nội Khác

HÌNH ẢNH LIÊN QUAN

Bước 3. Đồ thị được chuyển thành bảng quyết định - kiểm thử hộp đen - kiểm thử so sánh
c 3. Đồ thị được chuyển thành bảng quyết định (Trang 9)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w