Triển khai hoạt động kiểm thử trong doanh nghiệp bằng Chrome

Demián Renzulli
Demián Renzulli

Hãy tưởng tượng phần mềm quan trọng nhất của công ty bạn đột nhiên bị hỏng – điều gì sẽ xảy ra? Đơn đặt hàng có thể bị thất lạc, thời hạn có thể bị bỏ lỡ, nhưng khách hàng chắc chắn sẽ phàn nàn.

Bạn có thể tránh được tình huống tồi tệ này bằng cách triển khai quy trình kiểm thử liên tục và nghiêm ngặt, giúp phát hiện các vấn đề trước khi chúng gây ra hỗn loạn. Nhưng việc triển khai quy trình như vậy trong tổ chức của bạn là điều nói dễ hơn làm.

Bài viết này sẽ cho bạn biết mọi điều bạn cần cân nhắc khi bắt đầu thử nghiệm trong công ty và cách bạn có thể hưởng lợi từ việc thử nghiệm trong dài hạn.

Các phương pháp hay nhất để kiểm thử cho nhóm sản phẩm

Phần đầu tiên của bài viết này trình bày quy trình bắt đầu triển khai kiểm thử trong quy trình làm việc của bạn.

Triển khai văn hoá kiểm thử trong nhóm của bạn

Để giới thiệu thành công hoạt động kiểm thử trong nhóm của bạn, mọi người cần có cùng một tư duy và coi chất lượng không phải là gánh nặng mà là một khoản đầu tư. Đây là một quy trình đòi hỏi thời gian và sự nhất quán, giống như mọi thay đổi văn hoá khác.

Một yếu tố có thể giúp định hình văn hoá này là các cuộc họp thường xuyên để thảo luận về các lỗi, tác động của chúng, nguồn gốc và những gì cần thiết để khắc phục các lỗi đó. Điều này giúp mọi người nhận thức được lý do nên ngăn chặn những lỗi như vậy ngay từ đầu.

Việc có một người chuyên trách trong nhóm giám sát và thúc đẩy nỗ lực này có thể giúp tăng đáng kể cơ hội thành công. Người xác định các nguyên tắc cho nhóm (hoặc thậm chí là toàn bộ tổ chức), thu thập các phương pháp hay nhất, chia sẻ các phương pháp đó và ủng hộ nỗ lực này ở mọi cấp độ.

Một công cụ hữu ích khác có thể là xoay vòng vai trò hỗ trợ của sản phẩm. Việc thu thập thông tin chi tiết trực tiếp, chưa qua sàng lọc từ khách hàng và tìm hiểu về những vấn đề họ gặp phải hằng ngày với sản phẩm của bạn có thể là một trải nghiệm quý giá đối với các nhà quản lý sản phẩm, nhà thiết kế và nhà phát triển.

Mục tiêu là mọi người trong nhóm của bạn đều hiểu rằng chất lượng là một tính năng, quan trọng như mọi chức năng khác mà bạn tạo cho sản phẩm của mình. Khi mọi người đều có tư duy đó, thì việc hiểu rằng các bài kiểm tra cũng là một tính năng là điều tất yếu. Vì các kiểm thử là yếu tố đảm bảo chất lượng của sản phẩm được phát hành.

Quy trình kiểm thử từng bước

Sau khi các nhóm liên quan đến việc phát triển sản phẩm thống nhất với nhau, bạn có thể chính thức hoá hơn nữa sự tồn tại và việc sử dụng các kiểm thử.

Đưa các kiểm thử vào "Định nghĩa hoàn thành"

Bằng cách thêm các kiểm thử làm yêu cầu về tính năng, bạn cho biết một tính năng chưa sẵn sàng để phát hành cho đến khi được kiểm thử đúng cách và tự động

Thường xuyên chạy kiểm thử

Sau khi triển khai, các kiểm thử tự động có thể là biện pháp bảo vệ của bạn trong mọi bước của quy trình phát triển. Chúng không cần sự can thiệp của con người và có thể chạy trên mọi bước quan trọng của quy trình phát triển. Ví dụ:

  • Vào mỗi lần xác nhận.
  • Trong mọi yêu cầu kéo.
  • Sau mỗi lần phát hành đầy đủ hoặc thay đổi môi trường.

Nếu bạn đang dựa vào các dịch vụ của bên thứ ba trong môi trường thực tế, thì việc chạy các kiểm thử đối với bản phát hành công khai thậm chí có thể hợp lý để đảm bảo các API của bên thứ ba hoạt động như mong đợi.

