Cộng đồng nổi bật: Ramona Schwering

Ramona Schwering là một kỹ sư phần mềm và Chuyên gia nhà phát triển của Google có chuyên môn trong lĩnh vực đảm bảo chất lượng.

Bài đăng này nêu bật một chuyên gia trong cộng đồng trong loạt bài trên blog về Tự động thử nghiệm.

Ramona Schwering.

Ramona Schwering là một kỹ sư phần mềm có chuyên môn trong lĩnh vực đảm bảo chất lượng. Cô cũng là một Chuyên gia nhà phát triển của Google về công nghệ web. Ramona có niềm đam mê với việc tự động hoá thử nghiệm. Bà đã có nhiều đóng góp đáng kể cho hoạt động tự động hoá thử nghiệm thông qua các hoạt động giáo dục cộng đồng, như phát biểu tại hội nghị, xuất bản bài viết, đóng góp vào dự án nguồn mởtổ chức các cuộc gặp mặt.

Ramona Schwering tại VueJS Amsterdam.

Jecelyn: Con đường phát triển và thử nghiệm web là gì?

Ramona: Hành trình phát triển của tôi bắt đầu từ tình yêu dành cho nghệ thuật: Thời trung học, tôi dành nhiều thời gian để vẽ và tạo những hình minh hoạ mà mình muốn xuất bản. Tuy nhiên, tôi muốn sử dụng một thứ gì đó khác với DeviantArt và animexx, vì vậy tôi đã tạo trang web của riêng mình. Việc này giúp tôi tìm hiểu về hoạt động phát triển web. Sau này, tôi phát triển niềm đam mê tự động hoá thử nghiệm ngay từ công việc đầu tiên của mình. Tôi muốn loại bỏ những công việc thử nghiệm nhàm chán để có thể tập trung vào những nhiệm vụ đòi hỏi khả năng sáng tạo và kinh nghiệm của con người.

Jecelyn: Hiện có rất nhiều công cụ tự động hoá thử nghiệm. Làm cách nào để một người có thể tìm hiểu tất cả các kỹ năng đó hoặc biết nên chọn cách nào?

Ramona: Đây là một câu hỏi rất hay. Trước hết: Mặc dù bạn nên thực hiện nhiều khung tự động hoá, nhưng đừng cảm thấy áp lực phải tìm hiểu từng khung. Bắt đầu bằng việc tạo các dự án nhỏ hoặc viết một chương trình kiểm thử nhỏ đầu tiên để xem liệu bạn có thích trải nghiệm và những điều lạ lùng của một khung chương trình hay không. Bạn có thể quyết định một hoặc hai lựa chọn phù hợp với các yêu cầu và ý thích của mình. Tôi muốn chọn bằng cách dùng thử và xem liệu tôi có thích trải nghiệm của nhà phát triển của một khung làm việc nhất định hay không. Tôi cố gắng kiểm tra xem tôi có cảm thấy thoải mái khi sử dụng ứng dụng này không. Hãy nhớ rằng, việc kiểm thử phải giống như một thói quen chứ không đòi hỏi không gian đầu. Và tất nhiên, điều này phụ thuộc vào dự án bạn xây dựng cũng như các yêu cầu của dự án đó.

Jecelyn: Việc thử nghiệm thường bị trì hoãn cho đến khi kết thúc quy trình, chẳng hạn như: "Chúng tôi chưa có thời gian cho việc đó". Bạn sẽ nghĩ gì về chủ đề đó?

Ramona: Việc viết bài kiểm thử là rất cần thời gian, đặc biệt là khi bạn quyết định sử dụng phương pháp Phát triển dựa trên kiểm thử. Tuy nhiên, tôi cho rằng việc kiểm thử sẽ tốn rất nhiều thời gian: tôi cho rằng đó là một khoản đầu tư có nhiều ưu điểm: Bạn nhận được phản hồi sớm nên có thể sửa lỗi sớm hơn, giúp giảm chi phí sửa lỗi vì lỗi không tích luỹ và sẽ không tốn kém hơn để sửa ở giai đoạn sau. Ngoài ra, càng tự động hoá nhiều, bạn càng cần ít phải kiểm thử theo cách thủ công, nhưng bạn vẫn có được cái nhìn tổng quan về trạng thái của dự án. Vì vậy, theo tôi, điều ngược lại là: các thử nghiệm sẽ giúp bạn tiết kiệm thời gian và mang lại cho bạn sự tự tin mà không cần phải tốn nhiều công sức.

Jecelyn: Hãy cho tôi biết về văn hoá tự động hoá thử nghiệm tại công ty của bạn.

Ramona: Trong nhóm hiện tại, việc thử nghiệm được xem là một trách nhiệm chung và mọi người cùng sở hữu. Chúng tôi đã triển khai một quy trình có tên là "Chất lượng với tốc độ" ban đầu do Atlassian giới thiệu. Quy trình này đảm bảo người kiểm thử chỉ đóng vai trò là một mạng lưới an toàn, quyết định xem liệu yêu cầu lấy dữ liệu có cần kiểm thử hay không. Do đó, nhà phát triển không được dựa vào ý tưởng rằng người kiểm thử sẽ xử lý mọi việc. Thay vào đó, nhà phát triển và người kiểm thử làm việc cùng nhau với sự trợ giúp của các kỹ sư chất lượng, họ đóng vai trò là người hướng dẫn và hướng dẫn nhà phát triển cách kiểm thử. Nhà phát triển viết các bài kiểm thử cần thiết cho thay đổi của họ và nếu kỹ sư chất lượng cho rằng cần thiết, họ sẽ bổ sung các bài kiểm thử đó sau. Cách tiếp cận này làm tăng sự đồng cảm giữa nhà phát triển và kỹ sư chất lượng, đồng thời cho phép họ làm việc cùng nhau trong khi chia sẻ trách nhiệm.

Jecelyn: Bạn đang tham gia rất nhiều hoạt động cộng đồng như nói, viết và đóng góp cho mã nguồn mở! Làm cách nào để cân bằng thời gian và sự cân bằng giữa 2 yếu tố này?

Ramona: Tôi cảm thấy may mắn khi được công ty hỗ trợ cho những hoạt động diễn thuyết trước công chúng của tôi. Điều đó có nghĩa là tôi không phải nghỉ làm việc khi tham dự hội nghị hoặc chuẩn bị nội dung cho các bài nói chuyện. Tuy nhiên, tôi phải thừa nhận rằng tôi vẫn dành thời gian rảnh của mình cho việc học tập công khai. Để quản lý thời gian của mình một cách hiệu quả, tôi đã áp dụng chiến lược chia sẻ thời gian, chẳng hạn như dành ra 2 giờ mỗi ngày để đóng góp vào các dự án nguồn mở, viết bài hoặc tập dượt cho bản trình bày. Sau 2 giờ này, bạn cần nghỉ ngơi trong ngày để có đủ thời gian giải trí. Mặc dù đôi khi phương pháp này không diễn ra như kế hoạch nhưng nhìn chung, phương pháp này đã giúp tôi cân bằng hợp lý giữa công việc, hoạt động tương tác với cộng đồng và cuộc sống cá nhân mà không bỏ qua bất kỳ công việc quan trọng nào.

Jecelyn: Có lời khuyên nào mà bạn mong muốn nghe trước khi bắt đầu làm việc trong lĩnh vực tự động hoá thử nghiệm không?

Ramona: Bạn không nên quá thiên vị về một khung giải pháp cụ thể, mà hãy ưu tiên khung giải pháp đó thay vì giải quyết các vấn đề thực tế. Mục tiêu quan trọng nhất của chúng tôi là cung cấp chất lượng và trải nghiệm người dùng tốt nhất cho người dùng. Bất kỳ khuôn khổ nào cũng có thể giúp chúng tôi đạt được điều đó. Vì vậy, tốt nhất là không nên tham gia vào các cuộc chiến tranh khung. Khi bắt đầu sự nghiệp kiểm thử, tôi khuyên bạn nên bắt đầu bằng cách tìm hiểu những nguyên tắc cơ bản về kiểm thử và tự động hoá kiểm thử, đồng thời chỉ sử dụng các khung làm công cụ khi cần.

Jecelyn: Làm thế nào để anh bắt kịp tiến trình tự động thử nghiệm và phát triển web?

Ramona: Tôi thích nắm bắt các xu hướng và ý tưởng sáng tạo mới nhất bằng cách theo dõi các nguồn tin tức và mạng xã hội. Tuy nhiên, việc lọc ra thông tin liên quan có thể khó khăn, vì vậy tôi đảm bảo theo dõi các nguồn và cá nhân đáng tin cậy. Tôi cũng hợp nhất các nguồn của mình bằng cách sử dụng các tính năng như danh sách và dấu trang trên Twitter. Sau đây là một trong danh sách các nguồn mà tôi đã theo dõi. Tham dự các hội nghị và buổi gặp mặt là một cách khác để nắm bắt thông tin, vì tôi có thể học hỏi từ các buổi trò chuyện và tương tác với những người tham dự khác.