Công nghệ phần mềm (HUST) - SE5

LI
lienhejb
0 downloads
8
0

Document content

Page 1

Nhập môn Phần V Côngnghệ học Phần mềm Kiểm thử và Bảo trì Introduction to Software Engineering Test and Maintenance Chương 9: Phương pháp kiểm thử Department of Software Engineering 9.1 Khái niệm kiểm thử Faculty of Information Technology Hanoi University of Technology 9.2 Phương pháp thử TEL: 04-8682595 FAX: 04-8692906 Email: cnpm@it-hut.edu.vn 9.3 Kỹ thuật thiết kế trưòng hợp thử 9.4 Phương pháp thử các môđun HUT, Falt. of IT Dept. of SE, 2001 SE-V.1 HUT, Falt. of IT Dept. of SE, 2001 SE-V.2 9.1 Khái niệm kiểm thử Những khó khăn khi kiểm thử Định nghĩa kiểm thử: • Nâng cao chất lượng phần mềm nhưng • Là mấu chốt của đảm bảo chất lượng phần khôngvượt quá chất lượng khi thiết kế: chỉ mềm pháthiện các lỗi tiềm tàng và sửa chúng • Là tiến trình (và là nghệ thuật) nhằmphát • Pháthiện lỗi bị hạn chế do thủ công là chính hiện lỗi bằng việc xem xét lại đặc tả, thiết kế và mã hoá. • Dễ bị ảnh hưởng tâm lý khi kiểm thử • Kiểm thử thành công là phát hiện ra lỗi; • Khó đảm bảo tính đầy đủ của kiểm thử kiểm thử không phát hiện ra lỗi là kiểm thử dở (Sue A.Conger- The New SE) HUT, Falt. of IT Dept. of SE, 2001 SE-V.3 HUT, Falt. of IT Dept. of SE, 2001 SE-V.4 6 điểm lưu ý khi kiểm thử 6 điểm lưu ý khi kiểm thử (tiếp) (1) Chất lượng phần mềm do khâu thiết kế quyết (4) Dữ liệu thửcho kết quả bìnhthườngthì địnhlà chủ yếu, chứ không phải khâu kiểm không có ý nghĩa nhiều,cần có những dữ thử liệu kiểm thửmà phát hiện ra lỗi (2) Tính dễ kiểm thử phụ thuộc vào cấu trúc (5) Khi thiết kế trường hợp thử,khôngchỉ dữ chươngtrình liệu kiểm thử nhậpvào, mà phải thiết kế trước cả dữ liệu kết quả sẽ có (3) Người kiểm thử và người phát triển nên khác (6) Khi phát sinh thêmtrường hợp thử thì nên nhau thử lại những trường hợp thử trướcđó để tránhảnh hưởnglan truyền sóng HUT, Falt. of IT Dept. of SE, 2001 SE-V.5 HUT, Falt. of IT Dept. of SE, 2001 SE-V.6 goupee.com 1

Page 2

