Danh mục

Các loại kiểm tra phần mềm Unit, Integration, System test

Số trang: 10      Loại file: doc      Dung lượng: 146.50 KB      Lượt xem: 9      Lượt tải: 0    
Jamona

Hỗ trợ phí lưu trữ khi tải xuống: 3,000 VND Tải xuống file đầy đủ (10 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Một hoạt động mang tính sống còn trong các dự án sản xuất hoặc gia công phầnmềm (PM), đó là kiểm tra (Testing). Dân làm PM chắc hẳn không ai nghi ngờ vai trò quantrọng của nó, tuy nhiên không phải ai (cả trong ngành và ngoài ngành) cũng hiểu rõ hoạtđộng này. Bản thân công việc kiểm tra phần mềm (KTPM) cũng là một lĩnh vực hoạt độngđộc lập và khá "hấp dẫn".
Nội dung trích xuất từ tài liệu:
Các loại kiểm tra phần mềm Unit, Integration, System test Cácloạikiểmtraphầnmềm Unit,Integration,System test Một hoạt động mang tính sống còn trong các dự án sản xuất hoặc gia công phầnmềm (PM), đó là kiểm tra (Testing). Dân làm PM chắc hẳn không ai nghi ngờ vai trò quantrọng của nó, tuy nhiên không phải ai (cả trong ngành và ngoài ngành) cũng hiểu rõ hoạtđộng này. Bản thân công việc kiểm tra phần mềm (KTPM) cũng là một lĩnh vực hoạt độngđộc lập và khá hấp dẫn. Cùng với các dự án gia công sản xuất PM, hiện cũng có khánhiều dự án mà nội dung công việc chỉ là kiểm tra những PM đã được khách hàng pháttriển sẵn.Mặc dù công việc KTPM không xa lạ song những khái niệm và kỹ thuật lại khá rắc rối.Bài viết này sẽ nhằm cung cấp một cái nhìn tương đối bao quát về lĩnh vực tưởng cũnhưng không cũ” này.KIỂM TRA PHẦN MỀM LÀ GÌ?Thực ra KTPM là công việc mà bất cứ người nào từng tham gia phát triển phần mềm(PTPM) đều biết và từng làm. Theo nghĩa thông thường nhất, KTPM bao gồm việc chạythử PM hay một chức năng của PM, xem nó chạy đúng như mong muốn hay không.Việc kiểm tra này có thể thực hiện từng chặng, sau mỗi chức năng hoặc module được pháttriển, hoặc thực hiện sau cùng, khi PM đã được phát triển hoàn tất.KTPM đứng ở vị trí hết sức nhạy cảm, nó là bước đệm giữa giai đoạn xây dựng PM và sửdụng PM, trước khi giao sản phẩm hoàn chỉnh cho khách hàng. Bạn có thể tham khảo bàiTổng quan các mô hình phát triển phần mềm trong TGVT A số tháng 8/2005 (ID:A0508_106) để biết vị trí của KTPM trong các mô hình PTPM. Hình 1: 4 mức độ cơ bản của kiểm tra phần mềmCÁC MỨC ĐỘ CỦA KTPMThực tế, KTPM không đơn giản như nhiều người thường nghĩ, công việc này có nhiềumức độ khác nhau và có mối tương quan với các chặng phát triển trong dự án PTPM. Hình1 cho thấy 4 mức độ cơ bản của KTPM và hình 2 cho thấy mối tương quan với các chặngPTPM trong mô hình V-model.Phần sau sẽ làm rõ chi tiết về các mức độ KTPM, do một số thuật ngữ không có từ tươngđương sát nghĩa trong tiếng Việt, mặt khác để các bạn tiện tham khảo sau này, chúng tôixin giữ nguyên một số thuật ngữ gốc tiếng Anh.1. Unit Test – Kiểm tra mức đơn vịĐể có thể hiểu rõ về Unit Test, khái niệm trước tiên ta cần làm rõ: thế nào là một đơn vịPM (Unit)?Một Unit là một thành phần PM nhỏ nhất mà ta có thể kiểm tra được. Theo định nghĩa này,các hàm (Function), thủ tục (Procedure), lớp (Class), hoặc các phương thức (Method) đềucó thể được xem là Unit.Vì Unit được chọn để kiểm tra thường có kích thước nhỏ và chức năng hoạt động đơngiản, chúng ta không khó khăn gì trong việc tổ chức, kiểm tra, ghi nhận và phân tích kếtquả kiểm tra. Nếu phát hiện lỗi, việc xác định nguyên nhân và khắc phục cũng tương đốidễ dàng vì chỉ khoanh vùng trong một đơn thể Unit đang kiểm tra. Một nguyên lý đúc kếttừ thực tiễn: thời gian tốn cho Unit Test sẽ được đền bù bằng việc tiết kiệm rất nhiềuthời gian và chi phí cho việc kiểm tra và sửa lỗi ở các mức kiểm tra sau đó.Unit Test thường do lập trình viên thực hiện. Công đoạn này cần được thực hiện càng sớmcàng tốt trong giai đoạn viết code và xuyên suốt chu kỳ PTPM. Thông thường, Unit Test đòihỏi kiểm tra viên có kiến thức về thiết kế và code của chương trình. Mục đích của UnitTest là bảo đảm thông tin được xử lý và xuất (khỏi Unit) là chính xác, trong mối tươngquan với dữ liệu nhập và chức năng của Unit. Điều này thường đòi hỏi tất cả các nhánhbên trong Unit đều phải được kiểm tra để phát hiện nhánh phát sinh lỗi. Một nhánh thườnglà một chuỗi các lệnh được thực thi trong một Unit, ví dụ: chuỗi các lệnh sau điều kiện Ifvà nằm giữa then ... else là một nhánh. Thực tế việc chọn lựa các nhánh để đơn giản hóaviệc kiểm tra và quét hết Unit đòi hỏi phải có kỹ thuật, đôi khi phải dùng thuật toán đểchọn lựa.Cũng như các mức kiểm tra khác, Unit Test cũng đòi hỏi phải chuẩn bị trước các tìnhhuống (test case) hoặc kịch bản (script), trong đó chỉ định rõ dữ liệu vào, các bước thựchiện và dữ liệu mong chờ sẽ xuất ra. Các test case và script này nên được giữ lại để tái sửdụng.2. Integration Test – Kiểm tra tích hợpIntegration test kết hợp các thành phần của một ứng dụng và kiểm tra như một ứng dụngđã hoàn thành. Trong khi Unit Test kiểm tra các thành phần và Unit riêng lẻ thì IntgrationTest kết hợp chúng lại với nhau và kiểm tra sự giao tiếp giữa chúng.Integration Test có 2 mục tiêu chính:• Phát hiện lỗi giao tiếp xảy ra giữa các Unit.• Tích hợp các Unit đơn lẻ thành các hệ thống nhỏ (subsystem) và cuối cùng là nguyên hệthống hoàn chỉnh (system) chuẩn bị cho kiểm tra ở mức hệ thống (System Test).Trong Unit Test, lập trình viên cố gắng phát hiện lỗi liên quan đến chức năng và cấu trúcnội tại của Unit. Có một số phép kiểm tra đơn giản trên giao tiếp giữa Unit với các thànhphần liên quan khác, tuy nhiên mọi giao tiếp liên quan đến Unit thật sự được kiểm tra đầyđủ khi các Unit tích hợp với nhau ...

Tài liệu được xem nhiều: