Bài giảng Nhập môn Tin học: Chương 4 cung cấp cho người học các kiến thức: Kiểm thử và gỡ lỗi, gỡ lỗi logic cho chương trình (Logic Errors), chuyển đổi thành hệ thống mới, đánh giá hệ thống. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1Chương 4 Cài đặt và vận hành hệ thống
Trang 2Kiể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.
2
Trang 3Kiểm thử và gỡ lỗi- Testing and Debugging
Cá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.
Ví dụ: Thay vì C=5+4; Lại đánh C=5-4;
3
Trang 4Kiểm thử và gỡ lỗi- Testing and Debugging
Kiể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ệ
4
Trang 5Kiể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
Trang 6Gỡ lỗi cú pháp cho chương trình ( Syntax Errors)
Lỗ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
6
Trang 7Gỡ lỗi logic cho chương trình ( Logic Errors )
Lỗ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.
Mộ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)
7
Trang 8Gỡ lỗi logic cho chương trình( Logic Errors )
Trình gỡ lỗi hỗ trợ hai công cụ:
Đ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.
Bộ gỡ lỗi sẽ ngừng ngay lập tức sau câu lệnh làm cho giá trị của biến thay đổi và sẽ chờ lệnh tiếp theo.
8
Trang 9Gỡ lỗi logic cho chương trình( Logic Errors )
Sử 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
9
Trang 10Khác nhau giữa kiểm thử và gỡ lỗi
trình đáp ứng các chi tiết kỹ thuật.
• Quá trình loại bỏ lỗi trong chương trình
• Mục đích: phát hiện nguyên nhân gây lỗi và loại bỏ các lỗi được phát hiện.
2 • Kiểm thử được hoàn thành khi tất
cả các lệnh đã được thực hiện đúng.
• Gỡ lỗi hoàn thành khi tất cả các lỗi trong chương trình được chỉnh sửa.
• 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.
Trang 11Khác nhau giữa kiểm thử và gỡ lỗi
Được quy hoạch
Được lập kế hoạch trước
• Gỡ lỗi là một quá trình không thể được lên kế hoạch trước
• Nó chỉ được thực hiện khi phát hiện lỗi trong một chương trình
2
• Kiểm thử có thể bắt đầu trong giai
đoạn đầu của quá trình phát triển
phần mềm
• Gỡ lỗi chỉ bắt đầu sau khi chương trình được mã hóa
Trang 12Tà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
Trang 13Tài liệu phần mềm –Documentation
Sự 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 đó
13
Trang 14Tà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
14
Trang 15Tà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
15
Trang 16Tài liệu phần mềm –Documentation
Chú thích (Comment)
16
Trang 17Tài liệu phần mềm –Documentation
Sổ 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
17
Trang 18Tà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ả
18
Trang 19Tài liệu phần mềm –Documentation
Sổ 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,…
19
Trang 20Chuyể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)
20
Trang 21Chuyển đổi thành hệ thống mới
Chuyển đổi trực tiếp (Immediate Changeover).
Là giới hạn ngày mà hệ thống mới được đưa vào hoạt động
Do lỗi nghiêm trọng làm cho toàn bộ hoạt động của hệ thống cũ phải dừng lại
Phương pháp này được dùng trong trường hợp có sẵn nhân lực và thời gian chuyển đổi ít
21
Trang 22Chuyển đổi thành hệ thống mới
Chạy song song (Parallel Run)
Cả hệ thống cũ và mới hoạt động song song với cùng dữ liệu ban đầu cho ba hay bốn chu kỳ
Kết quả của hệ thống mới được so sánh với hệ thống cũ để tăng độ tin cậy trong hệ thống mới
Là một trong những phương pháp an toàn để triển khai một hệ thống mới
Không bị gián đoạn công việc, vì hệ thống cũ vẫn còn đang hoạt động và những vấn đề trong hệ thống mới có thể được sửa chữa
22
Trang 23Chuyển đổi thành hệ thống mới
Chạy song song (Parallel Run)
Phương pháp này rất tốn kém, vì phải bổ sung nhân lực trong quá trình hai hệ thống chạy song song
Không được áp dụng trong trường hợp nguồn nhân lực khan hiếm
23
Trang 24Chuyển đổi thành hệ thống mới
Chuyển đổi theo từng giai đoạn (Phased Conversion)
Việc chuyển đổi hoàn toàn sang hệ thống mới diễn ra tăng dần theo thời gian
Kết quả thu được ở mỗi giai đoạn của hệ thống mới được so sánh với hệ thống cũ Bất kỳ khác biệt hay sai sót được tìm thấy sẽ được kiểm tra và gỡ bỏ
Độ tin cậy tăng trong từng giai đoạn của hệ thống mới
Theo thời gian các giai đoạn của hệ thống mới đi vào hoạt động, hệ thống cũ từng bước bị loại ra
24
Trang 25Đánh giá hệ thống
Quá trình đánh giá một hệ thống là để xác minh hệ thống có đạt mục tiêu ban đầu hay không
Những điểm thường được dùng để đánh giá một hệ thống là:
Đánh giá hiệu quả (Performance Evaluation)
Phân tích chi phí (Cost Analysis)
Phân tích thời gian (Time Analysis)
Sự hài lòng của người sử dụng (User Satisfaction)
Sửa đổi dễ dàng (Ease of Modification)
Tỷ lệ thất bại (Failure Rate)
25
Trang 26Bảo trì hệ thống
Quá trình kết hợp những thay đổi trong hệ thống hiện có
để nâng cao, cập nhật hoặc nâng cấp tính năng của nó.
Trung bình, chi phí bảo trì của một hệ thống máy tính là gấp 2- 4 lần so với chi phí phát triển ban đầu.
Lý do cần phải bảo trì hệ thống:
Nhu cầu kinh doanh hoặc thay đổi hoạt động của tổ chức đang
sử dụng hệ thống
Theo nhu cầu của người dùng
Thay đổi công nghệ mới
26