Đề tài: "Kiểm thử tích hợp" ppsx

31 657 1
Đề tài: "Kiểm thử tích hợp" ppsx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Kiểm thử tích hợp Integration testing  Bài tập lớn môn NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Đề tài số 22: KIỂM THỬ TÍCH HỢP ( Integration testing ) 1 Nhóm3 Kiểm thử tích hợp Integration testing Mục lục Bài tập lớn môn 1 NHẬP MÔN CÔNG NGHỆ PHẦN MỀM 1 Đề tài số 22: 1 KIỂM THỬ TÍCH HỢP 1 ( Integration testing ) 1 Bài tập lớn môn 3 NHẬP MÔN CÔNG NGHỆ PHẦN MỀM 3 Đề tài số 22: 3 KIỂM THỬ TÍCH HỢP 3 ( Integration testing ) 3 2 Nhóm3 Kiểm thử tích hợp Integration testing Bài tập lớn môn NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Đề tài số 22: KIỂM THỬ TÍCH HỢP ( Integration testing ) Giáo viên bộ môn :Vũ Thị Dương Lớp : KHMT 1 K2 Nhóm số 3 : Đào Đức Anh Nguyễn Thị Lệ Chi Trần Trung Hiếu Lê Thái Hoàng 3 Nhóm3 Kiểm thử tích hợp Integration testing I. Lời mở đầu Trong ngành kỹ nghệ phần mềm, năm 1979, có một quy tắc nổi tiếng là: “Trong một dự án lập trình điển hình, thì xấp xỉ 50% thời gian và hơn 50% tổng chi phí được sử dụng trong kiểm thử các chương trình hay hệ thống đã được phát triển”. Và cho đến nay, sau gần một phần 3 thế kỷ, quy tắc đó vẫn còn đúng. Đã có rất nhiều ngôn ngữ, hệ thống phát triển mới với các công cụ tích hợp cho các lập trình viên sử dụng phát triển ngày càng linh động. Nhưng kiểm thử vẫn đóng vai trò hết sức quan trọng trong bất kỳ dự án phát triển phần mềm nào. Rất nhiều các giáo sư, giảng viên đã từng than phiền rằng: “ Sinh viên của chúng ta tốt nghiệp và đi làm mà không có được những kiến thực thực tế cần thiết về cách để kiểm thử một chương trình. Hơn nữa, chúng ta hiếm khi có được những lời khuyên bổ ích để cung cấp trong các khóa học mở đầu về cách một sinh viên nên làm về kiểm thử và gỡ lỗi các bài tập của họ”. Các tác giả của cuốn sách nổi tiếng “The Art of Software Testing” – Nghệ thuật kiểm thử phần mềm, Glenford J. Myers, Tom Badgett, Todd M. Thomas, Corey Sandler đã khẳng định trong cuốn sách của mình rằng: “ Hầu hết các thành phần quan trọng trong các thủ thuật của một nhà kiểm thử chương trình là kiến thức về cách để viết các ca kiểm thử có hiệu quả”. Việc kiểm thử phần mềm thật sự quan trọng trong “dây chuyền” sản xuất phần mềm. Đây cũng chính là lý do để nhóm em nghiên cứu về đề tài này, và chính xác hơn là về kiểm thử tích hợp mà chúng em sẽ trình bày dưới đây. Do còn nhiều khó khăn trong việc thu thập và dịch tài liệu nên chúng em sẽ còn nhiều thiếu sót trong khi trình bày, vậy kính mong cô giáo xem xét và giúp đỡ thêm cho chúng em. Chúng em xin chân thành cảm ơn ! 4 Nhóm3 Kiểm thử tích hợp Integration testing II. Giới thiệu chung về kiểm thử tích hợp Một nhân viên mới chập chững bước vào giới phần mềm có thể sẽ đặt ra một câu hỏi sau khi tất cả các Mô đun đã được kiểm thử “Nếu tất cả các Mô đun đều để riêng lẻ, tại sao bạn lại nghi ngờ rằng chúng sẽ phát huy tác dụng khi được đặt cùng nhau?”. Tất nhiên, vấn đề là ở chỗ đưa chúng vào một giao diện “cùng nhau”. Bạn có thể bị mất dữ liệu trong giao diện; mô đun này vô ý có những ảnh hưởng tiêu cực tới mô đun khác; các chức năng con khi kết hợp cùng với nhau có thể không tạo ra được chức năng mong muốn; sự sai lệch ở mức có thể chấp nhận được bị phóng lên thành mức không thể chấp nhận được; cấu trúc dữ liệu toàn cầu có thể gặp phải nhiều vấn đề. Thật không may là danh sách này còn rất là dài. Có một phương pháp kiểm thử có hệ thống để xây dựng cấu trúc chương trình trong khi đó tiến hành các bài kiểm thử để phát hiện ra lỗi liên quan đến lập giao diện. Mục tiêu là để kiểm thử các bộ phận và xây dựng một cấu trúc chương trình đã được kiểm thử chính tả khi thiết kế. Thường có xu hướng cố gắng thực hiện tích hợp không theo trình tự từng bước; có nghĩa là để xây dựng một chương trình sử dụng phương pháp tiếp cận “tức thời/đột ngột”. 5 Nhóm3 Kiểm thử tích hợp Integration testing Tất cả các bộ phận được kết hợp trước với nhau. Toàn bộ chương trình được kiểm thử dưới dạng tổng thể. Kết quả là thường xảy ra sự lộn xộn! Bạn gặp phải hàng loạt lỗi. Việc sửa lỗi là rất khó vì việc cô lập các nguyên nhân rất phức tạp do chương trình quá rộng. Một khi đã sửa được các lỗi này, các lỗi khác sẽ lại xuất hiện và quá trình cứ tiếp diễn liên tục như thế. Tích hợp theo trình tự từng bước mâu thuẫn với phương pháp tiếp cận “tức thời”. Chương trình được thiết lập và kiểm thử trong các gia lượng nhỏ, nơi dễ tách và sửa lỗi hơn; giao diện có khả năng được kiểm thử toàn bộ hơn; và có thể áp dụng một phương pháp kiểm thử có hệ thống. Phương pháp kiểm thử được nói đến ở đây là phương pháp kiểm thử tích hợp. 1. Đặc điểm của kiểm thử tích hợp: • Là một kiểu kiểm thử cao cấp hơn kiểm thử đơn vị (Unit testing) nhưng lại được xếp thấp hơn kiểm thử hệ thống (System testing) và kiểm thử người dùng (User Acceptance Testing) • Được thực hiện sau kiểm thử đơn vị nhưng trước kiểm thử hệ thống • Thường xuyên phát hiện được lỗ hổng cũng như các lỗi của hệ thống • Có thể áp dụng cho việc phát triển tự do 6 Nhóm3 Kiểm thử tích hợp Integration testing Hình 1. Sơ đồ các cấp độ kiểm thử 2. Khi nào thì sử dụng kiểm thử tích hợp? • Khi hệ thống là rất lớn (“500K + LOC”) • Khi hệ thống là cả phần mềm và phần cứng • Khi có quá nhiều lỗi trong giai đoạn kiểm thử hệ thống và kiểm thử người dùng • Khi bạn có quá nhiều các tương tác giữa các phần mềm • Khi hệ thống thiết kế là một hệ thống thời gian thực • Khi ban có yêu cầu cao hơn về hệ thống của mình … 7 Nhóm3 Kiểm thử tích hợp Integration testing 3. Mục tiêu của kiểm thử tích hợp: • Phát hiện lỗi xảy ra giữa các Unit • Tích hợp các Unit thành các hệ thống nhỏ (subsyetem) và cuối cùng là nguyên hệ thống hoàn chỉnh (system) chuẩn bị cho kiểm thử ở múc hệ thống (system testing) Trong kiểm thử đơn vị các lập trình viên cố gắng phát hiện lỗi liên quan đến chức năng và cấu trúc nội tại của Unit. Có một số phép kiểm thử đơn giản trên giao tiếp với các thành phần liên quan khác, tuy nhiên mọi giao tiếp liên quan đến Unit chỉ thật sự kiểm tra đầy dủ khi các Unit kết hợp với nhau trong khi thực hiện kiểm thử tích hợp. Trừ một số ít ngoại lệ, kiểm thử tích hợp chỉ nên thự hiện trên các Unit đã được kiểm tra cẩn thận trước đó bằng kiểm thử đơn vị, và tất cả các lỗi mức Unit đã được sửa chữa Một số người hiểu sai rằng Unit một khi đã qua giai đoạn Unit Test với các giao tiếp giả lập thì không cần phải thực hiện Integration Test nữa. Thực tế việc tích hợp giữa các Unit dẫn đến những tình huống hoàn toàn khác.Một chiến lược cần quan tâm trong Integration Test là nên tích hợp dần từng Unit. Một Unit tại một thời điểm được tích hợp vào một nhóm các Unit khác đã tích hợp trước đó và đã hoàn tất các đợt Integration Test trước đó. Lúc này, ta chỉ cần kiểm thử giao tiếp của Unit mới thêm vào với hệ thống các Unit đã tích hợp trước đó, điều này sẽ làm cho số lượng can kiểm thử giảm đi rất nhiều, và sai sót sẽ giảm đáng kể. Có 4 loại kiểm thử trong Integration Test: • Kiểm thử cấu trúc (Structure Test): Tương tự White Box Test, kiểm thử cấu trúc nhằm bảo đảm các thành phần bên trong của một chương trình chạy đúng và chú trọng đến hoạt động của các thành phần cấu trúc nội tại của chương trình chẳng hạn các câu lệnh và nhánh bên trong. • Kiểm thử chức năng (Functional Test): Tương tự Black Box Test, kiểm thử chức năng chỉ chú trọng đến chức năng của chương trình, mà không quan tâm đến cấu trúc bên trong, chỉ khảo sát chức năng của chương trình theo yêu cầu kỹ thuật. • Kiểm thử hiệu năng (Performance Test): Kiểm thử việc vận hành của hệ thống. 8 Nhóm3 Kiểm thử tích hợp Integration testing • Kiểm thử khả năng chịu tải (Stress Test): Kiểm thử các giới hạn của hệ thống. 4. Các bước kiểm thử tích hợp Kiểm tra tích hợp gồm các bước sau: • Bước 1: Thiết lập kế hoạch kiểm thử • Bước 2: Thiết lập các bài và dữ liệu kiểm thử • Bước 3: Tạo các tập lệnh để thực hiện các bài kiểm thử nếu có thể. • Bước 4: Một khi tất cả các bộ phận đã được tích hợp, thực hiện các bài kiểm thử • Bước 5: Vá lỗi nếu có và kiểm thử mã • Bước 6: Lặp lại quy trình kiểm thử cho đến khi tất cả các bộ phận đã được tích hợp thành công 9 Nhóm3 Kế hoạch kiểm tra Phần mềm đã được tích hợp Báo cáo chấp thuận Kế hoạch phát triển Tích hợp và kiểm tra Phần mềm đã được phát triển Sơ đồ phát triển Các tiêu chuẩn để được người dùng chấp nhận Kiểm thử tích hợp Integration testing 5. Kế hoạch kiểm tra Nó mô tả một trong các yếu tố sau: • Các bài kiểm tra sẽ được tiến hành như thế nào • Danh sách các đối tượng cần được kiểm tra • Vai trò và trách nhiệm • Yêu cầu tiên quyết để bắt đầu kiểm tra • Kiểm tra môi trường • Giả thuyết • Làm gì sau khi kiểm tra thành công • Làm gì khi kiểm tra không thành công 6. Làm thế nào để viết một bài kiểm tra tích hợp? Một bài kiểm thử đơn giản miêu tả chính xác bài kiểm tra sẽ được thực hiện như thế nào. Các bài kiểm thử tích hợp tập trung vào dòng lưu chuyển dữ liệu/thông tin/kiểm soát từ một bộ phận sang một bộ phận khác. Vì thế các bài kiểm thử tích hợp phải tập trung vào những tình huống trong đó một bộ phận được gọi ra từ một bộ phận khác. Tương tự toàn bộ chức năng áp dụng phải được kiểm thử để đảm bảo rằng các áp dụng phát huy tác dụng khi các bộ phận khác nhau được đặt cùng nhau. Các bài kiểm thử tích hợp được đưa vào thành một nhóm từ một bộ các bài kiểm thử tích hợp. Mỗi bộ có thể tập trung vào một đối tượng khác nhau. Nói cách khác, các bộ kiểm thử khác nhau có thể được tạo ra để tập trung vào các lĩnh vực áp dụng khác nhau. Như đã nêu phía trước, một nhóm kiểm thử có thể được tạo ra để thực hiện các bài kiểm tra. Vì thế các bài kiểm thử phải càng chi tiết càng tốt. Bảng ví dụ bài kiểm thử: 10 Nhóm3 [...]...Kiểm thử tích hợp Integration testing ID bài Thành Mô tả bài kiểmDữ liệuKết quả mong kiểm Kết quả thực công/không Ghi chú thử đầu vào đợi thử thành công Ngoài ra có thể bao gồm cả: • Tên bộ kiểm thử • Kiểm thử bằng • Ngày tháng • Kiểm thử lặp (Có thể thực hiện kiểm thử tích hợp lặp lại một hoặc nhiều lần) 11 Nhóm3 Kiểm thử tích hợp Integration testing 7 Làm việc để hướng tới một bài kiểm tra tích hợp... quá trình tích hợp và thực hiện trong tương lai Trong các phần sau đây trình bày một số bước tích hợp khác nhau 12 Nhóm3 Kiểm thử tích hợp Integration testing III Một số phương pháp kiểm thử tích hợp 1 Top-down Intergration (Kiểm thử tích hợp từ trên xuống dưới) Kiểm thử tích hợp từ trên xuống dưới là một phương pháp gia lượng áp dụng cho việc xây dựng cấu trúc chương trình Các mô đun được tích hợp... Các bài kiểm thử bổ sung tập trung vào chức năng phần mềm có thể bọ ảnh hưởng bởi các thay đổi  Các bài kiểm thử tập trung vào các bộ phận của phần mềm đã bị thay đổi 20 Nhóm3 Kiểm thử tích hợp Integration testing Hình 4: Sơ đồ luồng kiểm thử tích hợp (Source base77.com) Do quá trình kiểm thử tích hợp được tiếp diễn, số bài kiểm thử tích hợp có thể tăng lên khá nhiều Vì thế, bộ kiểm thử hồi quy phải... D3 cho nhóm 3 được loại bỏ trước khi tích hợp bằng mô đun Mb Cả Ma và Mb sẽ được tích hợp bằng bộ phận Mc, và cứ như thế Hình 3: Kiểm thử tích hợp từ dưới lên Khi tích hợp di chuyển lên phía trên, yêu cầu tách các driver kiểm thử giảm dần Thực tế, nếu 2 mức trên cùng của cấu trúc chương trình được tích hợp từ trên xuống, số lượng driver có thể giảm đi và quá trình tích hợp của nhóm sẽ đơn giản hơn nhiều... (chương trình điều khiển để kiểm thử) được viết để kết hợp các đầu vào và đầu ra kiểm thử  Nhóm được kiểm thử 17 Nhóm3 Kiểm thử tích hợp Integration testing  Các Driver được loại bỏ và nhóm được kết hợp di chuyển lên trên trong cấu trúc chương trình Tích hợp tiến hành theo các bước trình bày trong hình 3 Các bộ phận được kết hợp để hình thành nhóm 1, 2 và 3 Mỗi nhóm được kiểm thử bằng driver (trình bày... có thể, viết một tập lệnh để tích hợp và triển khai các bộ phận Điều này sẽ giảm các lỗi thủ công 3) Tài liệu: xắp xếp tài liệu quá trình tích hợp/xây dựng để loại bỏ các lỗi do bỏ qua hoặc không nhìn thấy Người chịu trách nhiệm tích hợp các phần mềm có thể quên chạy tập lệnh yêu cầu và quá trình kiểm thử tích hợp sẽ không cho kết quả chính xác 4) Tìm kiếm lỗi: Kiểm thử tích hợp sẽ mất hướng nếu không... đơn giản về hệ thống quản lý thử viện được xây dựng theo phương pháp tích hợp từ dưới lên: Quản lý thư viện Quản lý mượn sách Quản lý sách Quản lý số lượng sách Quản lý trả sách Yêu cầu mượn sách Quản lý tình trạng sách 19 Nhóm3 Kiểm thử tích hợp Integration testing 3 Regression Testing (Kiểm thử hồi quy) Mỗi khi một mô đun mới được bổ sung dưới dạng một bộ phận của kiểm thử tích hợp, phần mềm sẽ thay... Kiểm thử hồi quy hỗ trợ để đảm bảo rằng các thay đổi (do kiểm thử hoặc do các lý do khác) không dẫn đến các lỗi khác Kiểm thử hồi quy có thể được thực hiện thủ công, bằng cách thực hiện lại các bài kiểm thử hoặc sử dụng công cụ capture/playback Công cụ Capture/playback cho phép kĩ sư phần mềm thực hiện bài kiểm thử và lấy kết quả cho những lần chạy lại và so sánh Kiểm thử hồi quy bao gồm 3 lớp kiểm thử. .. Intergration (Kiểm thử tích hợp từ dưới lên) Kiểm thử tích hợp từ dưới lên, như tên gọi của nó, bắt đầu xây dựng và kiểm thử bằng các mô đun nguyên tử (có nghĩa là các bộ phận ở mức thấp nhất trong cấu trúc chương trình) Do các bộ phận được tích hợp từ dưới lên, việc xử lý yêu cầu đối với các bộ phận bổ sung cho một mức cho trước luôn có sẵn và loại bỏ yêu cầu cần các mô đun bổ sung Phương pháp tích hợp từ... quyết định thành các ca kiểm thử Các ca kiểm thử thu được như sau: 29 Nhóm3 Kiểm thử tích hợp Integration testing STT Các điều kiện Ca kiểm thử 1 Cả 3 giá trị nhập vào đều là số nguyên dương, và tổng của 2 số bất kỳ trong 3 số luôn lớn hơn số thứ 3, và không có cặp 2 số bất kỳ nào trong 3 số đó là = nhau Hành động 2,3,4 2,4,3 3,2,4 3,4,2 4,2,3 4,3,2 Cả 3 giá trị nhập vào đều là số 3,3,4 nguyên dương, . 1 Đề tài số 22: 1 KIỂM THỬ TÍCH HỢP 1 ( Integration testing ) 1 Bài tập lớn môn 3 NHẬP MÔN CÔNG NGHỆ PHẦN MỀM 3 Đề tài số 22: 3 KIỂM THỬ TÍCH HỢP 3 ( Integration testing ) 3 2 Nhóm3 Kiểm thử tích. Kiểm thử tích hợp Integration testing  Bài tập lớn môn NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Đề tài số 22: KIỂM THỬ TÍCH HỢP ( Integration testing ) 1 Nhóm3 Kiểm thử tích hợp Integration. được kiểm thử toàn bộ hơn; và có thể áp dụng một phương pháp kiểm thử có hệ thống. Phương pháp kiểm thử được nói đến ở đây là phương pháp kiểm thử tích hợp. 1. Đặc điểm của kiểm thử tích hợp: •

Ngày đăng: 29/07/2014, 23:20

Từ khóa liên quan

Mục lục

  • 1. Đặc điểm của kiểm thử tích hợp:

  • 2. Khi nào thì sử dụng kiểm thử tích hợp?

  • 3. Mục tiêu của kiểm thử tích hợp:

  • 4. Các bước kiểm thử tích hợp

  • 5. Kế hoạch kiểm tra

  • 6. Làm thế nào để viết một bài kiểm tra tích hợp?

  • 7. Làm việc để hướng tới một bài kiểm tra tích hợp hiệu quả:

  • 1. Top-down Intergration (Kiểm thử tích hợp từ trên xuống dưới)

  • 2. Bottom-up Intergration (Kiểm thử tích hợp từ dưới lên)

  • 3. Regression Testing (Kiểm thử hồi quy)

  • 4. Smoke Testing

  • 5. Big Bang

  • 6. Thảo luận xung quanh kiểm thử tích hợp (Comments on Intergration Testing)

  • 7. Tư liệu về kiểm thử tích hợp (Intergration Test Documentation)

Tài liệu cùng người dùng

Tài liệu liên quan