Xu Hướng 12/2023 # Kiểm Thử Chức Năng Và Kiểm Thử Phi Chức Năng Là Gì # Top 21 Xem Nhiều

Bạn đang xem bài viết Kiểm Thử Chức Năng Và Kiểm Thử Phi Chức Năng Là Gì được cập nhật mới nhất tháng 12 năm 2023 trên website Nhatngukohi.edu.vn. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất.

Nếu các bạn là dân tester thì rất quen thuộc với những phương pháp kiểm thử cơ bản Functional vs. Non-functional Testing. Hôm nay Testerprovn sẽ giới thiệu về kiểm thử chức năng và kiểm thử phi chức năng (Functional vs. Non-functional Testing) .

Kiểm thử chức năng (Functional Testing)

Kiểm thử chức năng (hay Functional Testing) là một trong các quy trình đảm bảo chất lượng của lĩnh vực kiểm thử phần mềm. Đây là một loại kiểm thử hộp đen (black box testing), tức là các trường hợp nó cần xét đến sẽ dựa vào đặc tả của ứng dụng/phần mềm hoặc hệ thống đang thử nghiệm. Các chức năng sẽ được kiểm tra bằng cách nhập các giá trị đầu vào và sau đó sẽ kiểm tra, đánh giá các kết quả đầu ra mà không cần quan tâm đến các cấu trúc hay cài đặt bên trong của ứng dụng.

Kiểm thử chức năng bao gồm kiểm tra ứng theo yêu cầu hoạt động thực tế của phần mềm. Kết hợp tất cả các phương pháp kiểm thử được thiết kế để đảm bảo từng phần một của phần mềm hoạt động như mong đợi, bằng cách sử dụng các trường hợp sử dụng (uses cases) được cung cấp bởi nhóm thiết kế hoặc nhà phân tích kinh doanh (BA). Các phương pháp kiểm tra này thường được tiến hành theo thứ tự và bao gồm:

_ Kiểm thử đơn vị (Unit testing) _ Kiểm thử tích hợp (Integration testing) _ Kiểm thử hệ thống (System testing) _ Kiểm thử chấp nhận (Acceptance testing)

Thông thường kiểm thử chức năng sẽ tiến hành theo 6 bước sau:

Xác định các chức năng mà phần mềm dự kiến sẽ làm (dựa vào đặc tả của phần mềm)

Xác định bộ dữ liệu đầu vào dựa trên các thông số kỹ thuật của chức năng

Xác định bộ dữ liệu đầu ra dựa trên các thông số kỹ thuật của chức năng

Viết và thực thi các trường hợp kiểm thử (test case)

So sánh kết quả đầu ra chuẩn bị ở bước 3 và kết quả thực tế

Dựa vào nhu cầu của khách hàng để đánh giá xem kết quả ở bước 5 có phù hợp hay không

2. Kiểm thử phi chức năng (Non-functional Testing)

Các phương pháp kiểm thử phi chức năng kết hợp tất cả các loại kiểm thử tập trung vào các khía cạnh hoạt động của một phần mềm. Bao gồm:

_Kiểm thử hiệu suất (Performance testing) _Kiểm thử bảo mật (Security testing) _Kiểm thử khả năng sử dụng (Usability testing) _Kiểm thử khả năng tương thích (Compatibility testing) Chìa khóa để phát hành phần mềm chất lượng cao mà người dùng cuối có thể dễ dàng chấp nhận là xây dựng một mô hình kiểm thử toàn diện, trong đó bao gồm đồng bộ kiểm thử chức năng và phi chức năng.

Đặc điểm của kiểm thử phi chức năng

Kiểm thử phi chức năng không thể đo lường, vì vậy không có chỗ cho đặc tính chủ quan như tốt, tốt hơn, tốt nhất, v.v.

Các con số chính xác không thể được biết khi bắt đầu quy trình

Các yêu cầu quan trọng được ưu tiên

Đảm bảo rằng các thuộc tính chất lượng được xác định chính xác trong Kỹ thuật phần mềm.

Kiểm Thử Phi Chức Năng Là Gì?

Testing được chia thành 2 loại:

Kiểm thử chức năng

Kiểm thử phi chức năng

Kiểm thử chức năng là gì?

