Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách nhìn độc lập về phần mềm để từ đó cho phép đánh giá và thấu hiểu được những rủi ro trong quá trình triển khai phần mềm.
Trang 1MÔN: CÔNG NGHỆ PHẦN MỀM
Nhóm: 01 Lớp: 13TCLC
Họ và Tên: Trần Lê Thành Đạt
Trần Tiến Đạt
Chủ đề: Chiến lược kiểm thử
Trang 2Kiểm thử phần mềm (kiểm tra, thử nghiệm) là một cuộc kiểm tra được tiến hành để cung
cấp cho các bên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ được kiểm thử Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách nhìn độc lập
về phần mềm để từ đó cho phép đánh giá và thấu hiểu được những rủi ro trong quá trình triển khai phần mềm.
Trong kỷ thuật kiểm thử không chỉ giới hạn ở việc tìm ra các lỗi mà còn là một quá trình đánh giá và xác minh một chương trình máy tính, ứng dụng hay phần mềm nhằm:
▪Đáp ứng được mọi yêu cầu hướng dẫn khi thiết kế và phát triển phần mềm.
▪Thực hiện công việc đúng như kỳ vọng.
▪ Có thể triển khai được với những đặc tính tương tự.
▪ Và đáp ứng được mọi nhu cầu của các bên liên quan.
GIỚI THIỆU
Trang 3Chiến lược kiểm thử
3
Trang 4Kiểm thử đơn vị là gì
Trang 5• Các chiến lược kiểm thử tích hợp:
• Kiểm thử từ dưới lên.
• Kiểm thử từ trên xuống.
• Kiểm thử hồi qui.
5
Trang 6Kiểm thử từ dưới lên
Trang 7Kiểm thử từ dưới lên
7
Trang 8Khi nào thì dùng được?
Trang 9Kiểm thử từ trên xuống
• Là tiến hành kiểm thử với các module ở mức cao trước
• Theo 2 cấu trúc: chiều sâu trước hoặc chiều rộng trước
9
Trang 10Kiểm thử từ trên xuống
Trang 11Khi nào dùng được ?
11
Trang 12Kiểm thử hồi quy
• Là tiến hành lại các phép thử đã thành công mỗi khi tích hợp thêm môdun hoặc khi cập nhật mã nguồn chương trình
• Là phương thức kiểm thử để xem ứng dụng ở phiên bản mới
có làm thay đổi hoặc có ảnh hưởng gì đến các chức năng đã
có sẵn của ứng dụng hay không
• Khi tích hợp thêm môdun mới hoặc khi tiến hành nâng cấp chương trình thì sẽ tạo ra một số tổ hợp trạng thái mới dẫn đến:
• Xuất hiện lỗi.
• Khắc phục một lỗi mới có thể sẽ làm ảnh hưởng tới lỗi đã sửa khác.
Trang 13Kiểm thử hệ thống
• Khái niêm: Kiểm thử hệ thống là kiểm tra lại toàn bộ hệ thống sau khi tích hợp, nhằm đảm bảo hệ thống đáp ứng các yêu cầu đề ra.
13
Trang 15Kiểm thử hệ thống
• Các bước để thực hiện kiểm thử hệ thống
• Lập kế hoạch kiểm thử hệ thống
• Nêu ra các trường hợp có thể xảy ra
• Xây dựng dữ liệu để nhập vào cho hệ thống kiểm tra
• Tạo ra những nguyên bản để xây dựng môi trường và tự động hoá sự thực hiệncủa các trường hợp kiểm thử
• Thực thi các trường hợp kiểm thử
• Chỉnh sửa những hỏng hóc nếu có và kiểm tra lại mã
• Lặp lại quá trình kiểm thử nếu cần thiết
15
Trang 16Kiểm thử hệ thống
Trang 18Kiểm thử Alpha và Beta
• Khái niệm:
• Alpha Testing :Thực hiện để xác định tất cả các vấn đề/ lỗi có thể xảy ra trước khi phát hành sản phẩm đến tay người dùng Trọng tâm của việc kiểm thử này là để mô phỏng người dùng thực - Real users bằng cách sử dụng các kỹ thuật Black box và white box Mục đích là để thực hiện các nhiệm vụ mà một
người sử dụng điển hình có thể thực hiện Alpha testing được thực hiện trong môi trường lab và thường các tester là nhân viên nội bộ của tổ chức, công ty Kiểu kiểm thử này được gọi là alpha vì nó được thực hiện sớm, gần cuối của sự phát triển của
Trang 19Kiểm thử Alpha và Beta
• Beta testing một phần mềm được thực hiện bởi "người sử dụng thật - Real users" trong một "môi trường thực tế - Real environment" và có thể được coi là một hình thức acceptance testing bởi người dùng ngoài Phiên bản beta của phần mềm chỉ được phát hành/công bố cho một số lượng hạn chế người dùng cuối để lấy thông tin phản hồi về chất lượng sản phẩm Beta test làm giảm nguy cơ thất bại của sản phẩm và tăng độ tin tưởng vào chất lượng của nó thông qua các ý kiến nhận xét, đánh giá từ khách hàng Đây là bước kiểm tra cuối cùng trước khi chuyển một phần mềm đến tay khách hàng Lợi thế lớn nhất của beta test là phản hồi trực tiếp từ phía người dùng cuối, nó giúp kiểm tra phần mềm trong môi trường real time
19
Trang 20So sánh kiểm thử Alpha và Beta
Trang 21Tiêu chuẩn đầu vào/ra của Alpha
testing
• Đầu vào:Tài liệu đặc tả yêu cầu phần mềm hoặc đặc tả yêu cầu Business.
• Testcase cho tất cả các yêu cầu.
• Testing team có kiến th ức tốt về các ứng dụng phần mềm.
• Thiết lập môi trường test Lab
• QA đã sẵn sàng build để thực hiện test.
• Test Management tool để tải testcase và test (Test tự động).
• Sử dụng Traceability Matrix để chắc chắn với mỗi yêu cầu về design sẽ có ít nhất 1 testcase kiểm định nó
• Đầu ra:Tất cả testcase đã được thực hiện và pass.
• Tất cả các bug nghiêm trọng phải được sửa và đóng.
• Bàn giao báo cáo về quá trình test.
• Chắc chắn không có một chức năng mới nào được thêm vào.
• Kết thúc Alpha testing.
21
Trang 22Tiêu chuẩn đầu vào/ra của Beta
testing
• Đầu vào:Kết thúc phần tài liệu của quá trình Alpha testing
• Sẵn sàng cho quá trình Beta testing
• Tạo dựng môi trường, chuẩn bị cho sự ra mắt của sản phẩm
• Sử dụng tool để nắm bắt được bug xảy ra trong quá trình real time
• Đầu ra:Tất cả các vấn đề/ Bug lớn hay nhỏ cũng phải được chắc chắn là đã được giải quyết
• Chuẩn bị báo cáo từ những ý kiến phản hồi của người dùng
• Bàn giao báo cáo của quá trình Beta test
Trang 23Ưu nhược điểm của Alpha Testing
• Ưu điểm:Cung cấp cách nhìn nhận tốt hơn về độ tin cậy của phần mềm trong giai đoạn đầu
• Giúp mô phỏng các hành vi thực của người dùng và mô phỏng môi trường
• Phát hiện nhiều lỗi nghiêm trọng
• Có thể phát hiện sớm các lỗi về thiết kế và chức năng
• Nhược điểm:Các chức năng không thể được kiểm tra vì phần mềm vẫn đang trong giai đoạn phát triển Đôi khi developer và tester không hài lòng với kết quả của kiểm thử alpha
23
Trang 24Ưu nhược điểm của Beta Testing
• Ưu điểm:Giảm rủi ro cho sản phẩm thông qua việc xác nhận của người
dùng.
cho khách hàng.
• Nhược điểm:Quản lý việc kiểm thử là một vấn đề So với các phương pháp kiểm thử thường dùng trong môi trường có thể kiểm soát được khác, kiểm thử beta được thực hiện trong thế giới thực nơi mà ta rất khó có thể kiểm soát được.
Trang 25Kết luận Alpha-Beta Testing
• Vấn đề ở đây không còn là bao nhiêu quy trình test được thực hiện, bao nhiêu Bugs đã được giải quyết, phần mềm của bạn không thực tế nếu người dùng không thích nó Beta testing nhằm cung cấp thông tin từ những phản hồi của người dùng thực Alpha testing giúp bạn giả lập môi trường thực để kiểm thử phần mềm trước khi đến với quá trình Beta testting Alpha
và Beta testing không thể thiếu vòng đời phát triển phần mềm
25