Chương 6 – 6.1 – Các loại công cụ Kiểm thử – Phần 3/8

Công cụ quản lý cấu hình

Một ví dụ: Một nhóm kiểm thử bắt đầu kiểm thử phần mềm, hi vọng tìm thấy một số lượng khá cao các vấn thông thường. Nhưng trước sự ngạc nhiên của họ, lần này phần mềm dường như tốt hơn bình thường rất nhiều (rất ít lỗi được tìm thấy). Trước khi ăn mừng chất lượng tuyệt vời của bản phát hành này, họ vừa kiểm tra thêm để xem liệu họ có phiên bản phù hợp hay không và phát hiện ra rằng họ thực sự đang kiểm thử phiên bản từ hai tháng trước (đã được sửa lỗi) cùng với các bài kiểm thử cho phiên bản trước đó . Thật tuyệt khi biết rằng điều này vẫn ổn, nhưng họ không thực sự kiểm thử những gì họ nghĩ rằng đang kiểm thử hoặc những gì họ nên kiểm thử.

Công cụ quản lý cấu hình (Configuration management tools) cũng không phải là công cụ kiểm thử nghiêm ngặt, nhưng quản lý cấu hình tốt là rất quan trọng đối với kiểm thử có kiểm soát, như đã được mô tả trong Chương 5. Chúng ta cần biết chính xác mình phải kiểm thử cái gì, chẳng hạn như phiên bản chính xác của tất cả các những thứ thuộc về một hệ thống. Có thể thực hiện các hoạt động quản lý cấu hình mà không cần sử dụng các công cụ (nhưng các công cụ giúp cuộc sống dễ dàng hơn rất nhiều) đặc biệt là trong các môi trường phức tạp.

Phần mềm kiểm thử cần được quản lý cấu hình và cùng một công cụ có thể được sử dụng cho phần mềm kiểm thử cũng như cho các hạng mục phần mềm. Testware cũng có nhiều phiên bản khác nhau và được thay đổi theo thời gian. Điều quan trọng là chạy đúng phiên bản kiểm thử, như ví dụ ở trên cho thấy.

Các tính năng hoặc đặc điểm của công cụ quản lý cấu hình bao gồm hỗ trợ cho:

  • Lưu trữ thông tin về các phiên bản và bản dựng của phần mềm và phần mềm kiểm thử.
  • Khả năng truy xuất nguồn gốc giữa phần mềm và phần mềm kiểm thử cũng như các phiên bản hoặc biến thể khác nhau.
  • Theo dõi phiên bản nào thuộc về cấu hình nào (ví dụ: hệ điều hành, thư viện, trình duyệt).
  • Xây dựng và phát hành quản lý.
  • Cơ sở (ví dụ: tất cả các mục cấu hình tạo nên một bản phát hành cụ thể).
  • Kiểm soát truy cập (kiểm thử trong và ngoài).

Công cụ hỗ trợ kiểm thử tĩnh

Các công cụ được mô tả trong phần này hỗ trợ các hoạt động kiểm thử được mô tả trong Chương 3.

Đánh giá các công cụ hỗ trợ quy trình

Giá trị của các loại đánh giá khác nhau đã được thảo luận trong Chương 3. Đối với đánh giá không chính thức, trong đó một người xem tài liệu của người khác và đưa ra một vài nhận xét về nó (một công cụ như thế này có thể cản trở). Tuy nhiên, khi quy trình xem xét chính thức hơn, khi có nhiều người tham gia hoặc khi những người liên quan ở các vị trí địa lý khác nhau, thì sự hỗ trợ của công cụ sẽ trở nên có lợi hơn nhiều.

Có thể theo dõi tất cả các thông tin cho một quá trình đánh giá sử dụng bảng tính và tài liệu văn bản, nhưng công cụ đánh giá được thiết kế cho mục đích này có nhiều khả năng thực hiện công việc tốt hơn. Ví dụ: một điều cần được theo dõi đối với mỗi lần đánh giá là người đánh giá đã không xem qua tài liệu quá nhanh, tức là tốc độ kiểm thử (số trang được kiểm thử mỗi giờ) gần với tốc độ được đề xuất cho chu kỳ đánh giá đó. Một công cụ hỗ trợ quy trình đánh giá có thể tự động tính toán tỷ lệ kiểm thử và gắn cờ các trường hợp ngoại lệ. Các công cụ hỗ trợ quá trình đánh giá có thể thường được điều chỉnh cho quá trình đánh giá cụ thể hoặc loại đánh giá đang được thực hiện.

