Bài giảng kiểm thử phần mềm ĐHSP HCM

92 413 4
Bài giảng kiểm thử phần mềm ĐHSP HCM

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Nhập môn Công nghệ Phần mềm Chủ đề 6: KIỂM THỬ PHẦN MỀM Lương Trần Hy Hiến, Khoa CNTT, ĐHSP TpHCM Tài liệu – Textbook • Pressman, Kỹ nghệ phần mềm, chương 18~19 • Sommerville: Software Engineering, chương 22~23 References Bài giảng tham khảo từ nguồn sau: • Slide giảng CNPM, Trần Ngọc Bảo, ĐH Sư phạm TpHCM • Slide giảng CNPM, Trần Anh Dũng, ĐH CNTT, ĐHQG TpHCM Giai đoạn kiểm tra Khảo sát • Kiểm lỗi • Kiểm lỗi phân hệ Phân tích • Kiểm lỗi hệ thống Thiết kế Nội dung: Cài đặt • Roadmap • Test plan • Test case Kết quả: Kiểm tra Triển khai • Bug • Test report Bảo trì Mục tiêu • Biết quy trình kiểm thử phần mềm • Biết khái niệm liên quan đến kiểm thử (testing) • Biết bước kiểm thử • Biết sử dụng số công cụ hỗ trợ testing • Biết viết sưu liệu kiểm thử Nội dung • • • • • Khái niệm kiểm thử phần mềm Một số đặc điểm kiểm thử phần mềm Tại kiểm thử lại cần thiết? Qui trình kiểm thử Tổ chức vai trò thành viên nhóm test • Công cụ hỗ trợ test: • Công cụ theo dõi 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,… Khái niệm kiểm thử phần mềm • Kiểm thử gì? A person makes an error … that creates a fault (bug, defect) in the software … that can cause a failure in operation Khái niệm kiểm thử phần mềm • Kiểm thử phần mềm trình thực thi phần mềm với mục tiêu tìm lỗi Glen Myers, 1979  Khẳng định chất lượng phần mềm xây dựng Hetzel, 1988 Một số đặc điểm kiểm thử PM • Kiểm thử phần mềm giúp tìm diện lỗi vắng mặt lỗi Dijkstra • Mọi phương pháp dùng để ngăn ngừa tìm lỗi sót lại lỗi khó phát Beizer • Điều xảy việc kiểm thử không tìm lỗi phần mềm phát lỗi – Phần mềm có chất lượng tốt – Quy trình/Đội ngũ kiểm thử hoạt động không hiệu Tại kiểm thử lại cần thiết? • Thông thường phần mềm không hoạt động mong muốn  lãng phí tiền bạc, thời gian, uy tín doanh nghiệp, chí gây nên thương tích hay chết • Ví dụ: – Website công ty có nhiều lỗi tả câu chữ Khách hàng lãng tránh công ty với lý công ty trông không chuyên nghiệp – Một phần mềm tính toán lượng thuốc trừ sâu dùng cho trồng, lý tính sai số lượng lên gấp 10 lần Nông dân phải bỏ nhiều tiền mua, trồng hư hại, môi trường sống, nguồn nước bị ảnh hưởng,… CÁC HOẠT ĐỘNG KIỂM THỬ Bắt đầu  Test case Test procedure Lập kế hoạch Test  Kế hoạch test Thiết kế Test Cài đặt chuẩn bị Test Lỗi Biên test   Test tích hợp Xem xét Đánh giá kết test Test scrip Test data Môi trường  Bcáo KQ test Đề xuất Test hệ thống Tổng hợp, báo cáo  Bcáo tổng hợp test Hồ sơ Kết thúc CÁC HOẠT ĐỘNG KIỂM THỬ Initiation (khởi động) Bắt đầu Definition Lập kế hoạch Test Solution Definition (Xác định yêu cầu) Xác định yêu cầu Thiết kế kiến trúc Solution (Thiết kế kiến trúc) Thiết kế Test Construction Cài đặt chuẩn bị Test Construction Lập trình Thử nghiệm Construction (Xây dựng) Coding (lập trình) Test tích hợp Test hệ thống Xem xét Đánh giá kết test Testing (thử nghiệm) Tổng hợp, báo cáo Kết thúc Transition (Triển khai) Termination (Kết thúc) CÁC HOẠT ĐỘNG - Lập kế hoạch test Xác định yêu cầu cho test Đánh giá rủi ro lập mức ưu tiên cho yêu cầu • • Xác lập chiến lược test • Xác định nguồn lực môi trường Lập lịch trình test • Dựa sản phẩm phân tích Các yêu cầu • testXác định: test gì? TN Test, • Xác định: giới hạn côngCBT việc, thời nguồn Các rủi ro liên gian, quan đến test lực TN Test Phương thức thực Các yêu cầu test xác định Tiêu hoàn thành việc test, mức chuẩn độ ưu tiên đánh giá chất lượng sản phẩm Phương thức thực TN Test Các yếu tố cần ý Tiêu chuẩn đánh giá • yếuSố Các tốngười, cần chúkỹ ý • Môi trường test: phần mềm, cứng… Các lựccụ test TN Test • nguồn Công • Dữ liệu test Lịch trình test TN Test Tổng hợp thông tin, lập KH test Kế• hoạch Xáctest định nguồn lực Xem xét thông qua KH test Lịchtest trình testphê duyệt Kế• hoạch • Các mốc TN Test QTDA CÁC HOẠT ĐỘNG - thiết kế test • Dựa sản phẩm của: • Phân tích • bước lập KH test Lập danh sách loại test, đảm Danh• sách loạiđịnh test test case TN Test, Xác bảo cho việc xác lập tính đắn & CBT • Mô tả test case: vào, ra, điều kiện thỏa mãn yêu cầu sản phẩm Xây dựng tình test (test case) Thiết kế test, mẫu mã sử dụng, yêu cầu liệu test TN Test, CBT Xây dựng tổ chức thủ tục test (test procedure) Các thủ tục test TN Test, CBT Xem xét tình test thủ tục test, đánh giá tỷ lệ yêu cầu khách hàng (hoặc tình sử dụng) test dựa thiết kế test lập Biên• bảnDựa xem vào: xét test case QTDA, Cán • Xác định test procedure lập trình • Xác lập mối quan hệ thứ tự • Các test procedure với • Các test procedure - Test cases Thiết kế test thông qua QTDA Thông qua thiết kế Test CÁC HOẠT ĐỘNG - Cài đặt chuẩn bị test Test script • Các lệnh dùng để tự động hoá thủ tục test • Lập trình, sử dụng công cụ test tự động 1.Lập test script để thực tình test/thủ tục test (nếu cần) Test scipts TN Test/ CBT Chuẩn bị liệu test Dữ liệu test CBT Chuẩn bị môi trường Môi trường sẵn sàng cho việc thực test CBT Kiểm tra công cụ test Biên kiểm tra công cụ test CBT Xem xét môi trường, điều kiện Môi trường liệu test kiểm tra liệu test TN Test/ CBT CÁC HOẠT ĐỘNG - test tích hợp • • • Nhận bàn giao với đội lập trình Tài liệu Gói phần mềm … Các sản phẩm cần test tiếp CBT • Dựa thiết kế test nhận • Ghi nhận lỗi vào DMS Cài đặt Hệ thống để test sẵn sàng CBT Thực test ghi nhận lỗi Biên test CBT Xử lý lỗi Danh sách lỗi phát Xem xét kết test việc Biên test thực khắc phục lỗi • Phối hợp với đội lập trình • Test lại -> Ghi nhận lỗi TN Test, CBT TN Test, QTDA, CBT, CBCL (nếu cần) CÁC HOẠT ĐỘNG - test hệ thống Nhận bàn giao với đội lập trình • Các sản phẩm cần test tiếp nhận tra cập nhật: Kiểm CBT Chỉnh sửa thiết kế test case Thiết• kếTest test, test script, liệu test được•cậpTest nhật procedure Cài đặt Chương trình cài đặt • Test script CBT Thực test ghi nhận lỗi Biên•bảnTest test CBT data TN Test Danh sách lỗi phát Biên test Xử lý lỗi Danh sách lỗi phát Khi hệ thống thoả mãn test Xem xét kết test việc tiêu Kết chuẩn đặtđược xem xét TN Test, CBT • thực khắc phục lỗi Kết test xem xét Xác nhân sản phẩm đủ tiêu chuẩn phát hành TN Test,QTDA, CBT, CBCL (nếu cần) QTDA, CBCL, TN Test CÁC HOẠT ĐỘNG - xem xét đánh giá kết test Phân tích lỗi đưa đề xuất Báo cáo kết test TN Test Đề xuất Đánh giá tỷ lệ test, đánh giá mức Báo cáo kết test độ đạt tiêu chí để hoàn thành test Xem xét báo cáo kết test Báo cáo kết test xem xét • • Dựa tỷ lệ YC test/tổng số YC cần test TN Test 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… CÁC HOẠT ĐỘNG - tổng hợp, báo cáo Dữ liệu, kết test Tập hợp liệu, kết test Lập báo cáo tổng hợp test Báo cáo tổng hợp test Tổ chức lưu trữ tài liệu, hồ Hồ sơ, files sơ CBT TN Test CBT VD kiểm tra cạnh tam giác • Ví dụ bên có nhánh a,b,c,d,e • Có đường ace, abd, abe, acd • Có điều kiện: side1[...]... chấp nhận Kiểm thử hệ thống Kiểm thử tích hợp Kiểm hồi quy Kiểm thử đơn vị Mã hoá môđun CT 16 Qui trình kiểm thử • Kiểm thử thành phần – Kiểm thử của các từng thành phần chương trình; – Thường là trách nhiệm của lập trình viên tạo ra thành phần đó; – Các test được tạo ra từ kinh nghiệm của lập trình viên • Kiểm thử hệ thống – Kiểm thử một nhóm các thành phần được kết hợp lại để tại ra hệ thống hay hệ... sao kiểm thử lại cần thiết? • Kiểm thử phần mềm  chất lượng phần mềm được nâng cao • Chúng ta có thể đánh giá chất lượng phần mềm dựa vào số lượng lỗi tìm thấy và các đặc tính như: tính đúng đắn, tính dễ sử dụng, tính dễ bảo trì,… • Kiểm thử có thể đem lại sự tin tưởng đối với chất lượng phần mềm nếu có ít lỗi hoặc không có lỗi nào được tìm thấy Nếu lỗi tìm thấy và được sửa thì chất lượng phần mềm. .. kiểm thử  Tính lặp lại - kiểm thử phải lặp lại được (kiểm tra xem lỗi đã được sửa hay chưa) - dữ liệu/trạng thái phải mô tả được  Tính hệ thống - đảm bảo kiểm tra hết các trường hợp  Được lập tài liệu - kiểm soát tiến trình/kết quả Vòng đời dự án và Kiểm thử Đối tượng và phạm vi Đặc tả chức năng/ Thiết kế lô gíc Thiết kế Vật lý Cấu trúc CT và đặc tả môđun Kiểm thử chấp nhận Kiểm thử hệ thống Kiểm thử. .. Ngày thực hiện Môi trường test Bảng mô tả module/chức năng/test case và kết quả tương ứng – Kết luận, đề xuất (nếu có) – … Chiến lược kiểm thử Kiểm thử đơn vị Developer thực hiện Kiểm thử phân hệ Kiểm thử tích hợp Tester thực hiện Kiểm thử hệ thống Phân loại kiểm thử (Testing type) • White-box testing (Strategy) – Component or Unit Testing – Object class testing • Black-box testing (Strategy) – –... trì phần mềm Lỗi tăng lên khi nào? Lỗi tăng lên khi nào? • Chi phí cho việc tìm thấy và sửa lỗi tăng dần trong suốt chu kỳ sống của phần mềm Lỗi tìm thấy càng sớm thì chi phí để sửa càng thấp và ngược lại Thời điểm tiến hành kiểm thử Tiến hành ở mọi công đoạn phát triển phần mềm  phân tích - xét duyệt đặc tả yêu cầu  thiết kế - xét duyệt đặc tả thiết kế  mã hóa - kiểm thử chương trình Yêu cầu về kiểm. .. White-Box testing • Phần mềm là một hệ thống gồm 3 thành phần cơ bản: thành phần lưu trữ, thành phần giao tiếp, thành phần xử lý cần phải thực hiện theo yêu cầu của người dùng • Thành phần giao tiếp: giao diện chương trình • Thành phần lưu trữ: cho phép lưu trữ và truy xuất dữ liệu • Thành phần xử lý: thực hiện các xử lý theo qui trình nghiệp vụ của người dùng Tester White-box testing • Kiểm tra tính logic... nhiệm của một đội test độc lập; – Các test được tạo ra dựa trên bản đặc tả hệ thống Qui trình kiểm thử phần mềm Lập kế hoạch test Thiết kế test Chuẩn bị dữ liệu test Chạy ứng dụng với bộ dữ liệu test Test Data Test plan Test Case Test Results Test Report So sánh kết quả test với test case Nguyên tắc kiểm thử – Chọn các input làm cho hệ thống tạo ra tất cả các thông báo lỗi; – Thiết kế input làm tràn... toán phải hoặc là quá lớn hoặc là quá nhỏ Chính sách kiểm thử (Testing Policy) • Kiểm tra tất cả các chức năng trong hệ thống menu • Kiểm tra tất cả các mục khác có cùng chức năng trong hệ thống menu (Toolbar, Listbar, Dialog bar, Context Menu,…) • Kiểm tra cùng một chức năng với nhiều vai trò khác nhau (đối với hệ thống có nhiều người dùng) • Kiểm tra tất cả các dữ liệu bắt buộc nhập trong các màn... Project lập kế hoạch) … Giai đoạn kiểm thử • • • • • Roadmap Test plan Test case Bug Test Report Test case • Cấu trúc chung của một test case: – – – – – – – – – – Tên project, module Màn hình, chức năng Mã số Tài liệu tham khảo (SRS) Mục đích Dữ liệu test Mô tả các bước (Test step) Trạng thái Ngày tạo … Test case • Ví dụ: kiểm tra màn hình đăng nhập Test case • Ví dụ: kiểm tra màn hình đăng nhập – –... trang chính của user “admin” Actual results Giai đoạn kiểm thử • • • • • Roadmap Test plan Test case Bug Test Report Bug • Cấu trúc chung của Bug: – – – – – – – – – Tên bug Mã số, mức độ Test case tương ứng (nếu có) Màn hình, chức năng Dữ liệu Mô tả các bước thực hiện Hình chụp màn hình/quay phim các thao tác Trạng thái Ngày tạo –… Giai đoạn kiểm thử • • • • • Roadmap Test plan Test case Bug Test Report ... kiểm thử phần mềm • Kiểm thử phần mềm trình thực thi phần mềm với mục tiêu tìm lỗi Glen Myers, 1979  Khẳng định chất lượng phần mềm xây dựng Hetzel, 1988 Một số đặc điểm kiểm thử PM • Kiểm thử. .. thử tích hợp Kiểm hồi quy Kiểm thử đơn vị Mã hoá môđun CT 16 Qui trình kiểm thử • Kiểm thử thành phần – Kiểm thử thành phần chương trình; – Thường trách nhiệm lập trình viên tạo thành phần đó; –... luận, đề xuất (nếu có) – … Chiến lược kiểm thử Kiểm thử đơn vị Developer thực Kiểm thử phân hệ Kiểm thử tích hợp Tester thực Kiểm thử hệ thống Phân loại kiểm thử (Testing type) • White-box testing

Ngày đăng: 06/12/2015, 17:14

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan