Bài viết giới thiệu về kiểm thử tích hợp, đặc điểm, ví dụ và các vấn đề thường gặp.
1. Integration testing là gì ?
- Là một trong các test level.
- Thực hiện trong quá trình kiểm thử tích hợp nhóm các thành phần (module) riêng lẻ.
- Mục đích: Tập trung vào tương tác và chuyển tiếp giữa các thành phần hoặc hệ thống.
2. Đặc điểm
a. Thời điểm
Integration testing được thực hiện sau kiểm thử đơn vị (Unit testing).
- Mỗi module có thể có thiết kế khác nhau, Integration testing đảm bảo tính nhất quán của phần mềm.
- Xử lý thay đổi về yêu cầu và kiểm thử các tương tác giữa module.
b. Các đặc điểm chính
- Test level (trong integration): Kiểm thử tích hợp đơn vị và hệ thống.
- Test type: Chức năng và phi chức năng.
- Test method: Black-box và White-box.
- Môi trường test: Trên môi trường test phù hợp (staging).
- Người phụ trách: Developer và tester.
- Chiến lược test: Big-bang hoặc Incremental.
3. Ví dụ về Integration testing
a. Outline
- Công ty quảng cáo thống kê dữ liệu quảng cáo cuối tháng.
b. Design
- Các module: UI, BL, VAL, CNT, EN, Scheduler, DB.
- Tập trung kiểm thử luồng xử lý giữa các module.
c. Chúng ta cần test những gì ?
- Kiểm tra luồng xử lý giữa các module.
d. Một số trường hợp khác
- Kiểm thử tích hợp cho ứng dụng LinkedIn.
4. Một số defect/ failure điển hình
- Không nhất quán cấu trúc giữa hệ thống.
- Dữ liệu không chính xác, thiếu hoặc mã hóa không đúng.
- Thời gian giao tiếp giữa module không chính xác.
- Giao diện không khớp.
- Giao tiếp giữa module thất bại.
5. Để kiểm thử tích hợp, cần gì?
a. Các bước cần thiết để bắt đầu
- Hiểu kiến trúc ứng dụng.
- Xác định modules và vai trò.
- Tách ứng dụng để phù hợp với nhu cầu.
- Xác định và tạo điều kiện kiểm thử.
b. Tiêu chí đầu vào/ ra
- Tiêu chí đầu vào: Mô tả dữ liệu được truyền giữa các module.
- Tiêu chí đầu ra: Kết quả mong đợi sau khi các module tương tác.
c. Các bước thực hiện
- Chuẩn bị môi trường test.
- Xây dựng test cases và scenarios.
- Thực hiện kiểm thử.
- Đánh giá và báo cáo kết quả.
6. Kết luận
- Integration testing quan trọng để đảm bảo tính nhất quán và hiệu suất của hệ thống.
- Yêu cầu sự hiểu biết sâu rộng về kiến trúc hệ thống và các module.
- Cần chú trọng vào việc kiểm tra tương tác giữa các module để phát hiện và khắc phục các lỗi tích hợp.