Lập trình viên có cần biết kiểm thử không

Lập trình viên có cần biết kiểm thử không?

Xu hướng hiện tại giữa các nhóm phát triển phần mềm là chuyển từ kiểm thử dựa trên QA sang kiểm thử dựa trên lập trình viên. Nhưng liệu đó có phải là sự lựa chọn đúng đắn? Bạn có thể tìm thấy ý kiến ​​mạnh mẽ của cả hai bên.

Lập trình viên có cần biết kiểm thử không? Để trả lời câu hỏi đó, bạn cần hiểu kiểm thử dựa trên lập trình viên và QA thực sự có ý nghĩa gì, cũng như điểm mạnh và điểm yếu của mỗi cách tiếp cận. Chỉ khi đó, bạn mới có thể quyết định điều gì sẽ phục vụ khách hàng tốt nhất và đảm bảo sự thành công trong kinh doanh. 

Đối số cho kiểm thử dựa trên lập trình viên

Nhiều nhóm yêu cầu các lập trình viên thực hiện kiểm thử đơn vị ở mức tối thiểu; một số cũng yêu cầu họ tạo ra các bài kiểm thử tự động, tích hợp, dựa trên mã. Nhưng việc xây dựng các bài kiểm tra phát triển cần thời gian mà các lập trình viên có thể dành để sản xuất mã mới, vì vậy họ thường bỏ qua việc xây dựng những bài kiểm tra đó để tạo ra các tính năng mới. 

Tuy nhiên, các lập trình viên có thể xây dựng một lượng đáng kể phạm vi kiểm thử vào mã của họ, nếu nó được thực hiện nhất quán trên toàn bộ cơ sở mã.

Các nhóm khác phát hành mã vào sản xuất mà hầu như không có bài kiểm thử đơn vị hoặc đánh giá mã. Tôi đã biết một số nhóm thậm chí không xác minh rằng mã của họ vẫn được biên dịch sau khi họ thực hiện các thay đổi. Nếu bạn định dựa vào kiểm thử dựa trên lập trình viên, hãy chuẩn bị sẵn một quy trình chi tiết, được quản lý tốt.  

Lập trình viên có cần biết kiểm thử không

Vậy tại sao lập trình viên lại bỏ qua việc kiểm thử mã mới? Một lý do là chúng hoạt động trong một phần của mã ứng dụng và không hiểu toàn bộ ứng dụng hoạt động như thế nào. Trong các trường hợp khác, lập trình viên đã nói với tôi rằng họ không mắc lỗi. Và tôi không phải là người duy nhất nghe thấy điều này.

Một số lập trình viêncũng phàn nàn rằng việc tạo các bài kiểm thử đơn vị lãng phí thời gian và nó quá phức tạp và quá khó để thực hiện lặp đi lặp lại, ngay cả khi quá trình kiểm thử được tự động hóa. Điểm mấu chốt, họ nói, là kiểm thử làm chậm quá trình phát triển và giảm năng suất mã hóa.

Nhưng sau đó, có những lập trình viên đã kiểm thử kỹ lưỡng mã của họ. Họ sử dụng các bài kiểm thử được mã hóa để xác định xem một bản sửa lỗi đã cho có phá vỡ mã hiện có, bản dựng hoặc chức năng cơ bản của ứng dụng hay không. Các lập trình viên kiểm thử thường có tính cạnh tranh; họ không muốn người kiểm thử QA hoặc khách hàng phát hiện ra các khiếm khuyết. Đó là một vấn đề của niềm tự hào.

Một lập trình viên có thể thực thi bộ mã kiểm thử nhiều lần có thể xác nhận rằng mã vẫn hoạt động bình thường sau khi thực hiện các thay đổi. Về lâu dài, việc viết kiểm thử tiết kiệm thời gian bằng cách giảm các vấn đề phát hành và thời gian ngừng sản xuất cũng như giảm số lượng các lỗi khách hàng có thể nhìn thấy.

Nhiều lập trình viên ghét kiểm thử vì họ nghĩ rằng nó nhàm chán, lặp đi lặp lại và quá phức tạp. Họ cũng không hiểu tất cả các phần của ứng dụng hoạt động cùng nhau như thế nào. Nhưng kiểm thử dành cho lập trình viên là một phần hiệu quả của chương trình QA của bạn khi được quản lý tốt và khi các nhóm thêm đủ thời gian vào chu kỳ phát hành để hoàn thành cả việc phát triển và kiểm thử tính năng.

Đối số cho kiểm thử dựa trên QA

Lập trình viên có cần biết kiểm thử không

kiểm thử QA là một tập hợp các kỹ năng riêng biệt hoàn toàn khác với kỹ năng của một lập trình viên thành công.  

“Không thể đánh giá thấp giá trị của một tester giỏi . Nói chung, họ có kỷ luật, giống như sự lặp đi lặp lại, và từ chối chấp nhận rằng việc không tìm ra lỗi là bằng chứng cho thấy không có bất kỳ điều gì”.
— Nataliya Hordiy, nhà phân tích đảm bảo chất lượng tại LYONSCG

Những người kiểm thử QA là những người hay tranh cãi về chuyên môn và có thể gây khó chịu cho các lập trình viên, nhưng họ luôn giữ cho những người lập trình luôn trung thực. Theo một số khía cạnh, chúng là một phần mở rộng của người quản lý phát triển hay còn gọi là quá trình phát triển. 

Người kiểm thử thực hiện các chức năng không rõ ràng để đẩy ứng dụng theo các hướng khác nhau, thường là nơi nó không bao giờ dự định. Họ tin vào các khiếm khuyết và không chấp nhận rằng lỗi đã được sửa trừ khi họ có bằng chứng. Họ không ngại thử và thất bại. Không tìm thấy lỗi trong lần đầu tiên có nghĩa là họ cần thực hiện các kiểm thử với sự sáng tạo bổ sung.

Kiểm thử dựa trên QA rất quan trọng, cho dù được thực hiện với vai trò hỗ trợ cho các nhóm phát triển hay với tư cách là một thực thể độc lập. Tuy nhiên, có thể bạn chỉ cần một nhóm nhỏ người kiểm thử hoặc một người kiểm thử duy nhất cho mỗi nhóm.

Người kiểm thử QA hoạt động hiệu quả nhất trong một nhóm các lập trình viên vì cả hai nhóm đều có năng suất cao hơn khi họ làm việc chặt chẽ với nhau. Kiểm thử dựa trên mã thuần túy không thành công vì nó thiếu yếu tố con người. 

Con người làm những điều thú vị đối với các ứng dụng theo những cách thường gây ngạc nhiên. Người kiểm thử QA nâng cao sự thành công của các bài kiểm thử được mã hóa bằng cách cung cấp mắt người và yếu tố con người, để giúp dự đoán điều đó. 

Lập trình viên có cần biết kiểm thử không

Kiểm thử lặp đi lặp lại, nhưng nó không gây nhàm chán cho người kiểm thử, vì họ phải sử dụng trí tưởng tượng của mình để dự đoán những gì khách hàng có thể làm. Và họ có kinh nghiệm với nhiều ứng dụng web và ứng dụng di động mà họ có thể so sánh. 

Đó là khả năng sang số, để tìm hiểu cách toàn bộ ứng dụng hoạt động hoặc cách một bộ ứng dụng hoạt động, điều này làm cho người kiểm thử trở nên có giá trị. 

Ngoài ra, các trường hợp kiểm thử và kế hoạch mà người kiểm thử tạo ra cung cấp một nguồn tài liệu bổ sung cho việc đào tạo và sử dụng của khách hàng. Các bài kiểm thử chứa thông tin mà lập trình viên cần để hiểu chức năng đầy đủ của ứng dụng và các điểm tích hợp của nó.  

Mặc dù việc bỏ chỉ những người kiểm thử QA là phổ biến, nhưng nhiều doanh nghiệp nhận thấy rằng khi họ thực hiện động thái đó, sự phàn nàn của khách hàng sẽ tăng lên. Có một người kiểm thử QA là cần thiết. 

Cách tiếp cận cân bằng là tốt nhất

Nhiều nhóm lập trình sản xuất và phát hành mã liên tục, hoặc gần như vậy. Tốc độ là tên của trò chơi và tốc độ tiếp cận thị trường là điều quan trọng để thành công trong kinh doanh. Nhưng bạn cần thêm thời gian kiểm thử QA vào lịch trình phát hành. Tuy nhiên, một khi bạn làm điều đó, ai sẽ thực hiện kiểm thử?

Trong hầu hết các trường hợp, cả kỹ sư kiểm thử và kỹ sư phần mềm đều nên làm như vậy. Các lập trình viên có thể kiểm thử mã của họ để loại bỏ nhiều khiếm khuyết. Và người kiểm thử QA nên giải quyết các khiếm khuyết trong quy trình làm việc của khách hàng hoặc trong toàn bộ chức năng ứng dụng có thể bị bỏ sót với kiểm thử mã dựa trên lập trình viên. 

Video chia sẻ Automation Testing & TDD – Lập trình viên hiện đại cần biết kiểm thử

Video dưới đây là những chia sẻ hữu ích đầy sâu sắc, kinh nghiệm của CodeGym về:

  • Kiến thức về kiểm thử
  • Tầm quan trọng của kiểm thử cho lập trình viên hiện nay
  • Cách phát triển hướng kiểm thử
  • Lập trình viên có cần biết kiểm thử hay không

Cảm ơn bạn đã theo dõi bài viết!

Các bạn có thể tham khảo các bài viết hay về JavaScript tại đây.


Hãy tham gia nhóm Học lập trình để thảo luận thêm về các vấn đề cùng quan tâm.

TỔNG HỢP TÀI LIỆU HỌC LẬP TRÌNH CƠ BẢN CHO NGƯỜI MỚI BẮT ĐẦU

KHOÁ HỌC BOOTCAMP JAVA/JAVASCRIPT/PHP TRỞ THÀNH LẬP TRÌNH VIÊN TRONG 5-6 THÁNG

Bình luận