CHƯƠNG 2 : KIỂM THỬ TRONG VÒNG ĐỜI PHẦN MỀM
2.3 Các loại kiểm thử
2.3.1 Kiểm thử chức năng
- Kiểm thử chức năng là kiểm thử những "cái gì" mà hệ thống thực hiện.
- Kiểm thử chức năng là kiểm thử dựa trên các chức năng được mô tả trong tài liệu SRS theo yêu cầu của khách hàng hoặc được hiểu bởi những người kiểm thử (tester). - Được thực hiện ở tất cả các mức độ kiểm thử (Test Levels).
- Kiểm thử chức năng xem xét các hành vi bên ngoài của phần mềm. Kỹ thuật phổ biến sử dụng trong kiểm thử chức năng là kiểm thử hộp đen (Black-Box testing).
- Một loại của kiểm thử chức năng là kiểm thử bảo mật, điều tra các chức năng liên quan đến việc phát hiện các mối đe dọa như virus... Một loại khác của kiểm thử chức năng là kiểm thử tương tác để đánh giá khả năng tương tác của sản phẩm phần mềm với một hoặc nhiều thành phần cụ thể hoặc hệ thống.
2.3.2 Kiểm thử phi chức năng
Kiểm thử phi chức năng là kiểm thử xem phần mềm hoạt động tốt như thế nào và nhanh như thế nào, ví dụ: kiểm thử tốc độ tải của trang web, kiểm thử khi trang web có 2000 người truy cập đồng thời, kiểm thử mức độ sử dụng CPU, Ram, Pin,... của phần mềm,....
Kiểm thử phi chức năng bao gồm
o Kiểm thử hiệu năng (performance testing)
o Kiểm thử độ tải (load testing)
o Kiểm thử vượt tải (stress testing)
o Kiểm thử tính khả dụng (usability testing)
o Kiểm thử bảo trì (maintainability testing)
o Kiểm thử độ tin cậy (reliability testing)
o Kiểm thử tính di động (portability testing)
Kiểm thử phi chức năng có thể thực hiện ở tất cả các mức độ kiểm thử.
Kiểm thử phi chức năng xem xét các hành vi bên ngoài của phần mềm .
2.3.3 Kiểm thử cấu trúc
Kiểm thử cấu trúc (structural testing) còn được gọi là kiểm thử hộp trắng (white- box) hoặc hộp thủy tinh (glass-box).
Kiểm thử cấu trúc là kiểm thử dựa trên phân tích cấu trúc bên trong của thành phần hoặc hệ thống.
28
Kiểm thử hộp trắng chủ yếu được áp dụng tại kiểm thử đơn vị và kiểm thử tích hợp.
Các kỹ thuật dựa trên cấu trúc1 (các kỹ thuật hộp trắng) được sử dụng cho kiểm thử cấu trúc.
2.3.4 Kiểm thử liên quan đến thay đổi: Kiểm thử xác nhận và kiểm thử hồi quy. hồi quy.
Kiểm thử xác nhận (Confirmation testing)
Sau khi Tester phát hiện lỗi và báo cho Developer để sửa chữa các lỗi đó, Tester sẽ kiểm tra lại lần nữa xem liệu những lỗi đã được sửa đó có đúng như mong đợi hay chưa, đây chính là kiểm thử xác nhận.
Kiểm thử hồi quy (Regression Testing)
Ngoài việc kiểm thử xác nhận xem những lỗi đã được Developer sửa có hoạt động đúng như mong đợi hay chưa thì Tester cũng cần kiểm tra xem việc sửa chữa những lỗi đó có ảnh hưởng hoặc làm hư các chức năng liên quan không (theo dạng sửa cái này hư cái kia), đây chính là kiểm thử hồi quy.
2.4 Kiểm thử bảo trì
- Kiểm thử bảo trì là kiểm thử những thay đổi tới hoạt động hệ thống hoặc tác động của những thay đổi môi trường tới hoạt động của hệ thống.
- Sau khi được xây dựng và triển khai, một hệ thống phần mềm thường phục vụ trong nhiều năm hoặc nhiều thập kỷ. Trong thời gian này cấu hình dữ liệu hoặc môi trường của hệ thống thường được sửa chữa, thay đổi và mở rộng.
- Kiểm thử bảo trì được thực hiện trên hệ thống đã tồn tại, và được thực hiện khi có sự thay đổi, di chuyển hoặc rút lui của phần mềm hoặc hệ thống.
- Kiểm thử bảo trì cho việc thay đổi: Bao gồm việc lập kế hoạch cải tiến thay đổi như là lập kế hoạch nâng cấp cơ sở dữ liệu, nâng cấp hoặc thay đổi hệ điều hành. - Kiểm thử bảo trì cho việc di chuyển: Bao gồm kiểm tra hoạt động của môi trường
mới, các phần mềm đã thay đổi. Kiểm thử di chuyển (kiểm thử chuyển đổi) cũng cần thiết khi dữ liệu từ một ứng dụng khác sẽ được di chuyển vào hệ thống đang được bảo trì.
1 Một thủ tục để lấy hoặc chọn các Test Case dựa trên phân tích cấu trúc bên trong của một thành phần hoặc hệ thống.
29
- Kiểm thử bảo trì cho việc rút lui của một hệ thống: Bao gồm kiểm thử việc chuyển đổi dữ liệu hoặc lưu trữ dữ liệu
- Kiểm thử bảo trì bao gồm việc kiểm thử hồi quy đến các bộ phận được thay đổi của hệ thống.
- Phạm vi của kiểm thử bảo trì liên quan đến rủi ro của việc thay đổi, kích thước của hệ thống hiện có, và kích thước của sự thay đổi.
- Kiểm thử bảo trì được thực hiện tại bất kỳ hoặc ở tất cả các mức độ kiểm thử , hoặc tất cả các loại kiểm thử .
- Việc kiểm thử bảo trì có thể gặp khó khăn nếu kỹ thuật lỗi thời hoặc người kiểm thử không am hiểu, khơng có sẵn các kiển thức về lĩnh vực nghiệp vụ mà phần mềm đó phụ trách.
BÀI TẬP: Trong một phần mềm quản lý quán cafe, module “Bán hàng” của phần mềm
được đặc tả như sau:
1. Màn hình 1- Lập hóa đơn bán hàng tại bàn đã chọn:
Sau khi chọn bàn, chương trình sẽ hiện ra màn hình hóa đơn và màn hình thực đơn để người sử dụng thực hiện lập hóa đơn bán hàng.
30
Các bước thực hiện bán hàng tại bàn đã chọn:
- Chọn món: Click vào các món cần bán trên thực đơn (bên phải hình trên), nếu 1 bàn có món có số lượng n thì click n lần vào món đó tại thực đơn.
- Người dùng có thể hiệu chỉnh số lượng trong cột “Số lượng” và hiệu chỉnh chiết khấu trong cột “CK %” cho từng món thức uống.
- Nếu khách hàng có nhu cầu chuyển bàn ta thực hiện chức năng “Chuyển bàn” bằng cách nhấn vào button “Chuyển bàn (F3)”.
2. Màn hình 2 - Chức năng chuyển bàn:
Các bước thực hiện chuyển bàn:
Chọn khu vực và bàn cần chuyển tới. Khu vực bao gồm: Phải; Trái; Mặt tiền; Sân thượng.
Chọn món cần chuyển qua bàn mới.
Click vào mũi tên “>” để tiến hành chuyển từng món.
Click vào “>>” để chuyển tất cả các món qua bàn mới.
Nhấn nút “Lưu lại” để hoàn tất việc chuyển bàn hoặc nhấn nút “Hủy bỏ” để hủy bỏ việc chuyển bàn.
3. Màn hình 3 - Chức năng “Thanh tốn”:
Chức năng “Thanh toán”: được thực hiện khi kết thúc giao dịch và tính tiền cho khách hàng. Nhấn vào button “Thanh tốn (F1)” trên màn hình 1 sẽ xuất hiện màn hình chức năng thanh tốn như sau:
31
Khách hàng có thể thanh tốn bằng tiền mặt, Voucher hoặc thanh toán bằng thẻ (thẻ ngân hàng, thẻ visa,…).
Người sử dụng nhấn nút “Lưu lại” để hoàn tất giao dịch hoặc nhấn nút “Hủy bỏ” để hủy bỏ giao dịch.
Lưu ý: Tiền thanh toán phải lớn hơn hoặc bằng số tiền phải trả thì chương trình mới
cho lưu.
Nếu số tiền thanh tốn lớn hơn số tiền phải trả thì trên màn hình “Thanh tốn” sẽ hiện ra số tiền trả lại cho người dùng tại Label “Trả lại”.
Yêu cầu: Hãy viết Test Cases để kiểm thử các chức năng trên, trong đó:
- Viết ít nhất 25 Test Cases kiểm thử Màn hình 1- Lập hóa đơn bán hàng tại bàn đã chọn.
- Viết ít nhất 15 Test Cases kiểm thử Màn hình 2- Chức năng chuyển bàn. - Viết ít nhất 10 Test Cases kiểm thử màn hình 3- Chức năng thanh tốn.
32