Xác định và thu thập chỉ số

Việc xác định một nhóm chỉ số là rất quan trọng để đo lường hiệu quả của các thử nghiệm và tác động của quy trình thử nghiệm đối với doanh nghiệp của bạn. Sau đây là một số ví dụ về các chỉ số mà bạn có thể sử dụng:

  • Số lượng bản phát hành mỗi tháng: Số lượng bản phát hành mỗi tháng càng cao thì có thể cho thấy quy trình phát triển linh hoạt hơn. Kiểm thử tự động đóng vai trò quan trọng ở đây bằng cách đảm bảo các bản phát hành có thể tiến hành một cách tự tin.
  • Báo cáo lỗi: Xu hướng giảm trong báo cáo lỗi có thể là dấu hiệu tích cực cho thấy quy trình kiểm thử (và quy trình phát triển) của bạn đang diễn ra hiệu quả.
  • Mức độ kiểm thử: Mặc dù không phải là một chỉ số chính xác, nhưng mức độ kiểm thử có thể là một chỉ báo tốt về mức độ kiểm thử các trường hợp sử dụng quan trọng.

Xin lưu ý rằng các chỉ số này cũng chịu ảnh hưởng của các yếu tố khác có thể làm sai lệch các chỉ số này. Ví dụ: số lượng bản phát hành của bạn có thể giảm trong mùa lễ, trong khi số lượng báo cáo lỗi lại tăng lên. Vì vậy, đừng chỉ dựa vào một vài dữ liệu mà hãy đảm bảo bạn liên kết chúng với các dữ liệu khác mà nhóm của bạn có.

Khi bạn triển khai thành công những bước đó với nhóm của mình, chắc chắn sức khoẻ sản phẩm của bạn sẽ được cải thiện về lâu dài. Nhưng bạn vẫn có thể làm nhiều việc hơn nữa!

Các phương pháp hay nhất để kiểm thử dành cho quản trị viên hệ thống

Các nhóm sản phẩm không thể tự làm việc. Các quy trình này phụ thuộc vào phần cứng, công cụ và cơ sở hạ tầng do quản trị viên hệ thống duy trì. Mặc dù quản trị viên hệ thống thường không đóng góp trực tiếp vào quá trình phát triển sản phẩm, nhưng họ vẫn có thể ảnh hưởng tích cực đến quy trình phát triển. Ví dụ: bằng cách chủ động quản lý phiên bản trình duyệt mà một số nhóm người dùng trong công ty sử dụng.

Phần thứ hai của bài viết này giải thích cách hoạt động của tính năng này bằng cách sử dụng các kênh và chính sách doanh nghiệp của Chrome.

Kênh phát hành của Chrome

Theo mặc định, Chrome tự động cập nhật để đảm bảo mọi người dùng đều đang chạy phiên bản Chrome mới nhất, ổn định và an toàn nhất, bao gồm cả mọi tính năng mới nhất – phiên bản Chrome được phát hành trên kênh ổn định.

Là một công ty phát triển sản phẩm dựa trên web, bạn có thể muốn sử dụng trình duyệt trước kênh ổn định để các nhóm sản phẩm của bạn có thời gian điều chỉnh sản phẩm cho phù hợp với những thay đổi đối với nền tảng web.

Đối với trường hợp sử dụng này, Chrome cung cấp tổng cộng 4 kênh phát hành, dành cho các nhóm người dùng khác nhau.

Trong trường hợp Chrome, bạn có thể sử dụng nhiều kênh phát hành để dự đoán các thay đổi trong tương lai của trình duyệt và kiểm thử các tính năng mới nhất trước khi chúng được cung cấp rộng rãi:

  • Kênh ổn định: Đây là nơi có nhiều người dùng nhất. Kênh ổn định sẽ tự động cập nhật khi có bản phát hành Chrome mới (hằng tháng).
  • Kênh thử nghiệm beta: Phiên bản này sẽ trở nên ổn định trong vòng 4 đến 6 tuần, giúp bạn có cơ hội xem trước và kiểm thử một bản phát hành ổn định sắp tới cũng như chuẩn bị cho bản phát hành đó.
  • Kênh nhà phát triển: Kênh này nhận được phiên bản Chrome mới mỗi tuần một lần và bao gồm tất cả các bản sửa lỗi mới nhất sẽ chuyển sang giai đoạn thử nghiệm beta. Như tên kênh cho thấy, kênh này đang trong quá trình phát triển và do đó có thể gặp sự cố bất ngờ. Tuy nhiên, kênh này cũng bao gồm các tính năng mới nhất, đôi khi còn lâu trước khi các tính năng đó xuất hiện trên kênh ổn định. Điều này khiến kênh nhà phát triển trở thành một công cụ tuyệt vời để tạo mẫu và phát triển công nghệ tiên tiến.
  • Kênh Canary: Kênh thử nghiệm nhiều nhất, chứa mọi tính năng mới nhất nhưng không được kiểm thử nhiều. Ít nhất là phát hành hằng ngày.

