Người phát triển và người kiểm thử

Phát triển phần mềm yêu cầu mọi người làm việc cùng nhau như một tổ. Bên trong tổ có một số vai trò và trách nhiệm được xác định rõ. Chẳng hạn: Người quản lí dự án, người lãnh đạo tổ, người quản lí cấu hình phần mềm; chuyên viên đảm bảo chất lượng. Tuy nhiên, người phát triển và người kiểm thử thường có vấn đề xung đột với nhau và người quản lí thường không biết cách giải quyết. Ở một tổ hiệu quả, người kiểm thử và người phát triển bổ sung cho nhau, từng người cung cấp các cảnh quan và kĩ năng mà người kia có thể không có. Sai lầm chung là coi người kiểm thử như người mới vào nghề và người phát triển là cao cấp hơn, do vậy làm nảy sinh nhiều vấn đề giữa hai vai trò này. Thực ra, người kiểm thử tốt có nhiều kĩ năng có thể giúp cho người phát triển về cách họ xây dựng phần mềm.

Ngày nay, phần lớn các chương trình đào tạo đều hội tụ vào kĩ năng lập trình. Sinh viên dành nhiều năm vào ngôn ngữ lập trình và cách gỡ lỗi mã riêng của họ cho nên họ tin kiểm thử chỉ là để tìm lỗi và không gì khác. Vì hầu hết các chương trình đào tạo đều không dạy về kiểm thử phần mềm hay chỉ cho sinh viên một tổng quan về kiểm thử, nhiều người phát triển không biết kiểm thử có thể khó thế nào. Kiểm thử yêu cầu kiên nhẫn và linh hoạt với hội tụ vào chi tiết và hiểu biết bức tranh lớn. Điều này tương phản với người phát triển, người được yêu cầu là chuyên viên trong khu vực kĩ thuật đặc thù được phân công cho họ. Người phát triển bao giờ cũng có thời gian để làm việc của họ nhưng người kiểm thử bao giờ cũng có khả năng học mọi thứ nhanh chóng trên bất kì cái gì họ kiểm thử. Họ thường có ít thời gian để học sản phẩm hay tính năng mới nhưng đằng nào cũng phải làm nó. Họ phải học điều người phát triển làm và so sánh với yêu cầu và tạo ra các trường hợp kiểm thử rồi thực hiện mọi kiểm thử trong thời gian sẵn có theo lịch biểu. Người kiểm thử cũng hiểu tâm trí của người dùng và cách họ dùng phần mềm trong môi trường của họ thay vì cách người phát triển có thể muốn họ dùng. Về căn bản người kiểm thử chuyên nghiệp phải biết nhiều hơn và làm nhiều hơn người phát triển.

Tất nhiên, người kiểm thử bị thất vọng khi làm việc với người phát triển người coi kiểm thử là dễ dàng. Vài năm trước, một người phát triển đã bình luận trong cuộc họp tổ rằng kiểm thử là dễ như "ăn bánh". Tôi có thể thấy rằng nhiều người kiểm thử đã sẵn sàng phản ứng cho nên tôi nói: “Trong trường hợp đó, tôi muốn bạn để hai tuần làm việc kiểm thử vì bạn có thể làm việc tốt hơn tổ kiểm thử.” Người phát triển đã thường bị phụ thuộc vào tổ kiểm thử làm kiểm thử đã học được bài học có giá trị khi mọi người kiểm thử được bảo không giúp gì cho anh ta. Anh ta vật lộn cả ngày mà không hoàn thành được cái gì và đến cuối anh ta phải tới và thú nhận rằng anh ta sai. Sau đó, tôi để ý một số khác biệt giữa thái độ của người kiểm thử và người phát triển. Tất nhiên, có những người phát triển giỏi có thể cũng kiểm thử tốt, và có nhiều người kiểm thử có thể viết mã rất tốt nhưng nếu bạn nhìn vào hầu hết các công ty phần mềm, bạn sẽ thấy rằng họ thuê nhiều người kiểm thử hơn là người phát triển.

Tác phẩm, tác giả, nguồn

  • Tác phẩm: Lời khuyên cho sinh viên
  • Nguồn: Blog của giáo sư John Vu, Carnegie Mellon University.
  • Wiki hóa: https://kipkis.com

Có thể bạn muốn xem