Bài giảng Kỹ nghệ phần mềm - Chương 8: Kiểm thử - Nguyễn Ngọc Bình

pdf 8 trang ngocly 2120
Bạn đang xem tài liệu "Bài giảng Kỹ nghệ phần mềm - Chương 8: Kiểm thử - Nguyễn Ngọc Bình", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfbai_giang_ky_nghe_phan_mem_chuong_8_kiem_thu_nguyen_ngoc_bin.pdf

Nội dung text: Bài giảng Kỹ nghệ phần mềm - Chương 8: Kiểm thử - Nguyễn Ngọc Bình

  1. NỘI DUNG z Đạicương về kiểmthử KỸ NGHỆ PHẦN MỀM z Các mức độ kiểmthử z Các loạikiểmthử z Các hoạt động kiểmthử CHƯƠNG 8: z Các chiếnlượckiểmthử tích hợp z Các công cụ hỗ trợ kiểmthử KIỂM THỬ Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 1 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 2 ĐẠI CƯƠNG – Các khái niệm ĐẠI CƯƠNG – Các khái niệm ‰ Xác minh (Verification) ‰ Thẩm định/xác minh tĩnh -cóđúng đặctả không, có đúng thiếtkế không (kiểm tra - software inspection) - phát hiệnlỗilậptrình - không thựchiệnchương trình - xét duyệtyêucầu, thiếtkế, mã nguồn ‰ Thẩm định (Validation) -tiến hành ở mọi công đoạn phát triển -cóđáp ứng nhu cầungười dùng không -khóđánh giá tính hiệuquả củasảnphẩm -cóhoạt động hiệuquả không - phát hiệnlỗiphântích, lỗithiếtkế (lỗimức cao) V & V - Validation & Verification Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 3 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 4 ĐẠI CƯƠNG – Các khái niệm ĐẠI CƯƠNG – Mụctiêu ‰ Thẩm định/xác minh động z Xác định đượcmức độ phầnmềm đáp (kiểmthử – software testing) ứng đượccácyêucầu(độ tin cậy) -thựchiệnchương trình -cầncómãnguồn - phát hiệnlỗilậptrình - đánh giá tính hiệuquả phầnmềm - là cách duy nhất để kiểmtrayêucầu phi chứcnăng Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 5 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 6
  2. ĐẠI CƯƠNG - Thời điểmtiến hành CÁC MỨC ĐỘ KIỂM THỬ Tiến hành ở mọi công đoạnpháttriểnphầnmềm KiKiểểmtrammtramứứcc Các bộ phận đơđơnvnvịịlậlậptrìnhptrình đơnlẻ (Unit(Unit test) test) ‰ phân tích -xétduyệt đặctả yêu cầu KiKiểểmtrammtramứứcc Các nhóm tíchtích h hợợppcác các đơđơnvnvịị bộ phận ‰ thiếtkế (Intergration(Intergration test) test) -xétduyệt đặctả thiếtkế Kiểmtramứchệ Kiểmtramứchệ Toàn bộ thống, sau khi tích hợp ‰ mã hóa thống, sau khi tích hợp hệ thống (System(System test) test) -kiểmthử chương trình KiKiểểmtramtrađểđể chchấấpnhpnhậậnsnsảảnphnphẩẩmm Toàn bộ hệ thống (Acceptance(Acceptance test) test) nhìn từ khách hàng Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 7 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 8 CÁC MỨC ĐỘ KIỂM THỬ - Phía phát triển CÁC MỨC ĐỘ KIỂM THỬ - Phía khách hàng ‰ Unit test/Module test • Dựa vào TL thiếtkế chi tiết • Độidự án test (kiểmthửđơnvị) • Test 1 module (hàm, thủ tục, đoạn ‰ Kiểmthử alpha code, component ) Là kiểmthử chấpnhận đượctiếnhànhở môi ‰ Integration test • Độidự án test • Dựa vào TL thiếtkế tổng thể (test tích hợp) (Tester) trường khách hàng. •Kiểmtrasự tương tác giữa các module ‰ System test •DựavàoTL đặctả yêu cầuphầnmềm • Độidự án test (test hệ thống phầnmềm) •Kiểmtratoànbộ hệ thống (tester) ‰ Acceptance test •Dựavàoyêucầu nghiệpvụ của khách • Khách hàng (test chấpnhận) hàng Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 9 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 10 CÁC MỨC ĐỘ KIỂM THỬ - Phía khách hàng CÁC LOẠI KIỂM THỬ Actual output compared requirements Black box ‰ Kiểmthử bê ta with required output ƒ Đượctiếnhànhvớimộtlượng lớnusers requirements & Gray box As for black- ƒ User tiến hành kiểmthử không có sự hướng dẫn and white box key design elements củangười phát triển testing ƒ Thông báo lạikếtquả cho người phát triển White box Confirmation design of expected elements behavior Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 11 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 12
  3. TỔ CHỨC KIỂM THỬ CÁC HOẠT ĐỘNG KIỂM THỬ Project Report direction Các bước chính Bắt đầu SQA leader Lậpkế hoạch Lậpkế hoạch Test Support direction Thiếtkế Test Chuẩnbị Infrastructure Cài đặtvàchuẩnbị Test leader Test management z Tham gia phân tích yêu cầucủa khách hàng Test tích hợp z Lậpkế hoạch test Test Xem xét và Đánh z Xây dựng tiêu chuẩn nghiệmthu giá kếtquả test Test hệ thống z Xây dựng hướng dẫn test (bảnthiếtkế test, kịch bản test) Phân tích kếtquả z Thựchiện test Tester Tester z Hỗ trợ các vấn đề liên quan đến test z Báo cáo và tổng hợpkếtquả test z Lậpvàlưutrữ các hồ sơ liên quan đến test Tổng hợp, báo cáo z Thu thậpvàkiểmsoátduliệu liên quan đếnhoạt động test z Tính toán và phân tích các chỉ tiêu liên quan đếnhoạt động test Thựchiện Kết thúc Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 13 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 14 CÁC HOẠT ĐỘNG KIỂM THỬ (1) CÁC HOẠT ĐỘNG KIỂM THỬ (2) Sảnphẩm chính : Bắt đầu e Bắt đầu Initiation (khởi động) Lậpkế hoạch Test Kế hoạch test Definition (Xác định yêu cầu) Lậpkế hoạch Test Test case ec Thiếtkế Test Test procedure Solution (Thiếtkế) c Test scrip Thiếtkế Test Cài đặtvàchuẩnbị Test data Test Môi trường Cài đặtvàchuẩnbị Construction (Xây dựng) Test Coding (lập trình) Test tích hợp Bcáo KQ test Test tích hợp Lỗi Xem xét và Đánh giá e Xem xét và Đánh giá c Đề xuất Testing (kiểmthử) Biên bảntest kếtquả test kếtquả test Test hệ thống Test hệ thống ec Tổng hợp, báo cáo Tổng hợp, báo cáo Bcáo tổng hợptest Hồ sơ Kếtthúc Transition (Triển khai) Kết thúc Termination (Kết thúc) Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 15 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 16 CÁC HOẠT ĐỘNG - Lậpkế hoạch test CÁC HOẠT ĐỘNG - thiếtkế test •Dựatrêncácsảnphẩmcủa: • Phân tích 1. Xác định yêu cầuchotest Các yêu cầu test TN Test, CBT 1. Lập danh sách các loạitest, đảm Danh sách loại test TN Test, •Phương thứcthựchiện bảo cho việcxáclậptínhđúng đắn& •bướclậpKH testCBT Các rủi ro liên quan đếntest TN Test 2. Đánh giá rủirovàlậpmức ư•Tiêuchu•Su tiênố ngườẩi,nhoànthànhvi kỹ năng ệc test, thỏamãnyêucầucủasảnphẩm •Xácđịnh các test case cho các yêu cầu đánh giáCác chấ yêutlượ cầngutest sả đượnphcxácẩmđịnh mức •Môtả test case: vào, ra, điềukiện • Môi•D trườựatrêncácsng test: phầảnmnphềẩm,m c phânứng tích 2. Xây dựng tình huống test (test Thiếtkế test, các mẫumãsử TN Test, •Cácyếutđộố ưucầ tiênnchúý • Công•Xác cụ địtestnh: test cái gì? case) dụng, yêu cầuvề dữ liệutest CBT 3. Xác lậpchiếnlượctest •Dữ•Xác liệuPh testđịươnh:ng thgiứớcthihựạchincôngviện ệc, thời TN Test gian,Tiêu ngu chuồnlẩnựđcánh giá 3. Xây dựng và tổ chứcthủ tụctest Các thủ tục test TN Test, (test procedure) CBT •XácCácđịnh yếut nguố cầồnnl chúực ý 4. Xác định nguồnlựcvàmôitrường•LịchCác trình nguồ testnlựcTN Test 4. Xem xét tình huống test và thủ tục Biên•D bảnựa xem vào: xét các test case QTDA, Cán •Cácmốc chính test, đánh giá tỷ lệ yêu cầucủakhách •Xácđịnh các test procedurebộ lậptrình 5. Lậplịch trình test Lịch trình test TN Test hàng (hoặc tình huống sử dụng) sẽ •Xáclậpmốiquanhệ và thứ tự giữa đượctest dựatrênthiếtkế test đãlập 6. Tổng hợp thông tin, lậpKH test Kế hoạch test TN Test • Các test procedure vớinhau • Các test procedure - Test cases 7. Xem xét và thông qua KH test Kế hoạch test được phê duyệtQTDA 5. Thông qua thiếtkế Test Thiếtkế test được thông qua QTDA Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 17 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 18
  4. CÁC HOẠT ĐỘNG - Cài đặtvàchuẩnbị test CÁC HOẠT ĐỘNG - test tích hợp •Tàiliệu • Gói phầnmềm : = tool • • Lập trình hoặc sinh tự động 1.Lập các test script để thựchiệncác TestTest scipts scripttra thử nghiệm TN Test/ • Kiểm 1. Nhận bàn giao với độilậptrình Các sảnphẩmcầntest đượctiếp CBT tình huống test/thủ tụctest (nếucần) • Các lệnh dùng để tựđộng hoáCBT các •Dựatrênthiếtkế test thủ tụctest nhận • Ghi nhậnlỗivàoDMS 2. Chuẩnbị dữ liệutest D• ữLliậệpu testtrình, sử dụng công cụ test CBT tự Hệ thống để test sẵn sàng CBT động 2. Cài đặt 3. Chuẩnbị môi trường Môi• Tạo trườmớngi d sẵữnsàngcholiệu CBT 3. Thựchiện test và ghi nhậnlỗi Biên bản test CBT vi• Tệcthái sựửchidụệnntestg các dữ liệu cũ Danh sách lỗipháthiện TN Test, Biên bảnkiểm tra công cụ CBT 4. Xử lý lỗi 4. Kiểm tra các công cụ test •Phốihợpvới độilậptrình CBT test •Test lại-> Ghinhậnlỗimới 5. Xem xét môi trường, điềukiệnvàdữ Môi trường và dữ liệutest TN Test/ 5. Xem xét các kếtquả test và việc Biên bản test TN Test, liệutest đượckiểmtra CBT thựchiệnkhắcphụclỗi QTDA, • Phầnmềm, phần cứng CBT, CBCL • Các điều kiện khác (nếucần) Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 19 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 20 CÁC HOẠT ĐỘNG - test hệ thống CÁC HOẠT ĐỘNG - xem xét và đánh giá kếtquả test 1. Nhậnbàngiaovới độilậptrình Các sảnphẩmcầntest đượctiếp CBT •Kiểmtravàcnhận ậpnhật: 2. Chỉnh sửathiếtkế test Thiếtkế test, test script, dữ liệutest TN Test 1. Phân tích lỗivàđưarađề xuất Báo cáo kếtquả test TN Test đượcc•Testậpnh ậcaset • Test procedure Đề xuất 3. Cài đặt Chương trình được cài đặt CBT • Test script 2. Đánh giá tỷ lệ test, đánh giá mức Báo cáo kếtquả test TN Test 4. Thựchiệntest vàghinhậnlỗi Biên• bả Testntest data CBT độ đạt được các tiêu chí để hoàn Danh sách lỗi phát hiện thành test 5. Xử lý lỗi Biên bảntest TN Test, CBT Danh sách lỗi phát hiện 3. Xem xét báo cáo kếtquả test Báo cáo kếtquả test đượcxem QTDA, xét CBCL 6. Xem xét các kếtquả test và•Khih việc ệ thốKngếtqu thoảảtestmãn đượ cácc xem xét TN Test,QTDA, • Phân tích lỗidựa: thựchiệnkhắcphụclỗi tiêu chuẩn đặtra CBT, CBCL •mức độ lặplại (nếucần) •Dựatrêntỷ l•ệđộYCnghiêm được test/t trọngổng 7. Kếtquả test đượcxemxét Xác nhân sảnphẩm đủ tiêu chuẩn QTDA, CBCL, số YC cầntest•Thờigiansửalỗi phát hành TN Test Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 21 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 22 CÁC HOẠT ĐỘNG - tổng hợp, báo cáo CÁC HOẠT ĐỘNG Vấn đề củathiếtkế test 1. Tậphợp các dữ liệu, Dữ liệu, kếtquả test CBT kếtquả test z Xác định các test case 2. Lập báo cáo tổng hợp Báo cáo tổng hợptest TN Test • Phân hoạch tương đương test • Đường đi trong mô đun 3. Tổ chứclưutrữ tài liệu, Hồ sơ, files CBT z Mô tả các test case hồ sơ Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 23 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 24
  5. CÁC HOẠT ĐỘNG –môtả test case HOẠT ĐỘNG – xác định test case ‰ Tên mô đun/chứcnăng muốnkiểmthử ‰ Dữ liệuvào Phân hoạch tương đương - Equivalence partitioning -dữ liệu thông thường: số, xâu kí tự, file, ‰ Không thể kiểmthử mọitrường hợp -môitrường thử nghiệm: phầncứng, OS, -thứ tự thao tác (khi kiểmthử giao diện) ‰ Chia dữ liệu thành các miền có cùng hành vi ‰ Kếtquả mong muốn ‰ Tạomột test case cho từng miền - thông thường: số, xâu kí tự, file, ‰ Tạo test case cho biên củacácmiền - màn hình, thờigianphảnhồi -nhiềulỗixuấthiệnvớigiátrị biên ‰ Kếtquả thựctế Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 25 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 26 HOẠT ĐỘNG – xác định test case HOẠT ĐỘNG – xác định test case Phân hoạch tương đương - Equivalence partitioning Đường đi trong mô đun Ví dụ: ‰ Phân tích mô đun để xác định đường đi Input Expected ‰ Đường đilàthứ tự thựchiệncáclệnh từđiểm Output bắt đầu đến điểmkếtthúccủamôđun Hàm tính trị tuyệt đối 100 100 -miềndữ liệu= 0 -20 20 ‰ Thiếtkế các test case để kiểmthử mọi đường đi -miềndữ liệu< 0 0 0 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 27 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 28 HOẠT ĐỘNG – xác định test case HOẠT ĐỘNG – xác định test case Đường đi trong mô đun–Xácđịnh đường đi Đường đi trong mô đun–Xácđịnh đường đi Start 0 ‰ Đánh số các khốilệnh Ví dụ: 1 - đánh số các khốilệnh, câu lệnh điềukiện 2 - đánh số các hợp điểmcủaluồng lệnh ‰ Rút gọnflow chart (đồ thị) 11 3 End -cáckhốituầntựđượctíchhợp thành mộtkhối 6 4 -tíchhợpkhốituầntự vào câu lệnh điềukiện 7 8 5 kế tiếp 9 10 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 29 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 30
  6. HOẠT ĐỘNG – xác định test case HOẠT ĐỘNG – xác định test case Đường đi trong mô đun–Xácđịnh đường đi Đường đi trong mô đun – Đường đi độclập 1 ‰ Không thể chọnmọi đường đi Ví dụ: -chọncácđường đi độclập ‰ Đường đi độclập 9 2 -cóítnhấtmộtcặpkhốilệnh (mộtcạnh của đồ thị) 4 đường đi: chưaxuấthiện trong các đường đi đãcó 3 1-2-3-8-1-9 ‰ Bộ các đường đi độclậplàmộttậphợpthỏamãn 5 6 1-2-4-6-7-8-1-9 -mọikhốilệnh đều đượcthựchiệnítnhấtmộtlần -mọi điềukiện đều đượckiểmthử với hai trường hợp true và false 7 8 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 31 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 32 HOẠT ĐỘNG – xác định test case HOẠT ĐỘNG – xác định test case Đường đi trong mô đun – Đường đi độclập Đường đi trong mô đun – Đường đi độclập 1 Ví dụ: ‰ Có thể tồntại nhiềubộđường đi độclập 9 2 1-9 ‰ Số đường đitốithiểucầnkiểmtra 1-2-3-8-1-9 4 = độ phứctạpthuật toán 3 1-2-4-6-7-8-1-9 5 6 1-2-4-5-7-8-1-9 7 8 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 33 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 34 CHIẾN LƯỢC KIỂM THỬ TÍCH HỢP KIỂM THỬ TÍCH HỢP – Top-down testing ‰ Mục đích -kiểm tra giao diệngiữa các unit ‰ Các mô đun mứctrênđượckiểmthử trước -kiểm tra tính đúng đắnso với đặctả -kiểm tra tính hiệuquả ‰ Các mô đun thuộccấp được thay bằng bằng ‰ Thường sử dụng kiểmthử chức các mô đun tạmthời(stub function) năng ƒ có cùng tên vớimôđun thật 1. Kiểmthử top – down ƒ có cùng giao diện ƒ trả lạikếtquả vớimộthoặcmộtvàibộ dữ liệu 2. Kiểmthử bottom – up chuẩn 3. Kiểmthử quay lui (regression) Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 35 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 36
  7. KIỂM THỬ TÍCH HỢP – Top-down testing KIỂM THỬ TÍCH HỢP – Top-down testing Vídụ về stub fuction: Vídụ về stub fuction: Kiểmthử mô đun calender() có gọi đếnmôđun tính ngày Mô đun tính ngày trong tuần calc_day(): trong tuần calc_day() chưa được phát triển. - input: ngày, tháng, năm - output: trả xâu kí tự là thứ của ngày đã cho calender() đã phát triển, cầnkiểmthử String calc_day(Date d) { return "Sunday"; calc_day() chưa phát triển } Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 37 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 38 KIỂM THỬ TÍCH HỢP – Top-down testing KIỂM THỬ TÍCH HỢP – Top-down testing Vídụ về stub fuction: Top module đượckiểmthử trước A A với các stubs Để tăng độ thích nghi, có thể thay thế dữ liệucốđịnh bằng cách nhậpkếtquả trựctiếptừ bàn phím. B F G String calc_day(Date d) { Các stubs được thay thế từng cái một String s; C cout > s; D E return s; mộtsố ca kiểmthửđượcthựchiệnlại } (kiểmthử quay lui) Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 39 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 40 KIỂM THỬ TÍCH HỢP – Top-down testing KIỂM THỬ TÍCH HỢP – Bottom-up testing Ưu điểm: ‰ Các mô đun cấpthấp đượckiểmthử trước ƒ Phát hiệnsớmcáclỗithiếtkế (lỗicấutrúc) ‰ Mô đun mứctrênđược thay thế bằng mô ƒ Có sớm phiên bảnthựchiện được đun điềukhiển (test driver), có chứcnăng ƒ gọimôđun cầnthử nghiệm Nhược điểm: ƒ truyềndữ liệu ƒ Nhiềumôđun cấpthấprất khó mô phỏng ƒ hiểnthị kếtquả -thaotácvớicấutrúcdữ liệuphứctạp ‰ Thay thế dần các driver -trả lạikếtquả phứctạp(con trỏ, ảnh, ) Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 41 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 42
  8. KIỂM THỬ TÍCH HỢP – Bottom-up testing KIỂM THỬ TÍCH HỢP – Bottom-up testing A Vídụ Test driver ®Ó thö nghiÖm calc_day() void calc_day_test_drive() { B F K Thay thế các driver Date d; từng cái một String s; while (1) { C G cout > d; s = calc_day(d); D E H I cout << s << endl; } cluster } cluster Các module mứcthấp đượctíchhợptrước Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 43 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 44 KIỂM THỬ TÍCH HỢP – Bottom-up testing MỘT SỐ CÔNG CỤ HỖ TRỢ z TestTrack Pro Ưu điểm z DMS for Defect management - Tránh xây dựng các mô đun tạmthời (stub) phứctạp - Tránh sinh các kếtquả nhân tạo(nhậptừ bàn phím) z Rational Robot Functional test tool: -Thuậntiện cho phát triểncácmôđun để dùng lại z Rational Performance test tool Nhược điểm z Virtual Ruler and Eye Dropper for Graphic test -Chậm phát hiệncáclỗikiếntrúc -Chậm có phiên bảnthựchiện Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 45 Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 46 TỔNG KẾT z Giớithiệuvề kiểmthử z Quy trình thựchiện z Các phương pháp, kỹ thuật và công cụ Bộ môn Công nghệ phầnmềm – Khoa CNTT- ĐHCN- ĐHQGHN Kỹ nghệ phầnmềm Slide 47