Tải bản đầy đủ (.pptx) (26 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.25 MB, 26 trang )

Chương 4
Cài đặt và vận hành hệ thống


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

Kiể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 tn 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;


4

Kiể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ệ.


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 Gỡ 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.


7


Gỡ 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 tố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

Gỡ lỗi logic cho chương trình(Logic Errors)
Trì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.
 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.


9


Gỡ 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.


10

Khác nhau giữa kiểm thử và gỡ lỗi

TT
Kiểm Thử (Testing)
Gỡ Lỗi (Debugging)
1 • Q 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 ngun 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 hồn thành khi tất • Gỡ lỗi hồ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.

• Q 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
TT

Khác nhau giữa kiểm thử và gỡ lỗi
Kiểm Thử (Testing)

• Kiểm thử là một quá trình:
3

 Đã được định nghĩa
 Được quy hoạch
 Được lập kế hoạch trước

• Kiểm thử có thể bắt đầu trong giai
đoạn đầu của q trình phát triển
2
phần mềm

Gỡ Lỗi (Debugging)

• 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.

• Gỡ lỗi chỉ bắt đầu sau khi chương
trình được mã hóa.


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ề q trình xây dựng phần mềm.
Một phần mềm khơng thể xem là hồ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

Tà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ì hỗn trước đó.


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

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

Tài liệu phần mềm –Documentation
Chú thích (Comment)


17

Tà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.


18

Tài liệu phần mềm –Documentation
Mơ tả các q 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

Tà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,…


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).


21

Chuyể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.


22

Chuyể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 tồ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.


23

Chuyể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.


24

Chuyể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.


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)


×