Bài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Chủ đề 6: Kiểm thử phần mềm

Khái niệm kiểm thử phần mềm

Một số đặc điểm của kiểm thử phần mềm

Tại sao kiểm thử lại cần thiết?

Qui trình kiểm thử

Tổ chức và vai trò của các thành viên trong nhóm test

Công cụ hỗ trợ test:

Công cụ theo dõi quá trình test

Công cụ hỗ trợ test tự động

Sưu liệu kiểm thử: Test plan, test case, test log, test report,

 

pptx87 trang | Chuyên mục: Công Nghệ Phần Mềm | Chia sẻ: dkS00TYs | Lượt xem: 1892 | Lượt tải: 5download
Tóm tắt nội dung Bài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Chủ đề 6: Kiểm thử phần mềm, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
ng phải là số (abc)? Trong trường hợp trên có thể chia làm 5 phân vùng như sau: Các số nguyên từ 1 đến 100 Các số nguyên nhỏ hơn 1 Các số nguyên lớn hơn 100 Không phải số Số thập phân Như vậy, việc phân vùng có đúng và đủ hay không là tùy thuộc vào kinh nghiệm của tester. Kỹ thuật Boundary Value Analysis Kỹ thuật phân tích giá trị giới hạn - BVA (Boundary Value Analysis) Kỹ thuật BVA sẽ chọn các giá trị nằm tại các điểm giới hạn của phân vùng. Áp dụng kỹ thuật BVA cần 4 test case để test trường hợp này: 0,1,10,101 1 100 101 0 valid invalid invalid Kỹ thuật EP & BVA Xét ví dụ: Một ngân hàng trả lãi cho khách hàng dựa vào số tiền còn lại trong tài khoản. Nếu số tiền từ 0 đến 100$ thì trả 3% lãi, từ lớn hơn 100 $ đến nhỏ hơn 1000$ trả 5% lãi, từ 1000$ trở lên trả 7% lãi. Dùng kỹ thuật EP: Kỹ thuật EP: -0.44, 55.00, 777.50, 1200.00 Kỹ thuật BVA: -0.01, 0.00, 100.00, 100.01, 999.99, 1000.00 Tại sao phải kết hợp BVA và EP Mỗi giá trị giới hạn đều nằm trong một phân vùng nào đó. Nếu chỉ sử dụng giá trị giới hạn thì ta cũng có thể test luôn phân vùng đó. Tuy nhiên vấn đề đặt ra là nếu như giá trị đó sai thì nghĩa là giá trị giới hạn bị sai hay là cả phân vùng bị sai. Hơn nữa, nếu chỉ sử dụng giá trị giới hạn thì không đem lại sự tin tưởng cho người dùng vì chúng ta chỉ sử dụng những giá trị đặc biệt thay vì sử dụng giá trị thông thường. Vì vậy, cần phải kết hợp cả BVA và EP Ví dụ Customer Name Account number Loan amount requested Term of loan Monthly repayment Term: Repayment: Interest rate: Total paid back: 6 digits, 1st non-zero £500 to £9000 1 to 30 years Minimum £10 2-64 chars. Customer name Number of characters: 2 64 65 invalid valid invalid 1 Valid characters: Anyother A-Z a-z -’ space Conditions Valid Partitions Invalid Partitions Valid Boundaries Invalid Boundaries Customer name 2 to 64 chars valid chars 64 chars invalid chars 2 chars 64 chars 1 chars 65 chars 0 chars Account number 5 6 7 invalid valid invalid number of digits: first character: invalid: zero valid: non-zero Conditions Valid Partitions Invalid Partitions Valid Boundaries Invalid Boundaries Account number 6 digits 1 st non-zero 6 digits 1 st digit = 0 non-digit 100000 999999 5 digits 7 digits 0 digits Loan amount 500 9000 9001 invalid valid invalid 499 Conditions Valid Partitions Invalid Partitions Valid Boundaries Invalid Boundaries Loan amount 500 - 9000 9000 0 non-numeric null 500 9000 499 9001 Condition template Conditions Valid Partitions Tag Invalid Partitions Tag Valid Boundaries Tag Invalid Boundaries Tag Customer name 2 - 64 chars valid chars V1 V2 64 chars invalid char X1 X2 X3 2 chars 64 chars B1 B2 1 char 65 chars 0 chars D1 D2 D3 Account number 6 digits 1 st non-zero V3 V4 6 digits 1 st digit = 0 non-digit X4 X5 X6 X7 100000 999999 B3 B4 5 digits 7 digits 0 digits D4 D5 D6 Loan amount 500 - 9000 V5 9000 0 non-integer null X8 X9 X10 X11 X12 500 9000 B5 B6 499 9001 D7 D8 Design test cases Test Case Description Expected Outcome New Tags Covered 1 2 Name:	John Smith Acc no:	123456 Loan:	2500 Term:	3 years Name:	AB Acc no:	100000 Loan:	500 Term:	1 year Term:	3 years Repayment:	79.86 Interest rate:	10% Total paid:	2874.96 Term:	1 year Repayment:	44.80 Interest rate:	7.5% Total paid:	537.60 V1, V2, V3, V4,V5 ..... B1, B3, B5, ..... Tester Vai trò Kiểm lỗi phần mềm Kiểm lỗi bản đóng gói Kiểm lỗi tài liệu User guide Installation Guide Release Notes Troubleshooting Tester Công việc Chuẩn bị môi trường test Windows XP, 2000, 2003 Linux IE, FireFox, Netscape, Mozilla Test Database, Test data Viết test case Thực hiện test các test case trong từng môi trường khác nhau Mô tả Bug và chi tiết các bước để tạo ra bug Theo dõi quá trình Fix Bug Báo cáo kết quả test Tester Phần mềm sử dụng Web testing Test Manager Role Tester Role Manual Test (Rational Manual Test, Test Complete…) Automation Test (Rational Functional Test, Test Complete,…) Load testing Code Analysis Project Management Tool Tester Role Workflow Tester Role CÁC HOẠT ĐỘNG KIỂM THỬ Cài đặt và chuẩn bị Test Bắt đầu Lập kế hoạch Test Thiết kế Test Test tích hợp Kết thúc Test hệ thống Tổng hợp, báo cáo Xem xét và Đánh giá kết quả test Chuẩn bị Test Phân tích kết quả Lập kế hoạch Cài đặt và chuẩn bị Test Bắt đầu Lập kế hoạch Test Thiết kế Test Test tích hợp Kết thúc Test hệ thống Tổng hợp, báo cáo Xem xét và Đánh giá kết quả test Kế hoạch test Test case Test procedure Test scrip Test data Môi trường Lỗi Biên bản test Bcáo KQ test Đề xuất Bcáo tổng hợp test Hồ sơ         CÁC HOẠT ĐỘNG KIỂM THỬ Construction	 Thử nghiệm Construction Lập trình Solution Thiết kế kiến trúc Definition	 Xác định yêu cầu Cài đặt và chuẩn bị Test Bắt đầu Lập kế hoạch Test Thiết kế Test Test tích hợp Kết thúc Test hệ thống Tổng hợp, báo cáo Xem xét và Đánh giá kết quả test Termination (Kết thúc) Transition (Triển khai) Definition (Xác định yêu cầu) Solution (Thiết kế kiến trúc) Construction (Xây dựng) Coding (lập trình) Testing (thử nghiệm) Initiation (khởi động) CÁC HOẠT ĐỘNG KIỂM THỬ CÁC HOẠT ĐỘNG - Lập kế hoạch test 1. Xác định yêu cầu cho test Các yêu cầu test TN Test, CBT 2. Đánh giá rủi ro và lập mức ưu tiên cho các yêu cầu Các rủi ro liên quan đến test Các yêu cầu test được xác định mức độ ưu tiên TN Test 3. Xác lập chiến lược test Phương thức thực hiện Tiêu chuẩn đánh giá Các yếu tố cần chú ý TN Test 4. Xác định nguồn lực và môi trường Các nguồn lực TN Test 5. Lập lịch trình test Lịch trình test TN Test 6. Tổng hợp thông tin, lập KH test Kế hoạch test TN Test 7. Xem xét và thông qua KH test Kế hoạch test được phê duyệt QTDA Dựa trên các sản phẩm phân tích Xác định: test cái gì? Xác định: giới hạn công việc, thời gian, nguồn lực Phương thức thực hiện Tiêu chuẩn hoàn thành việc test, đánh giá chất lượng sản phẩm Các yếu tố cần chú ý Số người, kỹ năng Môi trường test: phần mềm, cứng… Công cụ test Dữ liệu test Xác định nguồn lực Lịch trình test Các mốc chính CÁC HOẠT ĐỘNG - thiết kế test 1. Lập danh sách các loại test, đảm bảo cho việc xác lập tính đúng đắn & thỏa mãn yêu cầu của sản phẩm Danh sách loại test TN Test, CBT 2. Xây dựng tình huống test (test case) Thiết kế test, các mẫu mã sử dụng, yêu cầu về dữ liệu test TN Test, CBT 3. Xây dựng và tổ chức thủ tục test (test procedure) Các thủ tục test TN Test, CBT 4. Xem xét tình huống test và thủ tục test, đánh giá tỷ lệ yêu cầu của khách hàng (hoặc tình huống sử dụng) sẽ được test dựa trên thiết kế test đã lập Biên bản xem xét QTDA, Cán bộ lập trình 5. Thông qua thiết kế Test Thiết kế test được thông qua QTDA Dựa vào: các test case Xác định các test procedure Xác lập mối quan hệ và thứ tự giữa Các test procedure với nhau Các test procedure - Test cases Dựa trên các sản phẩm của: Phân tích bước lập KH test Xác định các test case Mô tả test case: vào, ra, điều kiện CÁC HOẠT ĐỘNG - Cài đặt và chuẩn bị test 1.Lập các test script để thực hiện các tình huống test/thủ tục test (nếu cần) Test scipts TN Test/ CBT 2. Chuẩn bị dữ liệu test Dữ liệu test CBT 3. Chuẩn bị môi trường Môi trường sẵn sàng cho việc thực hiện test CBT 4. Kiểm tra các công cụ test Biên bản kiểm tra công cụ test CBT 5. Xem xét môi trường, điều kiện và dữ liệu test Môi trường và dữ liệu test được kiểm tra TN Test/ CBT Lập trình hoặc sinh tự động: = tool Kiểm tra thử nghiệm Tạo mới dữ liệu Tái sử dụng các dữ liệu cũ Phần mềm, phần cứng Các điều kiện khác Test script Các lệnh dùng để tự động hoá các thủ tục test Lập trình, sử dụng công cụ test tự động CÁC HOẠT ĐỘNG - test tích hợp 1. Nhận bàn giao với đội lập trình Các sản phẩm cần test được tiếp nhận CBT 2. Cài đặt Hệ thống để test sẵn sàng CBT 3. Thực hiện test và ghi nhận lỗi Biên bản test CBT 4. Xử lý lỗi Danh sách lỗi phát hiện TN Test, CBT 5. Xem xét các kết quả test và việc thực hiện khắc phục lỗi Biên bản test TN Test, QTDA, CBT, CBCL (nếu cần) Tài liệu Gói phần mềm … Dựa trên thiết kế test Ghi nhận lỗi vào DMS Phối hợp với đội lập trình Test lại -> Ghi nhận lỗi mới CÁC HOẠT ĐỘNG - test hệ thống 1. Nhận bàn giao với đội lập trình Các sản phẩm cần test được tiếp nhận CBT 2. Chỉnh sửa thiết kế test Thiết kế test, test script, dữ liệu test được cập nhật TN Test 3. Cài đặt Chương trình được cài đặt CBT 4. Thực hiện test và ghi nhận lỗi Biên bản test Danh sách lỗi phát hiện CBT 5. Xử lý lỗi Biên bản test Danh sách lỗi phát hiện TN Test, CBT 6. Xem xét các kết quả test và việc thực hiện khắc phục lỗi Kết quả test được xem xét TN Test,QTDA, CBT, CBCL (nếu cần) 7. Kết quả test được xem xét Xác nhân sản phẩm đủ tiêu chuẩn phát hành QTDA, CBCL, TN Test Kiểm tra và cập nhật: Test case Test procedure Test script Test data Khi hệ thống thoả mãn các tiêu chuẩn đặt ra CÁC HOẠT ĐỘNG - xem xét và đánh giá kết quả test 1. Phân tích lỗi và đưa ra đề xuất Báo cáo kết quả test Đề xuất TN Test 2. Đánh giá tỷ lệ test, đánh giá mức độ đạt được các tiêu chí để hoàn thành test Báo cáo kết quả test TN Test 3. Xem xét báo cáo kết quả test Báo cáo kết quả test được xem xét QTDA, CBCL Phân tích lỗi dựa: mức độ lặp lại độ nghiêm trọng Thời gian sửa lỗi… Dựa trên tỷ lệ YC được test/tổng số YC cần test CÁC HOẠT ĐỘNG - tổng hợp, báo cáo 1. Tập hợp các dữ liệu, kết quả test Dữ liệu, kết quả test CBT 2. Lập báo cáo tổng hợp test Báo cáo tổng hợp test TN Test 3. Tổ chức lưu trữ tài liệu, hồ sơ Hồ sơ, files CBT VD kiểm tra 3 cạnh tam giác Ví dụ bên có 5 nhánh a,b,c,d,e. Có 4 đường đi ace, abd, abe, acd. Có 6 điều kiện: side1<=0, side2<=0, side3<=0, side1=side2, side2=side3, 	side1=side3. Số testcase ít nhất để thỏa: Phủ nhánh: 	1. {1, 1, 2} (abe) 	2. {-1, -2, -3} (acd) Phủ đường đi: 	1. {1, 1, 1} (abe) 	2. {-1, -2, -3} (acd) 	3. {-1, -1, -1} (ace) 	4. {1, 2, 3} (abd) Phủ điều kiện: 	1. {1, 1, 2} (abe) 	2. {-1, -2, -1} (ace) 	3. {-1, -2, -2} (ace) Phủ điều kiện/ nhánh: 	1. {1, 1, 1} (abe) 	2. {-1, -2, -3} (acd) Phủ kết hợp nhiều điều kiện: 	số testcase ít nhất là 2^6=64	 Tài liệu tham khảo Slide + Ebook Giáo trình của thầy Nguyễn Văn Vỵ, ĐH Công nghệ, ĐH QG Hà Nội URL - News  Tài liệu tham khảo Testing Tools    Testing Course     Câu hỏi và thảo luận ? Thank you!!! 

File đính kèm:

  • pptxBài giảng Nhập môn công nghệ phần mềm - Lương Trần Hy Hiến - Chủ đề 6 Kiểm thử phần mềm.pptx