Kiểm thử gỡ lỗi nhập môn tin học năm 2024

Kiểm thử gỡ lỗi nhập môn tin học năm 2024

Nội dung Text: Bài giảng Nhập môn Tin học: Chương 4 - Từ Thị Xuân Hiền

  1. Chương 4 Cài đặt và vận hành hệ thống
  2. 2 Kiểm thử và gỡ lỗi- Testing and Debugging • Kiểm thử: quá trình kiểm tra chương trình có đáp ứng các chức năng theo yêu cầu ban đầu đưa ra không. • Gỡ lỗi: quá trình tìm lỗi và sửa lỗi trong chương trình.
  3. 3 Kiểm thử và gỡ lỗi- Testing and Debugging qCác loại lỗi của chương trình - Types of Program Errors • Lỗi cú pháp - Syntax Errors: • Là các lệnh trong chương trình không tuân theo cú pháp của ngôn ngữ lập trình đó Ví dụ: C:= 5+4; Lỗi trong C nhưng lại đúng trong Pascal • Lỗi Logic - Logic Errors • Chương trình vẫn được biên dịch và thực hiện thành công nhưng kết quả không chính xác.
  4. 4 Kiểm thử và gỡ lỗi- Testing and Debugging qKiểm thử chương trình - Testing a Program • Kiểm thử thủ tục liên quan đến việc chạy chương trình với nhiều mẫu dữ liệu đầu vào, so sánh kết quả đạt được với kết quả đúng. • Dữ liệu thử nghiệm phải kiểm tra từng chức năng logic của chương trình, và nên bao gồm tất cả các loại dữ liệu có thể hợp lệ và không hợp lệ.
  5. Kiểm thử và gỡ lỗi- Testing and Debugging • Chương trình phát hành để thử nghiệm được gọi là Alpha version và thử nghiệm được tiến hành trên nó được gọi là Alpha testing. • Chương trình phát hành để thử nghiệm bổ sung cho một lựa chọn của người dùng bên ngoài là Beta version và thử nghiệm được tiến hành trên nó được gọi là Beta testing
  6. 6 Gỡ lỗi cú pháp cho chương trình (Syntax Errors) qLỗi cú pháp tương đối dễ phát hiện và chỉnh sửa hơn so với các lỗi logic. − Bộ xử lý ngôn ngữ được thiết kế để tự động phát hiện các lỗi cú pháp. − Lỗi cú pháp thường gây ra nhiều thông báo lỗi được tạo ra bởi bộ xử lý ngôn ngữ. − Loại bỏ các lỗi cú pháp sẽ cho kết quả trong việc loại bỏ tất cả các thông báo lỗi liên quan.
  7. 7 Gỡ lỗi logic cho chương trình (Logic Errors) qLỗi logic khó phát hiện hơn lỗi cú pháp, máy tính không đưa ra bất kỳ thông báo lỗi cho các lỗi logic. qMột số phương pháp thường dùng để gỡ lỗi logic: § Làm mô phỏng bằng tay của mã chương trình. § Đưa lệnh xuất dữ liệu tại các vị trí thích hợp trong mã chương trình, in ra kết quả tính toán trung gian. § Sử dụng một trình gỡ lỗi (một công cụ phần mềm hỗ trợ lập trình viên thực hiện chương trình từng bước)
  8. 8 Gỡ lỗi logic cho chương trình(Logic Errors) qTrình gỡ lỗi hỗ trợ hai công cụ: • Điểm ngắt (Breakpoint): • Là điểm dừng khi thực thi chương trình, hiển thị giá trị của các tham số cần kiểm tra • Breakpoint có thể được đặt hoặc gỡ bỏ tại bất kỳ vị trí nào trong chương trình. • Điểm quan sát (Watchpoint) • Bộ gỡ lỗi lần theo vết của biến và thời điểm giá trị của nó thay đổi.
  9. 9 Gỡ lỗi logic cho chương trình(Logic Errors) qSử dụng kết xuất bộ nhớ (Memory dump) • Thường được sử dụng khi chương trình “bị treo" trong thời gian chạy thử nghiệm. • Bản sao nội dung trong bộ nhớ chính và bộ đếm được lấy tại thời điểm chương trình bị treo. Bản sao này gọi là kết xuất bộ nhớ hoặc kết xuất vùng nhớ. • Danh sách các chỉ thị và dữ liệu kết xuất bộ nhớ được giữ trong bộ nhớ chính của máy tính theo hình thức nguyên mẫu.
  10. 10 Khác nhau giữa kiểm thử và gỡ lỗi TT Kiểm Thử (Testing) Gỡ Lỗi (Debugging) 1 • Quá trình xác nhận sự đúng đắn • Quá trình loại bỏ lỗi trong chương trình. của chương trình. • Mục đích: phát hiện nguyên nhân gây • Mục đích: chứng minh chương lỗi và loại bỏ các lỗi được phát hiện. trình đáp ứng các chi tiết kỹ thuật. 2 • Kiểm thử được hoàn thành khi tất • Gỡ lỗi hoàn thành khi tất cả các lỗi cả các lệnh đã được thực hiện trong chương trình được chỉnh sửa. đúng. • Quá trình gỡ lỗi kết thúc chỉ tạm thời vì nó phải được khởi động lại bất cứ khi nào một lỗi mới được tìm thấy trong chương trình.
  11. 11 Khác nhau giữa kiểm thử và gỡ lỗi TT Kiểm Thử (Testing) Gỡ Lỗi (Debugging) • Kiểm thử là một quá trình: • Gỡ lỗi là một quá trình không thể − Đã được định nghĩa được lên kế hoạch trước. 3 − Được quy hoạch • Nó chỉ được thực hiện khi phát − Được lập kế hoạch trước hiện lỗi trong một chương trình. • Kiểm thử có thể bắt đầu trong giai • Gỡ lỗi chỉ bắt đầu sau khi chương đoạn đầu của quá trình phát triển trình được mã hóa. 2 phần mềm
  12. 12 Tài liệu phần mềm –Documentation • Tài liệu phần mềm: thu thập, ghi chép, lưu trữ thông tin về quá trình xây dựng phần mềm. • Một phần mềm không thể xem là hoàn thành cho đến khi nó có tài liệu hợp lệ. • Tài liệu phần mềm là một tiến trình được thực hiện trong suốt vòng đời của phần mềm.
  13. 13 Tài liệu phần mềm –Documentation qSự cần thiết của tư liệu phần mềm • Giúp các lập trình viên có thể theo dõi đầy đủ quá trình phát triển phần mềm. • Hỗ trợ trong việc bảo trì của phần mềm. • Là một tài liệu rất có ích trong việc bắt đầu lại một dự án phần mềm đã bị trì hoãn trước đó.
  14. 14 Tài liệu phần mềm –Documentation • Có 3 hình thức tài liệu được sử dụng: • Chú thích cho chương trình • Sổ tay hệ thống • Hướng dẫn sử dụng.
  15. 15 Tài liệu phần mềm –Documentation • Chú thích (Comment) • Được sử dụng để giải thích logic của chương trình. • Cải thiện chất lượng và tính chất dễ hiểu của chương trình. • Các chú thích bị bỏ qua khi biên dịch cũng như khi thực thi chương trình
  16. 16 Tài liệu phần mềm –Documentation • Chú thích (Comment)
  17. 17 Tài liệu phần mềm –Documentation qSổ tay hệ thống • Trình bày rõ mục tiêu và tính hữu dụng của phần mềm. • Mô tả các chức năng, hạn chế, hình thức và các dạng của dữ liệu đầu vào sẽ được sử dụng, và kết quả đầu ra cần tìm. • Tên cụ thể của chương trình và mô tả mục đích của chương trình . • Biểu đồ chi tiết về hệ thống và chương trình để tham chiếu đến danh sách tham số, biến của chương trình.
  18. 18 Tài liệu phần mềm –Documentation • Mô tả các quá trình tính toán và kiểm soát các thủ tục. • Danh sách mã nguồn, thông tin chi tiết về các thay đổi. • Mô tả và chỉ rõ tất dữ liệu đầu vào và in ra kết quả đầu ra. • Mô tả dữ liệu kiểm thử và kết quả.
  19. 19 Tài liệu phần mềm –Documentation qSổ tay người dùng: phải chứa các thông tin sau: • Chi tiết cài đặt và hoạt động của chương trình. • Mô tả và ví dụ các câu lệnh kiểm tra có thể được dùng • Các lệnh giao tiếp, các lỗi và các thông báo giao tiếp có thể phát sinh, trả lời và hành động thực hiện. • Danh sách các điều kiện, các giải thích. • Kiểm tra đặc biệt (nếu có) và các biện pháp bảo mật,…
  20. 20 Chuyển đổi thành hệ thống mới • Khi một phần mềm đã sẵn sàng để sử dụng, nó được triển khai tại các trang web cho người dùng. • Ở giai đoạn này, hoạt động chuyển đổi từ hệ thống cũ sang hệ thống mới diễn ra. • Ba phương pháp để thực hiện quá trình chuyển đổi là: • Chuyển đổi trực tiếp (Immediate Changeover). • Chạy song song (Parallel Run) • Chuyển đổi theo từng giai đoạn (Phased Conversion).