Chương
4
1
Cài đặt và vận hành hệ thống
2
Cài đặt và vận hành hệ thống
/>
3
Quy trình phát triển phần mềm
4
Testing and Debugging
5
Testing and Debugging
6
Testing and Debugging
7
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 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.
8
Quy trình kiểm thử (Testing)
1. Chuẩn bị chiến lược kiểm tra (Preparing the test Strategy)
Tiếp cận ban đầu, xác định chiến lược kiểm thử, tùy theo yêu cầu của khách hàng
mà ưu tiên kiểm thử những nội dung nào trước, nội dung nào sau.
Giai đoạn này thường phải đặt câu hỏi: Kiểm thử cái gì và kiểm thử như thế nào?
2. Chuẩn bị kế hoạch kiểm tra (Preparing the test plan)
Bước tiếp theo cần phải làm đó làm lập kế hoạch kiểm thử. Xác định và phân chia
một cách hợp lý thời gian, nhân sự, các công cụ được sử dụng cho từng chức
năng
9
Quy trình kiểm thử (Testing)
3.Tạo mơi trường thử nghiệm (Creating the test environment)
Ở bước này bạn cần phải chuẩn bị môi trường, nền tảng cho công việc kiểm thử
phần mềm của mình gồm: Hệ điều hành (win 7, win 8, linux, IOS…), Trình duyệt
(IE, Safari, Opera…), thiết bị (Moblie, tablet, deskop…)
4.Viết các trường hợp thử nghiệm / tập lệnh kiểm tra (Write test cases/Test
script) Viết testcase cho các trường hợp sẽ test bao gồm cả 3 trường hợp: True,
Fail và khơng xác định kết quả (Case nảy sinh, khơng có tài liệu đặc tả. Viết test
script nếu có dùng tool để thực hiện automation test cho test chức năng, giao diện
hoặc các kịch bản)
10
Quy trình kiểm thử (Testing)
5.Thực hiện các tập lệnh kiểm tra / các trường hợp thử nghiệm
(Executing the test scripts/ test cases): Tiến hành thực thi các
Case trong testcase/test scrips để thực hiện việc kiểm thử, q trình
này có thể update thêm một số case còn thiết hoặc những case phát
sinh thêm.
6.Phân tích quảng cáo kết quả báo cáo lỗi (Analyzing the results
ad reporting the bugs): Phân tích kết quả đã test để tìm hiểu
nguyên nhân gây bug, định hướng cách khắc phục đồng thời post
bug lên các bug tracking
11
Quy trình kiểm thử (Testing)
7.Thực
hiện kiểm tra hồi quy (Doing regression testing): Test quy
hồi sau khi bug đã được fixed
8.Thử nghiệm thốt (Test exsisting): Kết thúc cơng việc kiểm thử
chúng ta cần báo cáo hoặc ghi lại các kinh nghiệm đã gặp phải trong
quá trình test của mình, vấn đề “can not fix” đồng thời thống kê lại số
liệu đã bug.
12
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 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
13
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 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;
14
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ệ.
15
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
16
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.
17
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
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)
18
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.
19
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 ngun mẫu.
Khác nhau giữa kiểm thử và gỡ lỗi
20
TT
Kiểm Thử (Testing)
Gỡ Lỗi (Debugging)
1
• Q trình xác nhận sự đúng đắn • Q 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.
Khác nhau giữa kiểm thử và gỡ lỗi
21
TT
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.
22
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.
23
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 đủ q 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 đó.
24
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.
25
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