Hello world 😀
Đây có lẽ là bài viết đầu tiên trên blog của mình, như đã nói blog này được sinh ra với mục đích là nơi mình lưu trữ lại tất cả những kiến thức mà mình góp nhặt được để khi cần có thể tìm lại dễ dàn và bài viết đầu tiên này mình muốn viết về chủ đề liên quan đến Automation test. Ok Let’s get started.
Design Pattern định nghĩa là gì ? Có lẽ với Developer thì sẽ thấy quen thuộc hơn còn với Tester – người đi tìm bug với ít kinh nghiệm lập trình sẽ thấy tương đối xa la, ở đây mọi người có thể hiểu nôm na thế này:
- Design Pattern giống như việc bạn xây một ngôi nhà và đã có trong tay bản thiết kế ( bản thiết kế đó đã được kiểm chứng ), kế hoạch xây dựng như thế nào. Nếu bạn xây nhà mà không có bản thiết kế thì thế nào ? Tất nhiên là vẫn xây được thôi, nhưng nó lâu và sẽ lãng phí thời gian công sức và tiền bạc hơn là xây một ngôi nhà mà đã có tất cả sự chuẩn bị đúng không ạ 😀
- Design Pattern là một kỹ thuật lập trình ( áp dụng cho gần như tất cả các ngôn ngữ như java, js, c#,.. ) nó cung cấp một giải pháp lập trình để giải quyết các vấn đề chung thường gặp. Rõ ràng bạn có thể bảo tôi có thể xử lý vấn đề đó theo cách của tôi nhưng nếu bạn apply design pattern vào trong code thì chắc chắn sẽ tối ưu hơn ( cái này cũng hơi cấn cấn – tại lỡ bạn giỏi hơn những người đi trước thì sao ) nhưng nói chung là các vấn đề bạn gặp khi code thì đã hàng tỉ ông gặp phải rồi nên là cứ thế mà apply đi.
Với Developer thì họ sẽ cần biết nhiều design pattern hơn Tester, nên nếu mọi người muốn tìm hiểu sâu hơn về Design Pattern thì chắc search goolge tiếp nhé ( https://refactoring.guru/design-patterns )
Trong automation test mọi người sẽ thường nghe tới vài pattern như này:
- Page Object Model
- Factory Design Pattern
- Facade Pattern
- Singleton Pattern
- Fluent Page Object Model
Mình dự định sẽ viết đủ về hết các pattern này nên nếu ai quan tâm thì follow cùng nhé, link mình sẽ update liên tục trong bài viết này.
Về cơ bản các design pattern này được apply vào trong automation test để thỏa mãn nguyên tắc trong lập trình ( lại bắt đầu lan man rồi, thôi mọi người ai muốn các nguyên tắc đó là gì ta lại search google nhé, mình có suggest mọi người cái link này: https://viblo.asia/p/nhung-nguyen-tac-dinh-luat-thong-dung-khi-lap-trinh-gGJ59g2DZX2 )
Lưu ý: để có thể hiểu rõ hơn về Design Pattern mọi người nên có một chút kiến thức về OOP ( 4 tính chất quan trọng ), hiểu và áp dụng được abstract class & interface, kiến thức về basic Selenium or một framework automation nào đó nhưng trong seri này chủ yếu mình sẽ lấy ví dụ với Selenium.
Một số link tham khảo về design pattern trong automation test mọi người có thể tham khảo:
https://www.browserstack.com/guide/design-patterns-in-automation-framework
https://kobiton.com/blog/test-automation-design-patterns-you-should-know/