Làm thế nào để việc testing đạt kết quả tốt nhất trong khoảng thời gian hạn chế?
Bài đăng này đã không được cập nhật trong 3 năm
Điều gì sẽ xảy ra nếu không có đủ thời gian để thực hiện testing một cách kỹ lưỡng?
Trong thực tế khi thực hiện develop hay maintain một dự án lớn/ nhỏ bất kỳ nào, tester đều thường xuyên phải đối mặt với bài toán "Làm thế nào để việc testing đạt kết quả tốt nhất trong khoảng thời gian hạn chế?"
Việc thực hiện testing toàn bộ ứng dụng hay hệ thống trong một khoảng thời gian quy định ( tương đối hữu hạn) là điều không thể. Do đó, với tình huống này, chúng ta sẽ có những cách áp dụng khác nhau để đạt được hiệu quả testing tốt nhất.
I. Dựa trên kinh nghiệm
Điều tốt hơn cả là tìm ra những yếu tố được cho là risk của dự án và tập trung vào chúng. Dưới đây là một số điểm cần được xem xét trong quá trình thực hiện testing:
- Tìm kiếm xem đâu là các chức năng quan trọng của dự án?
- Tìm kiếm xem đâu là module chứa nhiều risk trong dự án?
- Những chức năng nào user thường sử dụng?
- Những chức năng nào có độ an toàn cao?
- Những chức năng nào có ảnh hưởng lớn đến user?
- Những khía cạnh nào của app là quan trọng nhất đối với khách hàng?
- Những phần nào có code phức tạp nhất và dễ xảy ra sai sót nhất?
- Những phần nào của app được phát triển gấp rút?
- Dev vó đánh giá gì về những phần có độ risk cao trong app?
- Những loại vấn đề gì nếu bị phát hiện sẽ trở nên rất tồi tệ?
- Những loại vấn đề gì có thể bị khiếu nại từ phía khách hàng?
- Những loại testing nào có thể kiểm tra cùng lúc nhiều chức năng?
Dựa vào những điểm này sẽ giúp bạn đánh giá và trả lời được những phần nào cần phải thực hiện testing. Như vậy sẽ làm giảm đáng kể độ risk khi release dự án trong một khoảng thời gian có hạn.
II. Áp dụng test coverage
1. Định nghĩa test coverage
- Coverage nghĩa là " Cần thực hiện testing cái gì? và Thực hiện testing bao nhiêu là đủ?"
- Test coverage sẽ giúp kiểm soát chất lượng testing, và hỗ trợ tester viết và cover được những phần còn thiếu hoặc không hợp lệ.
2. Làm thế nào để áp dụng phương pháp test coverage?
- Điều thứ nhất, tester cần phải nắm rõ được khối lượng công việc, các task và các task đó ở phần nào. Bằng cách đó, tester có thể đánh giá được cần phải thực hiện testing như thế nào.
- Thứ hai, xem xét lại resource và phân chia công việc để thực hiện và quản lý quá trình testing một cách hiệu quả.
Tham khảo bảng dưới đây:
3. Làm sao để chắc chắn mọi phần đã được test và test một cách tốt nhất có thể?
- Mỗi tester nên đánh giá được các yêu cầu và có phương pháp testing tương ứng
- Đánh độ ưu tiên cho các yêu cầu và tập trung vào phần cần thiết nhất
- Nắm được sự thay đổi giữa các bản release để từ đó có thể xác định chính xác hơn những yêu cầu quan trọng và tập trung vào phần đó
- Áp dụng test automation
- Sử dụng test manager tool để nắm được chính xác hiện trạng
- Phân chia công việc một cách thông minh: phân chia những task quan trọng cho những thành viên tốt nhất và phân chia những task mới ít quan trọng hơn cho những thành viên mới
- Duy trì checklist cho tất cả các task và các hoạt động
- Tương tác nhiều hơn với các team để có nhận định và đánh giá sâu hơn cho các hoạt động của app
- Theo dõi tất cả các bản build và các phần đã fix
- Xác định vùng ảnh hưởng sau mỗi bản build ( khi có thể ), như vậy những người sau sẽ tránh được lỗi tương tự
Không phải cứ thực hiện test càng nhiều, thì sẽ có kết quả test càng tốt.
Trên thực tế, khi bạn test càng nhiều mà không có bất cứ chiến lược nào, bạn sẽ phải đầu tư vào đó rất nhiều thời gian. Và điều này hoàn toàn đi ngược lại với thực tế phát triển phần mềm.
Vì vậy, mỗi tester cần trang bị cho mình những chiến lược (test strategy) và những cách tiếp cận (test approach) để có thể đảm bảo và nâng cao chất lượng testing.
Tham khảo:
http://www.softwaretestinghelp.com/maximize-test-coverage-in-less-time/ http://www.softwaretestinghelp.com/what-if-there-isnt-enough-time-for-thorough-testing/
All rights reserved