Trang chủ » Integration testing là gì? Các bước thực hiện chi tiết nhất

Integration testing là gì? Các bước thực hiện chi tiết nhất

honganh

Integration testing là một quá trình cần thực hiện để đảm bảo phần mềm không xảy ra lỗi trước khi đưa đến tay khách hàng. Tuy nhiên, có nhiều người vẫn chưa hiểu rõ integration testing là gì, nhất là với người mới hay những bạn làm trái ngành mới chuyển qua nghề kiểm thử. Nếu bạn cũng là một trong số đó, vậy thì hãy tham khảo ngay nội dung bài viết dưới đây.

integration testing là gì

Integration testing là gì?

Dành cho những bạn chưa biết Integration Testing nghĩa là gì thì đây được hiểu là kiểm thử tích hợp. Trong đó, các chuyên viên sẽ thực thi test case trên một nhóm các Module riêng lẻ để kiểm tra đường truyền dữ liệu giữa chúng. Công việc này cũng được làm tương tự với các Unit riêng lẻ trong từng Module nhằm đảm bảo chất lượng phần mềm.

Integration testing là gì?

Mục đích của Integration Testing là tìm kiếm để loại bỏ Bug ra khỏi phần mềm. Tuy nhiên, thay vì test trên toàn bộ phần mềm thì Tester sẽ thực hiện trên từng Module để kiểm tra sự logic trong mối quan hệ giữa các thành phần. Vì vậy, Integration Testing còn được gọi với nhiều tên gọi khác. Đơn cử như I&T (Tích hợp và Kiểm thử); String testing (Kiểm thử chuỗi) và Thread Testing (Kiểm thử luồng).

Integration Test Cases là gì?

Không chỉ có Integration Test mà Integration Test Cases là gì cũng là điều mà nhiều người quan tâm. Theo đó, thuật ngữ này được dùng để chỉ phương pháp test phần mềm tập trung vào các giao diện, lưu lượng dữ liệu hoặc các thông tin giữa từng Module. Integration Test Cases không thường được sử dụng với các công ty chức năng. Thay vào đó, kỹ thuật này ưu tiên được cung cấp cho các liên kết tích hợp.

Tester và nhóm Developer sẽ cùng phối hợp xây dựng nên các Integration Test Cases. Đầu tiên Tester sẽ xác định khu vực cần kiểm thử. Sau đó nhóm phát triển sẽ cung cấp dữ liệu theo từng nhóm. Việc cần làm tiếp theo là thử nghiệm xem chức năng và sự phối hợp giữa các Module khi làm việc cùng với nhau.

So sánh Integration Testing và Functional Testing

Ngoài integration testing là gì thì nhiều người cũng hay thắc mắc Functional test nghĩa là gì bởi đây là 2 kỹ thuật kiểm thử được sử dụng rất rộng rãi. Theo đó, Functional Testing được hiểu là quá trình kiểm tra sự khác biệt giữa đặc tả bên ngoài so với yêu cầu chức năng mà phần mềm cần đáp ứng. Chuyên viên sẽ nhập các giá trị đầu vào để kiểm tra, đánh giá kết quả đầu ra. Đối chiếu với mong đợi 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.

So sánh Integration Testing và Functional Testing

Về cơ bản thì integration testing và Functional testing cũng là kỹ thuật kiểm thử. Tuy nhiên 2 cách Test này lại có nhiều điểm khác nhau nên người dùng cần phân biệt để sử dụng cho hiệu quả nhất.

Integration Testing Functional Testing

Cách thức thực hiện

Kiểm thử các Module hay Unit Test theo nhóm khi được tích hợp logic Kiểm thử tích hợp nhiều Module.

Độ phức tạp

Sử dụng các dòng code nhỏ nhất nên không hề phức tạp Phức tạp hơn một chút so với kiểm thử đơn vị

Kỹ thuật Test

Kiểm thử hộp trắng Kết hợp kiểm thử hộp trắng, hộp đen và cả hộp xám

Kết quả test

Tìm thấy Bug trong từng Module Tìm kiếm Bug trong lúc tích hợp các Module lại với nhau

Hiệu quả

Tối ưu khi không để lọt bug Ít khi để lọt bug

Khi nào cần dùng Integration testing?

Khi nào cần dùng Integration testing?

