Professional Documents
Culture Documents
(Nguồn: https://www.c-sharpcorner.com/article/a-basic-introduction-of-unit-test-for-beginners/)
Đảm bào chất lượng và Kiểm thử phần mềm 7
Các giai đoạn kiểm thử phần mềm (3)
• Integration Testing
• Trong Kiểm thử tích hợp, các mô-đun phần mềm riêng lẻ được tích hợp một cách hợp lý
và được kiểm thử theo nhóm.
• Mục đích: để tìm ra lỗi trong quá trình tích hợp các thành phần, mô-đun lại với nhau;
kiểm thử tích hợp tập trung vào kiểm tra giao tiếp dữ liệu giữa các mô-đun này.
• Kiểm thử tích hợp có thể thực hiện bằng kiểm thử hộp trắng hoặc hộp đen.
• Kiểm thử tích hợp được thực hiện bởi các nhà phát triển hoặc nhóm kiểm thử
(developer/tester).
• Chiến lược (tiếp cận):
✓ Big bang
✓ Tăng trưởng (Incremental Approach)
✓ Tiếp cận từ trên xuống (Top Down Approach)
✓ Tiếp cận từ dưới lên (Bottom Up Approach)
✓ Tiếp cận bánh sandwich (Sandwich Approach)
(Nguồn: https://www.guru99.com/integration-testing.html)
Đảm bào chất lượng và Kiểm thử phần mềm 8
Ví dụ về kiểm thử tích hợp cho ứng dụng web (1)
• “Tôi là chủ sở hữu của một công ty quảng cáo và tôi đăng
quảng cáo trên các trang web khác nhau. Vào cuối tháng,
tôi muốn xem có bao nhiêu người đã xem quảng cáo của
tôi và có bao nhiêu người nhấp vào quảng cáo của tôi. Tôi
cần một báo cáo cho quảng cáo của mình được hiển thị và
tôi tính phí cho khách hàng của mình.”
• “Phần mềm GenNext đã phát triển sản phẩm này cho tôi.”
• Slide kế tiếp là kiến trúc.
(Nguồn: https://www.softwaretestinghelp.com/what-is-integration-testing/)
Đảm bào chất lượng và Kiểm thử phần mềm 9
Ví dụ về kiểm thử tích hợp cho ứng dụng web (2)
UI - Mô-đun UI (Giao diện người dùng), hiển thị cho người
dùng cuối, nơi tất cả các đầu vào được cung cấp.
BL
BL - Là mô-đun Business Logic, có tất cả các tính toán và
phương thức (hàm) tính toán kinh doanh cụ thể.
VAL - Là mô-đun Validation (Xác thực), làm tất cả các xác
UI thực về tính chính xác của đầu vào.
EN-Engine
CNT - Là mô-đun Content (Nội dung) có tất cả các nội dung
VAL DB tĩnh, dành riêng cho các đầu vào được nhập bởi người dùng.
Những nội dung này được hiển thị trong các báo cáo.
Front Layer EN - Là mô-đun Engine (Động cơ), mô-đun này đọc tất cả
CNT dữ liệu đến từ mô-đun BL, VAL và CNT và trích xuất truy vấn
SQL và kích hoạt nó vào cơ sở dữ liệu.
Scheduler- Là mô-đun xếp lịch tất cả các báo cáo dựa trên
Scheduler lựa chọn của người dùng (hàng tháng, hàng quý, nửa năm và
hàng năm)
Middle Layer Back Layer DB - Là cơ sở dữ liệu.
(Nguồn: https://www.softwaretestinghelp.com/what-is-integration-testing/)
Đảm bào chất lượng và Kiểm thử phần mềm 10
Ví dụ về kiểm thử tích hợp cho
ứng dụng web (3)
• Các câu hỏi được đặt ra là:
1. Làm thế nào các mô-đun BL, VAL và CNT đọc và hiểu được
dữ liệu được nhập trong mô-đun UI?
2. Các mô-đun BL, VAL và CNT có nhận được dữ liệu chính xác từ UI không?
3. Định dạng nào dữ liệu từ BL, VAL và CNT được chuyển đến mô-đun EN?
4. EN sẽ đọc dữ liệu và trích kết quả của các câu truy vấn (query) như thế nào?
5. Các câu truy vấn có trích ra dữ liệu (kết quả) chính xác?
6. Scheduler có nhận dữ liệu chính xác cho các báo cáo?
7. Tập kết quả mà EN nhận được, từ cơ sở dữ liệu, có đúng và như mong đợi
không?
8. EN có khả năng gửi phản hồi trở lại mô-đun BL, VAL và CNT không?
9. Là mô-đun UI có thể đọc dữ liệu và hiển thị nó phù hợp với giao diện?
(Nguồn: https://www.softwaretestinghelp.com/what-is-integration-testing/)
Đảm bào chất lượng và Kiểm thử phần mềm 11
Ví dụ về kiểm thử tích hợp cho ứng dụng web (4)
• Thực tế, việc truyền dữ liệu được thực hiện theo
BL
định dạng XML. Vì vậy, bất kỳ dữ liệu nào người XML XML
(Nguồn: https://www.softwaretestinghelp.com/what-is-integration-testing/)
Đảm bào chất lượng và Kiểm thử phần mềm 13
Các giai đoạn kiểm thử phần mềm (4)
• System Testing
• Test ở mức hệ thống (tích hợp toàn bộ các chức năng thành một phần mềm) kiểm
tra tất cả chức năng của ứng dụng tương ứng với các yêu cầu khách hàng.
• Mục đích: để đánh giá hệ thống tuân thủ đúng với đặc tả yêu cầu khách hàng.
• Đây là kỹ thuật kiểm thử hộp đen (black-box testing).
• Kiểm thử này được thực hiện bởi nhóm kiểm thử (tester).
• Trước khi kiểm thử hệ thống, chúng ta nên biết các yêu cầu của khách hàng.
• Kiểm thử hệ thống tập trung vào các khía cạnh dưới đây:
✓ Kiểm thử giao diện người dùng (GUI) (User Interface Testing)
✓ Kiểm thử chức năng (Functional Testing)
✓ Kiểm thử phi chức năng (Non-Functional Testing)
✓ Kiểm thử khả năng sử dụng (Usability Testing)
Đảm bào chất lượng và Kiểm thử phần mềm 14
Các giai đoạn kiểm thử phần mềm (5)
• User Acceptance Testing (UAT)
• Mức test này giống như system test nhưng thường được khách hàng
thực hiện test.
• Mục đích: để đánh giá hệ thống tuân thủ đúng với yêu cầu của khách
hàng và có thể chấp nhận hay không chấp nhận để bàn giao sản
phẩm.
• Kiểm thử này chia làm 2 loại (dùng cho phần mềm đóng gói sẵn để
bán):
✓Alpha
✓Beta
• Trong chiến lược từ dưới lên, mỗi mô-đun ở mức thấp hơn được kiểm thử với
các mô-đun ở mức cao hơn cho đến khi tất cả các mô-đun đều được kiểm thử.
• Nó cần sự giúp đỡ của Trình điều khiển/bộ lái (Driver) để kiểm thử.
Đảm bào chất lượng và Kiểm thử phần mềm 23
Tiếp cận từ dưới lên (Bottom-up Testing) (2)
• Ưu điểm:
• Được thực hiện tương đối dễ dàng.
• Định vị lỗi trong các mô-đun dễ dàng hơn (so với tiếp cập Big-bang).
• Không có thời gian bị lãng phí do phải chờ đợi tất cả các mô-đun được
phát triển (không giống như tiếp cận Big-bang)
• Nhược điểm:
• Các mô-đun quan trọng (ở mức cao nhất của kiến trúc phần mềm) kiểm
soát luồng ứng dụng sẽ được kiểm thử sau cùng và dễ bị lỗi.
• Chậm trễ trong việc quan sát được toàn bộ chương trình (tức là, ở giai
đoạn sau khi kiểm thử mô-đun cuối cùng); xây dựng một bản mẫu
(prototype) vào lúc bắt đầu là không thể.
Đảm bào chất lượng và Kiểm thử phần mềm 24
Tiếp cận từ
trên xuống
(Top-down
Integration)
(1)
• Các chuyên gia kiểm thử vẫn đang tiếp tục tranh luận xem chiến lược
nào được yêu thích hơn - từ dưới lên hay từ trên xuống.
• Tuy nhiên, trong hầu hết các trường hợp, có vẻ như chiến lược kiểm
thử được lựa chọn thực sự sẽ phụ thuộc vào chiến lược phát triển mà
nhà phát triển đã chọn.