Nội dung bài học
✅ Lợi ích khi sử dụng CI
✅ Job Schedule là gì?
✅ Test Engine của akaAT
✅ Cách tạo tài khoản và project trên Test Engine
✅ Cách cài đặt Agent trên máy tính local
✅ CI là gì?
CI (là viết tắt của Continous Integration) Tích hợp liên tục là phương pháp phát triển phần mềm đòi hỏi các thành viên trong nhóm tích hợp công việc thường xuyên. Mỗi ngày, các thành viên đều phải theo dõi và phát triển công việc của họ ít nhất một lần. Việc này sẽ được một nhóm khác kiểm tra tự động, nhóm này sẽ tiến hành kiểm thử truy hồi để phát hiện lỗi nhanh nhất có thể. Cả nhóm thấy rằng phương pháp tiếp cận này giúp giảm bớt vấn đề về tích hợp hơn và cho phép phát triển phần mềm gắn kết nhanh hơn.
Nói tóm lại thì CI là phương pháp được sử dụng để đảm bảo code của toàn dự án luôn build được, luôn chạy đúng (Pass toàn bộ các test case).
Hiện tại, hầu như các công ty phần mềm lớn đều áp dụng CI, thông qua một số framework như: Jenkins, Azure, TFS, TeamCity, Hudson, Travis,…Và trong akaAT thì có Test Engine giúp chúng ta có thể setup Job Schedule để sử dụng trong CI thuận tiện hơn. (hiện tại akaAT không thực thi CI/CD như Jenkins)
✅ Lợi ích khi sử dụng CI
- Giảm rủi ro tích hợp: Làm việc trên các dự án có nghĩa là nhiều người sẽ làm việc trên các task công việc riêng biệt hoặc các phần của mã nguồn. Càng nhiều người thì rủi ro khi tích hợp sẽ càng lớn dẫn đến việc sửa lỗi cũng như khắc phục những rủi ro này. Thực hiện tích hợp hàng ngày hoặc thậm chí thường xuyên hơn có thể giúp giảm thiểu các loại vấn đề này ở mức tối thiểu.
- Tăng chất lượng code: Không cần phải lo lắng về các vấn đề xảy ra và tập trung nhiều hơn vào các tính năng của hệ thống giúp ta viết ra sản phẩm có chất lượng cao hơn.
- Phát hiện lỗi code sớm: Nếu việc build thất bại thì bạn và nhóm của bạn sẽ nhận được thông báo ngay lập tức và sẽ có phương án khắc phục sự cố trước khi những người khác trong nhóm kéo code lỗi đó về dẫn đến các rủi ro về sau.
- Giảm sự tranh luận giữa các thành viên: Hệ thống mang khách quan tại chỗ giúp giảm sự tranh cãi giữa các thành viên xem ai là người gây ra lỗi vì chỉ cần xem CI report thì sẽ tìm ra thủ phạm ngay.
- Giúp bớt phần nào công việc của tester: Vì hệ thống đã tích hợp việc chạy các test case khiến các bug cơ bản được phát hiện sớm giúp giảm lượng công việc của các tester và họ có thể dùng effort vào những việc khác.
- Giảm thời gian deploy: Deploy dự án là một công việc rất nhàm chán và tốn thời gian, và việc tự động hoá quá trình này là rất cần thiết.
- Tạo tâm lý thoải mái: chúng ta sẽ không làm việc hiệu quả nếu cứ lo sợ sẽ làm hỏng một cái gì đó. Việc áp dụng CI sẽ giúp các thành viên có tâm lý thoải mái từ đó tập trung tinh thần tạo ra kết quả tốt hơn.
- Thành viên mới có thể hòa nhập dễ dàng hơn: Quá trình build có thể tăng tốc sự thích ứng của thành viên mới đối với nhóm của mình.
Không sử dụng CI | Sử dụng CI |
---|---|
Rất nhiều lỗi | Ít lỗi hơn |
Commit không thường xuyên | Commit thường xuyên |
Bản phát hành không thường xuyên, chậm | Bản phát hành hoạt động thường xuyên |
Khó tích hợp | Tích hợp dễ dàng và hiệu quả |
Kiểm thử xảy ra muộn | Kiểm thử xảy ra sớm và thường xuyên |
Khó khắc phục các sự cố | Khắc phục sự cố nhanh và hiệu quả |
✅ Job Schedule là gì?
Job Schedule nghĩa là tạo ra các công việc cần làm theo lịch trình trong một ngày theo giờ nào đó hoặc bất cứ mốc thời gian nào mà chúng ta sắp đặt. Theo ngày theo tháng theo năm tuỳ ý và nó sẽ chạy một cách tự động theo lịch trình đó.
Cụ thể hơn với các script test cases để test automation thì trong môi trường CI tính năng Job Schedule như một tính năng chính và cốt lõi. Vì nếu không có Job thì chạy cái gì liên tục bây giờ 😁
Job Schedule cho phép chúng ta thực thi trực tiếp script test cases từ local trên tools hoặc project test và có thể kết nối với project từ trên Git (GitHub, GitLab, Bitbucket,...). Song song đó tuỳ vào nền tảng CI mà chúng ta có thể kết hợp với các nền tảng tích hợp khác như Jenkins, Azure,...
Phần tiếp theo An sẽ chỉ các bạn cách tạo Job Schedule trong Test Engine để thực thi test cases từ trên tools akaAT Studio.
✅ Test Engine của akaAT
Test Engine là một sản phẩm trong dịch vụ đám mây akaAT Management của akaAT bao gồm 2 sản phẩm bên trong là "Test Engine" và "Test Management".
Test Engine là sản phẩm được xây dựng trên đám mây (server của akaAT luôn) cho phép chúng ta thiết lập các công việc để quản lý và thực thi test cases tự động với Job Schedule và CI/CD.
Test Management là sản phẩm được xây dựng trên đám mây giúp các bạn có thể làm việc đội nhóm để thiết lập kế hoạch chung và theo dõi chúng thực thi tự động hoặc thực thi thủ công. (có thể kết nối với module Test Flex trên akaAT Studio)
Test Engine gồm 4 tính năng chính trong hệ thống tích hợp CI:
✅ Cách tạo tài khoản và project trên Test Engine
Để sử dụng được dịch vụ đám mây của akaAT nói chung thì chúng ta cần đăng ký tài khoản tại trang https://manager.akaat.com/
Tài khoản chỉ được dùng thử 30 ngày. Vì tính năng này cần phải trả phí. Các bạn xem giá tại đây https://akaat.com/pricing (chọn tab Test Engine)
Sau khi đăng nhập thì chúng ta vào được trang chủ cho người dùng Trial để tạo Project mới để tiến hành sử dụng các tính năng cho project đó đầy đủ với 2 công cụ chính là Test Management và Test Engine.
Tại màn hình này các bạn nhấn Create Project và điền thông tin vào form mẫu.
Các bạn lưu ý cái field Project Key nó tự sinh từ Name thôi chứ không có gì.
Sau khi nhấn Save lại thì chúng ta sẽ tạo được project và chuyển hướng đến trang Dashboard để quản lý.
✅ Cách cài đặt Agent trên máy tính local
Để có thể bắt đầu dùng được CI trên Test Engine buộc chúng ta phải tạo 1 Agent và đăng ký một máy chủ Agent dưới máy local để có thể kết nối online với hệ thống đám mây của akaAT.
Để tạo Agent trong Test Engine thì các bạn click vào menu Agent Pools tại màn hình Dashboard thuộc tab Test Engine. (coi chừng nhầm tab Management không thấy menu Agent đó nhe)
Tại trang Agent Pools các bạn nhấn button Add New Agent Pool và sau đó điền form với tên và mô tả cho Agent Pool.
Tiếp theo chúng ta đăng ký một Agent con bên trong Agent Pool đó bằng cách click vào Agent Pool và click button Register new agent.
Tiếp theo chúng ta Download akaAT Agent về máy sau đó giải nén trong thư mục cố định trên máy tính Window.
Đồng thời các bạn nhấn Copy cái mã key lại để sau khi giải nén dùng để chạy lệnh khởi động con akaAT Agent.
An tạm đặt thư mục giải nén của akaAT Agent trong ổ đĩa như mẫu
Tiếp theo mở CMD trực tiếp tại thư mục này và chạy lệnh với đoạn mã key đã copy trước đó. Lưu ý đặt đường dẫn lưu data khi chạy Agent như hình.
Chạy lệnh thành công nó sẽ thông báo như này. Nó tự lấy tên máy tính là tên con Agent luôn. (được hiển thị trên trang Test Engine)
Sau đó nó sẽ tự sinh cho chúng ta folder chứa data như đường dẫn đã đặt. Folder workspace lưu các phiên làm việc cho mỗi lần tạo Job Schedule.
Tiếp theo chúng ta kiểm tra đã connect thành công con Agent với Test Engine bằng cách reload trang Agent lại. Kết quả hiện như hình bên dưới.
Yeah vậy là tạo Agent thành công toàn diện rồi. Tiếp theo tạo Job Schedule để kết nối với tools akaAT Studio để chạy test case tự động thôi.
Lưu ý: trong quá trình connect với Test Engine để chạy Job Schedule thì không được tắt cái CMD nhé. Vì nó đang chạy online nhờ cái CMD đó đó.
Nếu có chạy lại mà quên cái mã Key thì nhấn nút "Register new agent" là nó hiện cái mã rồi nhấn copy mã thôi, không cần tạo thêm Agent mới.
Anh Tester
facebook.com/anhtester
Đường dẫu khó chân vẫn cần bước đi
Đời dẫu khổ tâm vẫn cần nghĩ thấu