Kiểm thử chức năng, như tên cho thấy, là xác nhận tất cả các chức năng của hệ thống. Nó đánh giá ứng dụng và xác nhận liệu ứng dụng có đang hoạt động theo yêu cầu hay không.

Các loại Kiểm thử chức năng bao gồm:

Kiểm thử đơn vị (Unit Testing)

Kiểm thử khói (Smoke Testing – check nhanh xem hệ thống có khởi động được hay không)

Kiểm thử độ tỉnh táo (Sanity Testing – check nhanh xem sau khi sửa đổi thì function có hoạt động như mong muốn hay không)

Kiểm thử giao diện (Interface Testing)

Kiểm thử tích hợp (Integration Testing)

Kiểm thử hệ thống (Systems Testing)

Kiểm thử hồi quy (Regression Testing)

Kiểm thử chấp nhận (Acceptance testing)

Kiểm thử phi chức năng là gì?

Ứng dụng làm việc trong điều kiện bình thường như thế nào?

Ứng dụng hành xử như thế nào khi quá nhiều người dùng đăng nhập đồng thời?

Ứng dụng có thể chịu được tải lớn không?

Ứng dụng bảo mật tới mức nào?

Ứng dụng có thể phục hồi từ bất kì sự cố nào hay không?

Ứng dụng có thể hành xử đồng nhất trong nhiều môi trường hay OS khác nhau không?

Đưa ứng dụng lên hệ thống khác nhau có dễ dàng không?

Tài liệu/Hướng dẫn sử dụng được cung cấp kèm ứng dụng có dễ hiểu hay không?

2. Kiểm thử tải lượng: Đánh giá xem liệu hiệu suất của hệ thống có được như mong đợi trong điều kiện bình thường và điều kiện thử nghiệm hay không. Những điểm mấu chốt là: 3. Kiểm thử áp lực: Đánh giá xem liệu hiệu suất của hệ thống có được như mong đợi sử dụng hết tài nguyên hay không. Những điểm mấu chốt là:

Áp dụng một lượng lớn dữ liệu và kiểm tra giới hạn nơi các phần mềm bị lỗi.

Kích thước cơ sở dữ liệu tối đa được tạo ra và nhiều truy vấn của khách hàng vào cơ sở dữ liệu hoặc tạo báo cáo lớn hơn.

Ví dụ: Nếu ứng dụng đang xử lý cơ sở dữ liệu để tạo ra một báo cáo, một bài kiểm thử quy mô sẽ thường là sử dụng một tập kết quả lớn và kiểm tra báo cáo được in một cách chính xác hay không.

5. Kiểm thử tính khả dụng: Xem xét tính dễ sử dụng cho người dùng. Những điểm mấu chốt là: 6. Kiểm thử giao diện người dùng: Đánh giá GUI. Những điểm mấu chốt là: 7. Kiểm thử tính tương thích: Đánh giá xem ứng dụng có tương thích với phần cứng/phần mềm khác mà có cấu hình tối thiểu hoặc tối đa hay không. Những điểm mấu chốt là:

Ngắt điện ở máy khách trong khi ứng dụng đang làm việc.

Con trỏ và khóa trong cơ sở dữ liệu không hợp lệ.

Tiến trình Cơ sở dữ liệu bị hủy bỏ hoặc chấm dứt trước khi hoàn thành.

Con trỏ, các trường và giá trị của Cơ sở dữ liệu bị phá hoại thủ công và trực tiếp từ server.

Ngắt kết nối dây mạng, tắt bật các router và máy chủ mạng.

9. Kiểm tra tính ổn định: Đánh giá và xác nhận rằng phần mềm được cài đặt và tháo gỡ một cách chính xác. Những điểm mấu chốt là:

Xác nhận rằng các thành phần hệ thống được cài đặt đúng trên phần cứng được chỉ định.

Xác nhận có thể điều hướng trên máy tính mới, cập nhật các bản cài đặt hiện có và các phiên bản cũ.

Xác nhận rằng nếu thiếu không gian đĩa thì cũng không xảy ra hành vi khó chấp nhận.

10. Kiểm tra tài liệu: Đánh giá các tài liệu và hướng dẫn sử dụng.

Xác nhận rằng các tài liệu được tuyên bố có sẵn trong sản phẩm.

Xác nhận tất cả những gì hướng dẫn sử dụng, hướng dẫn cài đặt, file ghi chú, thay đổi cập nhật và trợ giúp trực tuyến đều sẵn sàng.

