Chương 3. XÂY DỰNG CÔNG CỤ HỖ TRỢ KIỂM THỬ DỊCH VỤ WEB
3.2. Phân tích và đánh giá hệ thống
3.2.4. Phân tích kết quả
3.2.4.5. Đánh giá kết quả
Sau khi hoàn thành công cụ kiểm thử websevice trên tôi đã thực hiện triển khai tại Trung tâm phần mềm viễn thông Viettel để thực hiện một số Web service cơ bản.
Về đánh giá ban đầu là khá tốt so với việc kiểm thử thủ công bằng tay như hiện tại.
Dưới đây là kết quả triển khai thực nghiệm và thực hiện so sánh về thời gian tạo kịch bản kiểm thử, thời gian thực hiện kiểm thử và kiểm thử lại với Web service lấy thông tin thuê bao tại Ban kiểm thử service thuộc BU BSS – Trung tâm phần mềm viễn thông Viettel.
TT Người thực hiện
Số lƣợng testcase thực hiện
Thời gian thực hiện thực tế
Thời gian khi sử dụng
công cụ
Đánh giá
1 Đỗ Thị Tuyết 6 1MD 0.5MD
Công cụ hỗ trợ khá tốt, tuy nhiên kết quả thực
hiện còn phụ thuộc
vào việc nhân viên phát triển
fix lỗi
2 Nguyễn Thị Ngoan 6 2MD 0.8MD Tốt, dễ sử
dụng
3 Lê Thị Huế 6 1.5MD 0.5MD Khá tốt
4 Lê Thị Hiền 6 1MD 0.5MD Khá tốt
5 Bùi Thị Khanh 6 1.2MD 0.5MD Khá tốt
Như vậy so với cách test hiện tại, công cụ rút ngắn thời gian kiểm thử xuống khoảng một nửa đối với trường hợp số lượng testcase được giữ nguyên. Nếu phát triển công cụ có khả năng hỗ trợ tạo testcase tự động thì số lượng testcase sẽ tăng lên, vì một số testcase khi thực hiện thủ công sẽ bỏ qua, ví dụ như trường hợp user sai nhưng chứa user đúng trong đó. Trường hợp này nhằm kiểm tra lỗi tiềm ẩn, nhất là với các nhân viên phát triển mới tuyển dụng.
3.2.4.5.2. Đánh giá theo bộ tiêu chí tại Viettel:
Tại Trung tâm Phần mềm viễn thông Viettel đang áp dụng bộ 21 tiêu chí để đánh giá sản phẩm phần mềm. Sau đây là một số tiêu chí cơ bản:
Về tính hiệu quả sử dụng: Công cụ được xây dựng dựa trên bài toán thực tế nên có hiệu quả cao về mặt sử dụng. Công cụ có thể giúp giảm bớt thời gian thực hiện kiểm thử mà vẫn cho kết quả đúng đắn như kiểm thử thủ công thông thường.
Về tính đúng đắn, tin cậy: Một trong những yếu tố quyết định đến chất lượng của Web service là tính tin cậy. Với công cụ trên sẽ thực hiện dựa trên bộ testcase được định lượng hóa nên đảm bảo sẽ phủ được hết các trường hợp cần kiểm thử. Chính vì vậy hệ thống đáp ứng được tính đúng đắn, tin cậy với đầu vào tin cậy.
Về tính đơn giản, dễ sử dụng: Hệ thống được xây dựng dựa trên mô phỏng công việc của một nhân viên kiểm thử nên rất gần với các thao tác kiểm thử hiện tại đang thực hiện. Vì thế hệ thống rất dễ tiếp cận và dễ sử dụng.
Về tính dễ bảo trì, sửa chữa: Hệ thống được xây dựng trên mã nguồn mở. Cho phép người vận hành có thể cập nhật, bổ sung các cấu hình cũng như mã nguồn để đảm bảo phục vụ người sử dụng một cách hoàn chỉnh nhất.
Về tính dễ vận hành, giám sát: Hệ thống được phân tích, thiết kế dựa trên nhu cầu kiểm thử hiện tại nên dễ kiểm soát, vận hành và giám sát.
3.2.4.5.3. Đánh giá theo thời gian đáp ứng so với SoapUI [14][15]
Thời gian đáp ứng tính từ lúc gửi request lên web service đến khi ứng dụng nhận được phản hồi. Thời gian này tùy thuộc vào đường truyền mạng, tùy thuật toán xử lý nên có thể khác nhau. Dưới đây là thời gian đáp ứng của công cụ so sánh với SoapUI, thực hiện trên bộ 6 testcase của web service lấy thông tin thuê bao. Các công cụ được chạy trên cùng một máy tính, thời gian chạy giữa 2 công cụ liên tiếp nhau cách nhau 10 phút
Thời gian đáp ứng (ms)
SoapUI Công cụ đang phát triển
Lần 1
Testcase 1 48
Tổng:
96
53
Tổng:
86
Testcase 2 8 6
Testcase 3 11 9
Testcase 4 10 5
Testcase 5 9 6
Testcase 6 10 4
Lần 2
Testcase 1 1626
Tổng:
1684
14
Tổng:
756
Testcase 2 16 6
Testcase 3 10 10
Testcase 4 11 705
Testcase 5 10 11
Testcase 6 11 10
Lần 3
Testcase 1 92
Tổng:
161
6
Tổng:
65
Testcase 2 15 6
Testcase 3 16 37
Testcase 4 15 10
Testcase 5 12 3
Testcase 6 11 3
Trung bình Tổng 6 testcase: 647 Tổng 6 testcase: 302 Kết quả cho thấy thời gian đáp ứng của công cụ tương đối tốt khi so sánh với SoapUI. Tuy nhiên thực tế, tổng thời gian thực hiện test lại cao hơn, do việc xử lý trên giao diện phức tạp hơn. Các bước lấy kết quả và đối chiếu, cập nhật grid trên giao diện, lưu kết quả vào database,… chiếm khá nhiều thời gian. Còn trên SoapUI hầu như thời gian test chỉ là tổng thời gian đáp ứng của mỗi testcase. Mặc dù vậy, thời gian đáp ứng vẫn là tiêu chí chính để đánh giá, vì các thời gian xử lý còn lại là trên nội bộ của công cụ, ít khi thay đổi.
3.2.4.5.4. Các tiêu chuẩn đánh giá khác
Một số tiêu chuẩn khác để đánh giá công cụ test tự động [16]:
Độ bao phủ (coverage): việc thực hiện test không nhất thiết phải đảm bảo chương trình chạy hoàn toàn chính xác, mà chỉ test được một phần của mã chương trình. Do đó có khái niệm về mức độ bao phủ (đo bằng phần trăm) để chỉ ra bao nhiêu phần của code được kiểm tra [16]
Khả năng tạo testcase tự động: tạo ngẫu nhiên giá trị cho đầu vào, tùy theo kiểu dữ liệu.
Báo cáo kết quả test: hiển thị kết quả test, số lượng case test thành công, số lượng pass và fail…
Hỗ trợ đa nền tảng: khả năng chạy trên nhiều hệ điều hành, nền tảng framework…
Dưới đây là tổng hợp so sánh với hai công cụ phổ biến để test web service là SoapUI và JMeter:
Công cụ
Hãng phát triển
Độ bao phủ
Tạo testcase tự động
Báo cáo kết quả test
Hỗ trợ nền tảng
Ngôn ngữ
SoapUI SmartBear Software
Không xác định
được
Tạo mẫu 1 testcase/1
hàm WS
Không xuất file kết quả
Windows Mac Linux
Java
Jmeter Apache Không xác định
Tạo mẫu 1 testcase/1
Không xuất
file kết quả Windows Java
Software Foundation
được hàm WS Hỗ trợ dạng đồ thị
Mac Linux Công
cụ đang
phát triển
Không xác định
được
Tạo tự động nhiều testcase/1 hàm WS theo
kiểu dữ liệu
So sánh kết quả tự động Xuất file kết quả ra excel
Windows .Net