1. Phân loại Tool
Tool có thể có một hoặc nhiều mục đích tùy thuộc vào ngữ cảnh như:
- Cải thiện hiệu quả của các hoạt động kiểm thử bằng cách tự động hóa các nhiệm vụ lặp đi lặp lại hoặc các nhiệm vụ yêu cầu nguồn lực đáng kể khi thực hiện thủ công (ví dụ: thực thi thử nghiệm, thử nghiệm hồi quy)
- Hỗ trợ các hoạt động thử nghiệm thủ công trong suốt quá trình thử nghiệm.
- Cải thiện tính nhất quán trong thử nghiệm và khả năng tái tạo lỗi
- Tự động hóa các hoạt động không thể thực hiện theo cách thủ công (ví dụ: thử nghiệm Perfomance quy mô lớn)
- Tăng độ tin cậy của thử nghiệm
Test Tool có thể được phân loại dựa trên một số tiêu chí như mục đích, giá cả, mô hình (ví dụ: thương mại hoặc mã nguồn mở) và công nghệ được sử dụng. Một số loại công cụ kiểm tra có thể xâm nhập, có nghĩa là chúng có thể ảnh hưởng đến kết quả thực tế của kiểm tra. Kết quả của việc sử dụng các công cụ xâm nhập được gọi là hiệu ứng thăm dò.
A. Tool hỗ trợ quản lý hoạt động kiểm thử và phần mềm
Management Tool có thể áp dụng cho bất kỳ hoạt động thử nghiệm nào trong toàn bộ vòng đời phát triển phần mềm. Ví dụ về các công cụ hỗ trợ quản lý kiểm thử và phần mềm kiểm thử bao gồm:
- Test management tools và Application Lifecycle management tools (ALM)
- Requirements management tools
- Defect management tools
- Configuration management tools
- Continuous integration tools
B. Tool hỗ trợ Static testing
Ví dụ về công cụ hỗ trợ Static testing
- Static analysis tools
C. Tool hỗ trợ Test Design và Implementation
Test design tool hỗ trợ tạo ra các Work Product như test cases, test procedures and test data Ví dụ về công cụ hỗ trợ Test Design và Implementation
- Model-Based testing tools
- Test data preparation tools
D. Tool hỗ trợ Test execution and logging
Nhiều công cụ có thể hỗ trợ và tăng cường các hoạt động thực thi kiểm thử và ghi lại kết quả kiểm thử. Ví dụ về các công cụ hỗ trợ Test execution and logging bao gồm:
- Test execution tools
- Coverage tools
- Test harnesses
D. Tool hỗ trợ kiểm thử Performance và Dynamic analysis
Sử dụng tool là cần thiết cho những hoạt động này vì những hoạt động này không thể thực hiện thủ công. Ví dụ về các công cụl hỗ trợ kiểm thử Performance và Dynamic analysis
- Performance testing tools
- Dynamic analysis tools
Ngoài những công cụ trên còn có những công cụ hỗ trợ các nhu cầu kiểm tra đặc biệt như thử nghiệm các đặc tính phi chức năng.
2. Lợi ích và rủi ro của Test Automation###
Các lợi ích của việc sử dụng các công cụ hỗ trợ kiểm tra bao gồm:
- Giảm công việc thủ công lặp đi lặp lại do đó tiết kiệm thời gian
- Tăng tính nhất quán và khả năng lặp lại cao hơn
- Đánh giá khách quan hơn
- Dễ dàng truy cập thông tin của hoạt động kiểm tra
Rủi ro khi sử dụng các công cụ hỗ trợ kiểm tra bao gồm:
- Kỳ vọng đối với kết quả mà công cụ mang lại có thể không thực tế
- Không ước tính đến thời gian, công sức để đưa công cụ vào sử dụng
- Tốn nhiều thời gian và nỗ lực cần thiết để đạt được những hiệu quả liên tục từ công cụ
- Không ước tính đến thời gian, công sức để duy trì những sản phẩm thử nghiệm do công cụ tạo ra
- Công cụ có thể bị phụ thuộc vào quá nhiều, trong khi kiểm tra thủ công sẽ tốt hơn
- Quản lý version của các sản phẩm công việc thử nghiệm có thể bị bỏ qua
- Sự tương tác giữa các công cụ có thể bị bỏ qua
- Nhà cung cấp công cụ có thể ngừng kinh doanh, ngừng hoạt động hoặc bán công cụ cho một nhà cung cấp khác
- Nhà cung cấp có thể phản hồi kém cho việc hỗ trợ, nâng cấp và sửa lỗi
- Một dự án nguồn mở có thể bị đình chỉ
- Nền tảng hoặc công nghệ mới có thể không được công cụ hỗ trợ
- Có thể không có quyền sở hữu rõ ràng đối với công cụ
3. Các nguyên tắc chính để lựa chọn công cụ
Những cân nhắc chính trong việc lựa chọn một công cụ cho một tổ chức bao gồm:
- Đánh giá sự trưởng thành của tổ chức, điểm mạnh và điểm yếu của nó
- Xác định các cơ hội có thể cải thiện quy trình thử nghiệm được hỗ trợ bởi các công cụ
- Hiểu biết về các công nghệ được sử dụng để chọn một công cụ tương thích với công nghệ đó
- Hiểu được cách xây dựng và tích hợp các công cụ với nhau để đảm bảo tính tương thích của công cụ
- Đánh giá công cụ dựa trên các yêu cầu rõ ràng và tiêu chí khách quan
- Xem xét liệu công cụ có thể trong thời gian dùng thử miễn phí hay không (và trong bao lâu)
- Đánh giá nhà cung cấp (bao gồm đào tạo, hỗ trợ và các khía cạnh thương mại) hoặc hỗ trợ cho các công cụ phi thương mại
- Xác định các yêu cầu nội bộ về huấn luyện và cố vấn trong việc sử dụng công cụ
- Đánh giá nhu cầu đào tạo, xem xét kỹ năng của những người sẽ làm việc trực tiếp với công cụ
- Cân nhắc ưu và nhược điểm của các mô hình cấp phép khác nhau
- Ước tính tỷ lệ chi phí - lợi ích dựa trên một trường hợp kinh doanh cụ thể
4. Hoạt động thử nghiệm công cụ vào một tổ chức
Sau khi hoàn thành việc lựa chọn công cụ, hoạt động tiếp theo sẽ là thử nghiệm công cụ đó vào tổ chức, với mục đích:
- Có được kiến thức chuyên sâu về công cụ, hiểu được cả điểm mạnh và điểm yếu của nó
- Đánh giá xem công cụ phù hợp với các quy trình và thực tiễn hiện có như thế nào và xác định những gì sẽ cần phải thay đổi
- Quyết định các cách tiêu chuẩn để sử dụng, quản lý, lưu trữ và bảo trì công cụ
- Đánh giá xem liệu các lợi ích có đạt được so với chi phí bỏ ra hay không
- Hiểu các chỉ số mà bạn muốn công cụ thu thập và báo cáo
5. Các nhân tố ảnh hưởng đến sự thành công của công cụ
Để việc áp dụng công cụ thành công, cần nhưng yếu tố sau:
- Cung cấp từng bước công cụ cho phần còn lại của tổ chức
- Điều chỉnh và cải tiến các quy trình để phù hợp với việc sử dụng công cụ
- Cung cấp đào tạo, huấn luyện và cố vấn cho người sử dụng công cụ
- Xác định các hướng dẫn sử dụng công cụ
- Giám sát việc sử dụng công cụ và lợi ích
- Cung cấp hỗ trợ cho người sử dụng công cụ
- Thu thập bài học kinh nghiệm từ tất cả người dùng
Điều quan trọng nữa là đảm bảo rằng công cụ được tích hợp về mặt kỹ thuật và tổ chức vào phần mềm vòng đời phát triển.
Tham khảo: sách ISTQB-CTFL_Syllabus_2018_V3.1