1. Static Testing là gì?
Static testing là quá trình kiểm tra các sản phẩm phần mềm mà không cần thực thi code. Khác với kỹ thuật Dynamic testing, kiểm thử tĩnh được thực hiện sớm trong quá trình phát triển để phát hiện lỗi và giải quyết chúng. Nó giúp tìm ra các lỗi mà không thể phát hiện qua kiểm thử động.
Kiểm thử tĩnh có thể được thực hiện mà không cần máy tính vì nó chỉ kiểm tra sản phẩm mà không thực thi. Các kỹ thuật kiểm thử tĩnh được áp dụng trong các tài liệu như yêu cầu kỹ thuật, tài liệu thiết kế, mã nguồn, kế hoạch kiểm thử, kịch bản thử nghiệm và các trường hợp thử nghiệm.
2. Lợi ích của Static Testing
- Tăng tốc độ phản hồi chất lượng sản phẩm phần mềm nhờ kiểm thử sớm.
- Giảm chi phí và thời gian phát triển nhờ phát hiện lỗi ở giai đoạn đầu.
- Tăng năng suất công việc vì ít công sức cần thiết để sửa lỗi.
- Giảm chi phí và thời gian kiểm thử.
- Giảm tổn chi phí chất lượng trong quá trình vận hành phần mềm.
- Cải thiện giao tiếp giữa các thành viên trong nhóm.
3. Quy trình thực hiện Static Testing
Quy trình review gồm 5 hoạt động chính:
- Lập kế hoạch.
- Khởi tạo quá trình review.
- Thực hiện review cá nhân.
- Ghi nhận và phân tích lỗi.
- Sửa lỗi và tạo báo cáo.
Lập kế hoạch:
- Xác định mục đích và phạm vi của review.
- Ước lượng thời gian và công sức cần thiết.
- Xác định tiêu chí và người tham gia.
- Kiểm tra tiêu chí đã được đáp ứng.
Khởi tạo quá trình review:
- Phân phối sản phẩm và tài liệu liên quan.
- Giải thích về quy trình, mục tiêu và quyền truy cập.
- Trả lời câu hỏi từ các thành viên tham gia.
Thực hiện review cá nhân:
- Xem xét sản phẩm và ghi nhận lỗi.
- Đề xuất khắc phục và đặt câu hỏi.
Ghi nhận và phân tích lỗi:
- Truyền đạt lỗi đã tìm thấy.
- Phân tích và đánh giá lỗi.
- Ghi lại các đặc tính chất lượng.
- Đánh giá lại các phát hiện và quyết định review.
Sửa lỗi và tạo báo cáo:
- Tạo báo cáo lỗi.
- Sửa lỗi và thông báo cho mọi người.
- Ghi lại và cập nhật trạng thái của lỗi.
- Tổng hợp dữ liệu review.
- Kiểm tra tiêu chí đã được đáp ứng.
- Chấp nhận sản phẩm nếu đạt tiêu chuẩn đầu ra.
4. Các loại kiểm thử tĩnh
Testing review là quá trình tìm kiếm lỗi tiềm năng trong thiết kế hoặc chương trình. Ngoài ra, đánh giá còn giúp làm rõ tiến độ dự án và tạo ra những ý tưởng mới từ sự đa dạng suy nghĩ.
Các thành phần tham gia review gồm:
- Người điều phối: Quản lý tiến trình review và lên lịch họp.
- Tác giả: Sửa lỗi và cải thiện chất lượng tài liệu.
- Ghi chép: Ghi lại vấn đề và tham dự họp.
- Người đánh giá: Kiểm tra và thanh tra tài liệu.
- Quản lý: Quyết định và đảm bảo mục tiêu được đáp ứng.
Inspection: Kiểm tra tài liệu một cách chưa chính thức và đưa ra ý kiến chưa chính thức.
Walk-through: Leader giải thích sản phẩm và người tham gia đặt câu hỏi và ghi chú để hoàn thành công việc.
Peer reviews: Kiểm tra kỹ thuật để đảm bảo tuân thủ tiêu chuẩn và thông số kỹ thuật.
5. Các kỹ thuật kiểm thử tĩnh
Có một số kỹ thuật xem xét có thể được áp dụng để phát hiện lỗi trong kiểm thử tĩnh. Hiệu quả của từng kỹ thuật phụ thuộc vào loại đánh giá.
Kỹ thuật đánh giá thường áp dụng:
- Ad hoc: Kiểm tra chaotically dựa vào kỹ năng của người đánh giá.
- Checklist-based: Kiểm tra dựa trên danh sách kiểm tra chuẩn bị sẵn.
- Scenarios and dry runs: Kiểm tra theo kịch bản dự kiến.
- Perspective-based: Đánh giá từ quan điểm của từng bên liên quan.
- Role-based: Đánh giá từ vai trò của từng bên liên quan.
6. Các lỗi chính được phát hiện trong kiểm thử tĩnh
Các lỗi thường gặp trong quá trình kiểm thử tĩnh bao gồm sai lệch so với tiêu chuẩn, code không được bảo trì, lỗi trong thiết kế, lỗi trong yêu cầu và các thông số kỹ thuật không nhất quán.
Thông thường, lỗi phát hiện trong kiểm thử tĩnh là do lỗ hổng bảo mật, biến không được khai báo, vi phạm cú pháp, không nhất quán về giao diện, v.v.
Hãy để chúng ta đạt được chất lượng phần mềm cao thông qua kiểm thử tĩnh!
*Syllabus 2018 https://www.guru99.com/testing-review.html