Nếu bạn muốn tìm hiểu thêm về các kênh của Chrome, hãy xem tập Chrome Concepts có liên quan.

Các biểu tượng sản phẩm của Chrome (kênh ổn định, kênh beta và kênh nhà phát triển) cùng với nội dung mô tả.

Sử dụng kênh trong một tổ chức mẫu

Cấu trúc của các nhóm sản phẩm khác nhau giữa các tổ chức, vì không có phương pháp nào phù hợp với tất cả mọi người để phát triển phần mềm. Ví dụ: giả sử một nhóm có các vai trò sau: Quản lý sản phẩm, UX và UI, Kỹ thuật, Vận hành và Hỗ trợ.

Đối với một tổ chức như thế này, bạn có thể nghĩ đến việc chia kênh như sau:

  • Quản lý sản phẩm: Thông thường, PM có thể sử dụng kênh ổn định để dùng cùng phiên bản với hầu hết người dùng. Đôi khi, họ có thể sử dụng kênh beta hoặc dev nếu đang làm việc trên một tính năng yêu cầu API chưa được ra mắt.
  • Kỹ thuật và trải nghiệm người dùng: Một số thành viên của các nhóm này có thể sử dụng kênh dev để có quyền truy cập vào các tính năng mới nhất, chẳng hạn như Chuyển đổi khung hiển thị, ngay cả trước khi các tính năng này ở kênh ổn định.
  • Hoạt động: Có thể ở giai đoạn thử nghiệm để dự đoán sự cố ảnh hưởng đến người dùng tiếp theo.
  • Hỗ trợ: Có thể duy trì kênh ổn định để đảm bảo họ đang tương tác với sản phẩm bằng cùng một trình duyệt với hầu hết khách hàng của bạn.

Sơ đồ minh hoạ luồng kênh trong nhóm ví dụ

Sử dụng chính sách doanh nghiệp để quản lý kênh

Thay vì đưa ra hướng dẫn và để người dùng tự quyết định nên sử dụng kênh nào, Chrome còn cung cấp các công cụ quản trị và dành cho doanh nghiệp để chủ động quản lý kênh mà mỗi người dùng sẽ sử dụng. Điều này rất hữu ích vì nó ngay lập tức tăng diện tích kiểm thử từ một vài cá nhân lên một nhóm người dùng có thể xác định, giúp xác định lỗi sớm nhất có thể và theo cách có thể truy nguyên.

Nếu muốn sử dụng mức độ kiểm soát đó, bạn nên dùng cấu hình sau:

  • Nhân viên (người dùng ứng dụng): Để giảm thiểu nguy cơ gián đoạn, hầu hết nhân viên nên sử dụng kênh ổn định. Kênh này đã được nhóm thử nghiệm Chrome kiểm tra đầy đủ. Ngoài ra, một tỷ lệ nhỏ người dùng (từ 5 đến 10%) có thể sử dụng kênh beta. Kênh này có bản xem trước từ 4 đến 6 tuần về phiên bản ổn định và có thể giúp quản trị viên phát hiện các vấn đề có thể xảy ra với một bản phát hành, nhờ đó có thêm thời gian để giải quyết các vấn đề trước khi bản phát hành được triển khai cho mọi người.
  • Bộ phận CNTT: Các thành viên của bộ phận CNTT, kể cả quản trị viên hệ thống, có thể sử dụng kênh beta hoặc dev để xem trước 4 đến 6 hoặc 9 đến 12 tuần đối với những tính năng sắp ra mắt trong phiên bản ổn định của Chrome.

Sơ đồ cho thấy sự phân chia các kênh giữa những nhân viên khác và bộ phận CNTT

Kênh phát hành dài hạn

