paint-brush
Cách làm minh bạch QA: Allure TestOps để hỗ trợ chất lượngtừ tác giả@adtechholding
1,119 lượt đọc
1,119 lượt đọc

Cách làm minh bạch QA: Allure TestOps để hỗ trợ chất lượng

từ tác giả AdTech Holding8m2023/02/20
Read on Terminal Reader

dài quá đọc không nổi

Trưởng nhóm QA trong PropellerAds, một phần của AdTech Holding, chia sẻ các phương pháp hay nhất để làm việc với công cụ Allure TestOps. Mikhail Sidelnikov: ‘Thử nghiệm là cơ sở của chất lượng. Nhưng nó không thích sự cô độc — bài kiểm tra không phải là người hướng nội!’
featured image - Cách làm minh bạch QA: Allure TestOps để hỗ trợ chất lượng
AdTech Holding HackerNoon profile picture


Chúng tôi đã giới thiệu các phương pháp QA của mình và mức độ chúng tôi quan tâm đến tính minh bạch của tất cả các quy trình. Nhưng làm thế nào để đảm bảo sự minh bạch này trên tất cả các cấp độ phát triển?

Hôm nay, chúng ta có những hiểu biết mới từ Mikhail Sidelnikov , Trưởng QA trong PropellerAds, một phần của AdTech Holding. Mikhail đã chia sẻ các phương pháp hay nhất để làm việc với công cụ Allure TestOps.


Tại sao nhóm chọn nó, nó đã sử dụng những công cụ nào trước đây và khi nào Allure TestOps trở thành giải pháp tốt nhất cho quy trình hỗ trợ chất lượng?

Tại sao tính minh bạch lại quan trọng như vậy?

Là một doanh nghiệp dựa trên công nghệ hàng đầu, PropellerAds sử dụng phương pháp CI/CD. Nó ngụ ý các bản phát hành liên tục nhiều lần trong ngày, vì vậy quá trình không được bị gián đoạn do bất kỳ sự hiểu lầm hoặc sai lầm nào.


Làm thế nào nó hoạt động?

  • Nhà phát triển tạo yêu cầu kéo
  • Nhóm QA ngay lập tức bắt đầu thử nghiệm
  • Kết quả kiểm tra xuất hiện ngay lập tức trong Github, Slack và Allure TestOps.


Đó là một quá trình liên tục — mọi thứ đều được tự động hóa và hầu như không có công việc thủ công nào. Kết quả của quy trình này phải là một sản phẩm chất lượng cao — và đây là lý do tại sao mọi bước phải minh bạch.


Nhưng làm thế nào để đảm bảo nó?


Mikhail:

- 'Kiểm tra là cơ sở của chất lượng. Nhưng nó không thích sự cô độc—bài kiểm tra không phải là người hướng nội! Nó cần một gia đình và những người bạn đồng loại để mang lại giá trị thực sự. Và, giống như mọi người trong cuộc sống thực, một bài kiểm tra và gia đình của nó cần một chỗ ở thoải mái với cơ sở hạ tầng thuận tiện và không gian để cải thiện.'


Vậy nhóm QA của PropellerAds đã giải quyết 'câu hỏi về nhà ở' cho các thử nghiệm của mình như thế nào?

Thực hành QA đầu tiên trong PropellerADs

Lúc đầu, PropellerAds thậm chí không có bộ phận QA chính thức: bộ phận này chỉ được tổ chức vào năm 2015. Cần có thời gian để tự động hóa quy trình làm việc và xây dựng một nhóm làm việc hiệu quả, đầy cảm hứng.


Khi nhóm phát triển, nhu cầu của nó cũng tăng lên! Số lượng bài kiểm tra và dịch vụ siêu nhỏ đang tăng lên nhanh chóng — và điều cần thiết là phải sắp xếp chúng ngăn nắp. Nếu không, sẽ không thể làm việc với chúng, tích hợp với nhiều CI/CD khác nhau — và sau tất cả, vẫn minh bạch.


Triển khai TestRail

