BÀI THUYẾT TRÌNH NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Chủ đề Testing Software

26 1.9K 2
BÀI THUYẾT TRÌNH NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Chủ đề Testing Software

Đ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

SINH VIÊN: 1. Thới Ngọc Quốc Duẫn 09520482 2. Sầm Viết Anh Khoa 09520137 3. Lộ Ngọc Thạch 09520657 BÀI THUYẾT TRÌNH NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Chủ đề: Testing Software  1. TEST PHẦN MỀM  1.1 Định nghĩa Test phần mềm là quá trình vận hành thử nghiệm một chương trình, một hệ thống phần mềm với mục đích tìm ra lỗi.  1.2 Vai trò - Testing để tìm ra lỗi, ghi nhận các thông tin về lỗi, nhưng không sửa lỗi. - Testing giúp kiểm định phần mềm, đảm bảo rằng phần mềm “đủ tốt” với độ rủi ro “thấp nhất” có thể.  1.3 Test thế nào cho đủ Test thế nào cho đủ??? 1.3.1 Vấn đề - Càng test càng tìm ra thêm lỗi, nhất là với các hệ thống lớn. - Vấn đề không phải là với việc test như vậy tất cả các lỗi đã được tìm ra chưa, mà ở chỗ phần mềm như vậy có đủ “tốt” để ngừng test không. - Đây là một quyết định mang tính “kinh tế”. - Và là một trong những vấn đề khó nhất của testing. 1.3.2 Tìm câu trả lời - Khả năng tìm được thêm lỗi nếu tiếp tục test? - Chi phí cận biên về thời gian và nhân lực nếu tiếp tục test? - Khả năng NSD gặp phải các lỗi còn lại? - Ảnh hưởng, hậu quả những lỗi đó với NSD? 1.3.3 Kết luận - Không thể có câu trả lời chính xác mang tính công thức cho vấn đề trên. - Vấn đề này có thể thỏa hiệp, dựa vào kinh nghiệm cụ thể trong từng dự án, từng phần mềm vẫn là điều then chốt. - Điều quan trọng là cần biết ưu tiên test, biết dành thời gian và nguồn lực cho  2 .QUI TRÌNH PHÁT TRIỂN PHẦN MỀM VÀ VỊ TRÍ CỦA TESTING - Trong các qui trình phát triển phần mềm truyền thống, testing được thực hiện song song cùng với mỗi giai đoạn phát triển, tạo nên mô hình chữ V. Mô hình này phản ánh sự cần thiết việc lập kế hoạch và chuẩn bị sớm cho test. - Trong mô hình này, mỗi giai đoạn phát triển được liên kết tương ứng với một giai đoạn test. 2.1 Mô hình chữ V đối với qui trình test - Như các giai đoạn phát triển cụ thể, từng giai đoạn test cũng cần phải được lập kế hoạch và chuẩn bị (thiết kế sơ bộ). - Ở một số công ty, Tester không đảm nhận Unit test. - Nhiều dự án không có tài liệu hỗ trợ (Requirements Spec., Project Plan…) Qui trình test phải biến đổi linh hoạt theo. 2.2 Các giai đoạn test (Testing Phases) - Unit là phần nhỏ nhất của mã nguồn (source code) có thể được biên dịch, liên kết và load (compiled, linked, và loaded) - Unit testing được thực hiện bởi Lập trình viên (Developers) - Sử dụng phương pháp test hộp trắng (White box testing) 2.2.1 Unit Testing 2.2.2 Intergration Testing – Test tích hợp - Software Integration là quá trình hợp nhất các unit đơn lẻ vào thành một hệ thống (hoặc một tiểu hệ thống). - Integration testing là test các liên kết giữa các unit thành phần. - Integration testing đòi hỏi các module phải được unit test trước. [...]... lý cùng lúc nhiều file 3.1.10 Stress testing - Stress testing: test hệ thống ở trạng thái vận hành trong điều kiện bất thường - Ví dụ:  Thiếu bộ nhớ  Kết nối mạng bị ngắt khi đang vận hành  Kết nối CSDL bị ngắt khi đang vận hà 3.2 Ưu tiêncác ưu tiên test - “where to 3.2.1 Danh sách test focus testing - Những vùng quan trọng nhất của phần mềm - Những vùng phần mềm hay được dùng nhất - Những vùng...2.2.3 System Testing – Test hệ thống - Thực hiện khi integration đã được hoàn tất - Sử dụng phương pháp test hộp đen (Black box testing) - Test dựa trên yêu cầu hệ thống (Requirements) - System testing được thực hiện bởi Nhóm test 2.2.4 User Acceptance Testing - Nên được gọi là Acceptance Demonstration thay cho Acceptance Test - Để chứng minh phần mềm đã sẵn sàng chuyển giao cho... machine testing – Trạng thái - Áp dụng cho loại hệ thống có đặc trưng chuyển đổi trạng thái, các “menu driven application” – Chương trình điều khiển bằng trình đơn, các hệ thống thiết kế bằng phương pháp hướng đối tượng - Các TEST CASE được phân loại từ việc lập các biểu đồ chuyển đổi trạng thái của hệ thống, theo loại chuyển đổi trạng thái hợp lệ và không hợp lệ 3.1.9 Load and stress testing - Load testing: ... thống có những xử lý khác nhau so với các giá trị biến khác 3.1.6 Loop testing – Vòng lặp - Áp dụng trong whitebox testing: quan tâm đến vòng lặp trong code - Áp dụng trong backbox testing: quan tâm đến vòng lặp trong hành vi của hệ thống - Phân loại các TEST CASE theo số giá trị đặc biệt lần rẽ nhánh các vòng lặp 3.1.7 Syntax testing – Cú pháp - Áp dụng test các câu lệnh, các trường toán tử có định... 3.2.1 Danh sách test focus testing - Những vùng quan trọng nhất của phần mềm - Những vùng phần mềm hay được dùng nhất - Những vùng có đặc trưng riêng, khác biệt hẳn với các vùng khác của phần mềm - Những vùng phần mềm dễ bị ảnh hưởng nhất của các thay đổi vừa có (khi regression test) - Những lỗi dễ xảy ra nhất - Những lỗi (người dùng) dễ nhìn thấy nhất - Những loại lỗi khó fix nhất - Những loại lỗi... Dựa trên cơ sở là toàn bộ hay một phần của tài liệu yêu cầu hệ thống (system requirements) - Các thủ tục test/demo phải được khách hàng chấp nhận trước khi thực hiện để nghiệm thu 2.2.5 Installation Testing - Test các bước thực hiện cài đặt dựa trên Tài liệu hướng dẫn cài đặt, chứng minh Tài liệu hướng dẫn cài đặt đã qui chuẩn để chuyển giao khách hàng - Installation testing được thực hiện bởi Nhóm... 3.1.2 Control flow testing – Luồng điều khiển - Phân loại các TEST CASE theo sơ đồ mô hình luồng xử lý (Đó là sơ đồ mô hình hoá hành vi của hệ thống, chứ không phải là sơ đồ mô tả các câu lệnh trong code) - Mỗi rẽ nhánh trong luồng xử ký là 1 TEST CASE - Đây là 1 kỹ thuật test căn bản, áp dụng hiệu quả được cho hầu hết các hệ thống, áp dụng được cho mọi giai đoạn test 3.1.3 Data flow testing – Luồng... CASE theo sơ đồ mô hình luồng dữ liệu 3.1.4 Transaction testing – Giao dịch - Áp dụng cho các hệ thống xử lý giao dịch (các giao dịch trong ngân hàng, đặt vé máy bay, đặt phòng khách sạn…) - Phân loại TEST CASE theo loại các giao dịch, chú trọng việc xác định điểm khởi đầu, điểm kết thúc, và hàng đợi các điểm giao dịch cần xử lý 3.1.5 Domain testing – vùng - Áp dụng cho loại hệ thống xử lý nhiều vùng... negative test sau (test các trường hợp hợp lệ trước, các trường hợp không hợp lệ sau) 3.2.2 Ưu tiên sắp xếp test theo quality dimension - Số 1: thường là Function testing, và phải bao quát được bussines cycle của hệ thống - Số 2: Usability testing, chú ý test GUI, đảm bảo đúng syntax, theo standards và user friendly . 09520657 BÀI THUYẾT TRÌNH NHẬP MÔN CÔNG NGHỆ PHẦN MỀM Chủ đề: Testing Software  1. TEST PHẦN MỀM  1.1 Định nghĩa Test phần mềm là quá trình vận hành thử nghiệm một chương trình, một hệ thống phần. biết dành thời gian và nguồn lực cho  2 .QUI TRÌNH PHÁT TRIỂN PHẦN MỀM VÀ VỊ TRÍ CỦA TESTING - Trong các qui trình phát triển phần mềm truyền thống, testing được thực hiện song song cùng với. thống phần mềm với mục đích tìm ra lỗi.  1.2 Vai trò - Testing để tìm ra lỗi, ghi nhận các thông tin về lỗi, nhưng không sửa lỗi. - Testing giúp kiểm định phần mềm, đảm bảo rằng phần mềm “đủ

Ngày đăng: 06/04/2015, 00:12

Từ khóa liên quan

Mục lục

  • SINH VIÊN:

  • 1. TEST PHẦN MỀM

  • Slide 3

  • 1.3.1 Vấn đề

  • 1.3.2 Tìm câu trả lời

  • 1.3.3 Kết luận

  • 2 .QUI TRÌNH PHÁT TRIỂN PHẦN MỀM VÀ VỊ TRÍ CỦA TESTING

  • Slide 8

  • 2.2 Các giai đoạn test (Testing Phases)

  • 2.2.2 Intergration Testing – Test tích hợp

  • 2.2.3 System Testing – Test hệ thống

  • 2.2.4 User Acceptance Testing

  • 2.2.5 Installation Testing

  • 3 .CÁC PHƯƠNG PHÁP KỸ THUẬT TEST

  • 3.1.2 Control flow testing – Luồng điều khiển

  • 3.1.3 Data flow testing – Luồng dữ liệu

  • 3.1.4 Transaction testing – Giao dịch

  • 3.1.5 Domain testing – vùng

  • 3.1.6 Loop testing – Vòng lặp

  • 3.1.7 Syntax testing – Cú pháp

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

Tài liệu liên quan