Kết luận:

Kiểm thử phi chức năng là khía cạnh rất quan trọng của việc đảm bảo chất lượng và giống như Kiểm thử chức năng, Kiểm thử phi chức năng cũng đòi hỏi chiến lược và lập kế hoạch. Chúng ta có thể bao gồm thông tin chi tiết về Kiểm thử phi chức năng trong kế hoạch kiểm thử hoặc có thể viết ra một chiến lược riêng biệt và lên kế hoạch cho nó. Trong cả hai trường hợp, mục tiêu là để có thể bao quát được tất cả các khía cạnh phi chức năng của phần mềm.

All Rights Reserved

Kiểm Thử Phi Chức Năng

1. Kiểm thử phi chức năng (Non-Functional Testing) là gì?

Kiểm thử phi chức năng được định nghĩa là một loại kiểm thử Phần mềm để kiểm thử các khía cạnh phi chức năng (hiệu suất, khả năng sử dụng, độ tin cậy, v.v.) của ứng dụng phần mềm. Nó được thiết kế để kiểm thử mức độ sẵn sàng của một hệ thống theo các tham số phi chức năng mà không được giải quyết bằng kiểm thử chức năng.

Một ví dụ về Kiểm thử phi chức năng là kiểm thử xem có bao nhiêu người có thể đăng nhập đồng thời vào một phần mềm.

Kiểm thử phi chức năng cũng quan trọng không kém như kiểm thử chức năng và ảnh hưởng đến sự hài lòng của khách hàng.

2. Mục tiêu của kiểm thử phi chức năng

Kiểm thử phi chức năng sẽ tăng khả năng sử dụng, hiệu quả, khả năng bảo trì và tính di động của sản phẩm.

Tối ưu hóa cách cài đặt sản phẩm, thiết lập, thực thi, quản lý và giám sát.

Thu thập và xây dựng các thước đo và số liệu phục vụ cho nghiên cứu và phát triển nội bộ.

Cải thiện và nâng cao kiến ​​thức về khả năng và công nghệ sản phẩm đang sử dụng.

3. Đặc điểm của Kiểm thử phi chức năng

Kiểm thử phi chức năng không thể đo lường, vì vậy không có chỗ cho đặc tính chủ quan như tốt, tốt hơn, tốt nhất, v.v.

Các con số chính xác không thể được biết khi bắt đầu quy trình

Các yêu cầu quan trọng được ưu tiên

Đảm bảo rằng các thuộc tính chất lượng được xác định chính xác trong Kỹ thuật phần mềm.

4. Các tham số trong Kiểm thử phi chức năng 1) Bảo mật

Tham số xác định cách hệ thống được bảo vệ an toàn trước các cuộc tấn công có chủ ý và đột ngột từ các nguồn bên trong và bên ngoài. Điều này được kiểm thử thông qua Kiểm thử bảo mật.

2) Độ tin cậy

Mức độ mà bất kỳ hệ thống phần mềm nào liên tục thực hiện các chức năng được chỉ định mà không gặp sự cố. Điều này được kiểm thử bởi Kiểm thử độ tin cậy

3) Khả năng phục hồi

Xác minh rằng hệ thống phần mềm tiếp tục hoạt động và tự phục hồi trong trường hợp lỗi hệ thống. Điều này được kiểm tra bằng kiểm thử phục hồi

4) Khả dụng

Xác định mức độ mà người dùng có thể phụ thuộc vào hệ thống trong quá trình hoạt động. Điều này được kiểm thử bằng Kiểm thử tính ổn định.

5) Khả năng sử dụng

Người dùng có thể dễ dàng học hỏi, vận hành, chuẩn bị đầu vào và đầu ra thông qua tương tác với hệ thống. Điều này được kiểm thử bởi Kiểm thử khả năng sử dụng

6) Khả năng mở rộng

Thuật ngữ này đề cập đến mức độ mà bất kỳ ứng dụng phần mềm nào cũng có thể mở rộng khả năng xử lý của nó để đáp ứng nhu cầu gia tăng. Điều này được kiểm thử bằng khả năng mở rộng

7) Khả năng tương tác

Tham số phi chức năng này kiểm thử giao diện hệ thống phần mềm với các hệ thống phần mềm khác. Điều này được kiểm thử bởi Kiểm thử khả năng tương tác

8) Hiệu quả

Mức độ mà bất kỳ hệ thống phần mềm nào cũng có thể xử lý dung lượng, số lượng và thời gian phản hồi.

9) Linh hoạt

Thuật ngữ này đề cập đến ứng dụng có thể hoạt động dễ dàng trong các cấu hình phần cứng và phần mềm khác nhau. Giống như RAM tối thiểu, yêu cầu CPU.

10) Tính di động

Tính di động của phần mềm để chuyển từ môi trường phần cứng hoặc phần mềm hiện tại của nó.

11) Tái sử dụng

Đề cập đến một phần của hệ thống phần mềm có thể được chuyển đổi để sử dụng trong một ứng dụng khác.

5. Các loại kiểm thử phần mềm

Nói chung, có ba loại kiểm thử:

Trong các loại kiểm thử này, bạn có nhiều Cấp độ KIỂM THỬ, nhưng thông thường, chúng ta gọi là Loại kiểm thử. Bạn có thể tìm thấy một số khác biệt của phân loại trên qua các cuốn sách và tài liệu tham khảo khác nhau.

Danh sách trên không đầy đủ vì có hơn 100 loại kiểm thử. Không cần phải lo lắng, bạn sẽ dần dần tìm hiểu tất cả các loại kiểm thử trong tương lai, khi bạn xác định lâu dài với nghề kiểm thử. Ngoài ra, lưu ý rằng không phải tất cả các loại kiểm thử đều áp dụng cho tất cả các dự án mà phụ thuộc vào tính chất và phạm vi của dự án.

6. Các loại kiểm thử phi chức năng

Kiểm thử hiệu suất – Performance Testing

Kiểm thử tải – Load Testing

Kiểm thử chuyển đổi dự phòng – Failover Testing

Kiểm thử bảo mật – Security Testing

Kiểm thử khả năng tương thích – Compatibility Testing

Kiểm thử khả năng sử dụng – Usability Testing

Kiểm thử về áp lực – Stress Testing

Kiểm thử bảo trì – Maintainability Testing

Kiểm thử khả năng mở rộng – Scalability Testing

Kiểm thử khối lượng – Volume Testing

Kiểm thử bảo mật – Security Testing

Kiểm thử phục hồi – Disaster Recovery Testing

Kiểm thử tuân thủ – Compliance Testing

Kiểm thử tính di động – Portability Testing

Kiểm thử tính hiệu quả – Efficiency Testing

Kiểm thử độ tin cậy – Reliability Testing

Kiểm thử đường cơ sở – Baseline Testing

Kiểm thử độ bền – Endurance Testing

Kiểm thử tài liệu – Documentation Testing

Kiểm thử khôi phục – Recovery Testing

Kiểm thử quốc tế hóa – Internationalization Testing

Kiểm thử nội địa hóa – Localization Testing

7. Ví dụ test cases Kiểm thử phi chức năng

1

Thời gian tải ứng dụng không được quá 5 giây, tối đa 1000 người dùng truy cập cùng lúc

Kiểm thử hiệu suất

2

Phần mềm nên được cài đặt trên tất cả các phiên bản Windows và Mac

Kiểm thử khả năng tương thích

3

Tất cả các hình ảnh trên trang web nên có thẻ alt

Kiểm thử khả năng tiếp cận

Kiểm Thử Phi Chức Năng Và Abnormal

Khi lập kế hoạch kiểm thử xung quanh một dự án phần mềm, chúng ta có xu hướng chỉ nghĩ về các chức năng chính và mục tiêu cuối cùng, giảm thiểu các trường hợp về những gì dự án phần mềm thực sự cần để đạt được.

Những yêu cầu phi chức năng và trường hợp abnormal thường không được dự tính, hoặc được đánh giá thấp hoặc được tự động chấp thuận.

Tuy nhiên trong nhiều trường hợp, điều không tốt của sản phẩm có thể xảy ra và nó thường tiềm ẩn trong các yêu cầu phi chức năng, các trường hợp abnormal.

Vì vậy, việc đưa các kịch bản kiểm thử phi chức năng và trường hợp abnormal trở thành một phần trong quá trình lập kế hoạch và ước tính là điều cần thiết.

1. Non_Functional case (phi chức năng):

Security (Bảo mật)

Ứng dụng có cần kiểm soát người truy cập và session hay không?Có cần lưu trữ dữ liệu ở vị trí an toàn, với định dạng an toàn không?Có yêu cầu đảm bảo đường dẫn kết nối cho dữ liệu không?

Concurrency and Capacity (Đồng thời và chịu tải)

Hệ thống có thể xử lý đồng thời và có khả năng tương tác với hệ thống khác không? Số lượng người dùng đồng thời tối thiểu, trung bình, tối đa là bao nhiêu? Bao nhiêu dữ liệu có thể lưu trữ trên hệ thống và lưu trữ trong bao lâu? Có mức độ tối đa cho việc truyền dữ liệu không?

Performance (Hiệu năng)

Giá trị mong muốn hệ thống đáp ứng là bao nhiêu? Hiệu năng thường được đánh giá bằng thời gian.

Reliability (Độ tin cậy)

Có cần phải đảm bảo và thông báo về các giao dịch và xử lý hệ thống? Dữ liệu được chuyển giao một cách đáng tin cậy và sử dụng các giao thức đáng tin cậy hay không?

Maintainability (Khả năng bảo trì)

Bảo trì có thể biểu hiện khả năng mở rộng để phát triển và cải thiện các tính năng hệ thống và chức năng.

Usability (Tính khả dụng)

Áp dụng các yêu cầu trải nghiệm người dùng vào dự án (Để tiết kiệm được rất nhiều thời gian khi phát hành dự án vì người dùng sẽ không yêu cầu thay đổi hoặc thậm chí là không gây ra hiểu lầm)

Documentation (Tham khảo)

Cuối cùng nhưng không kém phần quan trọng, tất cả các dự án đều yêu cầu tối thiểu tài liệu ở các cấp độ khác nhau. Trong nhiều trường hợp, người dùng thậm chí có thể cần được đào tạo về nó, vì vậy việc duy trì các tiêu chuẩn và thực hành tài liệu tốt sẽ làm nhiệm vụ này lan truyền dọc theo phát triển dự án; nhưng điều này cũng phải được thiết lập kể từ khi lập kế hoạch dự án để bao gồm nhiệm vụ này trong danh sách

2. Abnormal case:

P/S: áp dụng cho các dự án application trên mobile

Tương tác (Incoming call/ notification message/ Alarm/ Play music)

Phím cứng (Home, Back, lock screen, volumn)

Install app khi bộ nhớ đầy/ bộ nhớ đầy thì có notification

Ví dụ: Bộ nhớ điện thoại gần đầy thì thực hiện install app

Giới Thiệu Về Kiểm Thử Phi Chức Năng

Functional: Kiểm thử chức năng Non – Functional: Kiểm thử phi chức năng Maintenance: Bảo trì

Trong bài viết này mình xin tập trung giới thiệu về kiểm thử phi chức năng (non-functional)

Kiểm thử phi chức năng là gì?

Kiểm thử phi chức năng (non-functional) được định nghĩa là một loại kiểm thử phần mềm để kiểm tra các khía cạnh phi chức năng (hiệu suất, khả năng sử dụng, độ tin cậy, v.v.) của ứng dụng phần mềm. Nó được thiết kế để kiểm tra sự sẵn sàng của một hệ thống theo các tham số không thuộc về chức năng và không bao giờ được giải quyết bằng kiểm thử chức năng.

Một ví dụ về kiểm thử phi chức năng đó là kiểm tra xem có bao nhiêu người có thể đăng nhập đồng thời vào một hệ thống phần mềm.

Kiểm thử phi chức năng cũng quan trọng không kém như kiểm thử chức năng và ảnh hưởng đến sự hài lòng của khách hàng.

Mục tiêu của kiểm thử phi chức năng

Kiểm thử phi chức năng tăng khả năng sử dụng, hiệu quả, khả năng bảo trì và tính di động của sản phẩm.

Tối ưu hóa cách cài đặt sản phẩm, thiết lập, thực thi, quản lý và giám sát.

Thu thập và sản xuất các phép đo, và số liệu cho nghiên cứu và phát triển nội bộ.

Cải thiện và nâng cao kiến thức về hành vi và công nghệ sản phẩm đang sử dụng.

Đặc điểm của kiểm thử phi chức năng

