Chương 9 cung cấp cho người học những kiến thức cơ bản về quản lý chất lượng phần mềm như: Mô hình V & V, khái niệm kiểm thử phần mềm, phương pháp kiểm thử, kỹ thuật thiết kế trường hợp thử và các phương pháp kiểm thử, kiểm thử module, kiểm thử hệ thống, kiểm thử chấp nhận, bảo trì phần mềm.
Chương 8: Quản lý chất lượng phần mềm • Mơ hình V & V • Kiểm thử NHẬP MƠN CƠNG NGHỆ PHẦN MỀM (INTRODUCTION TO SOFTWARE ENGINEERING) co ng c om • Bảo trì an • Mơ hình V gọi Mơ hình V & V du o Mơ hình V & V ng th • Mơ hình V – Xác minh (verification) : Xác minh kỹ thuật phân tích tĩnh Trong kiểm thử, kỹ thuật thực mà khơng phải chạy code Nó bao gồm số hoạt đông xem lại (review), kiểm tra (inspection) kiểm tra từ đầu tới cuối (walkthrough) – Xác nhận (validation): Xác nhận kỹ thuật phân tích động, việc kiểm thử thực cách thực code Ví dụ bao gồm kỹ thuật kiểm tra chức (function) phi chức (nonfunction) cu u – Xác minh (verification) : Xác minh kỹ thuật phân tích tĩnh Trong kiểm thử, kỹ thuật thực mà chạy code Nó bao gồm số hoạt đơng xem lại (review), kiểm tra (inspection) kiểm tra từ đầu tới cuối (walkthrough) – Xác nhận (validation): Xác nhận kỹ thuật phân tích động, việc kiểm thử thực cách thực code Ví dụ bao gồm kỹ thuật kiểm tra chức (function) phi chức (nonfunction) CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 8: Quản lý chất lượng phần mềm Mơ hình V & V • Mơ hình V & V • Kiểm thử co ng c om Khái niệm kiểm thử Phương pháp kiểm thử Kỹ thuật thiết kế trường hợp thử phương pháp kiểm thử Kiểm thử module Kiểm thử hệ thống Kiểm thử chấp nhận an 6 Khó khăn du o Khái niệm kiểm thử ng th • Bảo trì • Nâng cao chất lượng phần mềm không vượt chất lượng thiết kế: phát lỗi tiềm tàng sửa chúng • Phát lỗi bị hạn chế thủ công cu u • Là mấu chốt đảm bảo chất lượng phần mềm • Là tiến trình (và nghệ thuật) nhằm phát lỗi việc xem xét lại đặc tả, thiết kế mã nguồn • Dễ bị ảnh hưởng tâm lý kiểm thử • Khó đảm bảo tính đầy đủ kiểm thử • Kiểm thử thành công phát lỗi; kiểm thử không phát lỗi kiểm thử dở 7 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt Tương ứng vòng đời dự án kiểm thử Lưu ý kiểm thử Đối tượng phạm vi Kiểm thử chấp nhận Đặc tả chức năng/ Thiết kế lơ gíc Kiểm thử hệ thống Thiết kế Vật lý Kiểm thử tích hợp Cấu trúc chương trình đặc tả module Kiểm thử đơn vị chương trình co ng c om Chất lượng phần mềm khâu thiết kế định chủ yếu, khơng phải khâu kiểm thử Tính dễ kiểm thử phụ thuộc vào cấu trúc chương trình Người kiểm thử người phát triển nên khác Dữ liệu thử cho kết bình thường khơng có ý nghĩa nhiều, cần có liệu kiểm thử mà phát lỗi Khi thiết kế trường hợp thử, không liệu kiểm thử nhập vào, mà phải thiết kế trước liệu kết có Khi phát sinh thêm trường hợp thử nên thử lại trường hợp thử trướcđó để tránh ảnh hưởng lan truyền sóng an Mã hố module chương trình 10 10 Kiểm thử máy du o Phương pháp kiểm thử ng th Kiểm thử hồi quy • Gỡ lỗi máy (machine debug) hay kiểm thử động: Dùng máy chạy chương trình để điều tra trạng thái động tác chương trình • bước trình tự kiểm thử máy: cu u Kiểm thử tĩnh • Kiểm thử bàn: giấy bút bàn, kiểm tra logic, lần chi tiết sau lập trình xong • Đi xuyên suốt (walk through) • Thanh tra (inspection) 11 11 12 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt begin Begin tự kiểm thử y >= 0máy yes if ( y >= Trình 0) 0; hợp thử y =kế0cho 1.then Thiếtykế= trường Nhập liệu thiết trường hợp kiểm thử abs = y;theo thử bàn abs môi = ytrường thực Trường hợp thử phải có Điều chỉnh thu module tải (tạo thủ tục end; kết kỳ vọng test case-1: 2001-10-10 no đưa tệp truy cập tệp vào Dịch chương trình nguồn tạo module tải để thựcinput: y = chương trình) 7.result: Thực0hiện module tải ghi Khi trường hợp thử cóexpected xử lý tệp vào-ra, phải làm trước actual result:nhận ? kết bàn việc xác định miền Xác nhận kết với kết PUM-I, Mariam Kamkar, IDA tệp kỳ vọng Lặp lại thao tác (5)-(8) yes yes z=foo (x,y) Test case-1: co 2001-10-10 an 13 input: y = test case-2: test end; case-1: y = 0result: 0input: x = 12, y = 12 input: x =input: -4,expected y = 30 test case-1: test case-2: actual expected result: result: ? expected result: expected-result: input: x = -4, y = 30 input: x = 12, y = 12 actual result: ? Kamkar, IDA actual result: ? PUM-I, Mariam expected result: expected result: actual result: ? actual result: ? actual result: ? 2001-10-10 PUM-I, Mariam Kamkar, IDA 14 2001-10-10 14 PUM-I, Mariam Kamkar, IDA Branch Coverage du o Ví dụ: Branch coverage ng th 13 begin u y >= no cu Begin if ( yBegin >= 0) If (y >= 0) thenthen y =y = 0; 0; Abs = y; abs =End; y; end; begin c om Begin Begin Begin Begin x=&& if If((yyif>=>= ( x < 0) 10 && y > 20) { yes x20 if ( x < 10 && y > 20) { && Abs = y; then y = 0; y = 0y>20 End;z = foo (x,y); else z =fie (x,y); z=fie (x,y) z=foo (x,y) abs = y; z = foo (x,y); else z =fie (x,y); abs = y } z=fie (x,y) end;end; } test case-1: ng Statement Coverage Ví dụ: Statement coverage / Branch Coverage Branch Coverage Ví dụ:Condition Condition/branch coverage Condition / Branch Coverage Begin Begin Begin if ( x < 10 && y > 20) { yes begin y=0 yes Testcase-2: case-2: Test testcase-1: case-1: test input: input: input: yy==-5-5 input: y =y0= expected result: expected result: 55 expected-result: expected-result: actual result: ? actual result: ? actual result: ? actual result: ? 2001-10-10 PUM-I, Mariam Kamkar, IDA test-case-1: t t x20 test case-1: test-case:2 t f test case-2: input: y =f0 input: y = -5 test-case-3: test-case-1: t t t expected result: 0f expected result: test-case-4 f test-case:2 t f actual result: ? actual result: ? 2001-10-10 PUM-I, Mariam Kamkar, IDA 2001-10-10 15 test-case-3: f t PUM-I, Mariam Kamkar, IDA test-case-4 f f 2001-10-10 PUM-I, Mariam Kamkar, IDA 16 CuuDuongThanCong.com yes no abs = y 15 no x < 10 10 &&Begin y > 20) if If((xy< >= 0) z = foo (x,y); else z =fie (x,y); > 20 yes z = foo(x,y);if ( x < 10 && y > 20) { y >= no xy yes < 10 Else} then y = 0; z = foo (x,y); else z =fie (x,y);no no y = (x,y) y > 20 z=fie (x,y) z=foo absz =end; =fie(x,y); y; } End; yes x20 end; abs = y(x,y) end; z=fie z=foo (x,y) - https://fb.com/tailieudientucntt 16 Kỹ thuật thiết kế trường hợp thử phương pháp kiểm thử 3.1 Kiểm thử hộp đen • Kỹ thuật thiết kế trường hợp thử dựa đặc tả bề ngồi chương trình: Kiểm thử hộp đen (Black box test): WHAT ? • Kỹ thuật thiết kế trường hợp thử dựa đặc tả bên chương trình: Kiểm thử hộp trắng (white box test): HOW ? • Phân đoạn tương đương • Phân tích giá trị biên c om • Đốn lỗi • Và số kỹ thuật khác Đầu vào Hộp đen Chiến lược kiểm tra liệu hộp đen co ng • Kiểm thử Top-Down hay Bottom-Up Kết an 17 18 th 17 18 b Phương pháp phân tích giá trị biên (Boundary value analysis) du o ng a Phương pháp phân đoạn tương đương (Equivalence Partition) • Mục đích: giảm số lượng test cách chọn tập liệu đại diện • Thực hiện: Chia kiệu vào thành đoạn, đoạn đại diện cho số liệu => việc kiểm thử thực đại diện • Ưu điểm: Test theo mức trừu tượng trường • Áp dụng: hình, menu hay mức q trình • Ví dụ: cu u • Là trường hợp riêng phân đoạn • Thí dụ: miền liệu tháng giá trị hay >12 khơng hợp lệ • Thường sử dụng kiểm thử module 19 19 20 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt c Phương pháp đoán lỗi (Error Guessing) d Phương pháp đồ thị nguyên nhân kết (Cause-effect Graphing) • Dựa vào trực giác kinh nghiệm • Thí dụ lỗi chia cho Nếu module có phép chia phải kiểm thử lỗi SEQUENCE c om AND NOT • Nhược điểm: khơng phát hết lỗi DO UNTIL co ng OR an 21 22 Kiểm thử hộp trắng (tiếp) du o 3.2 Kiểm thử hộp trắng ng th 21 22 • Người KSPM đảm bảo: • Là phương pháp kiểm thử dựa vào cấu trúc điều khiển thủ tục để thiết kế trường hợp kiểm thử cu u – Kiểm tra tất lộ trình độc lập bên mơ đun lần – Kiểm tra tất nhánh đúng/sai lựa chọn – Kiểm tra việc thực vòng lặp biên bên vòng lặp – Kiểm tra cấu trúc liệu để đảm bảo tính hợp thức Đầu vào hh Kết • Các kỹ thuật: hh – Kiểm thử theo lộ trình (Basis path testing) – Kiểm thử theo cấu trúc điều khiển Chiến lược kiểm tra liệu hộp trắng 23 23 24 24 CuuDuongThanCong.com https://fb.com/tailieudientucntt a Kiểm thử theo lộ trình Ví dụ: lưu đồ khối chương trình • Là kỹ thuật Tom McCabe đề xuất cho phép nhà kiểm thử tiến hành số đo độ phức tạp lô gic thủ tục số đo sử dụng để giúp cho việc định nghĩa lộ trình cho lệnh chương trình thực lần q trình kiểm thử • Sử dụng Ký pháp đồ hoạ luồng/ đồ thị chương trình: c om 11 – Mỗi nút đồ thị biểu diễn lệnh/ dãy lệnh liên tiếp – Cung đồ thị biểu diễn luồng điều kiện (trình tự thực hiện) co ng an 25 10 26 26 cu • Một cung phải kết thúc nút (có thể nút khơng tương ứng với lệnh thủ tục) • Vùng bao cung nút gọi Region (khi tính, ta phải tính vùng bao ngồi) • Thí dụ đồ thị chương trình slide trước gồm vùng (các số in nghiêng) • Với điều kiện phức tạp (nhiều phép so sánh) so sánh lại tách thành nút riêng • Thí dụ: If a OR b then X else Y Endif u 2, Chú ý du o Ví dụ: Đồ thị chương trình ng th 25 4, 10 11 27 27 28 28 CuuDuongThanCong.com https://fb.com/tailieudientucntt Độ phức tạp lặp (Cyclomatic Complexity) Độ phức tạp lặp • Độ phức tạp lặp số đo phần mềm, cung cấp đơn vị đo định lượng độ phức tạp lơ gic CT • Trong ngữ cảnh áp dụng kiểm thử theo lộ trình, giá trị cung cấp số lượng lộ trình (path) độc lập chương trình coi cận số lượng test phải tiến hành để đảm bảo lệnh thực lần • Lộ trình độc lập? phần CT bao gồm tập lệnh hay điều kiện • Đồ thị CT có lộ trình độc lập: 1-11; 1-2-3-4-5-101-11; 1-2-3-6-8-9-10-1-11; 1-2-3-6-7-9-10-1-11 • Có cách tính độ phức tạp lặp ký hiệu V(G): co ng c om – V(G) = E – N +2, với E số cung, N số nút G – V(G) = số vùng (region) – V(G) = P +1, với P số lượng nút Predicat (nút giả định, khơng có thật) an 29 30 ng th 29 30 Lời giải i=1 TotalInput = TotalValid = Sum = While value(i) -999 And TotalInput < 100 Do TotalInput = TotalInput +1 If Value(i) >= Minimum And value(i) Then Average = Sum / TotalValid 12 Else Average = -999 Endif • Số lộ trình độc lập (độ phức tạp lặp) = – 1-2-10-11-13; 1-2-10-12-13 – 1-2-3-10-11-13; 1-2-3-4-5-8-9-2 … – 1-2-3-4-5-6-8-9-2…; 1-2-3-4-5-6-7-8-9-2… – …: có nghĩa phần cịn lại đồ thị chấp nhận cu u du o Thí dụ: chương trình viết PDL • Đồ thị chương trình ? 11 • Số test phải thực hiện: 13 LastUpdate 8-07 Dept of SE, 2001 31 SE-V.31 32 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt 3.3 Trình tự thiết kế kiểm thử Kiểm thử module • Kiểm thử module • Kiểm thử tích hợp • Kiểm thử tích hợp module – Kiểm thử lên (Bottom-up Test) – Kiểm thử xuống (Top-down Test) – Kiểm thử cột trụ (Big bang Test) – Kiểm thử kẹp (Sandwich Test) co ng c om – Kiểm thử tích hợp xuống – Kiểm thử tích hợp lên – Kiểm thử hồi qui an 33 34 Kiểm thử lên (Tiếp) du o a Kiểm thử lên (Bottom-up Test) ng th 33 34 • Các module mức thấp tổ hợp vào chùm thực chức • Viết trình điều khiển phối hợp vào/ kiểm thử cu u Mức Mức • Kiểm thử chùm/bó • Loại bỏ trình điều khiển chuyển lên mức Mức Mức 35 35 36 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt b Kiểm thử xuống (Top-down Test) Kiểm thử xuống (tiếp) c om • module điều khiển dùng trình điều khiển kiểm thử, gắn nút trực tiếp vào • Thay nút module thực (theo chiều sâu / ngang) ng • Kiểm thử module gắn vào • Các nút thử xong thử tiếp nút khác Mức Mức Mức co • Kiểm thử hồi quy Mức an 37 38 ng th 37 38 d Kiểm thử kẹp (Sandwich Test) du o c Kiểm thử cột trụ (Big bang Test) • Tích hợp xuống cho mức cấu trúc chương trình • Tích hợp lên cho mức phụ thuộc u • Tích hợp khơng tăng dần • Tất các module tổ hợp trước cu • Tồn chương trình kiểm thử tổng thể • Khó khăn: khó lập lỗi, chữa xong lỗi lỗi lại phát sinh 39 39 40 40 CuuDuongThanCong.com https://fb.com/tailieudientucntt Kiểm thử hệ thống Kiểm thử chấp nhận • Kiểm thử phục hồi: bắt buộc phần mềm hỏng nhiều cách để kiểm chứng phục hồi • Kiểm thử an tồn: kiểm chứng chế bảo vệ • Mục đích: để bàn giao PM cho khách hàng • Đối tượng: Cần có tham gia ND c om • Trình tự: Dựa vào Yêu cầu PM co ng • Kiểm thử gay cấn • Kiểm thử hiệu an 41 42 th 41 42 ng Chương 8: Quản lý chất lượng phần mềm du o u • Bảo trì • Bảo trì cơng việc tu sửa, thay đổi phần mềm phát triển (chương trình, liệu, JCL, loại tư liệu đặc tả, ) theo lý • Các hình thái bảo trì: bảo trì để cu • Mơ hình V & V • Kiểm thử Khái niệm Khái niệm Quy trình nghiệp vụ Các vấn đề cịn tồn Bảo trì phương pháp phát triển phần mềm – Tu chỉnh – Thích nghi – Cải tiến – Phòng ngừa 43 43 44 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt a Bảo trì để tu sửa Mức trừu tượng Tính đầy đủ Tính tương tác Tính định hướng c om – – – – • Là tu chỉnh phần mềm theo thay đổi mơi trường bên ngồi nhằm trì quản lý phần mềm theo vịng đời • Thay đổi phần mềm thích nghi với mơi trường: cơng nghệ phần cứng, mơi trường phần mềm • Những nguyên nhân chính: – Thay đổi phần cứng (ngoại vi, máy chủ, .) – Thay đổi phần mềm (môi trường): đổi OS – Thay đổi cấu trúc tệp mở rộng CSDL ng – Kỹ sư phần mềm khách hiểu nhầm – Lỗi tiềm ẩn phần mềm sơ ý lập trình kiểm thử chưa bao quát hết – Vấn đề tính phần mềm: khơng đáp ứng yêu cầu nhớ, tệp, Thiết kế sai, biên tập sai – Thiếu chuẩn hóa phát triển phần mềm (trước đó) • Kỹ nghệ ngược (Reverse Engineering): dò lại thiết kế để tu sửa • Những lưu ý co • Là bảo trì khắc phục khiếm khuyết có phần mềm • Một số nguyên nhân điển hình b Bảo trì để thích hợp an 45 46 – Do muốn nâng cao hiệu suất nên thường hay cải tiến phương thức truy cập tệp – Mở rộng thêm chức cho hệ thống – Cải tiến quản lý kéo theo cải tiến tư liệu vận hành trình tự cơng việc – Thay đổi người dùng thay đổi thao tác • Cịn gọi tái kỹ nghệ (reengineering) • Mục đích: đưa thiết kế chức có chất lượng cao • Các bước thực hiện: u • Là cơng việc tu chỉnh chương trình có tính đến tương lai phần mềm mở rộng thay đổi • Thực thiết kế phần mềm phải tính đến tính mở rộng nó, nên thực tế ta gặp bảo trì phịng ngừa phần mềm thiết kế tốt cu • Là việc tu chỉnh hệ phần mềm theo yêu cầu ngày hồn thiện hơn, đầy đủ hơn, hợp lý • Những ngun nhân chính: d Bảo trì để phịng ngừa du o c Bảo trì để cải tiến ng th 45 46 – Xây dựng lưu đồ phần mềm – Suy dẫn biểu thức Bun cho dãy xử lý – Biên dịch bảng chân lí – Tái cấu trúc phần mềm • Mục đích: sửa đổi để thích hợp với yêu cầu thay đổi có người dùng • Thực thay đổi thiết kế khơng tường minh • Hiểu hoạt động bên chương trình • Thiết kế / lập trình lại • Sử dụng công cụ CASE 47 47 48 48 CuuDuongThanCong.com https://fb.com/tailieudientucntt Quy trình nghiệp vụ Sơ đồ bảo trì Hiểu phần mềm có • Quy trình bảo trì: q trình vịng đời phần mềm, tn theo pha phân tích, thiết kế, phát triển kiểm thử từ phát sinh vấn đề giải xong • Các nhiệm vụ bảo trì: Loại bảo trì? Phát triển phần mềm c om – Phân tích/cơ lập: phân tích tác động, phân tích giá trị lợi ích, lập thành phần cần bảo trì – Thiết kế: thiết kế lại hệ thống (phải biết cách tu sửa, thay đổi) – Thực thi: thay mã nguồn kiểm soát đơn vị thành phần hệ thống, có tính đến thời gian lập trình Tu sứa phần mềm có Kiểm thử tính qn • Thao tác bảo trì: Gồm loại ng Kiểm thử sau bảo trì co – Tu chỉnh cải có (loại 1) – Thêm (loại 2) an 49 -Khi thêm chức phải phát triển chương trình cho phù hợp với yêu cầu -Cần tiến hành từ thiết kế, lập trình, gỡ lỗi kiểm thử unit -Phản ảnh vào giao diện phần mềm (thông báo, phiên bản, ) -Bảo trì chương trình nguồn, tạo module dịch lại -Thực kiểm thử unit tu chỉnh mục liên quan có tư liệu đặc tả -Chú ý theo sát tác động module sửa đến thành phần khác hệ thống 50 50 Sơ đồ bảo trì Tu sứa phần mềm có Kiểm chứng tính qn Kiểm thử sau bảo trì Tạo biểu quản lý bảo trì Phát triển phần mềm du o • Phương pháp cải tiến thao tác bảo trì: – Sáng kiến quy trình phát triển phần mềm – Sáng kiến quy trình bảo trì phần mềm – Phát triển kỹ thuật cho bảo trì u Loại bảo trì? Các vấn đề cịn tồn Bằng kiểm thử tích hợp -Đưa đơn vị (unit) dược kiểm thử vào hoạt động hệ thống -Điều chỉnh tương tích module -Dùng liệu trước kiểm thử để kiểm thử lại tính quán ! Chú ý hiệu ứng sóng chỉnh sửa cu Hiểu phần mềm có ng th 49 Tạo biểu quản lý bảo trì Thực thi “trên bàn”: -Nắm vững chức hệ thống theo tài liệu -Nắm vững đặc tả chi tiết, điều kiện kiểm thử, theo tài liệu -Dị đọc chương trình nguồn, hiểu trình tự xử lý chi tiết hệ thống Khi hồn thành bảo trì: -Kiểm tra nội dung mơ tả có tư liệu đặc tả -Cách ghi tư liệu có phù hợp với mơ tả mơi trường phần mềm hay khơng ? Để quản lý tình trạng bảo trì, lập biểu: -Ngày tháng, -Ngun nhân -Tóm tắt cách khắc phục -Chi tiết khắc phục, hiệu ứng sóng -Người làm bảo trì -Số cơng 51 51 52 52 CuuDuongThanCong.com https://fb.com/tailieudientucntt a Sáng kiến quy trình phát triển phần mềm b Sáng kiến quy trình bảo trì phần mềm • Sử dụng cơng cụ hỗ trợ phát triển phần mềm • Chuẩn hóa thao tác bảo trì thiết bị mơi trường bảo trì • Thiết kế để dễ bảo trì • Lưu lại thơng tin sử bảo trì • Dự án nên cử người chủ chốt làm cơng việc bảo trì sau dự án kết thưc giai đoạn phát triển co ng c om • Chuẩn hóa khâu phát triển phần mềm • Người bảo trì chủ chốt tham gia vào giai đoạn phân tích thiết kế an 53 54 th 53 54 ng c Phát triển kỹ thuật cho bảo trì du o • Tìm hiểu SMMM – Software Maintenance Maturity Model u • Cơng cụ phần mềm hỗ trợ bảo trì • Cơ sở liệu cho bảo trì Bài tập nhà cu • Quản lý tài liệu, quản lý liệu, quản lý chương trình nguồn, quản lý liệu thử, quản lý sử bảo trì • Trạm bảo trì tính cao hệ thống mạng lưới bảo trì với máy chủ thơng minh 55 55 56 56 CuuDuongThanCong.com https://fb.com/tailieudientucntt Chương 8: Quản lý chất lượng phần mềm a Phát triển lặp • Mơ hình V & V • Kiểm thử Yêu cầu Phân tích & Thiết kế Kế hoạch ban đầu Cài đặt c om • Bảo trì Khái niệm Quy trình nghiệp vụ Các vấn đề cịn tồn Bảo trì phương pháp phát triển phần mềm Kiểm thử Đánh giá co ng Triển khai an 57 58 58 ng th 57 Mỗi vòng lặp tạo phiên thực thi Agile du o RUP Phát triển lặp Giá trị sản phẩm phân phối bước lặp lặp lại Bắt đầu Khởi thảo Xây dựng Chuyển đổi cu u Mơ hình nghiệp vụ u cầu Phân tích thiết kế Cài đặt Kiểm thử Triển khai Bước lặp sơ bộ(s) Các vòng lặp lặp #1 lặp #2 lặp #n lặp #n+1 lặp #n+2 lặp #m lặp #m+1 59 59 60 60 CuuDuongThanCong.com https://fb.com/tailieudientucntt Scrum b Hướng thành phần • Những hoạt động bảo trì CBSD co ng c om – Gắn kết hóa gói hóa – May đo hóa – Phát lỗi lập – Cập nhật cấu hình thành phần – Theo dõi kiểm tra hành vi hệ thống – Kiểm thử thành phần an 61 62 Kiểm thử bảo trì du o c Mã nguồn mở ng th 61 62 • Sự khác biệt với bảo trì theo phương pháp truyền thống • Bảo trì u – Phát lỗi, đánh giá phần mềm – Thực sau trình phát triển phần mềm cu – Phiên ngày tháng – Chờ đợi dịch vụ • Kiểm thử – Thay đổi, cải tiến phần mềm phát triển – Thực sau phần mềm đưa vào sử dụng 63 63 64 64 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... tạp lặp) = – 1-2 -1 0-1 1-1 3; 1-2 -1 0-1 2-1 3 – 1-2 - 3-1 0-1 1-1 3; 1-2 - 3-4 - 5-8 -9 - 2 … – 1-2 - 3-4 - 5-6 -8 -9 - 2…; 1-2 - 3-4 - 5-6 - 7-8 -9 - 2… – …: có nghĩa phần cịn lại đồ thị chấp nhận cu u du o Thí dụ: chương trình... lệnh hay điều kiện • Đồ thị CT có lộ trình độc lập: 1-1 1; 1-2 - 3-4 - 5-1 0 1-1 1; 1-2 - 3-6 -8 -9 - 1 0-1 -1 1; 1-2 - 3-6 -7 -9 - 1 0-1 -1 1 • Có cách tính độ phức tạp lặp ký hiệu V(G): co ng c om – V(G) = E – N +2,... test-case-4 f test-case:2 t f actual result: ? actual result: ? 200 1-1 0-1 0 PUM-I, Mariam Kamkar, IDA 200 1-1 0-1 0 15 test-case-3: f t PUM-I, Mariam Kamkar, IDA test-case-4 f f 200 1-1 0-1 0 PUM-I,