Những người sáng lập nhóm PropellerAds QA đã có kinh nghiệm làm việc lâu năm với TestRail. Vì vậy, nó trở thành giải pháp rõ ràng nhất. Bên cạnh đó, nó dường như đáp ứng tất cả các nhu cầu của nhóm như sau:


  • Các tính năng bắt buộc: lưu trường hợp, lịch sử, khởi chạy thử nghiệm
  • Tích hợp khá chấp nhận được với Jira
  • Kinh nghiệm tích hợp TestRail với CI/CD của nhóm
  • Kinh nghiệm chung của nhóm khi làm việc với TestRail


Vì vậy, quyết định đã được đưa ra.

Sự cố với TestRail

Mọi chuyện lúc đầu diễn ra khá suôn sẻ. Tuy nhiên, sau một thời gian, nhóm cảm thấy rằng TestRail không phải là công cụ tốt nhất đáp ứng mọi nhu cầu của họ. Có vấn đề gì thế? Điểm chính là nhóm vẫn đang phát triển và tất cả các quy trình trở nên khắt khe hơn nhiều.


Nói cách khác, mọi thứ đều được mở rộng nhanh chóng:


  • Đội;
  • Số trường hợp thủ công
  • Số lần chạy thử nghiệm thủ công
  • Số lượng phát hành


Mikhail:

—Việc tạo các trường hợp trong TestRail trước trở nên vô cùng khó khăn và bất tiện, sau đó mới thực hiện điều đó trong mã. Chúng tôi muốn xem toàn bộ hình ảnh minh bạch trong Hệ thống quản lý kiểm tra của mình.


Cuối cùng, nhóm bắt đầu khao khát một số quy trình làm việc thay thế — và các công cụ. Danh sách các vấn đề ngày càng lớn hơn và những điểm nhức nhối nhất bao gồm:


  • Các dự án mới được tích hợp kém
  • Không có hỗ trợ cho các trường hợp hoặc bước mới: nếu bạn đã sửa lỗi nào đó trong mã, bạn cần thực hiện tương tự theo cách thủ công trong TestRail
  • Tính minh bạch và mức độ liên quan có xu hướng bằng không


Nhìn chung, có một mối đe dọa rằng chất lượng sản phẩm sẽ bắt đầu bị ảnh hưởng.

Nhu cầu mới

Cuối cùng, rõ ràng là nhóm cần một giải pháp mới. Nhưng trước tiên, cần làm rõ: đội thiếu gì và cần gì ở giai đoạn này? Sau khi thảo luận, nhóm QA đã lập một danh sách đơn giản các yêu cầu.


Đây là:

  • Tự động tải xuống kết quả kiểm tra. Nhóm muốn xem thử nghiệm trong TMS ngay sau khi ra mắt mà không cần sử dụng API
  • Tích hợp với Jira. Lại là về tính minh bạch: có trạng thái thử nghiệm ngay trong trình quản lý tác vụ là cách tốt nhất để làm cho quy trình công việc trở nên minh bạch nhất có thể.
  • Tích hợp đơn giản với các mã kiểm tra: mọi thay đổi sẽ xuất hiện trong TMS mà không cần thay đổi bất kỳ thứ gì theo cách thủ công
  • Khởi chạy thử nghiệm trong CI/CD. Sẽ rất hữu ích nếu làm điều đó nhanh hơn nhiều — và, trong một kịch bản hoàn hảo, khởi chạy chúng ngay từ TMS. TestRail có tính năng tùy chỉnh giao diện người dùng, nhưng giải pháp này yêu cầu hỗ trợ liên tục.


Allure TestOps đã thay đổi quy trình như thế nào

Các yêu cầu trở nên rõ ràng hơn, nhưng chúng không giúp tìm ra giải pháp phù hợp. Và tại đây, nhóm QA của PropellerAds đã may mắn gặp được một nhà phát triển danh tiếng - Artem Eroshenko, người đã bất ngờ đưa ra lời khuyên đơn giản và thẳng thắn:


Tại sao lại sử dụng TestRail nếu có Allure TestOps?


Ý nghĩ đầu tiên là: và Allure TestOps là gì?

Allure TestOps là một nền tảng thử nghiệm cho phép bạn lưu trữ và quản lý các trường hợp thử nghiệm. Nó dựa trên Allure Reports, rất quen thuộc với hầu hết các thành viên trong nhóm.



Mikhail:
— Vì vậy, chúng tôi nghĩ: đó là một công cụ mới và hợp thời trang — tại sao không thử?

Và, một spoiler: nó hoạt động hoàn hảo. Quá trình bắt đầu thay đổi theo cách tốt nhất có thể — và trong thời gian ngắn nhất.

Vậy các tính năng hữu ích nhất của Allure TestOps đã thúc đẩy quy trình làm việc rất nhiều là gì?

Kết quả kiểm tra

Nếu bạn đã từng dùng thử TestRail, bạn sẽ biết rằng việc tải xuống kết quả kiểm tra ở đó rất phức tạp: nó liên quan đến nhiều rắc rối với API.


Allure TestOPS giải quyết vấn đề tương tự theo cách rất đơn giản và tinh tế.

Nếu kết quả thử nghiệm của bạn ngụ ý tạo Báo cáo Allure, thì bạn đã có các thử nghiệm của mình trong TestOps. Nhóm đã sử dụng Allure được một thời gian — và điều đó có nghĩa là nền tảng TestOps đã lưu giữ các thử nghiệm của họ.

Hướng dẫn ngắn gọn: để thêm bất kỳ tích hợp nào, bạn chỉ cần nhập cài đặt của TestOps, chọn bất kỳ sản phẩm nào bạn muốn, sau đó - thiết lập sản phẩm đó trong vài cú nhấp chuột! Nhanh chóng và không đau, như ở đây:



Mikhail:

—Không có đá ẩn: ba trường và bạn đã hoàn tất việc tích hợp của mình. Nó hoạt động tương tự với các công cụ khác: cài đặt tối thiểu. Và, Chế độ tối rất được yêu thích của chúng tôi cũng ở đây!


Nếu bạn cần tích hợp Teamcity hoặc các công cụ khác thuộc loại này, bạn có thể thực hiện việc đó bằng các plugin đặc biệt. Phải mất hai lần nhấp chuột để đặt kết quả tải xuống thành TestOps. Điều thậm chí còn hữu ích hơn, nó xảy ra trong thời gian chạy. Đây là giao diện của nó: lại thanh lịch và đơn giản:


Sau khi bạn đã sẵn sàng với các cài đặt, bạn có thể khởi chạy các công việc trong CI/CD của mình. Và quy trình trở nên minh bạch hơn gấp nhiều lần ngay sau đó. Allure TestOps cho phép bạn kiểm tra phạm vi thử nghiệm hiện có, hiểu tần suất bạn khởi chạy các thử nghiệm cụ thể, nhận ra dự án nào ổn định và dự án nào không, thậm chí xem một số thử nghiệm nhất định.


Quy trình thử nghiệm tổng thể trong Allure TestOps trông như sau:

  • Bạn đặt cấu hình bản dựng TeamCity một lần: chỉ định ID dự án Allure và đường dẫn đến Kết quả Allure trong Tính năng bản dựng
  • Bạn khởi chạy Cấu hình Team City Build
  • Bạn đợi kết quả của mình trong Allure và thế là xong!

Vì vậy, sau khi hoàn tất tất cả các cài đặt, bạn chỉ cần thực hiện hai bước đơn giản — không có JS, máy chủ web và API. Mọi thứ được thiết lập thông qua giao diện người dùng của các công cụ bạn sử dụng.

Chất lượng và Tình trạng

Hóa ra Allure TestOps có plugin Jira cho phép bạn xem tất cả các thử nghiệm cho một tác vụ cụ thể. Plugin bao gồm phân trang, bộ lọc tìm kiếm và kết quả mới nhất của các thử nghiệm này.

Cài đặt cũng nhanh chóng và đơn giản — cũng như giao diện:



Mikhail:

Tất cả các kết quả được cập nhật tự động và bạn có thể xem tất cả các trường hợp đã được tạo cho tác vụ cụ thể này. Đó chính xác là những gì chúng tôi cần để hiểu những gì và cách chúng tôi kiểm tra. Chúng tôi tăng cường đáng kể tính minh bạch tốt cũ của mình — và đảm bảo hiểu rõ hơn về chất lượng của các tính năng mà chúng tôi phát hành.

Mã kiểm tra tự động

Nhóm QA của PropellerAds có vô số người tự kiểm tra: nhờ họ, nhóm có thể đảm bảo chất lượng hàng đầu của sản phẩm. Allure TestOps đơn giản hóa rất nhiều điểm thiết yếu này. Nó cho phép bạn tạo các chú thích cần thiết và mỗi chú thích sẽ đặt nhãn cho một bài kiểm tra. Cuối cùng, nhãn sẽ xuất hiện trong TestOps.


