32
KIỂM TRA PHẦN MỀM LÀ GÌ? “Chạy thử" PM hay một chức năng của PM, xem nó "chạy" đúng như mong muốn hay không Có thể thực hiện từng chặng, sau mỗi chức năng hoặc module được phát triển, hoặc thực hiện sau cùng, khi PM đã được phát triển hoàn tất(PM nhỏ) Bước đệm giữa giai đoạn xây dựng PM và sử dụng PM, trước khi giao sản phẩm hoàn chỉnh cho khách hàng

Kiem tra phan mem

Embed Size (px)

DESCRIPTION

hgh

Citation preview

Page 1: Kiem tra phan mem

KIỂM TRA PHẦN MỀM LÀ GÌ?“Chạy thử" PM hay một chức năng của PM, xem nó "chạy" đúng như mong muốn hay không

Có thể thực hiện từng chặng, sau mỗi chức năng hoặc module được phát triển, hoặc thực hiện sau cùng, khi PM đã được phát triển hoàn tất(PM nhỏ)

Bước đệm giữa giai đoạn xây dựng PM và sử dụng PM, trước khi giao sản phẩm hoàn chỉnh cho khách hàng

Page 2: Kiem tra phan mem

Các hình thức kiểm tra PM

Page 3: Kiem tra phan mem

Test case & Test Script

• Testcase: Một tình huống kiểm tra, được thiết kế để kiểm tra một đối tượng có thỏa mãn yêu cầu đặt ra hay không– Mô tả: Đặc tả các điều kiện cần có để tiến hành

kiểm tra– Input: Dữ liệu đầu vào– Output: Kết quả trả về mong muốn

Page 4: Kiem tra phan mem

Test case & Test Script

• Test Script: Một nhóm mã lệnh tự động hóa một trình tự kiểm tra, giúp cho việc kiểm tra nhanh hơn, hoặc cho những trường hợp mà kiểm tra bằng tay sẽ rất khó khăn hoặc không khả thi. – Các Test Script có thể tạo thủ công hoặc tạo tự

động dùng công cụ kiểm tra tự động.

Page 5: Kiem tra phan mem

Unit Test – Kiểm tra mức đơn vị• Unit: Một thành phần PM nhỏ nhất mà ta có

thể kiểm tra được: Function, Procedure, Class, Method...

• Do lập trình viên thực hiện và càng sớm càng tốt trong giai đoạn viết code và xuyên suốt chu kỳ PTPM

• Unit Test đòi hỏi phải chuẩn bị trước các test case hoặc test 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

Page 6: Kiem tra phan mem

Unit Test – Kiểm tra mức đơn vị

• Mục đích: Bảo đảm thông tin được xử lý và xuất (khỏi Unit) là chính xác

• Thời gian tốn cho Unit Test sẽ được đền bù bằng việc tiết kiệm rất nhiều thời gian và chi phí cho việc kiểm tra và sửa lỗi ở các mức kiểm tra sau đó

Page 7: Kiem tra phan mem

Integration Test – Kiểm tra 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

• Kết hợp các thành phần lại với nhau và kiểm tra sự giao tiếp giữa chúng

• Mục tiêu:– Phát hiện lỗi giao tiếp xảy ra giữa các Unit– chuẩn bị cho kiểm tra ở mức hệ thống (System

Test).

Page 8: Kiem tra phan mem

Integration Test – Kiểm tra tích hợp

• Mọi giao tiếp liên quan đến Unit thật sự được kiểm tra đầy đủ khi các Unit tích hợp với nhau trong khi thực hiện Integration Test

• 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, và tất cả các lỗi mức Unit đã được sửa chữa

Page 9: Kiem tra phan mem

Integration Test – Kiểm tra tích hợp

• Nên tích hợp dần từng Unit. Một Unit tại một thời điểm được tích hợp vào một nhóm các Unit khác đã tích hợp trước đó và đã hoàn tất các đợt Integration Test trước đó

Page 10: Kiem tra phan mem

Integration Test – Kiểm tra tích hợp

• Các loại:– Kiểm tra cấu trúc: (Tương tự White Box Test)

• Nhằm bảo đảm các thành phần bên trong của một chương trình chạy đúng

• Chú trọng đến hoạt động của các thành phần cấu trúc của chương trình chẳng hạn các lệnh và nhánh bên trong

– Kiểm tra chức năng (Tương tự Black Box Test )• Kiểm tra chỉ chú trọng đến chức năng của chương trình, không quan tâm

đến cấu trúc bên trong• Chỉ khảo sát chức năng của chương trình theo yêu cầu kỹ thuật.

– Kiểm tra hiệu năng (Performance): Kiểm tra việc vận hành của hệ thống

– Kiểm tra khả năng chịu tải(stress):Kiểm tra các giới hạn của hệ thống

