KHA NGUYEN

Automation Specialist of Luxoft Vietnam

More than 11 years experienced the cross cultural and world-class working environment in software development, Kha is on the way to pursue the career goal with his domain knowledge of banking, finance, e-commerce and oil & gas; combined with the experience he earned from different positions: automation tester, manual tester, test leader as well as developer.


CÁCH CỦA KHA

Công nghệ thay đổi từng giây, là dân công nghệ – bạn không bao giờ được phép ngừng học hỏi!

Học từ đâu? Kỷ nguyên Internet – gần như bất cứ gì bạn cần Google cũng có thể giải đáp; từ những người xung quanh, sếp – và đồng nghiệp.

Học cái gì? Công nghệ mới vừa trình làng, các framework mới nhất vừa được cập nhật, và cả ngôn ngữ lập trình mới nhất vừa xuất hiện. Hãy tự định trước hướng đi của riêng mình, tương lai khi dự án yêu cầu thì bản thân bạn đã sẵn sàng.

 


HÀNH TRÌNH ĐẾN VỚI AUTOMATION TEST

Anh có 10 giây để giới thiệu về Automation Test, một cách dễ hiểu nhất!

Bạn nghĩ sẽ mất bao lâu để tester kiểm tra hết chức năng trong hệ thống? Và nếu đòi hỏi quá trình test lặp lại nhiều lần thì bạn hình dung xem áp lực lên người test, khối lượng công việc và chi phí bỏ ra lớn đến mức nào? Automation Test là một vị cứu tinh!

Quá trình test được thực hiện tự động bởi máy tính, theo kịch bản mà bạn mong muốn, tự động – nên có thể lặp nhiều lần với thời gian nhanh hơn manual test rất nhiều.

 

Muốn xây dựng automation test cho một ứng dụng bất kỳ, nên bắt đầu thế nào?

Trước hết, cần xác định tool/framework một cách chính xác. Hãy trả lời các câu hỏi sau:

1. Mục tiêu bạn muốn khi áp dụng automation test?

2. Bạn dự định dùng tool/framework nào?

3. Tool/framework bạn chọn bao nhiêu tuổi đời? có ổn định không?

4. Tool/framework bạn chọn có được cập nhật thường xuyên không?

5. Nếu chọn tool/framework bản quyền, đây có phải là thời điểm tốt để bạn mua hay không?

6. Chi phí bạn phải bỏ ra để mua tool/framework là bao nhiêu? (bao gồm chi phí research và training)

7. Liên hệ với những người đã từng dùng tool/framework mà bạn dự định chọn, họ có lời khuyên gì cho bạn?

8. Đánh giá của cộng đồng về tool/framework bạn chọn như thế nào?

9. Trình độ kỹ năng và nhân lực của team bạn, có phù hợp để sử dụng tool/framework đó hay không?

Sau khi đã có câu trả lời đầy đủ, bạn đã quyết định được tool/framework sẽ sử dụng. Vấn đề còn lại là về mặt kỹ thuật, phần này thì chắc chắn bạn biết cách xử lý rồi 😀

 

Automation Test trong môi trường Agile đem lại hiệu quả gì?

Đối với môi trường Agile, việc liên tục cho ra các phiên bản mới, liên tục đón nhận các thay đổi từ khách hàng thì Automation test là 1 trợ thủ đắc lực giúp giảm thời gian regression test, cho kết quả test nhanh và do đó, các manual tester có thời gian khám phá, tìm tòi để cover hết các trường hợp để giúp hoàn thiện sản phẩm.

 

Có phải tất cả ứng dụng đều có thể dùng Automation Test?

Đương nhiên là không. Khi chi phí mua tool/framework, xây dựng và duy trì việc automation testing cao hơn hiệu quả thu được, thì đương nhiên dự án đó bạn không nên thực hiện Automation Test.

 

5 sai lầm thường mắc phải khi xây dựng Automation Test?

1. Lựa chọn chính xác framework cần dùng là một trong những việc phức tạp nhất. Giống như khi bạn cân nhắc để mua 1 chiếc xe của 1 hãng nổi tiếng, hay tự ráp cho mình 1 chiếc xe phù hợp với những gì mình cần vậy. Sẽ ra sao nếu bạn quyết định ráp xe mà bạn không có kĩ thuật phù hợp? Và sẽ như thế nào nếu thực tế bạn cần 1 chiếc xe đi trong thành phố, nhưng lại chọn 1 chiếc chạy được cả offroad?

2. “Code sạch”. Bạn nghĩ sao, nếu như người “thừa kế” của automation test vò đầu bức tai muốn nổ não để hiểu người viết ban đầu đang viết cái gì?

3. Không có kế hoạch bảo trì. Ứng dụng thì liên tục được cập nhật, lên tới version 10.0 chẳng hạn nhưng automation test thì chỉ chạy đúng với version 6.0. Chắc sẽ thú vị, nhỉ?

4. Không có tính tái sử dụng. Trong scripts test automation của bạn có hàng chục chỗ cần login, chẳng lẽ chúng ta viết scripts cho login hàng chục lần sao? Chắn chắn rằng trong scripts của automation test có rất nhiều chỗ lặp lại. Chỉ cần 1 lần code, bạn làm được mà 😀

5. Thiếu quan tâm. Automation test cũng là phát triển phần mềm, nó cũng nên được quan tâm như khi chúng ta viết code cho sản phẩm.

 

Chúng ta có thể tin tưởng hoàn toàn vào Automation Test?

Bạn chỉ có thể thực hiện test automation khi bạn đã có kế hoạch test manual tốt. Tuy nhiên, ngay cả với phong trào DevOps đang phát triển, thì automation test cũng vẫn cần manual để làm exploratory test.

 

Mọi Developer đều có thể viết script cho Automation Test?

Miễn là họ biết ngôn ngữ dùng để viết scripts. Và điều quan trọng nhất: bộ não của một tester và những ngón tay code của 1 developer. Ngoài việc biết ngôn ngữ, họ có cần có kinh nghiệm test, biết cách viết test cases,…

 

Như vậy nghĩa là chúng ta không cần Tester nữa?

Sai. Trừ khi bạn làm trong 1 dự án mà Project Manager & khách hàng hoàn toàn tin tưởng vào các lập trình viên và cho rằng các bạn lập trình viên có thể hoàn thành tốt luôn công việc của tester.

Đối với các dự án có automation test, vai trò của manual test vẫn rất quan trọng, họ giúp hoàn thiện các kich bản test automation, hỗ trợ automation test trong việc lựa chọn test case, kiểm tra lỗi report bởi automation test và quan trọng nhất là tìm ra các hướng test, cách test để bảo đảm chất lượng của phần mềm…

 

Điều cuối cùng, anh sẽ khuyên Tester đi theo hướng manual hay automation?

Tuỳ mục tiêu của bạn. Công nghệ thông tin là một ngành mà kĩ thuật, thị hiếu, nhu cầu… luôn biến đổi và phát triển không ngừng. Hãy chuẩn bị cho tương lai của mình một cách khôn ngoan nhất. Bạn sẽ trả lời khách hàng: “Okay, tôi làm được!” hay “À… để xem tôi có biết làm hay không”? Quyết định là ở bạn!

From: vietnamworks.com