Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 8: Kiểm thử hệ thống

 IEEE: Kiểm thử phần mềm là quá trình khảo sát một thành phần hay

một hệ thống dưới những điều kiện xác định nhằm quan sát và đánh

giá một khía cạnh nhất định của thành phần hay hệ thống đó.

 The Art of Software Testing–Nghệ thuật kiểm thử phần mềm: Kiểm thử

phần mềm là quá trình thực thi một chương trình với mục đích tìm lỗi.

 Kiểm thử sản phẩm phần mềm là quá trình xây dựng một cách có chủ

đích những tập dữ liệu và dãy các thao tác nhằm đánh giá một số hoặc

toàn bộ các tiêu chuẩn của phần mềm để đảm bảo rằng phần mềm

thỏa mãn các yêu cầu của chúng và các yêu cầu đó thỏa mãn các yêu

cầu của khách hàng.

 Kiểm thử có các mức khác nhau và được tiến hành bởi các cá nhân khác

nhau trong quá trình phát triển ứng dụng. Có kiểm thử được tiến hành

bởi đội ngũ dự án và có kiểm thử được tiến hành bởi các cơ quan bên

ngoài để chấp nhận ứng dụng.

pdf 30 trang kimcuc 8700
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 8: Kiểm thử hệ thống", để 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 Phát triển hệ thống thông tin kinh tế - Chương 8: Kiểm thử hệ thống

Bài giảng Phát triển hệ thống thông tin kinh tế - Chương 8: Kiểm thử hệ thống
 PHÁT TRIỂN HỆ THỐNG THÔNG TIN KINH TẾ 
Phần 
4 
• Triển khai và vận hành hệ thống 
Chương 8: Kiểm thử hệ thống 
Chương 9: Cài đặt hệ thống 
Chương 10: Bảo trì hệ thống 
Chương 8: Kiểm thử hệ thống 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
2 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 IEEE: Kiểm thử phần mềm là quá trình khảo sát một thành phần hay 
một hệ thống dưới những điều kiện xác định nhằm quan sát và đánh 
giá một khía cạnh nhất định của thành phần hay hệ thống đó. 
 The Art of Software Testing–Nghệ thuật kiểm thử phần mềm: Kiểm thử 
phần mềm là quá trình thực thi một chương trình với mục đích tìm lỗi. 
 Kiểm thử sản phẩm phần mềm là quá trình xây dựng một cách có chủ 
đích những tập dữ liệu và dãy các thao tác nhằm đánh giá một số hoặc 
toàn bộ các tiêu chuẩn của phần mềm để đảm bảo rằng phần mềm 
thỏa mãn các yêu cầu của chúng và các yêu cầu đó thỏa mãn các yêu 
cầu của khách hàng. 
 Kiểm thử có các mức khác nhau và được tiến hành bởi các cá nhân khác 
nhau trong quá trình phát triển ứng dụng. Có kiểm thử được tiến hành 
bởi đội ngũ dự án và có kiểm thử được tiến hành bởi các cơ quan bên 
ngoài để chấp nhận ứng dụng. 
3 
1. Định nghĩa và mục tiêu kiểm thử 
2. Các loại lỗi trong kiểm thử 
3. Những tài liệu cần thiết 
4. Tiến trình kiểm thử 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Mục tiêu của kiểm thử là phát hiện càng nhiều lỗi của phần mềm càng 
sớm càng tốt, đặc biệt là những lỗi nghiêm trọng. 
 Kiểm thử có hai mục tiêu là kiểm thử hợp lệ và kiểm thử khiếm khuyết 