Page 11: Kiem tra phan mem

System Test - Kiểm tra mức hệ thống• Kiểm tra thiết kế và toàn bộ hệ thống (sau khi tích hợp) có

thỏa mãn yêu cầu đặt ra hay không• Bắt đầu khi tất cả các bộ phận của PM đã được tích hợp

thành công• Các hình thức (không nhất thiết phải thực hiện tất cả các

hình thức)– Kiểm tra chức năng (Functional Test)– Kiểm tra khả năng vận hành (Performance Test)– Kiểm tra khả năng chịu tải (Stress Test hay Load Test)– Kiểm tra cấu hình (Configuration Test)– Kiểm tra khả năng bảo mật (Security Test)– Kiểm tra khả năng phục hồi (Recovery Test)

Page 12: Kiem tra phan mem

System Test - Kiểm tra mức hệ thống

• Kiểm tra chức năng (Functional Test)– 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ụ bộ nhớ) nhằm đạt các chỉ tiêu như thời gian xử lý hay đáp ứng câu truy vấn

• Kiểm tra khả năng chịu tải (Stress Test hay Load Test)– bảo đảm hệ thống vận hành đúng dưới áp lực cao– tập trung vào các trạng thái tới hạn, các "điểm chết", các

tình huống bất thường

Page 13: Kiem tra phan mem

System Test - Kiểm tra mức hệ thống

• Kiểm tra cấu hình (Configuration Test) – Bảo đảm tính toàn vẹn, bảo mật của dữ liệu và của hệ

thống.• Kiểm tra khả năng bảo mật• 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;

– Đặ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

Page 14: Kiem tra phan mem

Acceptance Test - Kiểm tra nhận sản phẩm

• 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: chứng minh PM thỏa mãn tất cả yêu cầu của khách hàng và khách hàng chấp nhận sản phẩm.

Page 15: Kiem tra phan mem

Quy trình test PM

Page 16: Kiem tra phan mem

Lập kế hoạch kiểm tra

• Mục đích: Chỉ định và mô tả các loại kiểm tra sẽ được triển khai và thực hiện.

• Thời diểm:Khi các yêu cầu đã tương đối đầy đủ, các chức năng và luồng dữ liệu chính đã được mô tả

Page 17: Kiem tra phan mem

Lập kế hoạch kiểm tra

• Kết quả : Tài liệu kế hoạch KTPM (master test plan)– Chi tiết từ các loại kiểm tra– Chiến lược kiểm tra– Thời gian và phân bổ kiểm tra viên

• Các bản kế hoạch chi tiết lần lượt được thiết kế theo trình tự thời gian phát triển của dự án

Page 18: Kiem tra phan mem

Lập kế hoạch kiểm tra

Page 19: Kiem tra phan mem

Các bước lập kế hoạch• Xác định yêu cầu kiểm tra:

– Bộ phận, thành phần của PM cần kiểm tra– Phạm vi hoặc giới hạn của việc kiểm tra– Xác định nhu cầu nhân lực

• Khảo sát rủi ro– Rủi ro xảy ra làm chậm hoặc cản trở quá trình cũng như chất

lượng kiểm tra(kỹ năng và kinh nghiệm của kiểm tra viên )

• Chiến lược kiểm tra– Phương pháp tiếp cận để thực hiện việc kiểm tra trên PM– Kỹ thuật và công cụ hỗ trợ kiểm tra– Phương pháp dùng để đánh giá chất lượng kiểm tra cũng như

điều kiện để xác định thời gian kiểm tra

Page 20: Kiem tra phan mem

Các bước lập kế hoạch

• Xác định nguồn lực– kỹ năng, kinh nghiệm của kiểm tra viên– phần cứng, phần mềm, công cụ, thiết bị giả lập

• Lập kế hoạch chi tiết– Ước lượng thời gian, khối lượng công việc– Xác định chi tiết các phần công việc, người thực

hiện– Thời gian tất cả các điểm mốc của quá trình kiểm

tra.

Page 21: Kiem tra phan mem

Các bước lập kế hoạch

• Tổng hợp và tạo các bản kế hoạch kiểm tra: – kế hoạch chung và kế hoạch chi tiết.

• Xem xét các kế hoạch kiểm tra – Có sự tham gia của tất cả những người có liên

quan– Bảo đảm các kế hoạch là khả thi, phát hiện và sữa

chữa các sai sót trong các bản kế hoạch

Page 22: Kiem tra phan mem

Thiết kế Test

• Mục đích:– Chỉ định các Test Case và các bước kiểm tra chi

tiết cho mỗi phiên bản PM– Bảo đảm tất cả các tình huống kiểm tra “quét” hết

tất cả yêu cầu cần kiểm tra• Sửa chữa, cập nhật, thêm hoặc bớt xuyên

