2.2.4.3.Xây dựng câu lệnh
2.2.5.1 Quá trình kiểm tra[26]
Quá trình kiểm tra đợc tiến hành ở mọi công đoạn phát triển của phần mềm và không thực hiện trên chơng trình.
Quá trình này đợc thực hiện theo các mức khác nhau bao gồm:
• Kiểm tra đơn vị (Unit test): đợc tiến hành cho mỗi đơn vị mã nhỏ nhất đảm bảo chúng hoạt động tốt.
• Kiểm tra tích hợp (Subsystem integration test): kiểm tra mặt logic và xử lý phù hợp của các khối, kiểm tra việc truyền tin giữa chúng.
• Kiểm tra hệ thống (System test): đánh giá xem các đặc tả chức năng có đợc đáp ứng không, các thao tác giao diện có giống thiết kế không…
• Kiểm tra chấp thuận (Acceptance testing): đây là bớc kiểm tra cuối cùng trớc khi phần mềm đợc đa vào sử dụng và thờng đợc tiến hành trên dữ liệu thực của khách hàng. Kiểm tra chấp thuận có thể phát hiện ra các lỗi bị bỏ qua trong các giai đoạn trớc do sự khác nhau giữa dữ liệu thực và dữ liệu kiểm tra.
Có hai kiểu chiến lợc kiểm tra đợc áp dụng bao gồm:
Kiểu thứ nhất: liên quan đến logic đợc kiểm tra nh thế nào trong ứng dụng. Chiến lợc kiểm tra logic có thể là black - box hoặc white - box. Chiến lợc kiểm tra black - box cho rằng module liên quan đến đầu vào và đầu ra các chi tiết logic chi tiết đợc che dấu và không cần phân tích. Chiến lợc black - box có tính hớng dữ liệu. White - box h-
Kiểm tra phần mềm (software inspections) Đặc tả yêu cầu Thiết kế mức cao Đặc tả chi tiết Thiết kế chi tiết Lập trình Làm bản
mẫu Kiểm thử phần mềm (software testing)
ớng tới việc cho rằng logic đặc trng là quan trọng và cần phải kiểm tra. White - box đánh giá một vài hoặc tất cả mặt logic để kiểm tra đợc tính đúng đắn của chức năng. White - box hớng về logic (giải thuật).
Kiểu thứ hai: liên quan tới việc kiểm tra đợc tiến hành thế nào, không quan tâm chiến lợc kiểm tra logic. Nó là top - down hoặc bottom - up. Top - down coi chơng trình chính là quan trọng nhất nên cần phải phát triển và kiểm tra trớc và tiếp tục trong quá trình phát triển. Bottom - up cho rằng các module và chơng trình riêng rẽ cần đợc kiểm tra trớc và sau đó đợc kết hợp lại để kiểm tra tổ hợp.
Các chiến lợc kiểm tra kể trên không loại trừ lẫn nhau, chúng có thể đợc sử dụng độc lập đồng thời nhằm phát hiện hết các lỗi tiềm ẩn.