Có một danh sách lớn các chú thích đã tồn tại — và không chỉ trong Java. Đây là một ví dụ:



Nếu thiếu chú thích sẵn sàng, bạn có thể dễ dàng thêm chú thích của riêng mình: @LabelAnnotation(name = “any name”). Hầu như tất cả dữ liệu TestOps đều hoạt động thông qua nhãn và các nhãn này có thể tùy chỉnh. Nhờ nó, bạn có thể xem các lớp và bản đồ dạng cây khác nhau trong danh sách tất cả các thử nghiệm hiện có, lọc và nhóm các trường hợp của bạn.

Các tính năng khác

Như vậy, tất cả các vấn đề đã được giải quyết nhờ TestOps. Bên cạnh những vấn đề đã được giải quyết này, chúng tôi cũng có quyền truy cập vào nhiều tính năng mới hơn. Họ đây rồi:

  • Allure cho phép bạn kiểm tra lịch sử khởi chạy thử nghiệm. Mikhail nói rằng đó là một tính năng tuyệt vời: bạn có thể nhanh chóng kiểm tra xem thử nghiệm đã được khởi chạy khi nào và ở đâu cũng như khi nào nó bắt đầu thất bại.
  • kế hoạch kiểm tra. Giờ đây, nhóm không chỉ có thể tạo mà còn khởi chạy các kế hoạch thử nghiệm này ngay từ TestOps.
  • Bảng điều khiển thuận tiện với dữ liệu thống kê. Bạn có thể tự tạo chúng hoặc sử dụng bảng điều khiển có sẵn.
  • Cài đặt khác nhau cho các dự án. Chúng bao gồm xóa các kết quả kiểm tra cũ mà bạn không cần nữa, thiết lập các trường kiểm tra khác nhau cho các trường hợp thủ công và tự động, đồng thời khởi chạy các kiểm tra ngay từ Allure TestOps với nhiều tùy chọn khác nhau.
  • Và nhiều nhiều người khác.


Mikhail:

— Đó chỉ là một phần nhỏ trong mọi thứ bạn nhận được với Allure TestOps. Muốn một cái gì đó mới hoặc tìm thấy một lỗi? Tạo một vé lỗi hoặc hỏi trực tiếp các nhà phát triển trên kênh Telegram. Nó thực sự tiện lợi! Hoặc họ có bộ phận trợ giúp - những người này cố gắng trả lời càng sớm càng tốt - Dịch vụ tốt.

Tóm lại: Allure TestOps so với TestRail

Vì vậy, 'vấn đề nhà ở' cho các bài kiểm tra của chúng tôi đã được giải quyết chưa? Vâng chắc chắn. Không ngừng phát triển, trực quan, với khả năng truy cập nhanh vào tất cả các công cụ cần thiết — Allure TestOps là giải pháp phù hợp nhất.


Nhưng rốt cuộc thì TestRail có tệ đến vậy không?


Mikhail:

TestRail là một công cụ tốt — nhưng nó phù hợp với các nhu cầu khác nhau hơn những gì chúng tôi có.

Khi nào thì sử dụng TestRail tốt hơn và khi nào Allure TestOps là vị cứu tinh của bạn?


Kiểm tra đường sắt

Allure TestOps

Bạn không phụ thuộc nhiều vào quá trình phát hành

Bạn có nhiều bản phát hành và công việc của bạn dựa trên CI/CD

Tích hợp với các công cụ khác không phải là ưu tiên của bạn

Bạn cố gắng minh bạch hóa thử nghiệm trong tất cả các công cụ của mình

Bạn có nhiều trường hợp thủ công

Bạn làm việc chủ yếu với các bài kiểm tra tự động


Nhìn chung, Allure TestOps đã được chứng minh là hiệu quả hơn nhiều trong việc đảm bảo tính minh bạch của QA — ở mọi bước và cấp độ. Và đó là những gì chúng tôi cần ở PropellerAds.



Hình ảnh chính cho bài viết này được tạo bởiTrình tạo hình ảnh AI của HackerNoon thông qua lời nhắc "một kỹ sư đang nhìn vào động cơ".