Kiểm thử phi chức năng nên được đo lường, vì vậy không có chỗ cho đặc tính chủ quan như tốt, tốt hơn, tốt nhất, v.v.

Số chính xác không có khả năng được biết khi bắt đầu quá trình yêu cầu.

Quan trọng để ưu tiên các yêu cầu.

Đảm bảo rằng các thuộc tính chất lượng được xác định chính xác trong Kỹ thuật phần mềm.

Các thông số của kiểm thử phi chức năng

1. Security (Bảo mật): Tham số xác định cách hệ thống được bảo vệ an toàn trước các cuộc tấn công có chủ ý và đột ngột từ các nguồn bên trong và bên ngoài.2. Reliability (Độ tin cậy): Mức độ mà bất kỳ hệ thống phần mềm nào liên tục thực hiện các chức năng được chỉ định mà không gặp sự cố.3. Survivability (Khả năng sống sót): Tham số kiểm tra rằng hệ thống phần mềm tiếp tục hoạt động và tự phục hồi trong trường hợp lỗi hệ thống.4. Availability (Tính sẵn có): Tham số xác định mức độ mà người dùng có thể phụ thuộc vào hệ thống trong quá trình hoạt động.5. Usability (Khả năng sử dụng): Người dùng có thể dễ dàng học hỏi, vận hành, chuẩn bị đầu vào và đầu ra thông qua tương tác với một hệ thống.6. Scalability (Khả năng mở rộng): Thuật ngữ này đề cập đến mức độ mà bất kỳ ứng dụng phần mềm nào cũng có thể mở rộng khả năng xử lý của nó để đáp ứng nhu cầu gia tăng.7. Interoperability (Khả năng tương tác): Tham số phi chức năng này kiểm tra giao diện hệ thống phần mềm với các hệ thống phần mềm khác.8. Efficiency (Tính hiệu quả): Mức độ mà bất kỳ hệ thống phần mềm nào cũng có thể xử lý dung lượng, số lượng và thời gian đáp ứng.9. Flexibility (Tính linh hoạt): Thuật ngữ này đề cập đến sự dễ dàng mà ứng dụng có thể hoạt động trong các cấu hình phần cứng và phần mềm khác nhau. Giống như RAM tối thiểu, yêu cầu CPU.10. Portability (Tính di động): Tính linh hoạt của phần mềm để chuyển từ môi trường phần cứng hoặc phần mềm hiện tại của nó.11. Reusability (Tái sử dụng): Nó đề cập đến một phần của hệ thống phần mềm có thể được chuyển đổi để sử dụng trong một ứng dụng khác.

Các loại kiểm thử phi chức năng

Performance Testing (Kiểm thử hiệu năng)

Load Testing (Kiểm thử tải)

Failover Testing (Kiểm thử chuyển đổi dự phòng)

Compatibility Testing (Kiểm thử tương thích)

Usability Testing (Kiểm thử khả năng sử dụng)

Stress Testing (Kiểm thử về áp lực)

Maintainability Testing (Kiểm thử bảo trì)

Scalability Testing (Kiểm thử khả năng mở rộng)

Volume Testing (Kiểm thử khối lượng)

Security Testing (Kiểm thử bảo mật)

Disaster Recovery Testing (Kiểm thử khắc phục thảm họa)

Compliance Testing (Kiểm thử tuân thủ)

Portability Testing (Kiểm thử tính di động)

Efficiency Testing (Kiểm thử hiệu quả)

Reliability Testing (Kiểm thử độ tin cậy)

Baseline Testing (Kiểm thử cơ bản)

Endurance Testing (Kiểm thử độ bền)

Documentation Testing (Kiểm thử tài liệu)

Recovery Testing (Kiểm thử phục hồi)

Internationalization Testing (Kiểm thử quốc tế hóa)

Localization Testing (Kiểm thử nội địa hóa)

Trong những bài viết sau, mình sẽ giới thiệu kĩ hơn về các thông số của kiểm thử phi chức năng và một số loại kiểm thử phi chức năng. Cảm ơn các bạn đã đọc!

All Rights Reserved

Tìm Hiểu Về Kiểm Thử Chức Năng (Functional Testing) Trong Kiểm Thử Phần Mềm

