Khi nói đến 𝐓𝐞𝐬𝐭𝐢𝐧𝐠 chúng ta đều biết tới Manual testing và Automation testing.
Hiện nay, khi tư duy Agile phát triển, đi kèm theo các mô hình, thuật ngữ, các quy trình phát triển mạnh mẽ và tối ưu hơn thì Automation testing lại là sự lựa chọn tối ưu đối với các nhà phát triển phần mềm.
Ở hầu hết các quy trình sản xuất phần mềm, các Tester thường tham gia vào những công đoạn sau, làm hạn chế những hiệu quả mà Testing mang lại.
Chính vì vậy, trong những năm gần đây, **ý tưởng DevTestOps- ** đã được đưa ra, tới đây cùng mình tìm hiểu nhé!
I: Devtestops là gì
DevTestOps là sự kết hợp giữa DevOps và Kiểm thử liên tục. Quá trình này bao gồm thử nghiệm sớm, thử nghiệm thường xuyên và thử nghiệm trong suốt quy trình phân phối phần mềm.
The goal of DevTestOps is not to silo “Test” from Dev and Ops, but simply to raise the visibility of testers and testing as integral parts of the DevOps quality culture
Tức là: “Mục tiêu của DevTestOps không phải là ngăn chặn “Thử nghiệm” khỏi Dev và Ops, mà chỉ đơn giản là nâng cao khả năng hiển thị của người thử nghiệm và thử nghiệm như một phần không thể thiếu trong văn hóa chất lượng DevOps”
DevTestOps là một hướng tiếp cận mới trong quản lý dự án phần mềm, nó nhằm đáp ứng nhu cầu thay đổi liên tục của khách hàng, đảm bảo chất lượng và tối ưu hóa quy trình phát triển.
DevTestOps nhấn mạnh rằng khung thử nghiệm liên tục phải được tích hợp với quy trình CI/CD. Điều quan trọng nhất là tính liên tục của phản hồi thử nghiệm cho các nhà phát triển trong suốt các giai đoạn phát triển sản phẩm, do đó giảm rủi ro kinh doanh và khả năng tìm ra lỗi ở các giai đoạn sau.
II: Vận hành Devtestops
Để ứng dụng DevTestOps – thử nghiệm liên tục cần phải được tích hợp với thiết lập continuous integration (tích hợp liên tục) + continuous delivery (phân phối liên tục) + continuous deployment
Với DevTestOps, Tester cũng đóng một vai trò quan trọng trong suốt quá trình phát triển, phân phối và triển khai bằng cách cho phép phản hồi thử nghiệm ở mỗi bước thông qua thử nghiệm liên tục.
Nếu bạn đã nhìn thấy hình ảnh minh họa chắc bạn cũng đã biết rồi đấy, bao nhiêu thuật ngữ cho cũng chỉ xung quanh bức hình đó thôi, ứng với mỗi giai đoạn sẽ dùng các phương pháp Testing khác nhau, và giai đoạn nào cũng cần kiểm thử và kiểm thử một cách liên tục như vậy
III: Các phương pháp tối ưu giúp ứng dụng Devtestops thành công
1: Áp dụng Automation testing nhiều hơn
- Không chỉ tập trung vào tự động hóa test case mà còn cả quy trình lặp đi lặp ( giai đoạn này cần tư duy manual test để giúp script auto test có thể tái sử dụng), giúp tiết kiệm nhiều thời gian và công sức hơn.
2: Tích hợp công cụ
- Việc lựa chọn công cụ nên được thực hiện một cách khôn ngoan để giúp kiểm thử hiệu quả, nhanh hơn và dễ dàng hơn (túm lại là chọn công cụ phù hợp hỗ trợ nhanh hơn)
3: Giao tiếp minh bạch
- Giao tiếp và hiểu biết giữa tất cả các nhóm phải rất hiệu quả. Nó tránh nhầm lẫn, mang lại năng suất tốt. ( teamwork tốt khi chúng ta hiểu từng đội nhóm làm gì và mình cần làm việc với ai, giao tiếp tránh conflict ha)
4: Performance testing (Test hiệu suất)
Nó sẽ đóng một vai trò quan trọng trong chu kỳ phân phối để tránh bất kỳ sự cố sự cố nào có thể xảy ra do luồng người dùng khối lượng lớn.
5: Perform Multilayer testing (Thực hiện kiểm tra nhiều lớp)
Tất cả các loại kiểm tra như tích hợp, API, GUI, kiểm tra cơ sở dữ liệu phải được kết hợp trong chu kỳ phân phối và các loại kiểm tra tối đa phải được tự động hóa.
**Một số công cụ và kỹ thuật được sử dụng trong DevTestOps bao gồm: **
- Automation testing (ví dụ akaAT Studio(tool này được sử dụng rộng rãi tại Việt Nam và có cộng đồng người việt hỗ trợ), katalon studio, ....
- Continuous integration,
- Continuous delivery,
- Infrastructure as code,
- Containerization,
- Monitoring and logging.
Rồi hiểu lí do vì sao Automation tester đang là vị trí hot hiện nay rồi ha cả nhà
Chúc cả nhà học tập vui vẻ!