Tương ứng giữa vòng đời dự án và kiểm thử 9.2 Phươngpháp thử: thử tĩnh Đối tượng và phạm vi Kiểm thử chấp nhận • Kiểm thử trên bàn hay Kiểm thử tĩnh: giấy và bút trên bàn, kiểm tra logic, lần từng chi tiết Đặc tả chức năng/ Kiểm thử hệ thống ngay sau khi lập trình xong Thiết kế lô gíc • Đi xuyên suốt (walk through) Kiểm Thiết kế Vật lý Kiểm tích hợp hồi quy • Thanh tra (inspection) Cấu trúc CT vàđặc tả môđun Kiểm ĐVCT Mã hoá môđun CT HUT, Falt. of IT Dept. of SE, 2001 SE-V.7 HUT, Falt. of IT Dept. of SE, 2001 SE-V.8 Kiểm thử trên máy Trình tự kiểm thử bằng máy • Gỡ lỗi bằng máy (machine debug) hay kiểm (1) Thiết kế trường hợp thử theo thử trên bàn thử động: Dùng máy chạy chương trình để điều (2) Trường hợp thử phải có cả kết quả kỳ vọng tra trạng thái từng động tác của chương trình sẽ thu được • 9 bước của trình tự kiểm thử bằng máy (3) Dịch chương trình nguồn và tạo môđun tải để thực hiện (4) Khi trường hợp thử có xử lý tệp vào-ra, phảilàm trước trên bàn việc xác định miền của các tệp HUT, Falt. of IT Dept. of SE, 2001 SE-V.9 HUT, Falt. of IT Dept. of SE, 2001 SE-V.10 Trình tự kiểm thử bằng máy (tiếp) 9.3 Kỹ thuật thiết kế trường hợp thử (5) Nhập dữ liệu đã thiết kế cho trường hợp kiểm thử (6) Điều chỉnh môi trường thực hiện môđun tải (tạo • Kỹ thuật thiết kế trường hợp thử dựa trênđặc tả bề thủ tục đưa các tệp truy cập tệp vào chươngtrình) ngoài của chươngtrình:Kiểm thử hộp đen (Black box test):WHAT ? (7) Thực hiện môđun tải và ghi nhận kết quả • Kỹ thuật thiết kế trường hợp thử dựa trênđặc tả bên (8) Xác nhận kết quả với kết quả kỳ vọng trongcủa chươngtrình:Kiểm thử hộp trắng(white (9) Lặp lại thao tác (5)-(8) box test):HOW ? • Kiểm thửTop-Down hay Bottom-Up HUT, Falt. of IT Dept. of SE, 2001 SE-V.11 HUT, Falt. of IT Dept. of SE, 2001 SE-V.12 goupee.com 2

Page 3

Phươngpháp phân đoạn tương đương Kiểm thử hộp đen (Equivalence Partition) • Phânđoạn tương đương • Mục đích: giảm số lượng test bằngcách chọn các tập • Phân tích giá trị biên dữ liệu đại diện • Thực hiện: Chia dữ kiệu vào thành các đoạn,mỗi • Đoán lỗi đoạn đại diện cho một số dữ liệu => việc kiểm thử chỉ thực hiện trên đại diện đó Input • ưu điểm: Test theo mức trừu tượng hơn là trường.áp Results dụng:màn hình,menu hay mức quá trình Black Box Black box Data Testing Strategy HUT, Falt. of IT Dept. of SE, 2001 SE-V.13 HUT, Falt. of IT Dept. of SE, 2001 SE-V.14 Phươngpháp phân tích giá trị biên Phươngphápđoán lỗi (Boundary value analysis) (Error Guessing) • Là 1 trường hợp riêng của phân đoạn • Dựa vào trực giác và kinh nghiệm • Thí dụ: nếu miền dữ liệu là tháng thì giá trị 0 • Thí dụ lỗi chia cho 0. Nếu môđun có phép chia hay>12 là khônghợp lệ thì phải kiểm thử lỗi này • Thường sử dụng trong kiểm thử môđun • Nhược điểm: không phát hiện hết lỗi HUT, Falt. of IT Dept. of SE, 2001 SE-V.15 HUT, Falt. of IT Dept. of SE, 2001 SE-V.16 Phươngphápđồ thị nguyên nhân - kết quả Kiểm thử hộp trắng (Cause-effect Graphing) Mã tuần tự • Bó các lệnh Phủ định and • Bó các rẽ nhánh • Bó các điều kiện Or Do Until • Bó các điều kiện - rẽ nhánh Input Results     White Box Data Testing Strategy HUT, Falt. of IT Dept. of SE, 2001 SE-V.17 HUT, Falt. of IT Dept. of SE, 2001 SE-V.18 goupee.com 3

Page 4