Kiểm thử chức năng (hay Functional Testing) là một trong các quy trình đảm bảo chất lượng của lĩnh vực kiểm thử phần mềm. Đây là một loại kiểm thử hộp đen ( black box testing), tức là các trường hợp nó cần xét đến sẽ dựa vào đặc tả của ứng dụng/phần mềm hoặc hệ thống đang thử nghiệm. Các chức năng sẽ được kiểm tra bằng cách nhập các giá trị đầu vào và sau đó sẽ kiểm tra, đánh giá các kết quả đầu ra mà không cần quan tâm đến các cấu trúc hay cài đặt bên trong của ứng dụng.

Trong kiểm thử phần mềm có nhiều quy trình, mỗi cái lại có một nhiệm vụ khác nhau.

Kiểm thử đơn vị (Unit testing) sẽ kiểm tra sự khác biệt giữa đặc tả giao tiếp của đơn vị với thực tế đơn vị này cung cấp cho phần mềm.

Kiểm thử hệ thống sẽ đánh giá độ phù hợp của phần mềm với mục tiêu đề ra

Còn với kiểm thử chức năng, nó sẽ làm nốt phần còn lại, đánh giá độ phù hợp của phần mềm với các đặc tả bên ngoài của nó, về các hành vi của phần mềm mà người dùng thấy được.

Kiểm thử chức năng cũng đem lại khá nhiều lợi ích, chẳng hạn như tránh được việc kiểm thử dư thừa với các chức năng không cần thiết, hay ngăn chặn sự đa dạng lỗi tại cùng một thời điểm.

Thông thường kiểm thử chức năng sẽ tiến hành theo 6 bước sau:

Xác định các chức năng mà phần mềm dự kiến sẽ làm (dựa vào đặc tả của phần mềm)

Xác định bộ dữ liệu đầu vào dựa trên các thông số kỹ thuật của chức năng

Xác định bộ dữ liệu đầu ra dựa trên các thông số kỹ thuật của chức năng

Viết và thực thi các trường hợp kiểm thử (test case)

So sánh kết quả đầu ra chuẩn bị ở bước 3 và kết quả thực tế

Dựa vào nhu cầu của khách hàng để đánh giá xem kết quả ở bước 5 có phù hợp hay không

Nhìn chung, khi kiểm thử chức năng, giống như những loại kiểm thử khác, chúng ta sẽ cần làm từ đơn giản đến phức tạp.

Đầu tiên và quan trọng nhất, chúng ta cần hiểu được luồng hoạt động, các quy trình vận hành của sản phẩm phần mềm.

Sau đó chúng ta cần xác định được các nghiệp vụ sử dụng của nó

Chúng ta sẽ kiểm thử các chức năng ở từng màn hình riêng biệt, chẳng hạn như màn hình đăng nhập, màn hình profile …

Sau khi kiểm thử từng màn hình chúng ta sẽ kiểm thử một mô đun chứa nhiều màn hình cùng nhóm

Tiếp đến là kiểm thử một vòng hoàn chỉnh của nghiệp vụ và kiểm tra tất cả các vòng

Cuối cùng chúng ta sẽ giả định như mình là người dùng thực tế, định ra các kịch bản đặc biệt và tiến hành kiểm tra nó.

5.1 Kiểm thử điều hướng của người dùng (user navigation testing)

Trong kỹ thuật này, chúng ta sẽ cần kiểm tra một số thành phần , các liên kết giữa màn hình này tới màn hình khác để đảm bảo cho sự hoạt động liên tục của nghiệp vụ đang thực hiện. Có thể kể đến 1 số thành phần như:

Hệ thống đăng nhập, đăng xuất

Hệ thống thanh điều hướng ( navigation bar, sidebar, menubar)

Hệ thống thanh công cụ (toolbar)

Hệ thống cây phân cấp chức năng

Kiểm thử khả năng điều hướng tập trung trên 2 vấn đề

Người dùng đăng nhập vào hệ thống với một số quyền hạn nhất định.

Người dùng thao tác qua các tính năng một cách tự nhiên không bị đứt quãng và sau đó sẽ đăng xuất.

5.2 Kiểm thử thao tác trên màn hình (transaction screen testing)

Thông thường sẽ là các form nhập liệu, hoặc một số các button chức năng, các options lựa chọn. Có 2 loại thường thấy:

Kết quả sẽ được hiển thị ở một trang khác

