intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Bài 2: Kiểm thử phần mềm – ThS. Trần Mạnh Thắng

Chia sẻ: Tình Thiên | Ngày: | Loại File: PDF | Số trang:67

32
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

"Bài giảng Bài 2: Kiểm thử phần mềm – ThS. Trần Mạnh Thắng" trình bày khái niệm kiểm thử phần mềm; các phương pháp kiểm thử phần mềm; kỹ thuật thiết kế kiểm thử phần mềm; các chiến lược kiểm thử phần mềm; cấp độ kiểm thử phần mềm; xây dựng một ứng dụng có sử dụng một trong các phương pháp, kỹ thuật, chiến lược kiểm thử.

Chủ đề:
Lưu

Nội dung Text: Bài giảng Bài 2: Kiểm thử phần mềm – ThS. Trần Mạnh Thắng

  1. BÀI 2 KIỂM THỬ PHẦN MỀM Giảng viên: ThS. Trần Mạnh Thắng 1 v1.1013109225
  2. TÌNH HUỐNG DẪN NHẬP • Như trong bài một thì chúng ta đã có những khái niệm về công nghệ phần mềm, các pha trong tiến trình xây dựng cũng như các mô hình sản xuất các phần mềm… để công ty STT có thể sử dụng trong quá trình sản xuất các sản phẩm phần mềm tuỳ theo quy mô và đặc điểm của từng sản phẩm; • Tuy nhiên, phần mềm do công ty STT sản xuất ra liệu có đạt yêu cầu về chất lượng và có đáp ứng được đúng theo yêu cầu của khách hàng cũng như việc phát sinh ra lỗi khi khách hàng đưa vào sử dụng các sản phẩm do công ty này sản xuất. Chính vì lý do này mà phải tiến hành kiểm thử phần mềm. Kiểm thử phần mềm là gì? và có những phương pháp, chiến lược, kỹ thuật  và cấp độ kiểm thử nào? Nó được áp dụng như thế nào trong quá trình sản xuất phần mềm của công ty STT? 2 v1.1013109225
  3. MỤC TIÊU Trình bày được khái niệm kiểm thử phần mềm; Trình bày các phương pháp kiểm thử phần mềm; Mô tả các kỹ thuật thiết kế kiểm thử phần mềm; Trình bày các chiến lược kiểm thử phần mềm; Trình bày được các cấp độ kiểm thử phần mềm; Xây dựng một ứng dụng có sử dụng một trong các phương pháp, kỹ thuật, chiến lược kiểm thử. 3 v1.1013109225
  4. NỘI DUNG 1 Khái niệm kiểm thử phần mềm 2 Các phương pháp kiểm thử 3 Các kỹ thuật thiết kế kiểm thử 4 Các chiến lược kiểm thử 5 Các cấp độ của việc kiểm thử phần mềm 4 v1.1013109225
  5. 1. KHÁI NIỆM KIỂM THỬ PHẦN MỀM 1.1. Khái niệm 1.2. Vòng đời kiểm thử phần mềm 1.3. Phân loại kiểm thử 5 v1.1013109225
  6. 1.1. CÁC ĐỊNH NGHĨA • Kiểm thử (testing) là quá trình thực thi một chương trình với mục đích là tìm ra lỗi (Glen Myers); • Việc kiểm thử là nói đến các lỗi, sai sót, hỏng hóc hoặc các hậu quả. Một phép kiểm thử là cách chạy phần mềm theo các trường hợp kiểm thử với mục tiêu tìm ra sai sót và giải thích sự hoạt động chính xác (Paul Jorgensen); • Kiểm thử thành công là phát hiện ra lỗi; kiểm thử không phát hiện ra lỗi là kiểm thử dở (Sue A.Conger- The New SE); • Kiểm thử phần mềm là quá trình khảo sát một hệ thống hay thành phần dưới những điều kiện xác định, quan sát và ghi lại các kết quả, và đánh giá một khía cạnh nào đó của hệ thống hay thành phần đó. (Theo Bảng chú giải thuật ngữ chuẩn IEEE của Thuật ngữ kỹ nghệ phần mềm- IEEE Standard Glossary of Software Engineering Terminology); • Có thể định nghĩa một cách dễ hiểu như sau: Kiểm thử phần mềm là một tiến trình hay một tập hợp các tiến trình được thiết kế để đảm bảo mã hóa máy tính thực hiện theo cái mà chúng đã được thiết kế để làm, và không thực hiện bất cứ thứ gì không mong muốn. Đây là một pha quan trọng trong quá trình phát triển hệ thống, giúp cho người xây dựng hệ thống và khách hàng thấy được hệ thống mới đã đáp ứng yêu cầu đặt ra hay chưa? 6 v1.1013109225
  7. 1.1. CÁC ĐỊNH NGHĨA (tiếp theo) Lưu ý khi tiến hành kiểm thử: • Chất lượng phần mềm do khâu thiết kế quyết định là chủ yếu, chứ không phải khâu kiểm thử; • Tính dễ kiểm thử phụ thuộc vào cấu trúc chương trình; • Người kiểm thử và người phát triển nên khác nhau; • Dữ liệu thử cho kết quả bình thường thì không có ý nghĩa nhiều, cần có những dữ liệu kiểm thử mà phát hiện ra lỗi; • Khi thiết kế trường hợp thử, không chỉ dữ liệu kiểm thử nhập vào, mà phải thiết kế trước cả dữ liệu kết quả sẽ có; • Khi phát sinh thêm trường hợp thử thì nên thử lại những trường hợp thử trước đó để tránh ảnh hưởng lan truyền sóng. 7 v1.1013109225
  8. 1.2. VÒNG ĐỜI CỦA KIỂM THỬ - TESTING LIFE CYCLE Đối tượng và phạm vi Kiểm thử chấp nhận Đặc tả chức năng/ Thiết kế lô gíc Kiểm thử hệ thống Thiết kế Vật lý Kiểm Kiểm tích hợp hồi quy Cấu trúc chương trình Kiểm đơn vị và đặc tả môđun Mã hoá môđun chương trình Tương ứng giữa vòng đời dự án và kiểm thử 8 v1.1013109225
  9. 1.2. VÒNG ĐỜI CỦA KIỂM THỬ - TESTING LIFE CYCLE (tiếp theo) Lỗi Sửa lỗi Mô tả yêu cầu Giải pháp sửa lỗi Lỗi Sai sót Thiết kế Cô lập lỗi Sai sót Lỗi Lập trình Phân loại lỗi Sai sót Hậu quả Kiểm nghiệm 9 v1.1013109225
  10. 1.3. PHÂN LOẠI KIỂM THỬ • Theo mức độ chi tiết của các bộ phận hợp thành phần mềm:  Kiểm thử đơn vị (Unit);  Kiểm thử hệ thống (System);  Kiểm thử tích hợp (Integration). • Theo phương pháp kiểm thử:  Kiểm thử hộp đen: Kiểm thử chức năng;  Kiểm thử hộp trắng: Kiểm thử cấu trúc. 10 v1.1013109225
  11. 1.3.1. MÔ HÌNH CHỮ V Phân tích Test yêu cầu chấp nhận Đặc tả Test phần mềm hệ thống Thiết kế Test kiến trúc tích hợp Thiết kế Test đơn vị chi tiết Lập trình Rà soát mã Các mức kiểm thử 11 v1.1013109225
  12. 1.3.1. MÔ HÌNH CHỮ V • Mô hình chữ V biểu diễn sự tương quan giữa các công đoạn xây dựng phần mềm và loại kiểm thử phần mềm. Bên trái chữ V là quá trình phát triển phần mềm và bên phải là kiểm thử. Tại mỗi một mức trong tiến trình phát triển thì có một pha kiểm thử tương ứng; • Các mức kiểm thử có thể được lập kế hoạch và thiết kế song song. Sau đó chúng ta thực hiện kiểm thử từ đáy tháp chữ V nên tương ứng với từng mức phát triển. Kế hoạch kiểm thử hệ thống cần phải sớm hơn khi trước khi pha kiểm thử bắt đầu:  Kế hoạch kiểm thử hệ thống là phải khớp với các yêu cầu phần mềm;  Các trường hợp kiểm thử cần phải hoàn thành khi các thiết kế chi tiết đã xong;  Kiểm thử hệ thống bắt đầu từ ngay trước khi lập trình. 12 v1.1013109225
  13. 1.3.2. TIẾN TRÌNH KIỂM THỬ Kiểm thử Kiểm thử Kiểm thử Kiểm thử đơn vị tích hợp hệ thống chấp nhận Phần cứng, Yêu cầu Mỗi module Nhiều module, phần mềm, người dùng, hệ con yêu cầu hệ thống hệ thống 13 v1.1013109225
  14. 2. CÁC PHƯƠNG PHÁP KIỂM THỬ 2.1. Kiểm thử tĩnh (Static testing) 2.2. Kiểm thử động (Dynamic testing) 14 v1.1013109225
  15. 2.1. KIỂM THỬ TĨNH – KIỂM THỬ TRÊN BÀN • Khái niệm: Là phương pháp kiểm thử phần mềm đòi hỏi xem xét lại thông qua việc sử dụng giấy, bút để kiểm tra lần từng chi tiết mà không cần chạy chương trình. • Các phương pháp kiểm thử tĩnh:  Thanh tra (Inspection);  Đi xuyên suốt (Walkthrough) hay duyệt. 15 v1.1013109225
  16. 2.1.1. KIỂM THỬ TĨNH BẰNG PHƯƠNG PHÁP THANH TRA • Khái niệm: Là phương pháp kiểm tra ngang hàng sản phẩm phần mềm thực hiện bởi những người nghiên cứu riêng lẻ để tìm ra những lỗi có thể bằng một tiến trình chuẩn cho trước. • Một cuộc thanh tra bao gồm:  Đặc tả phần mềm;  Kế hoạch thanh tra;  Sản phẩm phần mềm;  Điều phối viên;  Thanh tra viên;  Tác giả phần mềm. • Tiến trình thanh tra  Lên kế hoạch;  Gặp gỡ trước;  Chuẩn bị;  Gặp gỡ thanh tra;  Gia công lại;  Bám sát. 16 v1.1013109225
  17. 2.1.2. KIỂM THỬ TĨNH BẰNG PHƯƠNG PHÁP DUYỆT • Khái niệm: Là một phương pháp kiểm tra ngang hàng với một người thiết kế hướng nhóm phát triển đến các hoạt động chú ý của quá trình sản xuất phần mềm, tham gia đặt câu hỏi và chú thích cho các lỗi có thể có. • Khác biệt với thanh tra:  Cấu trúc mở;  Khả năng gợi ý định hướng thay đổi phần mềm. • Tiến trình duyệt:  Đánh giá đầu vào;  Chuẩn bị quản lí;  Lập kế hoạch;  Gặp gỡ trước;  Chuẩn bị riêng;  Duyệt;  Gia công/ bám sát;  Kết thúc, đánh giá. 17 v1.1013109225
  18. 2.2. KIỂM THỬ ĐỘNG – KIỂM THỬ TRÊN MÁY • Khái niệm: Phương pháp kiểm thử phần mềm thông qua việc dùng máy chạy chương trình để điều tra trạng thái tác động của chương trình. • Các phương pháp kiểm thử động:  Kiểm thử khuyết tật;  Kiểm thử thống kê. • Đặc điểm của kiểm thử động:  Các ca kiểm thử xác định bằng sự thực thi của đối tượng kiểm thử hay chạy các chương trình;  Kiểm tra cách thức hoạt động động của mã lệnh, tức là kiểm tra sự phản ứng vật lý từ hệ thống tới các biến luôn thay đổi theo thời gian;  Phần mềm phải thực sự được biên dịch và chạy;  Làm việc với phần mềm, nhập các giá trị đầu vào và kiểm tra xem liệu đầu ra có như mong muốn hay không. 18 v1.1013109225
  19. 2.2. KIỂM THỬ ĐỘNG – KIỂM THỬ TRÊN MÁY (tiếp theo) Tiến trình kiểm thử động: 1. Thiết kế trường hợp thử theo thử tĩnh; 2. Trường hợp thử phải có cả kết quả kì vọng sẽ thu được; 3. Dịch chương trình nguồn và tạo modul tải để thử; 4. Xác định miền vào ra của tệp nếu cần thiết; 5. Nhập dữ liệu đã thiết kế cho truờng hợp thử; 6. Điều chỉnh môi trường thực hiện modul tải; 7. Thực hiện modul tải và ghi nhận kết quả; 8. Xác nhận kết quả với kết quả kỳ vọng; 9. Lặp lại thao tác từ 5-8. 19 v1.1013109225
  20. 2.2.1. KIỂM THỬ ĐỘNG BẰNG THỬ NGHIỆM KHUYẾT TẬT • Khái niệm:  Phương pháp thử để tìm ra khuyết tật của phần mềm chủ yếu là lỗi lập trình;  Tiến hành dựa trên phân tích đặc tả chức năng;  Phân tích mã nguồn. • Các loại thử nghiệm khuyết tật:  Thử nghiệm chức năng;  Thử nghiệm cấu trúc. 20 v1.1013109225
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1