CHƯƠNG 4: GIỚI THIỆU VỀ CHƯƠNG TRÌNH ỨNG DỤNG
1.12. Mô tả chương trình
1.12.3. Yêu cầu chức năng
1.12.3.2. Tính diện tích và chu vi
Khi chúng thỏa mãn điều kiện của tam giác thì ta sẽ thực hiện tính diện tích và chu vi của tam giác đó.
- Tính chu vi: a + b + c
- Tính diện tích: Math.Sqrt(* (p - a) * (p - b) * (p - c))
Trong đó: Dim p As Double = (a + b + c) / 2
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử
CHƯƠNG 5: TIẾN HÀNH KIỂM THỬ
1.13. Xây dựng các test cases cho chương trình kiểm tra tam giác
Để kiểm thử module của chương trình ứng dụng thì ta cần tạo một project trong Visul Studio 2010 với tên testUnitTamGiac. Sau đây là các Test Cases của chương trình với các trường hợp kiểm thử đã được thiết kế ở Bảng 5.1
Imports Ktra_tamgiac Imports NUnit.Framework
<TestFixture()> _ Public Class check Dim i As Boolean
Dim tamgiac As check_tamgiac <TestFixtureSetUp()> _
Public Sub Setup()
tamgiac = New check_tamgiac End Sub
<Test()> _
Public Sub test_tamgiac()
i = tamgiac.tamgiac(5, 6, 7) Assert.AreEqual(i, True) End Sub
<Test()> _
Public Sub test_tamgiaccan()
i = tamgiac.tamgiaccan(2, 2, 3) Assert.AreEqual(i, True)
End Sub <Test()> _
Public Sub test_tamgiacvuong()
i = tamgiac.tamgiacvuong(3, 4, 5) Assert.AreEqual(i, True)
End Sub <Test()> _
Public Sub test_tamgiacdeu()
i = tamgiac.tamgiacdeu(3, 3, 3) Assert.AreEqual(i, True)
End Sub End Class
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử
1.14. Xây dựng các trường hợp kiểm thử
Ta xây dựng một số trường hợp phục vụ cho việc kiểm thử bài toán.
Loại tam
giác Tình huống Stt Dữ liệu đầu
vào Kết quả
đầu ra Kết quả chương trình Test
Tam giác thường
Dữ liệu đầu vào và kết quả đầu ra
đều ĐÚNG 01 Cạnh 1 = 5
Cạnh 2 = 6 Cạnh 3 = 7
Trả về
“True” Passed
Dữ liệu đầu vào ĐÚNG và kết quả
đầu ra là SAI 02
Cạnh 1 = 3 Cạnh 2 = 4 Cạnh 3 = 5
Trả về
“False” Failsed Dữ liệu đầu vào
SAI và kết quả
đầu ra là ĐÚNG 03 Cạnh 1 = 3.5 Cạnh 2 = 4 Cạnh 3 = 5
Trả về
“True” Passed
Tam giác cân
Dữ liệu đầu vào và kết quả đầu ra
đều ĐÚNG 04 Cạnh 1 = 2
Cạnh 2 = 2 Cạnh 3 = 3
Trả về
“True” Passed
Dữ liệu đầu vào SAI và kết quả
đầu ra là ĐÚNG 05 Cạnh 1 = 5 Cạnh 2 = 4 Cạnh 3 = 3
Trả về
“True” Failed
Tam giác vuông
Dữ liệu đầu vào và kết quả đầu ra
đều ĐÚNG 06 Cạnh 1 = 3
Cạnh 2 = 4 Cạnh 3 = 5
Trả về
“True” Passed
Dữ liệu đầu vào ĐÚNG và kết quả
đầu ra là SAI
07 Cạnh 1 = 3 Cạnh 2 = 4 Cạnh 3 = 5
Trả về
“False” Failed
Tam giác đều
Dữ liệu đầu vào ĐÚNG và kết quả
đầu ra là SAI 08 Cạnh 1 = 3 Cạnh 2 = 3 Cạnh 3 = 3
Trả về
“False” Failed
Dữ liệu đầu vào và kết quả đầu ra
đều ĐÚNG
09 Cạnh 1 = 5 Cạnh 2 = 5 Cạnh 3 = 5
Trả về
“True” Passed
Bảng 5.1. Bảng trường hợp kiểm thử chương trình kiểm tra tam giác
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp 01: khi ta nhập thông tin 3 đúng của một tam giác và ta cho kết quả là “True”
<Test()> _
Public Sub test_tamgiac()
i = tamgiac.tamgiac(3, 4, 5) Assert.AreEqual(i, True) End Sub
Ta thấy kết quả kiểm thử trả về trùng với kết quả trả về ở trên nên kết quả test là đúng.
Hình 5.1. Kết quả test của trường hợp 01
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 02: ta nhập mẫu đầu vào là đúng và gán giá trị trả về là sai.
<Test()> _
Public Sub test_tamgiac()
i = tamgiac.tamgiac(5, 6, 7) Assert.AreEqual(i, False) End Sub
Ta thấy chương trình chấp nhận mẫu đầu vào nhưng chương trình báo lỗi (dữ liệu đầu vào là đúng tam giác thường nhưng kết quả đầu ra lại cho là “False”) nên kết quả test là đúng.
Hình 5.2. Kết quả test của trường hợp 02
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 03: nhập dữ liệu đầu vào sai, kết quả đầu ra đúng.
<Test()> _
Public Sub test_tamgiac()
i = tamgiac.tamgiac(3.5, 4, 5) Assert.AreEqual(i, True)
End Sub
Mặc dù độ dài của một cạnh trong tam giác là dạng thập phân nhưng chương trình test vẫn chấp nhận dữ liệu này trong khi chương trình ứng dụng thì không. Vậy kết quả test trường hợp này là sai.
Hình 5.3. Kết quả test của trường hợp 03
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 04: ta nhập dữ liệu đầu vào và kết quả đầu ra là đúng đối với tam giác cân.
<Test()> _
Public Sub test_tamgiaccan()
i = tamgiac.tamgiaccan(2, 2, 3) Assert.AreEqual(i, True)
End Sub
Kết quả test cho thấy là dữ liệu đầu vào và kết quả đầu ra là cùng đưa ra một kết quả đúng đối với tam giác cân nên kết quả test trường hợp này đúng.
Hình 5.4. Kết quả test của trường hợp 04
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 05: tam giác cân này ta cho dữ liệu đầu vào sai và kết quả đầu ra là đúng.
<Test()> _
Public Sub test_tamgiaccan()
i = tamgiac.tamgiaccan(5, 4, 3) Assert.AreEqual(i, True)
End Sub
Khi ta cho dữ liệu đầu vào ở trên để khẳng định nó là tam giác cân thì sai hoàn toàn và chương trình test của chúng ta cũng báo lỗi này. Vậy kết quả test trường hợp này là đúng.
Hình 5.5. Kết quả test của trường hợp 05
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 06: xét tam giác vuông ta nhập dữ liệu đầu vào và đầu ra đều đúng
<Test()> _
Public Sub test_tamgiacvuong()
i = tamgiac.tamgiacvuong(3, 4, 5) Assert.AreEqual(i, True)
End Sub
Đối với nguồn dữ liệu đầu vào và kết quả đầu ra như trên thì chương trình test của chúng ta cũng báo là đúng. Vậy kết quả test ở đây là đúng.
Hình 5.6. Kết quả test của trường hợp 06
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 07: tam giác vuông: dữ liệu đầu đúng và kết quả đầu ra là sai.
<Test()> _
Public Sub test_tamgiacvuong()
i = tamgiac.tamgiacvuong(3, 4, 5) Assert.AreEqual(i, False)
End Sub
Với nguồn đầu vào thỏa mãn một tam giác vuông nhưng kết quả đầu ra báo sai thì chương trình test báo lỗi. Vậy kết quả test ở đây là đúng.
Hình 5.7. Kết quả test của trường hợp 07
Tìm hiểu về công cụ kiểm thử Nunit Chương 5: Tiến hành kiểm thử - Xét trường hợp kiểm thử 08: tam giác đều – ta nhập dữ liệu đầu vào đúng nhưng cho kết quả đầu ra là sai
<Test()> _
Public Sub test_tamgiacdeu()
i = tamgiac.tamgiacdeu(3, 3, 3) Assert.AreEqual(i, False)
End Sub
Đối với xét tam giác đều và với nguồn dữ liệu như trên là thỏa mãn nhưng ta cho kết quả đầu ra là sai và chương trình test của chúng ta báo lỗi. Vậy kết quả test ở đây là đúng.
Hình 5.8. Kết quả test của trường hợp 08