Các tính năng hoặc đặc điểm của các công cụ hỗ trợ quy trình đánh giá bao gồm hỗ trợ cho:

  • Một tài liệu tham khảo chung cho quá trình đánh giá hoặc các quá trình để sử dụng trong các tình huống khác nhau.
  • Lưu trữ và sắp xếp các bình luận đánh giá.
  • Truyền đạt nhận xét cho những người có liên quan.
  • Phối hợp đánh giá trực tuyến.
  • Theo dõi các nhận xét, bao gồm các lỗi được tìm thấy và cung cấp thông tin thống kê về chúng.
  • Cung cấp khả năng truy xuất nguồn gốc giữa các nhận xét, tài liệu được đánh giá và các tài liệu liên quan.
  • Kho lưu trữ các quy tắc, thủ tục và danh sách kiểm thử được sử dụng trong đánh giá, cũng như các tiêu chí đầu vào và đầu ra.
  • Theo dõi trạng thái đánh giá (đã thông qua, đã thông qua có chỉnh sửa, yêu cầu đánh giá lại).
  • Thu thập số liệu và báo cáo về các yếu tố chính.

Công cụ phân tích tĩnh (D)

Công cụ phân tích tĩnh (và các loại công cụ khác) cho biết rằng các công cụ này có nhiều khả năng được các nhà phát triển sử dụng hơn. Phân tích tĩnh bằng các công cụ đã được thảo luận trong Chương 3. Trong phần này, chúng ta đưa ra một bản tóm tắt về chức năng của các công cụ.

Các công cụ phân tích tĩnh thường được các nhà phát triển sử dụng như một phần của quy trình kiểm thử thành phần và phát triển. Khía cạnh quan trọng là mã (hoặc vật phẩm khác) không được thực thi hoặc chạy. Tất nhiên, bản thân công cụ được thực thi, nhưng mã nguồn mà chúng ta quan tâm là dữ liệu đầu vào của công cụ.

Trên thực tế, các công cụ phân tích tĩnh là một phần mở rộng của công nghệ biên dịch, một số trình biên dịch cung cấp các tính năng phân tích tĩnh. Cần kiểm thử những gì có sẵn từ các trình biên dịch hoặc môi trường phát triển hiện có trước khi xem xét việc mua một công cụ phân tích tĩnh tinh vi hơn.

Phân tích tĩnh cũng có thể được thực hiện trên những thứ khác ngoài mã phần mềm, ví dụ: phân tích tĩnh các yêu cầu hoặc phân tích tĩnh trang web (ví dụ: để đánh giá việc sử dụng đúng các thẻ trợ năng hoặc tuân theo các tiêu chuẩn HTML).

Các công cụ phân tích tĩnh cho mã có thể giúp các nhà phát triển hiểu cấu trúc của mã và cũng có thể được sử dụng để thực thi các tiêu chuẩn mã hóa. Xem Phần 6.2.3 (Cân nhắc đặc biệt đối với một số loại công cụ) để biết những cân nhắc đặc biệt khi đưa các công cụ phân tích tĩnh vào một tổ chức.

Các tính năng hoặc đặc điểm của các công cụ phân tích tĩnh bao gồm hỗ trợ:

  • Tính toán các số liệu như độ phức tạp của chu kỳ hoặc mức độ lồng ghép (có thể giúp xác định nơi nào cần kiểm thử nhiều hơn do rủi ro gia tăng)
  • Thực thi các tiêu chuẩn mã hóa
  • Phân tích các cấu trúc và sự phụ thuộc
  • Hỗ trợ việc hiểu mã
  • Xác định các điểm bất thường hoặc khiếm khuyết trong mã (như được mô tả trong Chương 3).

Ezami

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *