Kiểm thử chức năng là một nhóm kiểm thử rất rộng. Kiểm thử chức năng bao gồm nhiều phƣơng pháp kiểm thử FAST, TOFT, kiểm thử biên, FET, kiểm thử dạng khám phá và các kỹ thuật khác.
3.2.1.Kiểm thử đơn giản chấp nhận chức năng
Kiểm thử đơn giản chấp nhận chức năng (function acceptance simple testing- FAST) là mức thứ hai của kiểm thử chấp nhận (so với kiểm thử chấp nhận phát hành (release acceptance testing-RAT). Thay vì chỉ bao gồm một số chức năng cơ bản của ứng dụng nhƣ trong RAT, kiểm thử FAST bao phủ các chức năng theo chiều rộng,
Khoa Công Nghệ Thông Tin Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Học viên: Nguyễn Thị Ngọc Hƣơng
nhƣng không theo chiều sâu. Kiểm thử FAST thực thi mức thấp nhất chức năng mỗi lệnh của một chƣơng trình. Sự kết hợp các chức năng không đƣợc kiểm thử trong phạm vi của kiểm thử FAST. Vấn đề này đƣợc xem xét trong kiểm thử hƣớng tác vụ (task-oriented funcyional testing-TOFT) . Trong môi trƣờng Web, kiểm thử FAST cần kiểm tra:
Các liên kết, nhƣ liên kết nội dung, liên kết thumbnail, liên kết bitmap và liên kết ánh xạ ảnh
Các điều khiển cơ bản, nhƣ điều hƣớng tiến và lùi (backward and
forward navigating), phóng to và thu nhỏ, các điều khiển giao diện khác, và các kiểm tra tải lại nội dung (content-refreshing)
Kiểm tra các lệnh hành động nhƣ thêm, xóa, cập nhật, và các loại xử lý dữ liệu khác, tạo hồ sơ ngƣời dùng (user profile) hay tài khoản ngƣời dùng, bao gồm tài khoản email, tài khoản cá nhân, tài khoản nhóm, kiểm thử dữ liệu đầu vào.
Một số lỗi đơn giản có thể tìm thấy trong tiến trình này gồm:
Liên kết bị đứt Hình ảnh bị thiếu Liên kết không đúng Hình ảnh không đúng
Liên kết đúng nhƣng không có nội dung hoặc nội dung không cập nhật Lỗi trong tính toán đặt mua hàng
Bỏ qua sự phân loại thẻ tín dụng Chấp nhận thẻ tín dụng đã hết hạn
Chấp nhận thẻ tín dụng có số không hợp lệ
Nội dung không đúng hoặc ngữ cảnh trả lời email tự động không đúng Không thông minh trong kiểm tra địa chỉ
Trình chủ không trả lời lỗi DNS (Domain Name Service) không có thông điệp cập nhật trình chủ gửi đến ngƣời dùng
Không có khả năng kiemr tra các địa chỉ email không hợp lệ của ngƣời dùng
3.2.2.Kiểm thử chức năng hƣớng tác vụ
Kiểm thử chức năng hƣớng tác vụ (task-oriented funtional testing-TOFT) là
kiểm tra xem ứng dụng có thể thực hiện các công việc hữu ích một cách đúng dắn hay không. Kiểm thử chức năng hƣớng tác vụ là những kiểm thử nhằm kiểm tra các chức năng của chƣơng trình bằng cách so sánh kết quả của các công việc đƣợc thực hiện với tài liệu đặc tả sản phẩm và đặc tả yêu cầu, nếu có, hoặc so sánh với mong đợi hợp lý của ngƣời dùng. Kiểm thử chức năng hƣớng tác vụ cũng kiểm tra độ chính xác và toàn
Khoa Công Nghệ Thông Tin Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Học viên: Nguyễn Thị Ngọc Hƣơng
vẹn của mỗi tác vụ riêng rẽ mà chƣơng trình thực hiện. Nếu hành vi hay kết quả khác với đặc tả trong yêu cầu sản phẩm thì sẽ báo cáo lỗi.
Các kiểm thử TOFT đƣợc thực hiện với một danh sách các chức năng cần đƣợc kiểm thử. Để có đƣợc danh sách các chức năng cần kiểm thử, đặc tả sản phẩm cần đƣợc phân tích kỹ lƣỡng. Sản phẩm cũng cần đƣợc kiểm tra xem có chức năng nào không đƣợc định rõ hoặc hoàn toàn không có trong đặc tả hay không. Tóm lại, tất cả các chức năng đều trở thành một mục trong danh sách các chức năng cần kiểm thử. Các tác động cạnh tranh và yêu cầu thị trƣờng cũng cần đƣợc xem xét khi phát triển những chi tiết trong danh sách. Ví dụ, nếu áp lực cạnh tranh yêu cầu cầu một chức cần đƣợc thực thi trong vòng ít hơn hai giây, thì yêu cầu này nên đƣợc thêm vào danh sách các chức năng cần kiểm thử. Mỗi mục trong danh sách có thể đƣợc sử dụng để định nghĩa một ca kiểm thử nhằm kiểm tra xem những yêu cầu của chức nƣng đó có đƣợc thỏa mãn hay không
3.2.3. Kỹ thuật kiểm thử lỗi ép buộc
Kiểm thử lỗi ép buộc (forced-error tests- FET) cố ý tạo ra những điều kiện lỗi
phần mềm. Mục tiêu của FET là tìm các điều kiện lỗi không đƣợc phát hiện và/ hoặc bị xử lý sai. Các điều kiện lỗi cần đƣợc xử lý một cách hợp lý; nhĩa là, ứng dụng phục hồi thành công, hệ thống phục hồi thành công, hay ứng dụng thoát mà không làm hỏng dữ liệu và vẫn có cơ hội lƣu giữ công việc đang làm. Giả sử rằng bạn đang kiểm tra các trƣờng văn bản (text fields) trong một mẫu đăng ký trực tuyến và đặc tả chƣơng trình không cho phép nhập vào các ký hiệu khoogn phải ký tự vào trong trƣờng Name. Một điều kiện lỗi sẽ đƣợc sinh ra nếu bạn nhập vào ―123456‖ (hoặc các chuỗi bất kỳ không phải dạng ký tự) và chọn nút Submit.
3.2.4.Kỹ thuật kiểm thử điều kiện biên và phân tích lớp tƣơng đƣơng
Kiểm thử điều kiện biên (boundary condition test) tƣơng tự nhƣ kiểm thử ép
buộc lỗi, trong đó các biên của mỗi biến đƣợc kiểm thử.
Ví dụ: Khi kiểm thử một mẫu đăng ký trực tuyến, bạn cần kiểm tra một trƣờng
văn bản với một giới hạn từ hai đến bảy ký tự có hoạt động nhƣ mong đợi hay không. Trƣờng đó có chấp nhận hai, ba, sáu và bảy ký tự không…?
Kiểm thử biên là mở rộng của kiểm thử hƣớng tác vụ TOFT và kiểm thử ép buộc lỗi FET, giữa các loại kiểm thử có sự chồng chéo lẫn nhau.
3.2.5.Kỹ thuật kiểm thử dạng khám phá
Kiểm thử dạng khám phá (exploratory testing) là tiến trình đánh giá và quan sát
hành vi của sản phẩm, cũng nhƣ giả thiết về hành vi của nó. Kiểm thử dạng khám phá bao gồm thực thi các ca kiểm thử và tạo ra các ca kiểm thử mới nhờ thông tin thu thập
Khoa Công Nghệ Thông Tin Đại Học Công Nghệ - Đại Học Quốc Gia Hà Nội
Học viên: Nguyễn Thị Ngọc Hƣơng
đƣợc từ kết quả của các kiểm thử trƣớc đó. Thực thi kiểm thử bao gồm cài đặt một môi trƣờng, tạo ra các dữ liệu vào tấn công chƣơng trình, quan sát kết quả của chƣơng trình, đánh giá những gì học đƣợc và sau đó bắt đầu kiểm thử tiếp theo.
Kiểm thử dạng khám phá có các tên và dạng khác. Kiểm thử dạng khám phá còn đƣợc gọi là kiểm thử phi cấu trúc hay kiểm thử phi hình thức. Kiểm thử dạng khám phá là một chiến lƣợc kiểm thử đƣợc xem là ngƣợc lại với chiến lƣợc có phƣơng pháp.