Tìm hiểu về Functional Testing

Functional Testing

Functional Testing là gì

Kiểm thử chức năng (Functional Testing) là một loại kiểm thử hộp đen (black box testing) và test case của nó được dựa trên đặc tả của ứng dụng phần mềm/thành phần đang test. Các chức năng được test bằng cách nhập vào các giá trị nhập và kiểm tra kết quả đầu ra, và ít quan tâm đến cấu trúc bên trong của ứng dụng.

Mục đích của Functional Testing

Với kiểm thử đơn vị ta phát hiện sự khác biệt giữa đặc tả giao tiếp của đơn vị và thực tế mà đơn vị này cung cấp.
Với kiểm thử hệ thống ta chỉ ra rằng chương trình không tương thích với các mục tiêu ban đầu của nó. Thì với kiểm thử chức năng ta sẽ hoàn thiện nốt phần cần xác minh còn lại là chỉ ra rằng chương trình không tương thích với các đặc tả bên ngoài của nó.

Các kỹ thuật Functional Testing

Cách tiếp cận Functional Testing

Functional Testing là “xác nhận – verify – một ứng dụng bằng cách kiểm tra nó dựa vào các tài liệu thiết kế hoặc đặc tả kỹ thuật”, còn kiểm thử hệ thống là “xác minh – validate – chương trình bằng cách kiểm tra nó dựa vào các yêu cầu của người dùng hoặc hệ thống.
Functional Testing thường bao gồm 5 bước:

  • Xác định các chức năng mà phần mềm mong muốn sẽ thực hiện
  • Tạo ra các dữ liệu đầu vào dựa trên các tài liệu đặc tả kỹ thuật của các chức năng
  • Xác định kết quả đầu ra dựa trên các tài liệu đặc tả kỹ thuật của các chức năng
  • Thực hiện các trường hợp kiểm thử
  • So sánh kết quả thực tế và kết quả mong muốn.

Functional Testing
Các kỹ thuật cụ thể gồm: ƒ

  • User Navigation Testing ƒ
  • Transaction Screen Testing ƒ
  • Transaction Flow Testing ƒ
  • Report Screen Testing ƒ
  • Report Flow Testing ƒ
  • Database Create/Retrieve/Update/Delete Testing

1. User Navigation Test

Các màn hình phục vụ duyệt thực hiện chức năng là màn hình log on/log off, menu bar và hệ thống cây phân cấp các option để thực hiện chức năng, toolbar, tất cả các mối liên kết từ màn hình này tới màn hình khác để thể hiện sự liên tục của hoạt động nghiệp vụ đang cần thực hiện.
Kiểm thử khả năng duyệt chức năng của người dùng tập trung trên:

  • Khả năng người dùng login vào hệ thống với quyền hạn thích hợp.
  • Di chuyển qua các màn hình mong muốn 1 cách đúng đắn và logout khỏi phần mềm.

2. Transaction screen Test

Màn hình thao tác có các field nhập liệu, list chọn option, các options, các button chức năng (Add, Change, Delete, Submit, Cancel, OK…).
Một vài loại kết quả có thể được hiển thị trên màn hình thao tác sau khi người dùng click button chức năng nào đó. Công việc của người kiểm thử :

  • Thiết kế test case để xác thực hoạt động của mỗi field dữ liệu, list, option và button trên màn hình giao tác theo các yêu cầu nghiệp vụ, tài liệu người dùng và tài liệu người quản trị.
  • Nếu kết quả được hiển thị trên màn hình thao tác, thì kỹ thuật kiểm thử hộp đen với test case gồm (data input, output kỳ vọng) sẽ được dùng để xác thực kết quả hiển thị.

3. Transaction Flow Test

Kiểm tra kết quả tổng hợp của nhiều màn hình thao tác theo thứ tự duyệt đúng có hoàn thành hoạt động nghiệp vụ tương ứng không? 
Ví dụ nghiệp vụ cập nhật profile khách hàng gồm các màn hình thao tác sau: ƒ

  • màn hình 1 cập nhật tên, địa chỉ, contact.
  • Màn hình 2 cập nhật credit.
  • Màn hình 3 cập nhật thông tin thanh toán và khuyến mãi.
  • Màn hình 4 tổng kết profile và thực hiện cập nhật.
  • Màn hình 5 để xem kết quả profile đã cập nhật. ƒ

Kết quả cuối cùng của trình tự các màn hình là file hay database sẽ ₫ược cập nhật để chứa các thông tin mà người dùng ₫ã cập nhật thông qua các màn hình thao tác.
Nhiệm vụ của người kiểm thử : ƒ

  • Xác thực rằng nếu người dùng thực hiện đúng trình tự các màn hình thao tác và hoàn tất được chúng thì hệ thống sẽ cung cấp kết quả đúng. ƒ
  • Ngược lại, nếu người dùng không tuân thủ bất kỳ 1 qui luật nghiệp vụ nào trong 1 màn hình thao tác nào thì hệ thống sẽ không cung cấp kết quả gì cho người dùng.

4. Report screen Test

Màn hình report cho phép tìm kiếm dữ liệu và hiển thị kết quả (không cần nhập dữ liệu như màn hình giao tác).

Khó khăn trong Report screen Test nằm ở chỗ có nhiều cách mà người dùng có thể đặc tả dữ liệu cần được tìm kiếm (tiêu chuẩn) và cách thức dữ liệu này ₫ược hiển thị (sắp xếp và định dạng).
Công việc của người kiềm thử:

  • chú ý đặc biệt vào dữ liệu tìm kiếm và hiển thị vì người dùng có thể chọn sai dữ liệu hay tệ hơn là không có kết quả nào được hiển thị.

5. Report Flow Test

Kiểm thử các khác biệt giữa kết quả hiển thị trong màn hình report và các phương thức report khác (như máy in, file,..).
Nhiệm vụ của người kiểm thử : ƒ

  • Xác định xem phần mềm gởi cùng kết quả ra màn hình report và máy in ?
  • Xác thực kết quả report trên tất cả phương thức báo cáo khác nhau được hỗ trợ bởi phần mềm.
  • Xác định xem khả năng máy in có hỗ trợ font, vùng chọn được người dùng xác định trong màn hình report ?

6. Kiểm thử Create/Retrieve/Update/Delete database

Thường được thực hiện thông qua 2 bước :

  • Kiểm thử việc thiết kế, khởi tạo database ban đầu thông qua tiện ích bên ngoài phần mềm ứng dụng cần kiểm thử.
  • Kiểm thử việc phần mềm sử dụng database ₫ã ₫ược thiết kế và khởi tạo ₫úng. Đòi hỏi sự hợp tác và cộng tác giữa người kiểm thử và người quản trị database.

Nguồn: Guru99