Integration Testing – Kiểm thử Tích hợp

Integration Testing là gì? Vì sao cần phải Integration Testing? Các Phương thức tiếp cận, kế hoạch của Integration Testing…& để thấu hiểu hơn về loại kiểm thử này Anh Tester sẽ giới thiệu với các bạn một tí về Integration Testing.

1. Integration Testing là gì?

Integration Testing (Kiểm thử tích hợp) là một loại kiểm thử trong đó các module của software được tích hợp logic & được kiểm thử theo nhóm.
Một dự án software điển hình bao gồm nhiều module, được code bởi các lập trình viên. Kiểm thử tích hợp là kiểm thử sự tương thích giữa các module đó.
Do vậy, kiểm thử tích hợp nói một cách khác là Ι & Ƭ (Tích hợp & Kiểm thử), String Testing (Kiểm thử chuỗi) & thỉnh thoảng là Thread Testing  (Kiểm thử luồng).


2. Vì sao cần phải Integration Testing?

Mặc dầu mỗi module đã được Unit Testing nhưng lỗi vẫn còn có vì một số nguyên nhân như:

  • Do mỗi module được kiến trúc bởi một developer độc lập, có tri thức & logic lập trình khác nhau chính vì như vậy có thể sẽ có lỗi phát sinh khi tích hợp các module với nhau.
  • KH sẽ biến đổi yêu cầu kiến trúc trong tiến trình lớn mạnh module (thêm yêu cầu, cập nhật lại yêu cầu khi thấy không hợp lý…) & các yêu cầu mới này có thể không được Unit Testing hay khi tích hợp sẽ phát sinh lỗi.
  • Các giao diện của các module trong software với CSDL có thể không tương thích.
  • Khi tích hợp các module vào hệ thống có thể không tương thích với cấu hình chung của hệ thống.
  • Giải quyết các ngoại lệ không đầy đủ có thể gây ra lỗi.


3. Chẳng hạn Integration Testing

Check Case của Integration Testing khác với các Check Case khác, kiểm thử tích hợp chăm chú cốt yếu vào các giao diện & luồng dữ liệu  hay thông tin giữa các module. Bởi kiểm thử nhà cung cấp đã được kiểm soát cho từng module nên bước này không thiết yếu để kiểm soát lại.
Chẳng hạn: Kiểm thử tích hợp cho cốt chuyện “Quản lý chi phí”

  • Nghiệp vụ

– Vận dụng có 2 list Product Group & Product Category. Bước này không chăm chú nhiều vào kiểm thử giao diện & tính năng của 2 list trên vì nó đã được thực hiện trong Unit testing. Nhưng sẽ chăm chú kiểm soát phần tích hợp giữa 2 list đó.

  • Trường hợp kiểm thử
Xem Thêm  Hình ảnh nền CSS - Với mã ví dụ HTML - hình nền html css

Group nào active bên Product Group thì sẽ hiển thị bên Product Category

Integration Testing - Kiểm thử Tích hợp | Anh Tester

Integration Testing - Kiểm thử Tích hợp | Anh Tester

& trái lại Group nào không active thì sẽ không hiển thị

Integration Testing - Kiểm thử Tích hợp | Anh Tester

Integration Testing - Kiểm thử Tích hợp | Anh Tester


4. Phương thức tiếp cận & Kế hoạch của Integration Testing

Phương thức tiếp cận trong Kiểm thử tích hợp:

Integration Testing - Kiểm thử Tích hợp | Anh Tester

Dưới đây mình sẽ giới thiệu các kế hoạch, cách thực hiện & những ưu thế điểm yếu của các cách thức.

4.1. Big Bang

Toàn bộ các thành phần được tích hợp cùng một lúc, sau đó tiến hành kiểm thử.
Ưu thế: Thuận lợi cho các hệ thống nhỏ.
Khuyết điểm:

  • Khổ cực trong việc phát hiện bug.
  • Với số lượng giao diện cần được kiểm thử theo cách thức này, một số giao diện link cần kiểm thử có thể đơn giản bị bỏ qua.
  • Vì kiểm thử Tích hợp chỉ có thể khởi đầu sau khoảng thời gian toàn bộ các module được kiến trúc, nên nhóm kiểm thử sẽ có ít thời gian thực hiện hơn trong công đoạn kiểm thử.
  • Vì toàn bộ các module được kiểm thử cùng lúc, các module trọng yếu có nguy cơ cao không bị cô lập & được ưu tiên kiểm thử. Các module có liên quan đến giao diện người dùng cũng không bị cô lập & được ưu tiên kiểm thử.

4.2. Incremental Testing

Trong cách thức này, kiểm thử được thực hiện bằng cách ghép hai hoặc nhiều module có liên quan đến logic. Sau đó, các module liên quan khác được thêm vào & kiểm thử tính năng thích hợp. Tiến trình tiếp tục cho đến khi toàn bộ các module được thêm & giải quyết tiến trình kiểm thử.
Cách tiếp cận tăng dần được thực hiện bởi hai Phương thức khác nhau:

  • Từ dưới lên (Bottom Up)
  • Từ trên xuống (Top Down)

Stub & Driver là gì?
Phương thức tiếp cận tăng dần được thực hiện bằng cách dùng các chương trình giả lập là Stub & Driver. Stub & Driver không thực hiện toàn thể logic của module mà chỉ mô phỏng connect dữ liệu với module đang được gọi.
Stub: Được gọi bởi module đang kiểm thử.
Driver: Gọi module để được kiểm thử.

Bottom Up

Trong cách tích hợp từ dưới lên, mỗi module ở các cấp ít hơn được kiểm thử với các module cao hơn cho đến khi toàn bộ các module được kiểm thử. Tích hợp từ dưới lên cần sự trợ giúp của Driver để kiểm thử
Sơ đồ trình diễn cách tiếp cận từ dưới lên:

Xem Thêm  JavaScript HTML - sử dụng html trong js

Integration Testing - Kiểm thử Tích hợp | Anh Tester


Ưu thế:

  • Việc phát hiện lỗi đơn giản hơn.
  • Không bị hoang phí thời gian chờ đợi toàn bộ các module được xây dựng, không giống như cách thức Big-bang


Khuyết điểm:

  • Các module trọng yếu (ở cấp cao nhất của kiến ​​trúc software) có luồng điều khiển được kiểm thử lần cuối nên dễ bị sót lỗi.
  • Thực hiện kiểm thử tích hợp từ dưới lên từ sớm là chẳng thể


Top Down

Trong cách tiếp cận từ trên xuống, kiểm thử diễn ra từ trên xuống dưới theo luồng điều khiển của hệ thống software. Cần sự trợ giúp của Stub để kiểm thử.
Sơ đồ trình diễn cách tiếp cận từ trên xuống:
Integration Testing - Kiểm thử Tích hợp | Anh Tester
Ưu thế:

  • Việc phát hiện lỗi đơn giản hơn.
  • Có khả năng thực hiện tích hợp từ trên xuống từ sớm.
  • Các module trọng yếu được ưu tiên kiểm thử; lỗi kiến trúc trọng yếu có thể được tìm ra & sửa chữa trước hết.


Khuyết điểm:

  • Cần nhiều Stub.
  • Các module ở mức ít hơn không được kiểm thử đầy đủ.


Tích hợp Hybrid/ Sandwich

Kế hoạch sandwich / hybrid là sự kết hợp của cách thức Top Down & Bottom up. Các module trên cùng được kiểm thử cùng thời điểm với các module ít hơn, cùng lúc các module ít hơn được tích hợp với các module ở trên & được thực hiện kiểm thử. Kế hoạch này sử dụng Stubs cũng như Drivers.


5. Quy trình Integration Testing?

Quy trình kiểm thử tích hợp không phân biệt kế hoạch kiểm thử software:

  • Chuẩn bị kế sách kiểm thử tích hợp.
  • Kiến trúc các check scenarios, check cases & check scripts.
  • Thực thi các check cases, giải trình các lỗi nếu có.
  • Theo dõi & kiểm thử lại các check cases có lỗi.
  • Bước 3 & 4 được lặp lại cho đến khi kiểm thử hợp được giải quyết.


6. Miêu tả tóm lược về kế sách Integration Testing

Kiểm thử tích hợp bao gồm các tính chất sau:

  • Phương thức / hướng tiếp cận kiểm thử.
  • Trong phạm vi & ngoài phạm vi kiểm thử tích hợp.
  • Vai trò & bổ phận.
  • Điều kiện tiền đề để kiểm thử tích hợp.
  • Môi trường kiểm thử.
  • Kế sách cắt giảm nguy cơ.
Xem Thêm  Cách thêm Hình nền trong Html - mã html cho hình nền


7. Tiêu chuẩn khởi đầu & chấm dứt của kiểm thử tích hợp

Tiêu chuẩn khởi đầu & chấm dứt của công đoạn kiểm thử tích hợp trong bất kỳ mô hình lớn mạnh software nào

Tiêu chuẩn khởi đầu

  • Thành phần / module đã được kiểm thử nhà cung cấp.
  • Toàn bộ các lỗi có độ ưu tiên cao đã được sửa.
  • Toàn bộ các module được giải quyết & được tích hợp.
  • Kế sách kiểm thử tích hợp, check cases, các cốt chuyện, ebook đã được thông qua.
  • Môi trường kiểm thử được seting theo yêu cầu để kiểm thử tích hợp.

Tiêu chuẩn chấm dứt

  • Kiểm thử tích hợp thành công.
  • Các trường hợp kiểm thử đã thực thi được ghi lại
  • Toàn bộ các lỗi có ưu tiên cao đã được sửa
  • Ebook kỹ thuật được bàn trả.


8. Thực hiện kiểm thử tích hợp như vậy nào để đạt thành tích tốt nhất?

  • Trước tiên, xác nhận Kế hoạch kiểm thử tích hợp được thông qua, sau đó chuẩn bị các trường hợp kiểm thử & dữ liệu kiểm thử phù hợp.
  • Tìm hiểu Thiết kế của Vận dụng trên bản kiến trúc & xác nhận các module trọng yếu, cần phải được ưu tiên kiểm thử ở đây.
  • Lấy các kiến trúc giao diện từ nhóm Thiết kế & tạo các trường hợp kiểm thử để xác nhận cụ thể toàn bộ các giao diện. Giao diện với CSDL / vận dụng Hartware / software phải được kiểm thử cụ thể.
  • Sau các trường hợp kiểm thử, dữ liệu kiểm thử cũng đóng vai trò trọng yếu.
  • Luôn chuẩn bị dữ liệu giả lập trước khi thực hiện kiểm thử. Không chuẩn bị dữ liệu kiểm thử trong lúc thực hiện các trường hợp kiểm thử.


Kết Luận

Như thế có thể thấy kiểm thử tích hợp đóng vai trò rất trọng yếu bởi nếu chỉ kiểm soát unit testing nhưng đến khi tích hợp các module lại với nhau lại gây ra lỗi thì như thế sẽ khiến cho software không giải quyết được các nghiệp vụ mà KH đã yêu cầu. Chính vì thế tất cả chúng ta cần nên chú ý thực hiện kiểm thử này sau kiểm thử nhà cung cấp nhé!

Rất mong thu được quan niệm đóng góp từ phía độc giả! Chúc các bạn học hành vui khỏe!

Viết một bình luận