Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
674,18 KB
Nội dung
SOFTWARE TESTING Table of Contents Mục đích Program Testing Validation Defect Testing Mục tiêu qui trình Testing Validation Testing Một test thành công thể hệ thống hoạt đọng với yêu mà cần phải thực Defect Testing Black – Gray – White Box Testing Giải Coverage cho White Box Testing Verification Validation Mối quan hệ Verification Validation (V&V) Inspections Testing Software inspections: Lợi ích Inspections: Inspections testing Những giai đoạn testing: Development Testing Unit Testing Chiến lược Testing 11 Testing nhằm để chạy lại chức mà phần mềm cần phải làm tìm nhược điểm trước đem vào sử dụng Khi test chương trình, cần thực thi chương trình sử dụng liệu giả tester đặc Cần kiểm tra lỗi, điểm khơng bình thường thơng tin phần non-functional kết thực thi … Testing phần qui trình Geneneral Verification Validation Process, static validation process Mục đích Program Testing Để chứng minh cho Developer khách hàng phần mềm đáp ứng đủ yêu cầu Requirement Đối với phần mềm đặc hàng, cần có test cho yêu cầu tài liệu Requirement Đối với phần mềm thương mại, cần kiểm tra cho tất hệ thống… Để phát tình mà chương trình xử lý khơng đúng, không thỏa đáng không phù hợp với đặc tả Testing nhược điểm chương trình cần quan tâm đến việc xử lý khôn thỏa đáng hệ thống crash, tương tác không cần thiết đến hệ thống khác, tính tốn sai liệu bị hư hỏng Validation Defect Testing Mục đích thứ dẫn đến Validation testing : cần hệ thống hoạt động cách xác, sử dụng test case – phản ánh nhu cầu sử dụng hệ thống Mục đích thứ dẫn đếnDefect Testing: test case thiết kế để tìm yếu điểm Test case defect testing khơng cần phải phản ánh nhu cầu sử dụng bình thường hệ thống (chạy case sai coi mà >.< nói dài dịng dịch mệt vãi) Mục tiêu qui trình Testing Validation Testing Để chứng minh cho Developer khách hàng phần mềm đáp ứng đủ yêu cầu Requirement Một test thành công thể hệ thống hoạt đọng với yêu mà cần phải thực Defect Testing Để phát tình mà chương trình xử lý khơng đúng, khơng thỏa đáng không phù hợp với đặc tả Một test thành công test làm cho hệ thống hoạt động sai yếu điểm hệ thống Black – Gray – White Box Testing Black Box: Dữ liệu vào case phù hợp với requirement Kết so sánh lại với kết requirement White Box: Design elements -> Xác định xem hoạt động có mong đợi hay không Gray Box: Kết hợp Black Box White Box Kết trả line (3) sai Giải Coverage cho White Box Testing Assertion-based Testing: A white box testing Trong nhiều trường hợp, assertion = invariant Xác nhận vào source code Định nghĩa assertion Đưa assertion vào source code Verification Validation Verification: "Are we building the product right” – Chúng ta xây dựng chương trình đúng? Phần mềm cần phù hợp với đặc tả Validation: "Are we building the right product” – Chúng ta xây dựng chương trình? Phần mềm cần làm mà mà khách hàng yêu cầu Mối quan hệ Verification Validation (V&V) Mục đích V&V để xác lập độ tin cậy hệ thống đầy đủ ‘fit for purpose’ Dựa vào mục tiêu hệ thống, người dùng mong đợi(User expectations) môi trường thương mại (Marketting Environment) Mục tiêu hệ thống : Mức độ tun cậy phụ thược vào cấu trúc tổ chức phần mềm User Expectatins : Người dùng mong đợi phần mềm Marketting Environment : Làm cho phần mềm bán chạy quan trọng tìm yếu điểm phần mềm Inspections Testing Software inspection quan tâm đến việc phân tích hệ thống tĩnh để tìm lỗi Software testing quan tâm đến việc áp dụng quan sát việc xử lý sản phẩm Software inspections: Nghiên cứu mơ hình với mục đích phát điểm bất thường yếu điểm Inspection khơng u cầu phải thực thi chương trình sử dụng trước thực chương trình Có thể sử dụng nhiều loại mơ hình khác hệ thống (đặc tả, thiết kể, cấu trúc liệu, kiểm tra liệu,…) Ngoài cịn có số kỹ thuật khác để tìm lỗi hệ thống Inspection testing bổ sung cho không trái ngược kỹ thuật verification Lợi ích Inspections: Trong testing, lỗi che khuất lỗi khác Nhưng trái lại, inspection q trình tĩnh, nên ta khơng cần quan tâm đến tương tác lỗi Một phiên chưa hoàn thành hệ thống inspected mà khơng tốn thêm chi phí phát sinh Nếu chương trình chưa hồn tất, ta cần phải phát triển test riêng biệt để test cho phần hồn thành Để tìm kiếm yếu điểm hệ thống, inspection hướng đến thuộc tính rộng chương trình phù hợp tiêu chẩn, portability, dễ bảo trì Inspections testing Cả hai sử dụng qui trình V & V Inspection kiểm tra thỏa mãn đặc tả không bắt buộc phải thỏa mãn nhu cầu thực tế khách hàng Inspection không kiểm tra chi tiết non-functional performance, dễ sử dụng, … Những giai đoạn testing: Development testing hệ thống test trình phát triển phần mềm để tìm bug yếu điểm Release Testing team testing bắt đầu test phiên hoàn chỉnh hệ thống trước giao cho khách hàng User Testing, người dùng sử dụng phần mềm test hệ thống mơi trường làm việc họ Development Testing Development testing bao gồm tất hoạt động testing thực team developing hệ thống Unit Testing: đơn vị chương trình độc lập object class tested Unit Testing nên tập trung vào test phần functionnall object method Component Testing: đơn vị độc lập tổng hợp lại thành thành phần phức Nên tập trung vào test theo interface component System Testing component tổng hợp lại test tất Phần nên tập trung vào test tương tác component Unit Testing Unit Testing trình testing thành phần riêng lẻ hệ thống cách độc lập với thành phần khác Đây trình defect testing Một Unit là: Hàm phương thức đối tượng Object Classes với nhiều thuộc tính phương thức Những thành phần phức với interface định sẵn để truy xuất hàm chức Perform Method Testing Kiểm tra hoạt động với tham số bình thường Kiểm tra hoạt động với tham số giới hạn Kiểm tra hoạt động với tham số bên Chắc chắn tất câu lệnh thực Kiểm tra đường đi, bao gồm tất nhanh câu lệnh Kiểm tra viêc sử dụng câu lệnh gọi đối tượng Kiểm tra việc quản lý cấu trúc liệu Kiểm tra việc quản lý tập tin Kiểm tra vịng lặp có ngưng lại hay khơng 10 Kiểm tra việc ngừng bất thường vòng lặp 11 Kiểm tra việc ngừng lại câu lệnh đệ qui 12 Kiểm tra việc ngừng bất thường lệnh gọi đệ qui 13 Kiểm tra việc quản lý điều kiện xảy lỗi 14 KIểm tra thời gian đồng 15 Kiểm tra phần cứng Class Unit Test Áp dụng việc kêt hợp phương thức Thường dùng đến methods Chọn dãy kết hợp thông thường Bao gồm dãy dẫn đến defects u cầu tính tốn tay để đưa kết Tập trung unit test thuộc tính Khởi tạo, thực thi dãy method ảnh hưởng đến thuộc tính Kiểm tra việc khơng thay đổi Gán giá trị khởi tạo Thực thi chuổi function Kiểm tra lại việc có thay đổi Kiểm tra đối tượng strong trạng thái mong đợi Dự định trạng thái chuỗi kiện Khởi tạo đối tượng trạng thái khởi cài đặt biến Cung cấp kiện kiểm tra việc chuyển trạng thái Object Class Testing Kiểm tra hồn chỉnh liên quan đến Class Kiểm tra hoạt động liên qua đến object Cài đặt sử dụng object attribute Áp dụng đối tượng vào trạng thái xảy Thừa kế làm cho việc thiết kế object test trở nên phức tạp hơn, thơng tin để test khơng cịn local WEATHER STATION TESTING Cần phải tạo test case dành cho reportWeather, calibrate, test, startup, shutdown Sử dụng mơ hình trạng thái, định chuỗi chuyển đổi trạng thái để test and chuỗi kiện để dẫn đến việc chuyển trạng thái Ví dụ: Shutdown -> Running -> Shutdown Configuring -> Running -> Testing -> Transmitting -> Running Running -> Collecting -> Running -> Summarizing -> Transmitting -> Running Testing tự động Bất có thể, unit testing nên tự động test không cần can thiệp tay Khi tự động unit test, cần phải tạo test tự động, sử dụng Junit để viết chạy chương trình test Unit testing frameworks cung cấp test cho nhiều loại class, ta dùng test để tạo test riêng Framework chạy tât test mà implement báo cáo lại thơng thường qua GUI, thành công Những thành phần test tự động Phần setup, phần ta cần khởi tạo cho hệ thống test case, đưa vào input expected ouput Phần gọi, phần gọi đối tượng method cần tested Phần xác nhận, so sánh kết phần call với phần expected output, xác nhận true test thành công, ngược lai failed Tác dụng Unit Test Test cần cần phải thể thành phần test cần phải làm Nếu có yếu điểm thành phần đó, cần phải test case Vì có dạng unit test case: Dạng nên phản ánh hoạt động bình thường chương trình nên thể thành phần hoạt động theo mong đợi Dạng thứ dạng test case dựa kinh nghiệm test, chỗ thường dẫn lỗi Vì cần phải có test case khơng bình thường để kiểm tra tiến trình hoạt động xác khơng bị crash thành phần Chiến lược Testing Phân vùng testing: cần phân nhóm input có đặc tính giống thực cách Testing theo chức năng: dựa vào chức mà phần sử dụng test case ... với phần mềm đặc hàng, cần có test cho yêu cầu tài liệu Requirement Đối với phần mềm thương mại, cần kiểm tra cho tất hệ thống… Để phát tình mà chương trình xử lý không đúng, không thỏa đáng không... thược vào cấu trúc tổ chức phần mềm User Expectatins : Người dùng mong đợi phần mềm Marketting Environment : Làm cho phần mềm bán chạy quan trọng tìm yếu điểm phần mềm Inspections Testing Software... hàng phần mềm đáp ứng đủ yêu cầu Requirement Một test thành công thể hệ thống hoạt đọng với yêu mà cần phải thực Defect Testing Để phát tình mà chương trình xử lý khơng đúng, không thỏa đáng không