nhằm đảm bảo rằng tất cả các thành phần của ứng dụng được vận 
hành như mong đợi và phù hợp với các tiêu chuẩn thiết kế. 
– Kiểm thử hợp lệ: để chứng minh cho đội ngũ phát triển và khách hàng 
thấy phần mềm đã thoả mãn mọi yêu cầu hay chưa? Kiểm thử hợp lệ 
thành công khi hệ thống đã vận hành như mong đợi. 
– Kiểm thử khiếm khuyết: nhằm phát hiện các lỗi hoặc những khiếm 
khuyết của phần mềm và kiểm tra xem chức năng của nó có chính xác 
hoặc phù hợp với tài liệu đặc tả của nó hay không. 
4 
1. Định nghĩa và mục tiêu kiểm thử 
2. Các loại lỗi trong kiểm thử 
3. Những tài liệu cần thiết 
4. Tiến trình kiểm thử 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Trong một ứng dụng phần mềm có thể tồn tại ba kiểu lỗi và quá trình 
kiểm thử sẽ phải xác định được cả ba loại lỗi đó, bao gồm: 
– Các chức năng của chương trình chạy bị lỗi hoặc ra kết quả không 
đúng như mong muốn. 
– Không làm những điều cần phải làm: đây là lỗi bỏ sót thường xuất 
hiện đối với những ứng dụng mới được phát triển. 
– Làm những điều không cần làm: đây là lỗi của các lệnh đã cư trú trước 
trong các ứng dụng bảo trì. 
5 
1. Định nghĩa và mục tiêu kiểm thử 
2. Các loại lỗi trong kiểm thử 
3. Những tài liệu cần thiết 
4. Tiến trình kiểm thử 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Trước khi thực hiện kiểm thử, đội ngũ kiểm thử phải tìm hiểu ba loại tài 
liệu sau: 
– Tài liệu yêu cầu người dùng: để tìm hiểu những yêu cầu, suy nghĩ của 
khách hàng về phần mềm mà họ mong muốn. Ví dụ khách hàng muốn 
chỉ những người quản trị mới có chức năng xóa thông tin. 
– Tài liệu đặc tả: để tìm hiểu những { tưởng, dự định của đội ngũ phát 
triển khi hiện thực hóa những yêu cầu, mong muốn của khách hàng. 
Ví dụ người dùng sẽ phải đăng nhập khi muốn truy cập vào hệ thống. 
– Tài liệu thiết kế: để tìm hiểu cụ thể, chi tiết các giải pháp của đội ngũ 
phát triển khi triển khai các chức năng của hệ thống. Ví dụ mã nhân 
viên phải có độ dài 10 k{ tự, trong đó 3 k{ tự đầu chỉ phòng ban, 2 k{ 
tự sau chỉ loại nhân viên, 5 k{ tự cuối là số thứ tự của nhân viên. 
6 
1. Định nghĩa và mục tiêu kiểm thử 
2. Các loại lỗi trong kiểm thử 
3. Những tài liệu cần thiết 
4. Tiến trình kiểm thử 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Là trình tự thực hiện kiểm tra hệ thống phần mềm từ khi có yêu cầu 
kiểm tra cho đến khi hệ thống được hoàn thiện. 
 Các bước thực hiện trong tiến trình kiểm thử gồm: 
– Lập kế hoạch kiểm thử (Test Plan). 
– Chuẩn bị môi trường kiểm thử như phần cứng, phần mềm, ngôn ngữ 
– Thiết kế kiểm thử (Test case). 
– Thực hiện kiểm thử. 
– Theo dõi và xử l{ lỗi. 
– Thống kê báo cáo kết quả kiểm thử. 
7 
1. Định nghĩa và mục tiêu kiểm thử 
2. Các loại lỗi trong kiểm thử 
3. Những tài liệu cần thiết 
4. Tiến trình kiểm thử 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Mẫu Test case 
8 
1. Định nghĩa và mục tiêu kiểm thử 
2. Các loại lỗi trong kiểm thử 
3. Những tài liệu cần thiết 
4. Tiến trình kiểm thử 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Nguyên tắc khách quan: người kiểm thử không phải là tác giả của phần 
mềm đang được kiểm thử. 
 Nguyên tắc ngẫu nhiên: dữ liệu và chức năng được chọn để kiểm thử 
tuy có chủ đích nhưng không phải xuất hiện theo một thứ tự nhất định. 
 Nguyên tắc "người sử dụng kém": hệ thống được một người sử dụng có 
trình độ thấp ở mức chấp nhận được dùng thử, người này có thể gây ra 
các sự cố không lường trước được của hệ thống. 
 Nguyên tắc "kẻ phá hoại": hệ thống rơi vào tay những người có trình độ 
nghiệp vụ cao, chủ { để phá hoại. Trình độ ở đây thuộc lĩnh vực công 
nghệ thông tin hoặc lĩnh vực mà phần mềm đang xây dựng. 
 Khi phát triển phần mềm cần đảm bảo nguyên l{ an toàn là mọi lỗi dù nhỏ hay 
lớn đều phải được phát hiện ở một bước nào đó trong quá trình xây dựng phần 
mềm trước khi nó được đưa vào thực hiện. 
9 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Trừ các hệ thống nhỏ, còn nói chung không nên kiểm thử nguyên cả 
khối chương trình mà chia thành các giai đoạn như sau: 
10 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Đơn vị - Unit là một thành phần phần mềm nhỏ nhất mà ta có thể kiểm 
tra được ví dụ như các hàm, các thủ tục, các lớp, hoặc các phương 
thức. 
 Unit thường có kích thước nhỏ và chức năng hoạt động đơn giản nên 
không khó khăn trong việc tổ chức, kiểm tra, ghi nhận và phân tích kết 
quả. Nếu phát hiện lỗi thì việc xác định nguyên nhân và khắc phục cũng 
tương đối dễ dàng vì chỉ khoanh vùng trong một đơn thể Unit đang 
được kiểm tra. 
 Nguyên l{ đúc kết từ thực tiễn cho thấy thời gian tốn cho kiểm thử đơn 
vị sẽ được đền bù bằng việc tiết kiệm được rất nhiều thời gian và chi 
phí cho việc kiểm tra, sửa lỗi ở các mức kiểm thử sau đó. 
11 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Unit Test thường do lập trình viên thực hiện, công đoạn này cần được 
thực hiện càng sớm càng tốt trong giai đoạn viết mã và trong suốt chu 
kz phát triển phần mềm. Thông thường, Unit Test đòi hỏi kiểm thử viên 
phải có kiến thức về cả thiết kế và mã lệnh của chương trình. 
 Mục đích của Unit Test là bảo đảm thông tin vào và ra của Unit là chính 
xác trong mối quan hệ giữa chúng, điều này đòi hỏi tất cả các nhánh 
bên trong của Unit đều phải được kiểm tra để phát hiện nhánh phát 
sinh lỗi. 
 Cũng như các mức kiểm thử khác, Unit Test cũng đòi hỏi phải chuẩn bị 
trước các tình huống (test case) và kịch bản (script), trong đó chỉ định 
rõ dữ liệu vào, các bước thực hiện và dữ liệu mong chờ sẽ xuất ra. Các 
test case và script này nên được giữ lại để tái sử dụng. 
12 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Kiểm thử tích hợp kết hợp các thành phần của một ứng dụng và kiểm 
tra như một ứng dụng đã hoàn thành. Trong khi kiểm thử đơn vị kiểm 
tra các thành phần riêng lẻ thì kiểm thử tích hợp kết hợp chúng lại với 
nhau và kiểm tra sự giao tiếp giữa chúng. 
 Kiểm thử tích hợp có 2 mục tiêu chính: 
– Phát hiện lỗi giao tiếp xảy ra giữa các Unit. 
– Tích hợp các Unit đơn lẻ thành các hệ thống nhỏ và cuối cùng là hệ 
thống hoàn chỉnh chuẩn bị cho kiểm thử ở mức hệ thống. 
13 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Trừ một số ít ngoại lệ, nói chung kiểm thử tích hợp chỉ nên thực hiện 
trên những Unit đã được kiểm tra cẩn thận trước đó bằng Unit Test. 
 Một số { kiến cho rằng Unit một khi đã qua giai đoạn Unit Test với 
các giao tiếp giả lập thì không cần phải thực hiện kiểm thử tích hợp 
nữa nhưng thực tế cho thấy việc tích hợp giữa các Unit dẫn đến 
những tình huống hoàn toàn khác. 
 Chiến lược thường được sử dụng trong kiểm thử tích hợp là tích hợp 
dần dần từng Unit vào nhóm các Unit khác đã được tích hợp và kiểm 
thử tích hợp trước đó. Lúc này, ta chỉ cần kiểm tra giao tiếp của Unit 
mới thêm vào với hệ thống các Unit đã tích hợp trước đó, điều này 
làm cho số lượng kiểm thử sẽ giảm đi rất nhiều và sai sót sẽ cũng bị 
hạn chế.. 
14 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Có 4 loại kiểm tra trong kiểm thử tích hợp: 
– Kiểm tra cấu trúc: Kiểm tra nhằm bảo đảm rằng các thành phần bên trong 
của chương trình là chạy đúng, nó chỉ chú trọng đến hoạt động của các 
thành phần cấu trúc nội tại trong chương trình như các câu lệnh và nhánh 
lựa chọn (kiểm thử hộp trắng). 
– Kiểm tra chức năng: Kiểm tra chú trọng đến chức năng của chương trình, 
khảo sát chúng theo yêu cầu kỹ thuật (kiểm thử hộp đen). 
– Kiểm tra hiệu năng: Kiểm tra việc vận hành của hệ thống. 
– Kiểm tra khả năng chịu tải: Kiểm tra các giới hạn của hệ thống. 
15 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Kiểm thử hệ thống bắt đầu khi tất cả các bộ phận của phần mềm đã 
được tích hợp thành công. Mục đích là kiểm tra toàn bộ hệ thống sau 
khi tích hợp có thỏa mãn các yêu cầu đã đặt ra hay không? 
 Thông thường loại kiểm thử này tốn rất nhiều công sức và thời gian, 
trong nhiều trường hợp việc kiểm tra đòi hỏi một số thiết bị phụ trợ, 
phần mềm hoặc phần cứng đặc thù, đặc biệt là các ứng dụng thời gian 
thực hoặc hệ thống nhúng. 
 Ở mức độ kiểm thử hệ thống, người kiểm thử cũng tìm kiếm các lỗi 
nhưng trọng tâm là đánh giá về hoạt động, thao tác, sự tin cậy và một 
số các yêu cầu khác liên quan đến chất lượng của toàn hệ thống. 
16 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Điểm khác nhau giữa kiểm thử tích hợp và kiểm thử hệ thống: 
– Kiểm thử tích hợp chú trọng sự giao tiếp giữa các đơn thể hoặc đối 
tượng khi chúng làm việc cùng nhau. 
– Kiểm thử hệ thống chú trọng các hành vi và lỗi trên toàn hệ thống. 
 Kiểm thử hệ thống kiểm tra cả các hành vi chức năng của phần mềm lẫn 
các yêu cầu về chất lượng như độ tin cậy, tính tiện lợi khi sử dụng, hiệu 
năng và bảo mật. Mức kiểm tra này đặc biệt thích hợp cho việc phát 
hiện lỗi giao tiếp với các phần mềm hoặc phần cứng bên ngoài, chẳng 
hạn các lỗi “tắc nghẽn” hoặc chiếm dụng bộ nhớ. 
 Đòi hỏi nhiều công sức, thời gian, tính chính xác và tính khách quan nên 
kiểm thử hệ thống thường được thực hiện bởi một nhóm kiểm tra viên 
hoàn toàn độc lập với nhóm phát triển dự án. 
 Việc lập kế hoạch cho kiểm thử hệ thống nên bắt đầu từ giai đoạn hình 
thành và phân tích các yêu cầu. 
17 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Kiểm thử hệ thống gồm nhiều loại kiểm tra khác nhau, phổ biến nhất 
gồm: 
– Kiểm tra chức năng: bảo đảm các hành vi của hệ thống thỏa mãn đúng yêu 
cầu thiết kế. 
– Kiểm tra khả năng vận hành: bảo đảm tối ưu việc phân bổ tài nguyên hệ 
thống, ví dụ phân bổ bộ nhớ nhằm đáp ứng các yêu cầu về thời gian xử l{ hay 
thời gian truy vấn 
– Kiểm tra khả năng chịu tải: bảo đảm hệ thống vận hành đúng dưới áp lực 
cao, ví dụ trường hợp nhiều người truy xuất cùng một lúc hoặc các tình 
huống bất thường 
– Kiểm tra khả năng bảo mật: bảo đảm tính toàn vẹn, tính bảo mật của dữ liệu 
và của hệ thống. 
– Kiểm tra khả năng phục hồi: bảo đảm hệ thống có khả năng khôi phục trạng 
thái ổn định trước đó trong tình huống mất tài nguyên hoặc dữ liệu, điều này 
đặc biệt quan trọng đối với các hệ thống giao dịch như ngân hàng trực tuyến. 
18 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Sau giai đoạn kiểm thử hệ thống là kiểm thử chấp nhận, loại kiểm thử 
này được khách hàng thực hiện hoặc ủy quyền cho một nhóm thứ ba 
thực hiện. 
 Mục đích của kiểm thử chấp nhận là để chứng minh phần mềm thỏa 
mãn tất cả các yêu cầu của khách hàng và khách hàng chấp nhận sản 
phẩm. 
 Đối với những sản phẩm dành để bán rộng rãi trên thị trường cho nhiều 
người sử dụng, thông thường sẽ thông qua hai loại kiểm thử là Alpha 
và Beta: 
– Với kiểm thử Alpha, người sử dụng tiềm năng kiểm tra phần mềm ngay 
tại nơi phát triển phần mềm, lập trình viên sẽ ghi nhận các lỗi và lên kế 
hoạch sửa chữa. 
– Với kiểm thử Beta, phần mềm sẽ được gửi tới cho người sử dụng tiềm 
năng để kiểm tra ngay trong môi trường thực, lỗi và các phản hồi sẽ 
được gửi ngược lại cho lập trình viên để sửa chữa. 
19 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Thực tế cho thấy, nếu khách hàng không quan tâm và không tham gia 
vào quá trình phát triển phần mềm thì kết quả kiểm thử chấp nhận sẽ 
sai lệch rất lớn, mặc dù phần mềm đã trải qua tất cả các mức kiểm thử 
trước đó. Sự sai lệch này liên quan đến việc hiểu sai yêu cầu cũng như 
sự mong chờ của khách hàng. 
– Ví dụ một phần mềm đã được nhóm phát triển dự án kiểm tra về chức 
năng, nhưng khách hàng khi kiểm tra sau cùng vẫn thất vọng vì bố cục 
màn hình nghèo nàn, thao tác không tự nhiên, không theo tập quán sử 
dụng của khách hàng 
 Gắn liền với giai đoạn kiểm thử chấp nhận là một nhóm những dịch vụ 
và tài liệu đi kèm như tài liệu hướng dẫn cài đặt, hướng dẫn sử dụng 
Tất cả tài liệu đi kèm phải được cập nhật và kiểm tra chặt chẽ. 
20 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Kiểm thử hồi quy không phải là một mức kiểm thử như các mức đã nói 
ở trên, nó chỉ đơn thuần là kiểm tra lại phần mềm sau khi có một sự 
thay đổi nào đó xảy ra để bảo đảm sự thay đổi không gây ra lỗi mới trên 
những chức năng vốn đã làm việc tốt. 
– Ví dụ một phần mềm đang phát triển khi kiểm thử cho thấy nó chạy tốt 
các chức năng A, B và C. Khi có thay đổi mã lệnh của chức năng C, nếu 
chỉ kiểm tra chức năng C thì chưa đủ, cần phải kiểm tra lại tất cả các chức 
năng khác liên quan đến chức năng C như A và B, l{ do là khi C thay đổi, 
nó có thể sẽ làm A và B không còn làm việc đúng nữa. 
 Kiểm thử hồi quy có thể thực hiện tại mọi mức kiểm thử. 
21 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Mặc dù phải là một mức kiểm thử nhưng thực tế lại cho thấy 
kiểm thử hồi quy là một trong những loại kiểm thử tốn nhiều thời 
gian và công sức nhất. 
 Tuy thế, việc bỏ qua kiểm thử hồi quy là không được phép vì có 
thể dẫn đến tình trạng phát sinh hoặc tái xuất hiện những lỗi 
nghiêm trọng, vì ta tưởng những lỗi đó hoặc không có hoặc đã 
được kiểm tra và sửa chữa rồi. 
22 
1. Kiểm thử đơn vị 
2. Kiểm thử tích hợp 
3. Kiểm thử hệ thống 
4. Kiểm thử chấp nhận 
5. Kiểm thử hồi quy 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Ta có hai kiểu chiến lược kiểm thử phần mềm là kiểm thử logic và kiểm thử tích 
hợp: 
– Kiểm thử logic: phát hiện các lỗi logic gồm kiểm thử hộp đen (Black box) và 
kiểm thử hộp trắng (White box). 
– Kiểm thử tích hợp: xây dựng hệ thống từ những thành phần của nó và kiểm 
thử sự tương tác giữa các thành phần, gồm kiểm thử trên-xuống (Top down) 
và kiểm thử dưới-lên (Bottom up). 
 Các chiến lược kiểm thử không loại trừ lẫn nhau, chúng có thể được sử dụng đơn 
lẻ hoặc đồng thời, tốt nhất là nên sử dụng nhiều kiểu chiến lược để phát hiện 
được hết các lỗi. 
23 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Còn gọi là kiểm thử chức năng, kiểm thử này xem phần mềm như là 
một “hộp đen” tức là không biết gì về hoạt động bên trong của nó. 
 Chỉ quan tâm đến chức năng đã đề ra của chương trình mà không quan 
tâm đến các khâu thiết kế hoặc viết mã lệnh, do đó khi kiểm thử nó chỉ 
dựa vào bản mô tả chức năng của chương trình. 
 Kiểm thử hộp đen nhằm phát hiện các lỗi sau: 
– Thiếu chức năng. 
– Lỗi giao tiếp. 
– Lỗi trong cấu trúc dữ liệu. 
– Lỗi khi thực hiện chương trình. 
24 
1. Kiểm thử hộp đen 
2. Kiểm thử hộp trắng 
3. Kiểm thử trên xuống 
4. Kiểm thử dưới lên 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Ví dụ xét form Login cho phép đăng nhập với User và pass hợp lệ, khi 
kiểm thử hộp đen ta phải kiểm thử những trường hợp sau: 
– User, Pass hợp lệ. 
– User hoặc Pass để trống. 
– User hoặc Pass không hợp lệ. 
25 
1. Kiểm thử hộp đen 
2. Kiểm thử hộp trắng 
3. Kiểm thử trên xuống 
4. Kiểm thử dưới lên 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Các kỹ thuật được áp dụng khi kiểm thử hộp đen gồm: 
– Phân đoạn tương đương: mục đích là giảm số lượng kiểm thử bằng cách 
chọn các tập dữ liệu đại diện. Ta chia dữ liệu vào thành các đoạn, mỗi 
đoạn đại diện cho một số dữ liệu và việc kiểm thử chỉ thực hiện trên đại 
diện đó. 
– Phân tích giá trị biên: là trường hợp đặc biệt của phân đoạn tương 
đương, nó sử dụng các giá trị biên làm giá trị đại diện. Ví dụ nếu miền dữ 
liệu là tháng thì giá trị 12 là không hợp lệ. 
– Đoán lỗi: dựa trên cơ sở trực giác và kinh nghiệm, các chuyên gia có thể 
dễ dàng kiểm tra các lỗi bằng cách đoán cái nào dễ xảy ra nhất. Ví dụ lỗi 
chia cho 0, nếu modul có phép chia thì phải kiểm thử lỗi này. Vì dựa trên 
trực giác, nên phép thử này khó tìm được hết các lỗi. 
26 
1. Kiểm thử hộp đen 
2. Kiểm thử hộp trắng 
3. Kiểm thử trên xuống 
4. Kiểm thử dưới lên 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Là phương pháp kiểm thử dựa vào cấu trúc và mã lệnh chương trình. 
Phương pháp này kiểm nghiệm một phần của chương trình hay một 
phần của hệ thống để đảm bảo rằng chúng đáp ứng tốt tất cả các giá trị 
đầu vào bao gồm cả giá trị không đúng hay không theo dự định của 
chương trình. 
 Khi kiểm thử hộp trắng phải đạt được các yêu cầu sau: 
– Bao phủ dòng lệnh: mỗi dòng lệnh phải được thực thi ít nhất 1 lần, bởi vì 
nếu một câu lệnh không được thực hiện thì ta không thể biết có lỗi xảy ra 
trong câu lệnh đó hay không? 
– Bao phủ nhánh: mỗi nhánh của các quyết định logic đều phải được đi qua 
ít nhất 1 lần. 
– Bao phủ lặp: tiến hành trên tất cả các vòng lặp từ giá trị khởi tạo đến giá 
trị cuối cùng. 
27 
1. Kiểm thử hộp đen 
2. Kiểm thử hộp trắng 
3. Kiểm thử trên xuống 
4. Kiểm thử dưới lên 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Xây dựng khung của hệ thống và đưa các thành phần vào trong nó. 
 Chiến lược này kiểm tra mức cao của hệ thống trước khi kiểm tra các 
thành phần chi tiết, sau khi thành phần ở mức cao nhất được kiểm tra 
thì các thành phần con của nó mới được tiến hành kiểm tra và cứ tiếp 
tục như vậy cho đến khi thành phần ở mức đơn vị được kiểm tra. 
– Ưu điểm: Các thành phần hệ thống được thử nghiệm ngay sau khi mã hóa 
vì vậy các lỗi có thể sớm được phát hiện do đó tiết kiệm được thời gian và 
chi phí. Ngoài ra ta có thể coi hệ thống tuy chưa hoàn chỉnh nhưng đã có 
những chức năng chính từ đó có thể minh họa tính khả thi của hệ thống. 
– Nhược điểm: Cách thức xây dựng các nhánh và chọn chức năng nào để 
phát triển trước vẫn là bài toán chưa có nghiệm tối ưu, hơn nữa các mô 
hình ở mức cao vẫn chưa có đầu ra rõ ràng. 
28 
1. Kiểm thử hộp đen 
2. Kiểm thử hộp trắng 
3. Kiểm thử trên xuống 
4. Kiểm thử dưới lên 
1. Khái niệm kiểm thử 
2. Các nguyên tắc kiểm thử 
3. Cấp độ kiểm thử 
4. Các chiến lược kiểm thử phần mềm 
 Bắt đầu kiểm thử các đơn thể cơ sở không gọi đến các đơn thể khác, 
sau đó bổ sung kiểm thử các đơn thể gọi đến các đơn thể đã được kiểm 
thử này. 
 Nguyên tắc của kiểm thử dưới lên là kiểm thử mọi thay đổi tại đơn thể 
có thể ảnh hưởng tới chức năng của nó. Trong kiểm thử dưới lên tất cả 
các đơn thể được mã hoá và kiểm tra riêng rẽ. 
 Mỗi đơn thể phải được kiểm thử với ít nhất hai trường hợp: một 
trường hợp chạy tốt và một trường hợp không chạy. Trong trường hợp 
chạy sai hệ thống phải đưa ra được thông báo và quay lại được trạng 
thái ban đầu của giao dịch. 
 Nhược điểm của phương pháp là lỗi cấu trúc được phát hiện ở các 
bước cuối cùng, do đó chi phí xây dựng phần mềm sẽ bị tăng. 
29 
1. Kiểm thử hộp đen 
2. Kiểm thử hộp trắng 
3. Kiểm thử trên xuống 
4. Kiểm thử dưới lên 
30 

File đính kèm:

  • pdfbai_giang_phat_trien_he_thong_thong_tin_kinh_te_chuong_8_kie.pdf