Quá trình phát triển sản phẩm có thể không diễn ra nhanh như dự kiến và tần suất phát hành hằng tháng của Chrome có thể quá cao. Đối với trường hợp sử dụng này, Chrome cung cấp Kênh chính thức mở rộng cho phép nhận bản cập nhật tính năng ít thường xuyên hơn nhưng vẫn nhận được bản sửa lỗi bảo mật. Kênh này được cập nhật 8 tuần một lần.

Sơ đồ sau đây cho thấy cách các cột mốc khác nhau diễn ra trong các kênh phát hành khác nhau của Chrome:

Sơ đồ quy trình cho thấy sự trùng lặp giữa các phiên bản ổn định và ổn định mở rộng

  • Cả phiên bản ổn định và phiên bản ổn định mở rộng đều phát hành cùng một phiên bản trong 4 tuần đầu tiên, sau đó hai phiên bản này sẽ tách biệt.
  • Không có kênh thử nghiệm beta mở rộng; thay vào đó, chu kỳ thử nghiệm beta tiêu chuẩn trong 4 tuần được dùng để ổn định cả kênh ổn định và kênh ổn định mở rộng. Những doanh nghiệp chọn sử dụng phiên bản ổn định mở rộng trong 8 tuần nên tiếp tục chạy kênh beta như hiện tại để chủ động xác định những vấn đề có thể ảnh hưởng đến môi trường của họ.

Tầm quan trọng liên tục của kênh nhà phát triển và kênh thử nghiệm beta đối với người dùng kênh ổn định mở rộng

Mặc dù kênh ổn định đang tăng tốc lên chu kỳ phát hành hai tuần và tổ chức của bạn đang áp dụng chu kỳ ổn định mở rộng tám tuần để có thêm thời gian kiểm thử, nhưng việc sử dụng kênh nhà phát triển và kênh thử nghiệm beta vẫn rất quan trọng. Không có các kênh "nhà phát triển hoặc thử nghiệm mở rộng" riêng biệt; các kênh nhà phát triển và thử nghiệm tiêu chuẩn được dùng để ổn định cả bản phát hành ổn định và bản phát hành ổn định mở rộng.

Bằng cách tiếp tục chạy các kênh dành cho nhà phát triển và kênh thử nghiệm beta, các doanh nghiệp vẫn có thể chủ động xác định những vấn đề có thể ảnh hưởng đến môi trường của họ. Kênh nhà phát triển và kênh thử nghiệm beta cung cấp bản xem trước trong 4 tuần về bản phát hành ổn định sắp tới. Đối với người dùng phiên bản ổn định mở rộng, cửa sổ xem trước này là cần thiết để khám phá và giải quyết các vấn đề có thể xảy ra trước khi bản cập nhật tính năng 8 tuần được phát hành.

Về cơ bản, các kênh nhà phát triển và beta đóng vai trò là hệ thống cảnh báo sớm chính cho mọi thay đổi sắp diễn ra trong môi trường ổn định mở rộng 8 tuần của bạn, đảm bảo các ứng dụng doanh nghiệp của bạn vẫn tương thích. Quản trị viên hệ thống có thể tiếp tục chỉ định một nhóm nhỏ, có thể xác định được gồm những người dùng (ví dụ: 5-10% người dùng ứng dụng) cho các kênh nhà phát triển và beta để tối đa hoá lợi ích này.

Kết luận

Kiểm thử là một phần quan trọng đối với các công ty phát triển phần mềm để đảm bảo chất lượng sản phẩm, đồng thời cũng là một bước quan trọng đối với quản trị viên hệ thống, nhằm giúp nhân viên của một tổ chức có quyền truy cập vào phần mềm chất lượng cao và tránh làm gián đoạn các quy trình kinh doanh.

Để thành công khi triển khai quy trình kiểm thử trong tổ chức, điều quan trọng là mọi người phải có chung tư duy rằng chất lượng và do đó, việc kiểm thử là một tính năng.

Trong bài viết này, chúng tôi đã xem xét nhiều cách để tích hợp các phương pháp hay nhất về kiểm thử vào tổ chức của bạn. Để xem xét kỹ lưỡng các công cụ kiểm thử hiện có, hãy xem bài viết Các công cụ của Chrome để kiểm thử tự động, liền mạch.

Để được hướng dẫn thực hành kiểm thử từ đầu đến cuối, hãy xem khoá học Tìm hiểu về kiểm thử gần đây của chúng tôi và các phương pháp hay nhất về tự động hoá quy trình kiểm thử trên web.dev.