Tôi thấy có nhiều người hỏi auto test là làm gì, thì auto test làm những thứ này đây.
Test chia ra làm functional và non-functional. Functional lại chia ra các kiểu test khác nhau, non-functional cũng vậy: performance, security, etc. Mỗi cái nhánh trong đó nó lại chia ra nhiều nữa
Phần lớn những auto tester hiện nay làm ở phía front-end là lớp UI của web application hay mobile application. Đây xem như bước đệm basic nhất vì auto trên UI dễ hơn nhiều các lớp khác.
Sau cái lớp UI là những thứ hầm bà lằng phía dưới mà ta gọi là backend, ví dụ database, API tùy vào framework hay độ phức tạp của product
Vậy những cái lớp khác có cần auto ko? Có, vậy ta nên auto cái nào? Cái này cần 1 kinh nghiệm lớn lao khi đi làm và có mentor chỉ dẫn vì sa đà quá vào 1 lớp ko hiệu quả, cũng như phải đánh giá thế nào là auto là hiệu quả. Vậy những việc này ai làm? Sau này khi làm auto chững rồi sẽ phải làm vì ko thể cứ đi auto theo kiểu ăn xổi ở thì và cuốn chiếu mà ko biết đánh giá hiệu quả auto
Khi làm auto những thứ sẽ phải làm trc' hết bao gồm;
- Đánh giá testability của 1 feature/component. Đánh giá nên làm auto ko. Đánh giá nên auto lớp nào, nên auto unit / component hay auto nguyên 1 cục
- Phân định xài tool, framework hay library hay thậm chí ngôn ngữ gì để auto. Ví dụ database thì khác, APi thì khác, mobile thì khác, web thì khác. Nếu gom 1 nguyên 1 cục để làm auto thì phải viết framework thì càng khác
- Vạch ra test strategy/plan để auto. Vì như đã nói ở trên việc build framework hay chọn tool là 1 việc nhỏ, vì nếu chưa có skillset thì kiếm hằng hà đa số mấy cái open-source tool để xài , nổi trội hiện nay là TestProject. Ví dụ bạn có đi cướp ngân hàng cũng phải vạch ra cướp làm sao, làm sao để cướp an toàn, cướp bao nhiêu, ai sẽ cướp cùng bạn, khi làm auto test cũng vậy. Tất nhiên mới ra trường biết gì mà làm cái này, việc này đã có lead của bạn lo
- Mindset về manual test là quan trọng nhất, đặc biệt skill exploratory testing. Skill này là tối quan trọng vì: 1. Fence ko thể auto hết được mọi thứ, 2. Auto ko thể thay thế manual, 3. Auto test case cũng đi từ manual mà ra, 4. Phải define ra scenarios mới auto hiệu quả dc, mà muốn có scenarios phải thuần thục manual test
Vậy nên auto có dành cho mọi người ko? Có, nhưng có dễ master ko? Không vì xác định muốn đi sâu là phải học rất nhiều