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ị trễ nhưng khách hàng chắc chắn sẽ phàn nàn.
Tình huống ác mộng này có thể tránh được: bằng cách triển khai một quy trình kiểm thử liên tục và nghiêm ngặt để phát hiện sự cố trước khi chúng gây ra sự hỗn loạn. Tuy nhiên, việc triển khai một quy trình như vậy trong tổ chức của bạn nói dễ hơn làm.
Bài viết này sẽ trình bày mọi điều bạn cần suy nghĩ khi bắt đầu kiểm thử trong công ty, cũng như cách bạn có thể hưởng lợi từ việc kiểm thử về lâu dài.
Thử nghiệm các phương pháp hay nhất dành cho nhóm phụ trách 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á thử nghiệm trong nhóm của bạn
Để triển khai thử nghiệm thành công trong nhóm của bạn, mọi người phải có cùng một tư duy và xem chất lượng không phải là một gánh nặng mà là một khoản đầu tư. Đây là một quá trình mà, như mọi sự thay đổi khác về văn hoá, đòi hỏi thời gian và tính nhất quán.
Một điều có thể giúp định hình văn hoá này là các cuộc họp định kỳ để thảo luận về các khiếm khuyết, ảnh hưởng của chúng, nguồn gốc của chúng và những gì cần để khắc phục. Điều này giúp người dùng nhận biết lý do tại sao nên ngăn chặn các 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 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 của nhóm (hay thậm chí là toàn tổ chức), thu thập và chia sẻ các phương pháp hay nhất, đồng thời ủng hộ nỗ lực của 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, không lọc từ khách hàng và tìm hiểu về những vấn đề thường ngày mà họ gặp phải với sản phẩm của bạn có thể là một trải nghiệm hữu ích đố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 hiểu rằng chất lượng là một tính năng, cũng quan trọng như mọi chức năng khác mà bạn xây dựng cho sản phẩm của mình. Khi mọi người đã áp dụng tư duy đó, sẽ là một tiến trình tự nhiên để hiểu rằng kiểm thử cũng là một tính năng. Bởi vì thử nghiệm là yếu tố đảm bảo chất lượng được vận chuyển.
Quy trình kiểm thử từng bước
Sau khi có sự phù hợp giữa các nhóm liên quan đến quá trình phát triển sản phẩm, bạn có thể chính thức hoá việc tồn tại và sử dụng các bài kiểm thử.
Đưa hoạt động kiểm thử vào phần "Định nghĩa về trạng thái hoàn tất"
Bằng cách thêm kiểm thử dưới dạng một yêu cầu về tính năng, bạn tuyên bố rằng 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 thử nghiệm
Sau khi triển khai, 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 quá trình phát triển. Các mô-đun này 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 trong quy trình phát triển của bạn. Ví dụ:
- Trên mọi cam kết.
- Cho mọi yêu cầu lấy dữ liệu.
- Sau mỗi lần phát hành hoàn toàn hoặc thay đổi môi trường.
Nếu đang dựa vào dịch vụ của bên thứ ba trong môi trường phát hành chính thức, thì bạn thậm chí có thể chạy kiểm thử so với phiên bản chính thức để đảm bảo API của bên thứ ba hoạt động như dự kiến.
Xác định và thu thập chỉ số
Việc xác định một tập hợp chỉ số là việc quan trọng để đo lường mức độ hiệu quả của kiểm thử và tác động của quy trình kiểm thử đối với doanh nghiệp của bạn. Dưới đây là một số ví dụ về chỉ số mà bạn có thể sử dụng:
- Số bản phát hành mỗi tháng: Số bản phát hành mỗi tháng càng cao, điều này có thể cho thấy quá trình phát triển linh hoạt hơn. Kiểm thử tự động đóng vai trò quan trọng trong quá trình nà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à một dấu hiệu tích cực cho thấy hoạt động kiểm thử (và quy trình phát triển) của bạn có hiệu quả.
- Phạm vi kiểm thử: Mặc dù không phải là chỉ số chính xác, nhưng mức độ phù hợp có thể là chỉ báo tốt cho biết bạn đang kiểm thử các trường hợp sử dụng quan trọng ở mức độ sâu sắc nào.
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ố đó. Ví dụ: số lượng bản phát hành có thể giảm vào mùa lễ trong khi số báo cáo lỗi tăng lên. Vì vậy, đừng chỉ dựa vào một vài thành phần và hãy nhớ liên kết các thành phần này với những dữ liệu khác có sẵn cho nhóm của bạn.
Khi bạn triển khai thành công các bước đó với nhóm của mình, tình trạng sản phẩm chắc chắn sẽ được hưởng lợi về lâu dài. Nhưng bạn vẫn có thể làm được nhiều việc hơn!
Các phương pháp kiểm thử hay nhất 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 tính năng này dựa 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ể tác độ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 nhất định sử dụng trong công ty.
Phần thứ hai của bài viết giải thích cách hoạt động của bài viết này, sử dụng chính sách doanh nghiệp và kênh của Chrome.
Kênh phát hành Chrome
Theo mặc định, Chrome sẽ tự động cập nhật để đảm bảo mọi người dùng đều 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 chính thức.
Là một công ty phát triển sản phẩm dựa trên nền tảng web, bạn nên sử dụng trình duyệt trước kênh chính thức để nhóm phụ trách sản phẩm có thời gian điều chỉnh sản phẩm cho phù hợp với những thay đổi của 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.
Đối với Chrome, bạn có thể sử dụng nhiều kênh phát hành khác nhau để dự đoán những thay đổi của trình duyệt trong tương lai và kiểm thử các tính năng mới nhất trước khi chúng được phát hành rộng rãi:
- Kênh chính thức: Đây là nơi hầu hết người dùng hoạt động. Kênh ổn định sẽ tự động cập nhật khi có bản phát hành Chrome mới, diễn ra 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 để bạn có cơ hội xem trước và kiểm thử 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 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 mà sau này sẽ chuyển sang giai đoạn thử nghiệm beta. Như tên kênh cho thấy, tính năng này đang trong quá trình phát triển và do đó có thể bị lỗi không mong muốn. Tuy nhiên, kênh cũng có các tính năng mới nhất, đôi khi rất lâu trước khi chúng đi vào hoạt động ổn định. Điều đó khiến kênh nhà phát triển trở thành một công cụ tuyệt vời để tạo nguyên mẫu và phát triển vượt trội.
- Kênh Canary: Kênh có tính thử nghiệm nhất, bao gồm mọi tính năng mới nhất nhưng không cần nhiều thử nghiệm. Phát hành ít nhất mỗi 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 Các khái niệm về Chrome có liên quan.
Sử dụng kênh trong một tổ chức mẫu
Cơ cấu của các nhóm sản phẩm là khác nhau giữa các tổ chức, vì không có một quy mô nào phù hợp với mọi phương pháp phát triển phần mềm. Ví dụ: chúng tôi sẽ giả định một nhóm có các vai trò sau: Quản lý sản phẩm, Trải nghiệm người dùng và giao diện người dùng, 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ể cân nhắc đến cách phân chia kênh sau đây:
- Quản lý sản phẩm: PM thường có thể ở trên kênh ổn định để sử dụng cùng một phiên bản như 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 xử lý một tính năng yêu cầu một API chưa được ra mắt.
- Kỹ thuật và trải nghiệm người dùng: Một số phần của những nhóm này có thể tham gia kênh nhà phát triển để cho phép họ 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 họ đi vào giai đoạn ổn định.
- Hoạt động: Có thể đang sử dụng phiên bản beta để dự đoán những sự cố ảnh hưởng đến người dùng tiếp theo.
- Hỗ trợ: Có thể duy trì trên kênh ổn định, để đảm bảo rằng họ tương tác với sản phẩm bằng cùng một trình duyệt như hầu hết khách hàng của bạn.
Sử dụng chính sách doanh nghiệp để quản lý kênh
Thay vì đưa ra nguyên tắc và để quyết định nên sử dụng kênh nào, Chrome cũng cung cấp các công cụ quản trị và doanh nghiệp để chủ động quản lý kênh mà mỗi người dùng sẽ sử dụng. Việc này rất hữu ích vì nó ngay lập tức tăng nền tảng thử nghiệm từ một vài cá nhân lên một nhóm người dùng xác định, giúp xác định sự cố càng sớm càng tốt và theo cách có thể truy vết được.
Nếu muốn sử dụng cấp độ kiểm soát đó, bạn nên sử 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 đã được nhóm kiểm thử 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 thử nghiệm. Kênh này có bản xem trước 4–6 tuần của Kênh chính thức 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, từ đó có thêm thời gian để giải quyết các vấn đề trước khi ra mắt cho những người khác.
- Bộ phận CNTT: Các thành viên của bộ phận CNTT, bao gồm cả quản trị viên hệ thống có thể truy cập kênh beta hoặc nhà phát triển để xem trước phiên bản ổn định của Chrome trong 4-6 hoặc 9-12 tuần.
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 một 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 một kênh ổn định mở rộng cho phép nhận các bản cập nhật tính năng ít thường xuyên hơn, nhưng vẫn nhận được cá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 biết cách tiến hành các mốc quan trọng thông qua các kênh phát hành của Chrome:
- Cả hai phiên bản ổn định mở rộng và ổn định đều gửi cùng một phiên bản trong 4 tuần đầu tiên, sau đó hai phiên bản này sẽ chuyển hướng.
- Không có kênh beta mở rộng; thay vào đó, chu kỳ beta 4 tuần tiêu chuẩn được dùng để ổn định cả trạng thái ổn định và mở rộng. Những doanh nghiệp chọn tham gia giai đoạn ổn định mở rộng 8 tuần nên tiếp tục chạy kênh thử nghiệm như hiện tại để chủ động xác định các vấn đề có thể tác động đến môi trường của họ.
Kết luận
Kiểm thử là một phần quan trọng của các công ty phát triển phần mềm nhằm đảm bảo chất lượng sản phẩm và cũng là một bước quan trọng đối với quản trị viên hệ thống, để cấp cho nhân viên của tổ chứ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ó cùng tư duy chung rằng chất lượng và vì vậy, kiểm thử là một tính năng.
Trong bài viết này, chúng tôi đã xem xét các cách khác nhau để tích hợp các phương pháp kiểm thử hay nhất vào tổ chức của bạn. Để đánh giá chuyên sâu 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, suôn sẻ.
Để được hướng dẫn thực tế về việc 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ề kiểm thử tự động trên web.dev.