Tìm hiểu integration testing là gì bạn sẽ biết được đây là công việc cần thực hiện thường xuyên trên từng Module. Đơn giản là bởi:

  • Vì các Module được thiết kế bởi một lập trình viên độc lập nên khi tích hợp lại sẽ có thể phát sinh ra nhiều lỗi nhất định. Đây là lúc integration testing phát huy tác dụng của mình. Giúp đảm bảo tính hợp nhất cho các phần của phần mềm.
  • Khi các ghép lại các module thì chúng ta có thể gặp phải vấn đề không đồng nhất giữa cơ sở dữ liệu và cả giao diện. Vì vậy cần phải kiểm thử tích hợp để đảm bảo chất lượng phần mềm.
  • Trong quá trình thiết kế, khách hàng có thể thay đổi một số yêu cầu nhất định. Nếu những thay đổi này không được trải qua Unit Test thì đây sẽ là lúc sử dụng  integration testing.
  • Việc không tương thích giữa cấu hình và các Module thành phần có thể xảy ra. Và lúc này, bạn sẽ cần đến kiểm thử tích hợp để xác định bug.
  • Bên cạnh đó integration testing cũng được dùng để xác định các lỗi ngoại lệ khác.

Cách thức tiếp cận của Integration Testing

Ngoài việc tìm hiểu khi nào dùng Integration Testing thì cách thức tiếp cận cũng là điều mà chúng ta cần quan tâm. Trong đó có rất nhiều quan điểm đã được đưa ra nhưng chủ yếu là 2 loại chính, cụ thể:

Kiểm thử tích hợp BigBang

Theo hướng tiếp cận này, các module sẽ được tích hợp đồng thời và thử nghiệm cùng lúc. Nhờ đó mà các chuyên viên có thể xác định được lỗi phát sinh khi kết hợp từng Unit test lại với nhau.

Kiểm thử tích hợp BigBang

integration testing la gi

Ưu điểm

  • Thích hợp sử dụng cho các dự án có quy mô nhỏ, không quá phức tạp.
  • Tối ưu cho kiểm thử tích hợp khi mọi thứ đều được hoàn tất trước khi quá trình này diễn ra.

Nhược điểm

  • Có thể bỏ sót các bug có giao diện nhỏ, đôi khi khó phát hiện Bug.
  • Tốn thời gian tích hợp hệ thống nên thiếu thời gian cho việc test.
  • Vì tích hợp muộn nên đôi khi gây khó khăn cho việc theo dõi nguyên nhân thất bại.
  • Xảy ra tình trạng cô lập module trong quá trình kiểm thử.

Kiểm thử tích hợp Incremental

Đây cũng là một cách tiếp cận khác với nhiều ưu điểm nổi trội hơn kiểu BigBang. Theo đó, Tester sẽ kết hợp 2 hoặc nhiều Module lại với nhau một cách hợp lý. Tiếp theo, họ sẽ thêm các phân hệ liên quan khác vào để kiểm tra hoạt động của phần mềm. Khi tất cả Module đều được tham gia và thử nghiệm thành công thì quá trình sẽ kết thúc.

Tester sẽ thực hiện kiểm thử tích hợp dựa trên Stub và Driver. 2 chương trình giả lập này chỉ mô phỏng kết nối với module đang được gọi chứ không thực hiện toàn bộ Logic của Module. Trong đó:

  • Stub: Được gọi bởi Module đang kiểm thử
  • Driver: Gọi Module để được kiểm thử.

Incremental được thực hiện với 3 hướng tiếp cận khác nhau, cụ thể:

Kiểm thử Bottom-Up

Cách tiếp cận này còn được gọi là kiểm thử theo chiều dọc từ dưới lên. Theo đó, các module ở mức thấp hơn sẽ được thử nghiệm với các module ở mức cao hơn. Quá trình sẽ kết thúc khi tất cả đều được kiểm tra. Thường thì Bottom-Up sẽ được sử dụng cho Driver Testing.

Để hiểu rõ hơn về cơ chế vận hành của kiểm thử Bottom-Up, vui lòng theo dõi sơ đồ sau:

Kiểm thử Bottom-Up

Ưu điểm

  • Dễ dàng trong việc thu gọn phạm vi bug.
  • Tối ưu thời gian khi không cần chờ tích hợp tất cả Module.

Nhược điểm

  • Nguyên mẫu đầu tiên của hệ thống sẽ bị thay đổi.
  • Không thể đảm bảo chất lượng tuyệt đối cho các Module quan trọng khi vẫn có thể xảy ra lỗi.

Kiểm thử Top-Down

Khác với quan điểm bên trên, các tiếp cận này lại đi theo chiều từ trên xuống. Quy trình này giúp theo dõi dòng kiểm soát của hệ thống phần mềm. Vì vậy, Top-Down thường được sử dụng cho Stub testing là chủ yếu.

Kiểm thử Top-Down

