Tại sao các Developer là Tester “dỏm” và làm sao khắc phục?

5 lý do khiến các developer là không phải Tester “trời sinh”
1.Con nhà mình – Con nhà người ta
Khi đứng trong một căn phòng đông người, nếu ai đó bước lên và hỏi: “Ai trong đây có đứa con xấu xí?” 95% sẽ im lặng. Nhưng nếu hỏi rằng: “Ai trong đây có một người bạn có đứa con xấu xí?” thì số người giơ tay sẽ rất rất rất nhiều.
Hiện tương tương tự xảy ra với các developer khi được yêu cầu test những dòng code của chính mình. Họ có xu hướng không thể nhận ra lỗi sai của mình, trong khi nếu đó là của người khác, họ không những có thể tìm ra, xác định lỗi mà còn sửa được chúng.
2. Developer thường đơn giản hóa những vấn đề phức tạp
Các Dev thường tập trung vào việc biến những bài toán phức tạp với những yêu cầu rối mù thành những task nhỏ và có thể hành động được (actionable), rồi lại “dịch” chúng thành những dòng code nhỏ. Ví dụ, đề bài yêu cầu tạo ra một nút bấm để người dùng đăng ký dung trial, họ sẽ chuyển những yêu cầu đó thành các dòng và biến cái nút đó trở nên dùng được.
Testing thì hoàn toàn ngược lại. Task của một tester cần phải lấy những tính năng đơn giản và suy nghĩ về những kịch bản phức tạp mà có thể làm “sập” hết mọi thứ chỉ vì bugs.
3. Tập trung vào những “kịch bản lạc quan”
Một lần nữa, các developer luôn suy nghĩ về cách khiên mọi thứ xảy ra, hoặc đạt được kết quả mà họ muốn thông qua những dòng code. Trong khi đó, với testing, chúng ta cần phải xác định và tìm ra những lúc mà mọi thứ không làm việc trơn tru như chúng ta mong muốn.
Một phần quan trọng của testing là tìm ra điểm yếu của hệ thống và trong hệ thống để có thể sửa chúng. Phần lớn developers đều quan tâm đến việc giải quyết vấn đề chứ không phải vẽ ra thêm vấn đề. Chính điều này khiến họ không thể có tư duy của tester: phá hoại thay vì xây dựng.
4. Bỏ qua những chi tiết nhỏ trong tổng thể
Tester có xu hướng tìm những thứ có thể bẻ gẫy pattern. Coder lại có xu hướng tìm hoặc tạo ra pattern.
5. Thiếu kiến thức End-to-end và góc nhìn của người dùng
Phần lớn các doanh nghiệp đều không bỏ ra nhiều thời gian hay nỗ lực để khiến giúp các developer hiểu được người sử dụng sản phẩm của họ. Các developer luôn chỉ làm việc họ được thuê để làm: viết code và phát triển sản phẩm mới, và câu chuyện về việc thấu hiểu khách hang lại được để lại cho Quản lý Sản phẩm.
Vậy nên chẳng lạ gì khi nhiều lần các developers không thể biết được các mà người dùng của họ sử dụng hệ thống. Do đọ họ sẽ không dành thời gian để dự đoán những nguy cơ có thể xảy ra khi người dùng sử dụng hệ thống của họ
Trở thành một developer-tester giỏi?
Rõ ràng là chẳng developer nào giỏi test tự nhiên. Tuy nhiên, vẫn có nhiều cách để thay đổi điều đó.
  1. Ngừng xem testing là “bới lông tìm vết”
Một đội giỏi đòi hỏi cả developer và tester phải test. Bước đầu tiên để trở thành tester giỏi hơn là quên đi thực tế rằng bạn đang “test”. Test không phải là một công việc “ghê gớm”, và cũng không phải là một công việc dễ dàng. Nếu bạn muốn trở nên giỏi test, hãy bắt đầu bằng việc xem việc này là nghiêm túc, y như những công việc thường ngày khác của bạn và đảm bảo bạn dành đủ thời gian cho việc test.
2. Thấu hiểu những điểm yếu và giới hạn của mình với tư cách một developer
Nhận thức được “điểm mù” của chính mình là tiền đề cho việc phát triển. Biết được điểm mạnh và yếu của mình sẽ giúp bạn làm việc tốt hơn. Nếu có điều gì bạn cần học hỏi them, hãy học. Nếu bạn cần nhờ ai đó giúp đỡ, hãy mạnh dạn nhờ. Chẳng có gì là đáng xấu hổ khi nhờ người khác tư vấn hay giúp đỡ.
3. Lên kế hoạch code theo những khó khăn bạn gặp phải
Test đòi hỏi việc lên kế hoạch để đảm bảo bạn đang làm đúng và không bị “lạc đề”. Dưới đây là một số ví dụ:
  • Đừng test code của chính mình: như đã nói, developer luôn làm tốt nhất khi test của người khác, và cũng hãy nhờ người khác test những dòng code của chính bạn.
  • Trước khi test, hãy NGHĨ! Hãy nghĩ về cả những kịch bản tốt và xấu, nghĩ về cách mà người dùng sẽ sử dụng hệ thống, phân tích sản phẩm và tìm xem những điểm yếu.
  • Có checklist: Hãy đảm bảo rằng bạn sẽ viết ra những gì mà bạn muốn test trước khi bắt đầu để đảm bảo bạn không lỡ mất điều gì quan trọng một khi bạn vào việc.

No comments:

Post a Comment

The Ultimate XP Project

  (Bài chia sẻ của tác giả  Ryo Amano ) Trong  bài viết  số này, tôi muốn viết về dự án phát triển phần mềm có áp dụng nguyên tắc phát triển...