suốt chu kỳ PTPM, vào bất cứ lúc nào có sự thay đổi yêu cầu, hoặc sau khi phân tích thấy cần được sửa chữa hoặc bổ sung

Page 23: Kiem tra phan mem

Các bước thiết kế test

• Xác định và mô tả Test Case– Xác định các điều kiện cần thiết lập trước và trong

lúc kiểm tra– Mô tả đối tượng hoặc dữ liệu đầu vào– Mô tả các kết quả mong chờ sau khi kiểm tra

• Mô tả các bước chi tiết để kiểm tra– mô tả chi tiết để hoàn thành một Test Case– chỉ định các loại dữ liệu nào cần có để thực thi các

Test Case (trực tiếp, gián tiếp, trung gian, hệ thống…)

Page 24: Kiem tra phan mem

Các bước thiết kế test

• Xem xét và khảo sát độ bao phủ của việc kiểm tra– xác định việc kiểm tra đã hoàn thành hay chưa?– bao nhiêu phần trăm PM đã được kiểm tra=> căn cứ trên yêu cầu của phần mềm hoặc căn cứ trên số

lượng code đã viết• Xem xét Test Case và các bước kiểm tra

– có sự tham gia của tất cả những người có liên quan, kể cả trưởng dự án nhằm bảo đảm các Test Case và dữ liệu yêu cầu là đủ và phản ánh đúng các yêu cầu cần kiểm tra, độ bao phủ đạt yêu cầu, cũng như để phát hiện (và sữa chữa) các sai sót

Page 25: Kiem tra phan mem

Các bước thiết kế test

Page 26: Kiem tra phan mem

Phát triển Test Script

• Mục đích: Tạo ra các Test Script có khả năng chạy trên máy tính giúp tự động hóa việc thực thi các bước kiểm tra đã định nghĩa ở bước thiết kế test

• Không bắt buộc trong

Page 27: Kiem tra phan mem

Các bước phát triển Test Script

• Tạo Test Script– thủ công– công cụ hỗ trợ để phát sinh script một cách tự

động– có khả năng tái sử dụng càng nhiều càng tốt để tối

ưu hóa công việc• Chỉnh sửa

– chỉnh sửa từ test script có sẳn hoặc sinh bằng công cụ

Page 28: Kiem tra phan mem

Các bước phát triển Test Script

• Thành lập các bộ dữ liệu ngoài dành cho các Test Script– bộ dữ liệu này sẽ được các Test Script sử dụng khi

thực hiện kiểm tra tự động– Việc tách riêng dữ liệu cho phép dễ dàng thay đổi

dữ liệu khi kiểm tra, cũng như giúp việc chỉnh sửa hoặc tái sử dụng các script sau này

Page 29: Kiem tra phan mem

Các bước phát triển Test Script

• Kiểm tra Test script– bảo đảm các Test Script hoạt động đúng yêu cầu– thể hiện đúng ý đồ của các bước kiểm tra

• Xem xét và khảo sát độ bao phủ của việc kiểm tra– bảo đảm các Test Script được tạo ra bao phủ toàn

bộ các bước kiểm tra theo yêu cầu

Page 30: Kiem tra phan mem

Thực hiện kiểm tra• Cách thức :

– Thủ công– Test Script

• Đánh giá quá trình kiểm tra: – giám sát quá trình kiểm tra suôn sẻ – bổ sung hay sữa chữa để quá trình kiểm tra được tốt hơn– Nếu quá trình diễn ra trơn tru, kiểm tra viên hoàn thành chu

kỳ kiểm tra và chuyển qua bước “Thẩm định kết quả kiểm tra”

– Nếu quá trình bị treo hoặc dừng giữa chừng, kiểm tra viên cần phân tích để xác định nguyên nhân lỗi, khắc phục lỗi và lập lại quá trình kiểm tra.

Page 31: Kiem tra phan mem

Thực hiện kiểm tra• Thẩm định kết quả kiểm tra

• Xem xét để bảo đảm kết quả nhận được là đáng tin cậy• Những lỗi xảy ra không phải do PM mà do dữ liệu

dùng để kiểm tra, môi trường kiểm tra hoặc các bước kiểm tra (hoặc Test Script)

• Lỗi xảy ra do quá trình kiểm tra, cần phải sửa chữa và kiểm tra lại từ đầu

Page 32: Kiem tra phan mem

Đánh giá quá trình kiểm tra

• Mục đích: Đánh giá toàn bộ quá trình kiểm tra – xem xét và đánh giá kết quả kiểm tra– liệt kê lỗi, – chỉ định các yêu cầu thay đổi, – tính toán các số liệu liên quan đến quá trình kiểm

tra• Đánh giá kết quả kiểm tra toàn cục, nhằm vào

bản thân giá trị của các kết quả kiểm tra