Thế nào là kiểm thử hộp đen, có những loại kiểm thử nào?

Màu nền
Font chữ
Font size
Chiều cao dòng

Câu 4: Thế nào là kiểm thử hộp đen, trong kiểm thử hộp đen có những loại kiểm thử nào?

- Thế nào là kiểm thử hộp đen:

+ Kỹ thuật kiểm thử hộp đen hay còn gọi là kiểm thử hướng dữ liệu hay kiểm thử hướng vào/ra. Trong kỹ thuật này, người kiểm thử xem phần mềm như là một hộp đen. Người kiểm thử hoàn toàn không quan tâm đến cấu trúc, hành vi bên trong phần mềm. Người kiểm thử chỉ quan tâm đến việc tìm ra các hiện tượng mà phần mềm không xử lý theo đúng đặc tả của nó và vì thế dữ liệu kiểm thử sẽ xuất phát từ đặc tả.
+ Kiểm thử hộp đen cố gắng tìm các lỗi:

* Các chức năng thiếu hoặc không đúng.

* Các lỗi giao diện.

* Các lỗi cấu trúc dữ liệu trong việc truy cập csdl bên ngoài.

* Các lỗi thi hành.

* Các lỗi khởi tạo hoặc kết thúc.

* Các lỗi khác.

+ Kiểm thử hộp đen áp dụng cho các giai đoạn sau của kiểm thử.

- Kiểm thử hộp đen có 7 loại kiểm thử.

+ Kiểm thử phân hoạch lớp giá trị tương đương.

KN: Phân lớp tương đương là một phương pháp kiểm thử hộp đen chia miền đầu vào của chương trình thành các lớp dữ liệu, từ đó suy dẫn ra các ca kiểm thử. Phương pháp này cố gắng xác định ra một ca kiểm thử mà làm lộ ra một lớp lỗi, do đó làm giảm tổng số các trường hợp kiểm thử phải được xác định.
KỸ THUẬT:

B1: Xác đinh các lớp tương đương.

B2: Tạo một test case ứng với mỗi lớp tương đương.

- Các loại đầu vào khác nhau yêu cầu các kiểu lớp tương đương khác nhau. Chúng ta thừa nhận rằng quan điểm về việc test có tính bảo vệ của cả test đầu vào hợp lệ và không hợp lệ. Việc test các đầu vào không hợp lệ là thường là nơi cho ta nhiều phát hiện lỗi. Đầu vào có 4 khả năng:

+ Nếu đầu vào định rõ giới hạn của một mảng thì có một kiểu lớp cho các giá trị hợp lệ, 2 lớp cho các giá trị không hợp lệ, một lớp ở bên dưới lớp hợp lệ và một lớp ở trên nó.

+ Nếu đầu vào là một giá trị xác định thì ở đây có một lớp phù hợp và hai lớp không phù hợp.
+ Nếu điều kiện đầu vào chỉ là một tập giá trị thì chia vùng tương đương thành hai tình huống là một lớp tương đương hợp lệ và một lớp tương đương ko hợp lệ.

+ Nếu điều kiện đầu vào xác địn là một kiểu đúng/sai thì chia vùng tương đương thành hai tình huống là một lớp hợp lệ và một lớp ko hợp lệ.

- Ứng dụng và hạn chế:

+ Kiểm thử sẽ làm giảm đáng kể số lượng test case phải được tạo ra để thực hiện, nó phù hợp với các hệ thống có nhiều dữ liệu đầu vào và nhận giá trị trong các miền hay trong các tập.

+ Kiểm thử ứng dụng ở mức khử đơn vị, tích hợp, hệ thống, kiểm thử chấp nhận, tất cả các yêu cầu của nó là đầu vào hay đầu ra mà có thể được phân chia dựa theo yêu cầu hệ thống.

+ Kiểm thử biến đổi trạng thái. (State-transition Testing)

Khái niệm: Trạng thái là một điều kiện mà trong đó hệ thống phải chờ đợi một hay nhiều sự kiện. Các trạng thái ghi nhớ các sự kiện đầu vào và hệ thống nhận được trong quá khứ, và những phản hồi của hệ thống đối với các sự kiện kế tiếp theo nếu chúng xảy ra. Các sự kiện này có thể gây ra sự biến đổi các trạng thái và hoặc các hành động phát sinh. Trạng thái nhìn chung được biểu diễn bằng một hay nhiều biến trong hệ thống.

