Professional Documents
Culture Documents
TỔNG QUAN VỀ
KIỂM THỬ PHẦN
MỀM
Phần mềm (Software)
❖ Khái niệm về phần mềm:
• Theo định nghĩa của ISO: 4 thành phần cơ bản của phần mềm:
Chương trình máy tính (code)
Các thủ tục
Tài liệu
Dữ liệu cần thiết để vận hành phần mềm
Chất lượng phần mềm (Software Quality)
❖ Có rất nhiều định nghĩa về lỗi phần mềm (software error), hiểu một cách đơn
giản thì “Lỗi phần mềm là sự không khớp giữa chương trình và đặc tả của nó”.
➢ Hiểu nhầm
➢ ….
Lỗi phần mềm
❖Kiểm thử phần mềm (software testing) là hoạt động đánh giá phần mềm và các
thành phần của nó nhằm đảm bảo phần mềm đáp ứng được các yêu cầu mong
đợi.
phần mềm là quy trình bao gồm tất cả các hoạt động từ lập kế hoạch, chuẩn bị,
đánh giá hệ thống và những công việc liên quan khác để xác định hệ thống
➢ Tìm ra các lỗi (defect) và các hỏng hóc (failure) của sản phẩm, qua đó
giảm mức độ rủi ro của chất lượng phần mềm
➢ Xác minh (verify) tất cả các yêu cầu đã được đáp ứng
➢ Kiểm tra sản phẩm đã hoàn chỉnh chưa và xác thực (validate) nếu sản
phẩm hoạt động như người dùng cuối mong đợi
➢ Cung cấp đầy đủ thông tin cho các bên liên quan giúp họ đưa ra quyết
định, đặc biệt là về mức độ chất lượng của phần mềm
➢ Tuân thủ các yêu cầu theo hợp đồng, pháp luật hoặc theo quy định và xác
minh sự tuân thủ của sản phẩm với các yêu cầu/ tiêu chuẩn đó
Lợi ích của kiểm thử phần mềm
➢Giảm mức độ rủi ro của sản phẩm, tăng chất lượng phần mềm
❖Waterfall Model
• Sản phẩm phần mềm được xây
dựng thông qua chuỗi hoạt động
có trình tự rõ ràng
❖V-Model
• Tương tự như mô hình thác nước,
nhưng mỗi giai đoạn phát triển
phần mềm sẽ có hoạt động kiểm
thử đi kèm.
• Tiết kiệm được chi phí sửa lỗi và có
cơ hội thành công hơn mô hình
thác nước
• Độ linh hoạt ít, mức độ rủi ro cho
dự án vẫn lớn
Kiểm thử trong mô hình tăng trưởng-lặp
❖ Iterative – incremental Development model
• Việc phát triển phần mềm sẽ chia thành các giai đoạn nhỏ là các chu kỳ và phát
triển tăng dần từng chu kỳ cho đến khi hoàn thành hệ thống. Trong mỗi chu kỳ có
đầy đủ các bước phân tích, thiết kế, xây dựng và kiểm thử
• Thích hợp cho những dự án có yêu cầu phức tạp, hệ thống thường xuyên bổ
sung thêm hay thay đổi yêu cầu
• Điển hình cho mô hình tăng trưởng - lặp là các mô hình dựa trên phương pháp
Agile như Scrum.
Kiểm thử trong mô hình tăng trưởng-lặp
• Là tập hợp các hoạt động được tạo ra nhằm kiểm soát chất lượng sản
phẩm, đảm bảo sản phẩm đúng đặc tả yêu cầu.
✓Trực tiếp kiểm tra chất lượng của sản phẩm trước khi bàn giao cho
khách hang
➢ ??
Verification and Validation
• Trả lời cho câu hỏi: Có phải tôi đang xây dựng sản phẩm đúng cách
không?
Verification and Validation
• Trả lời cho câu hỏi: Có phải tôi đang xây dựng đúng sản phẩm?
Các thuật ngữ về lỗi phần mềm
❖ Defect/ Bug: hệ quả xuất hiện trên chương trình, tài liệu
❖ Failure: sự khác biệt giữa kết quả thực tế và kết quả mong đợi khi thực
thi chương trình
Một số khái niệm khác
• Là một hình thức kiểm thử phần mềm mà không thực thi chương trình
hoặc ứng dụng thực tế.
• Là hình thức kiểm thử phần mềm trong môi trường thực thi ứng dụng
Một số khái niệm khác
❖ Kiểm thử hộp đen (Black box testing)
• Là quá trình kiểm thử mà không cần quan tâm đến mã nguồn của chương
trình hay các hoạt động bên trong hệ thống chạy ra sao.
• Chỉ tập trung vào giá trị đầu vào và giá trị đầu ra có đúng với kết quả mong
đợi, từ đó đánh giá chất lượng của hệ thống.
Một số khái niệm khác
• Là việc thực hiện kiểm thử dựa trên các dòng lệnh bên trong hệ thống.
• Đòi hỏi tester phải có kiến thức về ngôn ngữ lập trình, nghiên cứu các
dòng lệnh, những phần bên trong hệ thống để xem hệ thống có chạy
đúng không.
• Là sự kết hợp giữa kiểm thử hộp đen và kiểm thử hộp trắng
Một số khái niệm khác