Kết quả sẽ được hiển thị ở ngay trang hiện tại

5.3 Kiểm thử luồng thực hiện (transaction flow testing)

Với kỹ thuật này, chúng ta cần thực hiện liền mạch một số thao tác qua nhiều bước với nhiều màn hình khác nhau để đánh giá xem có phù hợp với luồng nghiệp vụ không. Chẳng hạn khi chúng ta muốn mở một khóa học trên hệ thống E-learning nào đó, ta cần làm các bước sau:

Màn hình 1 cho phép tạo khóa học với các thông tin cho trước (VD: tên, nội dung, giới thiệu, thời gian học …)

Màn hình 2 cho phép thêm các môn học cho khóa học

Màn hình 3 dùng để thêm giảng viên cho khóa học

Màn hình 4 dùng để thêm học viên hoặc cho phép học viên đăng ký học

Màn hình 5 để xem kết quả khóa học sau khi tạo thành công.

Chúng ta cần xác định 2 trường hợp

Nếu người dùng thao tác đúng quy trình thì kết quả sẽ cho ra đúng như đặc tả yêu cầu.

Nếu người dùng thao tác không đúng dù chỉ một bước thì sẽ không ra được kết quả.

5.4 Kiểm thử màn hình báo cáo (report screen testing)

Không như màn hình thao tác ở phần 5.2, màn hình báo cáo sẽ không yêu cầu phải nhập liệu. Ở đây cái chúng ta cần kiểm tra là cách hiển thị hay tìm kiếm dữ liệu.

Có rất nhiều cách người dùng có thể đặc tả các dữ liệu cần tìm (như bộ lọc hay nhập các điều kiện tìm kiếm) hoặc cách mà dữ liệu được hiển thị (danh sách, bảng biểu, biểu đồ ….)

Chúng ta cần căn cứ vào đặc tả của ứng dụng để phân tích các trường hợp kiểm thử ( test case), có thể có một số trường hợp như lựa chọn giá trị không phù hợp cho bộ lọc (VD: ngày bắt đầu lớn hay ngày kết thúc) hay dữ liệu không được hiển thị đúng (VD: bảng biểu không có tên các cột)

5.5 Kiểm thử luồng báo cáo (report flow testing)

Ở đây chúng ta cần dựa vào tài liệu đặc tả để biết có bao nhiêu loại thể hiện báo cáo được hỗ trợ bởi phần mềm. Một phần mềm bình thường sẽ có thể hiển thị báo cáo lên màn hình, hoặc là in ra file, in ra giấy bằng máy in. Chúng ta cần đảm bảo có sự thống nhất về mặt nội dung và bố cục giữa tất cả các tài liệu in. Bên cạnh đó cũng cần đảm bảo đủ các phương thức in theo đặc tả. Nhiều lúc còn cần để ý đến định dạng font chữ, hoặc màu sắc nếu là in màu ….

Kiểm thử chức năng và phi chức năng được so sánh như trong bảng sau

Kiểm thử chức năng Kiểm thử phi chức năng

Được thực hiện bằng cách sử dụng đặc tả chức năng do khách hàng cung cấp và xác minh hệ thống theo các yêu cầu chức năng

Dùng để kiểm tra hiệu năng ( performance testing), độ tin cậy ( reliability), khả năng mở rộng ( scalability) và các nghiệp vụ phi chức năng khác của hệ thống

Được thực hiện đầu tiên

Nên được thực hiện ngay sau khi kiểm thử chức năng kết thúc

Có thể sử dụng tool để kiểm thử hoặc kiểm thử bằng tay ( manual testing)

Khi sử dụng tool sẽ hiệu quả hơn

Đầu vào là các yêu cầu nghiệp vụ theo các tài liệu đặc tả

Đầu vào là các thông số như tốc độ tải, độ bảo mật cũng như khả năng mở rộng

Mô tả những thứ sản phẩm phần mềm sẽ làm

Mô tả sản phẩm phần mềm hoạt động như thế nào là tốt

Các loại kiểm thử chức năng thường gặp:

Các loại kiểm thử phi chức năng thường gặp:

* Migration Testing

Cập nhật thông tin chi tiết về Kiểm Thử Chức Năng Và Kiểm Thử Phi Chức Năng Là Gì trên website Nhatngukohi.edu.vn. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Chúc bạn một ngày tốt lành!