[akaAT Studio] Bài 20: Giới thiệu CI và Job Schedule trong Test Engine của akaAT

✅ CI là gì?
✅ 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 ScheduleCI/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:

[akaAT Studio] Bài 20: Chạy test cases trong akaAT Studio với Test Engine | Anh Tester

✅ 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/

[akaAT Studio] Bài 20: Chạy test cases trong akaAT Studio với Test Engine | Anh Tester

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 ManagementTest Engine.

✅ Cách tạo tài khoản và project trên 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ách tạo tài khoản và project trên Test Engine

Các bạn lưu ý cái field Project Key nó tự sinh từ Name thôi chứ không có gì.

✅ Cách tạo tài khoản và project trên Test Engine

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 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

Để 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)

✅ Cách cài đặt Agent trên máy tính local

✅ Cách cài đặt Agent trên máy tính local

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.

✅ Cách cài đặt Agent trên máy tính local

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.

✅ Cách cài đặt Agent trên máy tính local

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.

✅ Cách cài đặt Agent trên máy tính local

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.

✅ Cách cài đặt Agent trên máy tính local

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)

✅ Cách cài đặt Agent trên máy tính local

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.

✅ Cách cài đặt Agent trên máy tính local

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.

✅ Cách cài đặt Agent trên máy tính local

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.

✅ Cách cài đặt Agent trên máy tính local

  • Anh Tester

    Đườ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