Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang

9.1 Khái niệm kiểm thử

Định nghĩa kiểm thử:

• Là mấu chốt của đảm bảo chất lượng phần

mềm

• Là tiến trình (và là nghệ thuật) nhằm phát

hiện lỗi bằng việc xem xét lại đặc tả, thiết kế

và mã hoá.

• Kiểm thử thành công là phát hiện ra lỗi;

kiểm thử không phát hiện ra lỗi là kiểm thử

dở (Sue A.Conger- The New SE)

Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang trang 1

Trang 1

Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang trang 2

Trang 2

Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang trang 3

Trang 3

Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang trang 4

Trang 4

Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang trang 5

Trang 5

Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang trang 6

Trang 6

Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang trang 7

Trang 7

Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang trang 8

Trang 8

pdf 8 trang xuanhieu 4920
Bạn đang xem tài liệu "Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang

Bài giảng Nhập môn công nghệ phần mềm - Phần V: Kiểm thử và Bảo trì - Vũ Thị Hương Giang
 Nhập môn Phần V
 Công nghệ 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
 Faculty of Information Technology 9.1 Khái niệm kiểm thử
 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ông vượt quá chất lượng khi thiết kế: chỉ
 mềm phát hiệ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ằm phát • Phát hiệ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ình thường thì
 định là 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ông chỉ dữ
 chương trình liệu kiểm thử nhập và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êm trường hợp thử thì nên
 nhau thử lại những trường hợp thử trướcđó để
 tránh ảnh hưởng lan 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
 1
 Tương ứng giữa vòng đời dự án và kiểm thử
 9.2 Phương phá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/ ngay sau khi lập trình xong
 Thiết kế lô gíc Kiểm thử hệ thống
 • Đ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
 (1) Thiết kế trường hợp thử theo thử trên bàn
• Gỡ lỗi bằng máy (machine debug) hay kiểm
 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ải là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ử
 • Kỹ thuật thiết kế trường hợp thử dựa trên đặc tả bề
 (6) Điều chỉnh môi trường thực hiện môđun tải (tạo
 ngoài của chương trình: Kiểm thử hộp đen (Black box
 thủ tục đưa các tệp truy cập tệp vào chương trình)
 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 trong của chương trì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
 2
 Phương phá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ằng cá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
 Black Box dụng: màn hình, menu hay mức quá trình
 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ương pháp phân tích giá trị biên Phương phá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ông hợ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ương phá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
 3
 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
 4
 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ương trì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 đã được phát triển (chương trì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ững lý 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
 kiểm thử chưa bao quát hết
 – Thích hợp
 – 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
 5
 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
 trườngbên ngoài nhằm duy trì và quản lý phần
 thiết kế để tu sửa mềm theo vòng đời của nó
• Những lưu ý • Thay đổi phần mềm thích nghi với môi trường: 
 – Mức trừu tượng công nghệ phần cứng, môi trường phần mềm
 – Tính đầy đủ • Những nguyên nhân chính:
 – Thay đổi về phần cứng (ngoại vi, máy chủ,. . .)
 – Tính tương tác
 – 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ững nguyên nhân chính:
 – Do muốn nâng cao hiệu suất nên thường hay cải tiến • Các bước thực hiện:
 phương thức truy cập tệp – Xây dựng lưu đồ phần mềm
 – Mở rộng thêm chức năng mới cho hệ thống – Suy dẫ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ái cấ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ương lai 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ường minh
 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
 6
 10.2 Trình tự nghiệp vụ bảo trì Sơ đồ bảo trì
• Quy trình bả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ục liê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
 Kiểm chứng tính nhất quán bằng kiểm
 Phát triển phần mềm mới
 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ương trì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
 7
 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ản lý 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óm tắt cách khắc phục
 – Chi tiết khắc phục, hiệu ứng làn sóng
 – Người là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ương pháp cải tiến thao tác bảo trì: (1) Chuẩn hóa mọi khâu trong phát triển phần
• Sáng kiến trong quy trình phát triển phần mềm mềm
• Sáng kiế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át triể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ông cụ phần mềm hỗ trợ bảo trì
 mềm • Cơ sở dữ liệu cho bảo trì
(2) Chuẩn hóa thao tác bảo trì và thiết bị môi • Quản lý tài liệu, quản lý dữ liệu, quản lý
 trường bảo trì chương trì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
 8

File đính kèm:

  • pdfbai_giang_nhap_mon_cong_nghe_phan_mem_phan_v_kiem_thu_va_bao.pdf