Ưu điểm

  • Dễ phát hiện lỗi nên có thể tối ưu thời gian kiểm thử.
  • Có thể phát hiện và xử lý các lỗi quan trọng một cách dễ dàng.
  • Thực hiện kiểm thử tích hợp từ trên xuống dưới từ sớm.

Nhược điểm

  • Số lượng stub cần nhiều.
  • Khó khăn trong việc kiểm thử các module ở mức thấp hơn nên đôi khi chưa thực sự tối ưu.

Kiểm thử tích hợp Sandwich

Sandwich là cách tiếp cận kết hợp cả Bottom-Up và Top-Down. Theo đó, các Module dù ở trên hay dưới thì sẽ đều được kiểm thử cùng lúc. Vì thế mà chúng ta có thể sử dụng cả Stubs lẫn Driver để mang lại hiệu quả cao hơn. Hệ thống sẽ được tạo thành bởi 3 lớp là: Lớp bên trên, lớp giữa và lớp bên dưới. Lớp giữa sẽ là lớp đích hay còn gọi là mục tiêu thử nghiệm. Quá trình sẽ được thực hiện theo một trình tự rõ ràng, bắt đầu từ lớp ngoài và hội tụ ở lớp giữa.

Kiểm thử tích hợp Sandwich

integration testing la gi

Ưu điểm

  • Có thể kiểm tra song hành cả lớp trên cùng và dưới cùng.
  • Tăng khả năng phát hiện đầy đủ các lỗi trong quá trình tích hợp từng Module.

Nhược điểm

  • Trước khi tích hợp, việc kiểm tra mở rộng các hệ thống con sẽ không được thực hiện.

Quy trình thực hiện kiểm thử tích hợp

Đến đây chắc hẳn bạn cũng đang thắc mắc quy trình thực hiện integration testing là gì rồi đúng không nào. Không để bạn phải chờ lâu thêm nữa, dưới đây là các công việc mà Tester cần thực hiện.

  • Xác định yêu cầu kiểm thử để chọn các Module hay thành phần cần kiểm tra.
  • Tiến hành kiểm thử trên từng đơn vị với các kỹ thuật test hộp trắng.
  • Lên kế hoạch kiểm thử với từng trường hợp và Script cụ thể.
  • Thực thi test dựa trên kịch bản kiểm thử đã thiết lập, báo cáo lỗi nếu có.
  • Kiểm tra các lỗi và test lặp lại cho đến khi các lỗi được giải quyết hoàn toàn.

Tiêu chí bắt đầu kiểm thử tích hợp

Tiêu chí bắt đầu kiểm thử tích hợp

Cũng giống như các kỹ thuật kiểm thử khác, chúng ta cũng phải xác định các yêu cầu đầu vào và đầu ra để biết được khi nào nên bắt đầu, khi nào nên kết thúc quá trình. Vậy, các tiêu chí bắt đầu integration testing là gì?

  • Đã tiến hành kiểm thử đơn vị trước đó.
  • Đã sửa chữa các lỗi có mức độ ưu tiên cao trước khi thực hiện kiểm thử tích hợp.
  • Phần mềm đã được hoàn chỉnh với đầy đủ các Module tích hợp trong hệ thống.
  • Kế hoạch integration testing và các tài liệu đã được thông qua.
  • Môi trường kiểm thử được thiết lập dựa trên yêu cầu kiểm thử tích hợp

Tiêu chí kết thúc kiểm thử tích hợp

Để kết thúc quá trình kiểm thử tích hợp, kết quả nhận về cần đáp ứng các tiêu chí cụ thể sau: 

  • Kiểm thử tích hợp thành công, tìm kiếm và khắc phục được lỗi phần mềm.
  • Quá trình kiểm thử tích hợp được ghi lại chi tiết.
  • Sửa chữa thành công các lỗi có mức độ ưu tiên cao.
  • Hoàn thành việc bàn giao tài liệu kỹ thuật cho phòng phát triển phần mềm. Mục đích chính là đề xuất, hỗ trợ việc đưa ra hướng giải quyết các bug phát sinh.

Như vậy là chúng ta đã cùng tìm hiểu integration testing là gì cùng các vấn đề khác liên quan. Hy vọng chia sẻ vừa rồi sẽ giúp các bạn có thêm hiểu biết về kỹ thuật test hiệu quả này. Từ đó biết cách sử dụng hiệu quả cho các dự án cụ thể. Để biết thêm nhiều kiến thức khác hữu ích hơn, vui lòng truy cập vào Website Đào Tạo Tester.

5/5 - (2 bình chọn)
Từ khóa:
Bình luận
Đăng ký nhận ưu đãi hấp dẫn
Đăng ký nhận ưu đãi hấp dẫn

    Icon Phone Icon Zalo