Tìm hiểu về Static Testing

1. STATIC TESTING LÀ GÌ?

Static testing là một kỹ thuật kiểm thử phần mềm để tìm kiếm lỗi trong phần mềm/ ứng dụng mà không thực thi code. Khác với Dynamic testing đó là kỹ thuật cần thực thi code. Kiểm thử tĩnh được thực hiện để tránh lỗi sớm trong giai đoạn đầu phát triển phần mềm, nó cũng dễ dàng xác định lỗi và giải quyết lỗi. Nó còn giúp tìm kiếm lỗi mà có thể không tìm thấy ở Dynamic testing.

Có 2 loại chínhcủa kỹ thuật kiểm thử tĩnh là:

Kiểm thử thủ công hay còn gọi là các hoạt động review.

Kiểm thử tự động là sử dụng các tool để phân tích.

Kiểm tra tĩnh có thể được thực hiện trên các tài liệu làm việc như yêu cầu kỹ thuật (requirement), tài liệu thiết kế (documents) , mã nguồn (Source code), kế hoạch kiểm tra (Test plan), kịch bản thử nghiệm (test script) và các trường hợp thử nghiệm (test case) , nội dung trang web.

2.TẠI SAO STATIC TESTING LÀ CẦN THIẾT

  • Kiểm tra tĩnh cho phép phát hiện sớm các khuyết tật trước khi thực hiện kiểm tra động (ví dụ: trong các yêu cầu hoặc đánh giá thông số kỹ thuật thiết kế, sàng lọc tồn đọng sản phẩm, v.v.).
  • Các khiếm khuyết được phát hiện sớm thường rẻ hơn nhiều so với các khiếm khuyết được tìm thấy sau đó trong vòng đời, đặc biệt là so với các khiếm khuyết được tìm thấy sau khi phần mềm được triển khai và sử dụng tích cực
  • Tăng năng suất phát triển (ví dụ: do thiết kế được cải tiến, mã dễ bảo trì hơn)
  • Giảm chi phí và thời gian phát triển
  • Giảm chi phí và thời gian thử nghiệm
  • Xác định các khuyết tật không dễ tìm thấy bằng thử nghiệm động
  • Phát hiện và sửa chữa các khuyết tật hiệu quả hơn và trước khi thực hiện thử nghiệm động

3.CÁC KỸ THUẬT KIỂM THỬ TĨNH

Inspection: Ở đây mục đích chính là tìm ra các khiếm khuyết. Việc kiểm tra được thực hiện bởi người kiểm duyệt. Đây là loại đánh giá thông thường có một danh sách kiểm tra được chuẩn bị để kiểm tra xem tài lài liệu công việc hoàn thành tới đâu.

Walk-through: Trong loại kỹ thuật này, Leader mở một cuộc họp để giải thích sản phẩm. Những người tham gia có thể đặt ra những câu hỏi nếu chưa hiểu và ghi chú lại, phục vụ cho việc hoàn thành công việc.

Peer reviews: Trong loại kiểm tra này, kiểm tra về kỹ thuật sẽ được kiểm tra 1 vòng. Việc này tiến hành để kiểm tra xem code được thực hiện theo đúng các thông số kỹ thuật và tiêu chuẩn hay không. Nói chung các kế hoạch kiểm tra, chiến lược kiểm thử và các tập lệnh kiểm tra được xem xét ở đây.

Inspection: Kỹ thuật kiểm tra tĩnh trong đó tài liệu được xem xét, nhận xét một cách không chính thức và đưa ra các ý kiến không chính thức.

4.QUY TRÌNH THỰC HIỆN STATIC TESTING

Quy trình review gồm 5 hoạt động chính:

  • Planning
  • Initiate review
  • Individual review
  • Issue communication and analysis
  • Fixing and report

1.Planning

  • Xác định scope, bao gồm mục đích của review, những tài liệu or 1 phần tài liệu để review, và các đặc điểm chất lượng để đánh giá
  • Ước lượng effort và khung thời gian
  • Xác định các đặc điểm review như là loại review với roles, activities, và checklist
  • Lựa chọn người để tham gia review và phân bổ vai trò
  • Xác định tiêu chí đầu vào và đầu ra cho mỗi loại formal review
  • Kiểm tra tiêu chí đầu vào được đáp ứng

2.Initiate review

  • Phân phối sản phẩm làm việc và vật liệu khác như là form log issue, checklists, và liên quan đến sản phẩm làm việc
  • Giải thích về scope, mục tiêu, process, roles, và sản phẩm đến những thành viên tham gia
  • Trả lời cho bất kỳ câu hỏi nào mà thành viên có thể có trong buổi review

3.Individual review

  • Review tất cả or 1 phần sản phẩm
  • Ghi lại những lỗi tiềm năng, recommendations và question

4.Issue communication and analysis

  • Truyền đạt các lỗi tiền năng đã được xác định
  • Phân tích lỗi tiềm năng, chỉ định quyền sở hữu và trạng thái cho nó
  • Đánh giá và ghi lại các đặc tính chất lượng
  • Đánh giá lại các phát hiện được tìm thấy với tiêu chí đầu ra để ra quyết định review

5.Fixing and report

  • Tạo report lỗi
  • Fix lỗi tìm thấy
  • Thông báo lỗi cho mọi người
  • Ghi lại, update lại trạng thái của lỗi
  • Tập hợp số liệu (những loại formals review)
  • Kiểm tra tiêu chí đầu ra được đáp ứng
  • Chấp nhận sản phẩm khi tiêu chí đầu ra đạt được

5.NHỮNG LỖI CHÍNH ĐƯỢC TÌM THẤY TRONG STATIC TESTING

  • Sai lệch so với tiêu chuẩn
  • Code không được bảo trì
  • Lỗi trong design
  • Lỗi trong requirement
  • Thông số kỹ thuật không nhất quán
  • Thông thường, lỗi được phát hiện trong quá trình kiểm thử tĩnh là do lỗ hổng bảo mật, các biến không được khai báo, vi phạm ranh giới, vi phạm cú pháp, giao diện không nhất quán,..

Cảm ơn mọi người đã đọc bài ạ!