Trình tự thiết kế 9.4 Kỹ thuật kiểm thử môđun • Kiểm thử môđun • Kiểm thử tích hợp môđun • Kiểm thử tích hợp – Kiểm thử dưới lên (Bottom-up Test) - Kiểm thử tích hợp trên xuống – Kiểm thử trên xuống (Top-down Test) - Kiểm thử tích hợp dưới lên – Kiểm thử cột trụ (Big bung Test) – Kiểm thử kẹp (Sandwich Test) - Kiểm thử hồi qui HUT, Falt. of IT Dept. of SE, 2001 SE-V.19 HUT, Falt. of IT Dept. of SE, 2001 SE-V.20 Bottom-up Test Bottom-up Test(Tiếp) • Các môđun mức thấp được tổ hợp vào các chùm thực hiện một chức năng con Mức 4 • Viết trình điều khiển phối hợp vào/ ra và kiểm Mức 3 thử • Kiểm thử chùm/bó • Loại bỏ trình điều khiển và chuyển lên mức Mức 2 trên Mức 1 HUT, Falt. of IT Dept. of SE, 2001 SE-V.21 HUT, Falt. of IT Dept. of SE, 2001 SE-V.22 Top-down Test Top-down Test (tiếp) • Môđun điều khiển chính được dùng như trình điều khiển kiểm thử, gắn các nút con trực tiếp vào nó • Thay các nút con bằng các môđun thực tại (theo chiều sâu / ngang) Mức 1 • Kiểm thử từng môđun được gắn vào Mức 2 • Các 1 nút thử xong được thử tiếp nút khác Mức 3 • Kiểm thử hồi quy Mức 4 HUT, Falt. of IT Dept. of SE, 2001 SE-V.23 HUT, Falt. of IT Dept. of SE, 2001 SE-V.24 goupee.com 4

Page 5

Big bung Test Sandwich Test • Tích hợp không tăng dần • Tích hợp trên xuống cho các mức trên cấu trúc • Tất các các môđun đều được tổ hợp trước chươngtrình • Toàn bộ chương trình được kiểm thử tổng thể • Tích hợp dưới lên cho các mức phụ thuộc • Khó khăn: khó cô lập lỗi, khi chữa xong lỗi này có thể lỗi mới lại phát sinh HUT, Falt. of IT Dept. of SE, 2001 SE-V.25 HUT, Falt. of IT Dept. of SE, 2001 SE-V.26 Kiểm thử hệ thống Chương 10: Phương pháp bảo trì • 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 Maintenance Methods • Kiểm thử an toàn: kiểm chứng cơ chế bảo vệ • Kiểm thử gay cấn 10.1 Bảo trì là gì? • Kiểm thử hiệu năng 10.2 Trình tự nghiệp vụ bảo trì 10.3 Những vấn đề về bảo trì hiện nay HUT, Falt. of IT Dept. of SE, 2001 SE-V.27 HUT, Falt. of IT Dept. of SE, 2001 SE-V.28 10.1 Bảo trì là gì? Bảo trì để tu sửa • Định nghĩa: Bảo trì là công việc tu sửa,thayđổi phần mềm đã đượcpháttriển (chươngtrình,dữ • Là bảo trì khắc phục những khiếm khuyết có liệu, JCL, các loại tư liệu đặc tả, . . .) theo nhữnglý trong phần mềm do nào đó • Một số nguyên nhân điển hình • Các hình thái bảo trì: bảo trì để – Kỹ sư phần mềm và khách hiểu nhầm nhau – Tu chỉnh – Lỗi tiềm ẩn của phần mềm do sơ ý của lập trình hoặc khi – Thích hợp kiểm thử chưa bao quát hết – Vấn đề tính năng của phần mềm: không đáp ứng được yêu – Cải tiến cầu về bộ nhớ, tệp, . . . Thiết kế sai, biên tập sai . . . – Phòngngừa – Thiếu chuẩn hóa trong phát triển phần mềm (trước đó) HUT, Falt. of IT Dept. of SE, 2001 SE-V.29 HUT, Falt. of IT Dept. of SE, 2001 SE-V.30 goupee.com 5

Page 6

