16/10/2018, 21:14

Sự khác nhau giữa Unit Test và Integration Test

Như chúng ta đã biết với một ứng dụng phần mềm được phát triển từ các module khác nhau, mỗi module được kiểm thử đơn vị và sau đó các module được tích hợp để kiểm thử. Hệ thống sẽ trải qua quá trình kiểm thử để xem rằng có đáp ứng được yêu cầu của khách hàng đề ra hay không. Hệ thống phải trải qua ...

Như chúng ta đã biết với một ứng dụng phần mềm được phát triển từ các module khác nhau, mỗi module được kiểm thử đơn vị và sau đó các module được tích hợp để kiểm thử. Hệ thống sẽ trải qua quá trình kiểm thử để xem rằng có đáp ứng được yêu cầu của khách hàng đề ra hay không. Hệ thống phải trải qua kiểm thử chấp nhận của khách hàng hoặc người dùng cuối, đảm bảo phần mềm chạy tốt. Dưới đây là dòng chảy cho quy trình kiểm thử phần mềm:

  • UNIT TESTING: là cấp độ kiểm thử phần mềm, nơi các đơn vị / thành phần riêng lẻ của phần mềm được kiểm tra. Mục đích là để xác nhận rằng mỗi đơn vị phần mềm thực hiện như được thiết kế. Một đơn vị là phần nhỏ nhất có thể kiểm thử của bất kỳ phần mềm nào. Nó thường có một hoặc một vài đầu vào và thường là một đầu ra duy nhất. Trong lập trình thủ tục, một đơn vị có thể là một chương trình, chức năng, thủ tục, vv Trong lập trình hướng đối tượng, đơn vị nhỏ nhất là một phương thức, có thể thuộc về một lớp cơ sở / siêu hạng, lớp trừu tượng hoặc lớp dẫn xuất / lớp con.
  • INTEGRATION TESTING: là cấp độ kiểm thử phần mềm trong đó các đơn vị riêng lẻ được kết hợp và thử nghiệm dưới dạng một nhóm. Mục đích của cấp độ kiểm tra này là để lộ các lỗi trong sự tương tác giữa các đơn vị tích hợp.
  • SYSTEM TESTING: Kiểm tra hệ thống còn được gọi là kiểm tra hộp đen hoặc thử nghiệm chức năng và nó được tiến hành để kiểm tra chức năng tổng thể của hệ thống mà sẽ hoạt động như mong đợi hoặc được chỉ định trong tài liệu yêu cầu chức năng.
  • ACCEPTANCE TESTING: Khi hệ thống đã sẵn sàng sử dụng, hệ thống sẽ trải qua thử nghiệm bởi người dùng cuối hoặc ứng dụng khách để xác minh rằng nó đáp ứng được kỳ vọng của người dùng và tất cả các chức năng mong muốn như được chỉ định trong tài liệu SRS (Software Requirements Specification).
Integration Testing Unit Testing
Kiểm thử tích hợp là tích hợp tất cả các module vào ứng dụng và kiểm tra chúng như một nhóm để xem chúng có hoạt động như mong đợi hay không Kiểm thử đơn vị là để kiểm tra từng phần của module riêng lẻ và quan sát rằng các bộ phận riêng lẻ đang hoạt động như mong đợi.
Kiểm thử tích hợp còn được gọi là kiểm thử hộp đen, chúng ta không động đến mã code mà chỉ tập trung vào đầu vào đã cho và đầu ra mong đợi. Kiểm thử đơn vị còn được gọi là kiểm thử hộp trắng vì nó đòi hỏi kiến thức về mã code và luồng điều khiển trong chương trình.
Integration Testing được thực hiện sau khi kiểm thử đơn vị nhưng trước khi kiểm thử hệ thống. Unit testing có thể được thực hiện bất cứ lúc nào nhưng luôn luôn thực hiện trước khi kiểm thử tích hợp.
Các lỗi trong kiểm thử tích hợp được phát hiện sau khi các module được tích hợp để xây dựng hệ thống tổng thể. Unit Testing chỉ kiểm tra chức năng của các module ở cấp độ đơn vị và không thể bắt được các lỗi mức tích hợp hoặc bất kỳ vấn đề nào trong toàn hệ thống.
Chủ yếu tập trung vào tích hợp các module. Chủ yếu tập trung vào chức năng của một module riêng lẻ.
Integration Testing được thực hiện bởi người kiểm thử(Tester). Unit Testing thường được thực hiện bởi các developers.
Lỗi phát hiện thường khó khăn khi thử nghiệm tích hợp. Lỗi phát hiện thường đơn giản khi thử nghiệm đơn vị.
Kiểm thử tích hợp bảo trì là khá tốn kém vì nó đòi hỏi phải thiết lập môi trường riêng biệt. Chi phí bảo trì kiểm thử đơn vị là rất ít vì nó được duy trì và mức đơn vị.
Kiểm thử tích hợp giúp xác minh rằng mã code hoạt động như mong đợi với các phụ thuộc bên ngoài. Kiểm thử đơn vị không xác minh xem mã code có hoạt động như mong đợi với các phụ thuộc bên ngoài hay không.

Hi vọng những kiến thức trên sẽ giúp ích cho bạn trong quá trình tìm hiểu về kiểm thử phần mềm.

0