24/05/2018, 21:57

Lợi ích của quá trình tự động hóa và các công cụ

Ngày nay tự động hóa được ứng dụng ở rất nhiều lĩnh vực, mục đích thường rất đa dạng và tùy theo nhu cầu đặc thù của từng lĩnh vực, tuy nhiên điểm chung nhất vẫn là giảm nhân lực, thời gian và sai sót. Ngành CNTT mà cụ thể là phát triển phần mềm (PTPM) cũng ...

Ngày nay tự động hóa được ứng dụng ở rất nhiều lĩnh vực, mục đích thường rất đa dạng và tùy theo nhu cầu đặc thù của từng lĩnh vực, tuy nhiên điểm chung nhất vẫn là giảm nhân lực, thời gian và sai sót. Ngành CNTT mà cụ thể là phát triển phần mềm (PTPM) cũng không ngoại lệ. Như chúng ta biết, để tạo ra sản phẩm CNTT hay PM có chất lượng thì hoạt động kiểm tra phần mềm (KTPM) đóng vai trò rất quan trọng, trong khi đó hoạt động này lại tiêu tốn và chiếm tỷ trọng khá lớn công sức và thời gian trong một dự án. Do vậy, nhu cầu tự động hoá qui trình KTPM cũng được đặt ra. Qua thực tế cho thấy việc áp dụng kiểm tra tự động (KTTĐ) hợp lý sẽ mang lại thành công cho hoạt động KTPM. KTTĐ giúp giảm bớt công sức thực hiện, tăng độ tin cậy, giảm sự nhàm chán và rèn luyện kỹ năng lập trình cho kiểm tra viên (KTV). Bài viết này sẽ giới thiệu các khái niệm cơ bản của KTTĐ, đồng thời giới thiệu một công cụ KTTĐ khá mạnh hiện nay là QuickTest Professional 8.2 (QTP) của Mercury. TẠI SAO PHẢI DÙNG TEST TOOL Test Tool (TT) trong lĩnh vực PTPM là công cụ giúp thực hiện việc kiểm tra PM một cách tự động. Tuy nhiên không phải mọi việc kiểm tra đều có thể tự động hóa, câu hỏi đặt ra là trong điều kiện hoặc tình huống nào dùng TT là thích hợp? Việc dùng TT thường được xem xét trong một số tình huống sau: 1. Không đủ tài nguyên Khi số lượng tình huống kiểm tra (test case) quá nhiều mà các KTV không thể hoàn tất bằng tay trong thời gian cụ thể nào đó. Có thể lấy một dẫn chứng là khi thực hiện kiểm tra chức năng của một website. Website này sẽ được kiểm tra với 6 môi trường gồm 3 trình duyệt và 2 hệ điều hành Tình huống này đòi hỏi số lần kiểm tra tăng lên và lặp lại 6 lần so với việc kiểm tra cho một môi trường cụ thể. 2. Kiểm tra hồi qui Trong quá trình PTPM, nhóm lập trình thường đưa ra nhiều phiên bản PM liên tiếp để kiểm tra. Thực tế cho thấy việc đưa ra các phiên bản PM có thể là hàng ngày, mỗi phiên bản bao gồm những tính năng mới, hoặc tính năng cũ được sửa lỗi hay nâng cấp. Việc bổ sung hoặc sửa lỗi code cho những tính năng ở phiên bản mới có thể làm cho những tính năng khác đã kiểm tra tốt chạy sai mặc dù phần code của nó không hề chỉnh sửa. Để khắc phục điều này, đối với từng phiên bản, KTV không chỉ kiểm tra chức năng mới hoặc được sửa, mà phải kiểm tra lại tất cả những tính năng đã kiểm tra tốt trước đó. Điều này khó khả thi về mặt thời gian nếu kiểm tra thủ công.

3. Kiểm tra khả năng vận hành PM trong môi trường đặt biệt Đây là kiểm tra nhằm đánh giá xem vận hành của PM có thỏa mãn yêu cầu đặt ra hay không. Thông qua đó KTV có thể xác định được các yếu tố về phần cứng, phần mềm ảnh hưởng đến khả năng vận hành của PM. Có thể liệt kê một số tình huống kiểm tra tiêu biểu thuộc loại này như sau: • Đo tốc độ trung bình xử lý một yêu cầu của web server. • Thiết lập 1000 yêu cầu, đồng thời gửi đến web server, kiểm tra tình huống 1000 người dùng truy xuất web cùng lúc. • Xác định số yêu cầu tối đa được xử lý bởi web server hoặc xác định cấu hình máy thấp nhất mà tốc độ xử lý của PM vẫn có thể hoạt động ở mức cho phép. Việc kiểm tra thủ công cho những tình huống trên là cực khó, thậm chí "vô phương". Cần lưu ý là hoạt động KTTĐ nhằm mục đích kiểm tra, phát hiện những lỗi của PM trong những trường hợp đoán trước. Điều này cũng có nghĩa là nó thường được thực hiện sau khi đã thiết kế xong các tình huống (test case). Tuy nhiên, như đã nói, không phải mọi trường hợp kiểm tra đều có thể hoặc cần thiết phải tự động hóa, trong tất cả test case thì KTV phải đánh giá và chọn ra những test case nào phù hợp hoặc cần thiết để áp dụng KTTĐ dựa trên những tiêu chí đã đề cập bên trên. KHÁI QUÁT VỀ KTTĐ Việc phát triển KTTĐ cũng tuân theo các bước PTPM, chúng ta phải xem việc phát triển KTTĐ giống như phát triển một dự án. Bạn đọc có thể tham khảo bài viết về kiểm tra phần mềm trên TGVT A tháng 12/2005 (ID: A0512_110). Hình 1 cho chúng ta thấy mối tương quan giữa KTTĐ và toàn bộ chu trình KTPM.

 
Mối tương quan giữa KTTĐ và toàn bộ chu trình KTPM

Giống như PTPM, để thành công trong KTTĐ chúng ta nên thực hiện các bước cơ bản sau: • Thu thập các đặc tả yêu cầu hoặc test case; lựa chọn những phần cần thực hiện KTTĐ. • Phân tích và thiết kế mô hình phát triển KTTĐ. • Phát triển lệnh đặc tả (script) cho KTTĐ. • Kiểm tra và theo dõi lỗi trong script của KTTĐ. Bảng sau mô tả rõ hơn các bước thực hiện KTTĐ:

KTTĐ có một số thuận lợi và khó khăn cơ bản khi áp dụng:

0