Bảo trì để tu sửa (tiếp) Bảo trì để thích hợp • Kỹ nghệ ngược (Reverse Engineering): dò lại • Là tu chỉnh phần mềm theo thay đổi của môi thiết kế để tu sửa trườngbên ngoài nhằmduy trì và quảnlý phần mềm theo vòng đời của nó • Những lưu ý • Thayđổi phần mềm thích nghivới môi trường: – Mức trừu tượng côngnghệ phần cứng, môi trường phần mềm – Tínhđầy đủ • Nhữngnguyên nhân chính: – Tínhtươngtác – Thayđổi về phần cứng (ngoại vi, máy chủ,. . .) – Thayđổi về phần mềm (môi trường): đổi OS – Tínhđịnh hướng – Thayđổi cấu trúc tệp hoặc mở rộng CSDL HUT, Falt. of IT Dept. of SE, 2001 SE-V.31 HUT, Falt. of IT Dept. of SE, 2001 SE-V.32 Bảo trì để cải tiến Bảo trì để cải tiến (tiếp) • Còn gọi là tái kỹ nghệ (re-engineering) • Là việc tu chỉnh hệ phần mềm theo các yêu cầu ngày • Mục đích: đưa ra một thiết kế cùng chức năng nhưng càng hoàn thiện hơn,đầy đủ hơn,hợp lý hơn có chất lượng cao hơn • Nhữngnguyên nhân chính: – Domuốn nâng cao hiệu suất nên thường hay cải tiến • Cácbước thực hiện: phương thức truy cập tệp – Xâydựng lưu đồ phần mềm – Mở rộng thêm chức năng mới cho hệ thống – Suydẫn ra biểu thức Bun cho từng dãy xử lý – Cải tiến quản lý kéo theo cải tiến tư liệu vận hành và trình – Biên dịch bảng chân lí tự công việc – Táicấu trúc phần mềm – Thayđổi người dùng hoặc thay đổi thao tác HUT, Falt. of IT Dept. of SE, 2001 SE-V.33 HUT, Falt. of IT Dept. of SE, 2001 SE-V.34 Bảo trì để phòng ngừa Bảo trì để phòng ngừa (tiếp) • Là công việc tu chỉnh chương trình có tính đến • Mục đích: sửa đổi để thích hợp với yêu cầu tươnglai của phần mềm đó sẽ mở rộng và thay thayđổi sẽ có của người dùng đổi như thế nào • Thực hiện những thay đổi trên thiết kế không • Thực ra trong khi thiết kế phần mềm đã phải tườngminh tínhđến tính mở rộng của nó, nên thực tế ít khi • Hiểu hoạt động bên trong chương trình ta gặp bảo trì phòng ngừa nếu như phần mềm • Thiết kế / lập trình lại được thiết kế tốt • Sử dụng công cụ CASE HUT, Falt. of IT Dept. of SE, 2001 SE-V.35 HUT, Falt. of IT Dept. of SE, 2001 SE-V.36 goupee.com 6

Page 7

10.2 Trình tự nghiệp vụ bảo trì Sơ đồ bảo trì • Quy trìnhbảo trì là gì ? Đó là quá trình trong vòng đời Hiểu phần mềm đã có của phần mềm, cũng tuân theo các pha phân tích,thiết 2 kế,phát triển và kiểm thử từ khi phát sinh vấn đề cho Loại bảo trì? Phát triển phần mềm mới đến khi giải quyết xong 1 Chỉnh phần mềm đã có • Thao tác bảo trì: Gồm 2 loại – Tu chỉnh cải đã có (loại 1) Kiểm thử tính nhất quán – Thêm cái mới (loại 2) Kiểm thử sau bảo trì Tạo biểu quản lý bảo trì HUT, Falt. of IT Dept. of SE, 2001 SE-V.37 HUT, Falt. of IT Dept. of SE, 2001 SE-V.38 Hiểu phần mềm đã có Tu sửa phần mềm đã có • Theo tài liệu nắm chắc các chức năng • Bảo trì chương trình nguồn, tạo các môđun • Theo tài liệu chi tiết hãy nắm vững đặc tả chi mới và dịch lại tiết, điều kiện kiểm thử, . . . • Thực hiện kiểm thử unit và tu chỉnh những • Dòđọc chương trình nguồn, hiểu trình tự xử lý mụcliên quan có trong tư liệu đặc tả chi tiết của hệ thống • Chú ý theo sát tác động của môđun được sửa đến các thành phần khác trong hệ thống 3 việc trên đều là công việc thực thi trên bàn HUT, Falt. of IT Dept. of SE, 2001 SE-V.39 HUT, Falt. of IT Dept. of SE, 2001 SE-V.40 Phát triển phần mềm mới Kiểm chứng tính nhất quán bằng kiểm thử kết hợp • Khi thêm chức năng mới phải phát triển • Đưa đơn vị (unit) đã dược kiểm thử vào hoạt chươngtrình cho phù hợp với yêu cầu động trong hệ thống • Cần tiến hành từ thiết kế, lập trình, gỡ lỗi và • Điều chỉnh sự tương tích giữa các môđun kiểm thử unit • Dùng các dữ liệu trước đây khi kiểm thử để • Phản ảnh vào giao diện của phần mềm (thông kiểm thử lại tính nhất quán báo, phiên bản, . . .) • Chú ý hiệu ứng làn sóng trong chỉnh sửa HUT, Falt. of IT Dept. of SE, 2001 SE-V.41 HUT, Falt. of IT Dept. of SE, 2001 SE-V.42 goupee.com 7

Page 8

Kiểm tra khi hoàn thành bảo trì Lập biểu quản lý bảo trì • Kiểm tra nội dung mô tả có trong tư liệu đặc tả • Cần quản lý tình trạng bảo trì • Cách ghi tư liệu có phù hợp với mô tả môi • Lập biểu quảnlý tình trạng bảo trì trường phần mềm mới hay không? – Ngày tháng,giờ – Nguyên nhân – Tómtắt cách khắc phục – Chi tiết khắc phục,hiệu ứng làn sóng – Ngườilàm bảo trì – Số công HUT, Falt. of IT Dept. of SE, 2001 SE-V.43 HUT, Falt. of IT Dept. of SE, 2001 SE-V.44 Sáng kiến trong quy trình 10.3 Những vấn đề lưu ý để bảo trì phát triển phần mềm Phươngphápcải tiến thao tác bảo trì: (1) Chuẩnhóa mọi khâu trong phát triển phần • Sángkiến trong quy trình phát triển phần mềm mềm • Sángkiến trong quy trình bảo trì phần mềm (2) Người bảo trì chủ chốt tham gia vào giai đoạn • Pháttriển những kỹ thuật mới cho bảo trì phân tích và thiết kế (3) Thiết kế để dễ bảo trì HUT, Falt. of IT Dept. of SE, 2001 SE-V.45 HUT, Falt. of IT Dept. of SE, 2001 SE-V.46 Sáng kiến trong quy trình Phát triển những kỹ thuật mới cho bảo bảo trì phần mềm trì (1) Sử dụng các công cụ hỗ trợ phát triển phần • Côngcụ phần mềm hỗ trợ bảo trì mềm • Cơ sở dữ liệu cho bảo trì (2) Chuẩnhóa thao tác bảo trì và thiết bị môi • Quảnlý tài liệu, quản lý dữ liệu, quản lý trường bảo trì chươngtrình nguồn, quản lý dữ liệu thử, quản (3) Lưu lại những thông tin sử bảo trì lý sử bảo trì (4) Dự án nên cử một người chủ chốt của mình • Trạm bảo trì tính năng cao trong hệ thống mạng làm công việc bảo trì sau khi dự án kết thưc lưới bảo trì với máy chủ thông minh giaiđoạn phát triển HUT, Falt. of IT Dept. of SE, 2001 SE-V.47 HUT, Falt. of IT Dept. of SE, 2001 SE-V.48 goupee.com 8

Showing the first 8 pages. Download the document to see it all.

Comments (0)

Sign in to join the discussion

No comments yet. Be the first!