- Sự chuyển tiếp: Thể hiện sự biến đổi từ trạng thái này sang trạng thai khác.

- Biểu đồ trạng thái biểu diễn một thực thể cụ thể, nó mô tả hệ thống quy tắc và các tương tác phức tạp chỉ trong những ký hiệu nhỏ gọn. các bảng trạng thái bao gồm 4 cột: Trạng thái, sự kiện, hành động và trạng thái tiếp theo.

- Sự kiện là cái gì đố tác độn làm hệ thống biến đổi trạng thái.

- Hành động là hành động được bắt đầu khi có sự biến đổi trạng thái.

Ưu điểm của bảng chuyển trạng thái:

- Liệt kê tất cả các kết nối của trạng thái có thể, không chỉ những kết nỗi hợp lệ.

- Test tất cả các trạng thái là điều cần thiết bao gồm cả các trạng thái chuyển đổi mà có thể là không hợp lệ. Bảng chuyển trạng thái có thể phát hiện những sự kết hợp trước đó không được nhận biết, có thể giải quyết các yêu cầu hệ thống.

Nhược điểm:

Bảng có thể mở rộng rất nhanh nếu hệ thống có nhiều sự kiện và trạng thái, mà hầu hết các ô trong bảng đều bỏ trống(lãng phí).

- Tạo các test case:

+ Tạo một tập các test case mà tất cả các trạng thái được đi qua ít nhất một lần, đây là test mức yếu.
+ Tạo một tập các test case mà tất cả các sự kiện đều được kích hoạt ít nhất một lần, đây cũng là test mức yếu.

+ Tạo một tập các test case mà tất cả các lộ trình đều được thực hiện ít nhất một lần, mức độ test này được quan tâm hơn do mức độ bao phủ của nó tuy nhiên ko dễ thực hiện

+ Tạo ra một tập các test case mà tất cả các sự kiện chuyển đổi đều được kiểm tra ít nhất một lần, test mức độ này cho ta một mức test bao phủ nhưng ko sinh ra số lượng test lớn.

Kỹ Thuật:

B1: Soạn thảo bảng trạng thái - sự kiện

B2: Soạn thảo cây chuyển tiếp.

B3: Soạn thảo tập lẹnh thử nghiệm kiểm tra các trường hợp hợp lệ.

B4: Soạn thảo tập lẹnh thử nghiệm kiểm tra các trường hợp ko hợp lệ.

B5: Soạn thảo tập lệnh thử nghiệm bảo vệ.

+ Nếu sự bảo vệ gồm một điều kiện mà giữ một giá trị biên sau đó sự bảo vệ là một đối tượng phân tích giá trị biên.

+ Nếu sự bảo vệ là một điều kiện phức tạp sau đó sự bảo vệ này được bao phủ bởi nguyên tắc bao phủ điều kiện/ quy định đã được sửa đổi.

Ứng dụng và hạn chế:

- Giúp ta nhận dạng trạng thái, sự kiện, sự chuyển tiếp cần được kiểm thử.

- Biểu đồ không hữu dụng trong trường hợp hệ thống ko có trạng thái hay không cần phải đáp trả các sự kiện thời gian thực từ bên ngoài hệ thống

+ Kiểm thử giá trị biên (boundary value testing)

- KN: Là kiểm thử dựa trên giá trị biên của vùng dữ liệu hợp lệ, việc kiểm thử này nhằm mục đích hệ thống sẽ không chấp nhận các dữ liệu nằm bên ngoài vùng dữ liệu hợp lệ. và chỉ chấp nhận các dữ liệu nằm bên trong(bao gồm cả biên).

Kỹ thuật:

B1: xác định các lớp tương đương.

B2: xác định biên tương ứng với mỗi lớp tương đương.

B3: tạo các test case cho mỗi giá trị biên bằng cách chọn một điểm trên biên, một điểm ngay dưới biên và một điểm ngay trên biên

Ứng dụng và hạn chế:

+ Kiểm thử giá trị biên có thể làm giảm đáng kể số lượng các test case mà đáng lẽ phải được tạo ra và thực hiện, nó phù hợp nhất với các hệ thống mà nhiều dữ liệu đầu vào nhận giá trị trong các miền hay các tập hợp.

+ Kiểm thử giá trị biên áp dụng ở kiểm thử mức đơn vị, tích hợp hệ thống và chấp nhận. tất cả các yêu cầu của nó là tất cả các đầu vào có thể phân chia và các biên có thể được xác định dựa vào yêu cầu của hệ thống.

+ Kiểm thử bảng quyết định(decision table testing).

Các bước thực hiện:

B1: Lập bảng quyết định.

B2: Xây dựng bảng testcase.

Ứng dụng và hạn chế:

+ Áp dụng cho hệ thống kết hợp nhiều điều kiện phức tạp với nhau.

+ Đưa ra các testcase tương ứng.

+ Tốn nhiều thời gian

+ Kiểm thử cặp giá trị(pairwise testing)

là sử dụng bảng trực giao

Các bước thực hiện:

B1: Định nghĩa biến gồm trình duyệt, hệ điều hành, server.

- Trong một cột giá trị của nó là giá trị của biến, mỗi biến là môt cột

- Có quyền thêm biến để rút gọn bảng

B3: Lập sơ đồ test

- Điền giá trị vào bảng trực giao sao cho độ xáo trộn là đồng đều

B4: Định lý số dư trung hòa

+ Kiểm thử phân tích miền(Domain Analysí Testing)

Khái niệm: Phân miền là một kỹ thuật có thể được sử dụng để xác định các ca kiểm thử hiệu quả  khi có thể nhiều biến số.  Nó xây dựng tổng quát  trên kỹ thuật phân lớp tương đương và thử nghiệm giá trị biên với n kích thước đồng thời. Giống như những kỹ thuật, chúng ta tìm kiếm các vị trí mà các biên đã được xác định hoặc thực hiện không đúng.

Hướng dẫn quá trình phần miền

Một số định nghĩa

Điểm nằm bên trên biên (off) là điểm có giá trị không nằm trên biên

Điểm nằm trong biên (in) là điểm có một giá trị thỏa mãn tất cả điều kiện biên nhưng không nằm trên biên.

Điểm nằm ngoài biên (out) là điểm có một giá trị không thỏa mãn tất cả điều kiện biên.
Chọn các điểm nằm trên biên (in) và các điểm nằm không nằm trên biên(off) là các điểm phức tạp có thể xuất hiện.
Biên đóng ( được xác định bởi các điều kiện ,phép toán so sánh ngang bằng, nghĩa là: ≤, ≥ hoặc =) để các điểm nằm trên biên (on) được đưa vào miền, thì  điểm phải nằm trên biên (on) và được bao hàm trong  miền. Điểm không  nằm trên biên (off) không được đưa vào miền.

Nhận xét

- Phân miền tạo điều kiện thử nghiệm nhiều biến số cùng một lúc. Nó rất hữu ích bởi vì chúng ta hiếm khi có thời gian để tạo ra các ca kiểm thử  cho mỗi biến trong hệ thống của chúng ta. Giá trị của một biến này hạn chế các giá trị chấp nhận được của biến khác, lỗi nhất định không thể phát hiện bằng cách kiểm tra các biến riêng.

- Xây dựng kỹ thuật phân miền tổng quát trên kỹ thuật phân lớp tương đương và kỹ thuật thử nghiệm giá trị biên với n kích thước đồng thời. Như những kỹ thuật khác , chúng ta tìm kiếm các vị trí mà biên được thực hiện không đúng.

-Sử dụng kỹ thuật phân miền 1x1 đối với từng điều kiện  (≥,>, ≤, hoặc<), chúng ta chọn một điểm on và một điểm off. Đối với mỗi điều kiện bình đẳng  (=), chúng chọn một điểm on và hai điểm off, một điểm có giá trị nhỏ hơn giá trị điều kiện và một điểm có giá trị lớn hơn giá trị điều kiện.

Ứng dụng và hạn chế

Phân miền được áp dụng khi có nhiều biến (đầu vào là nhiều trường)  nên được kiểm thử với nhau sao cho hiệu quả hoặc các biến tương tác  hợp lý với nhau.Kỹ thuật phù hợp nhất khi giá trị của biến là số, giá trị của các biến có kiểu là lôgic , xâu, ….

Bạn đang đọc truyện trên: Truyen2U.Pro