Những cái bẫy cần tránh đối với tester mới
Bạn là tester mới? Bạn hoang mang không biết khởi đầu từ đâu? Càng tìm hiểu bạn càng cảm thấy bị mù mờ? Bạn lạc lõng và hoài nghi về năng lực cũng như con đường phát triển của một kỹ sư kiểm thử? Bạn cũng đã tự hỏi mình đã làm gì sai? Bạn không sai nhưng có thể bạn đã bị rơi vào một trong những cái bẫy mà những bạn tester mới hay mắc phải. Những cái bẫy mà theo mình các bạn cần phải thoát ra càng sớm càng tốt để có thể bước những bước vững chắc trên con đường phát triển nghề kiểm thử.
Lạc trong định nghĩa, khái niệm
Các định nghĩa, khái niệm trong kiểm thử gần như là những thứ các bạn mới vào nghề thường tiếp cận. Những câu hỏi như “Trường hợp kiểm thử là gì”, “các kỹ thuật kiểm thử”, “sự khác nhau giữa test plan và test strategy”, “sự khác nhau giữa bug, defect, error, fault”, “các loại kiểm thử” hay những câu hỏi tương tự được hỏi ở rất nhiều diễn đàn. Vấn đề ở đây không hẳn là các bạn không tìm được câu trả lời mà chính xác hơn là các bạn bị lạc trong các định nghĩa và khái niệm. Bạn đọc ở chỗ này định nghĩa như vậy, thầy giáo dạy bạn định nghĩa khác. Bạn thấy trên Wiki định nghĩa khác và đọc ở một blog thì thấy định nghĩa khác. Sao lại như vậy? Vậy định nghĩa nào là đúng nhất. Các bạn nghĩ rằng ở đâu đó sẽ có một định nghĩa đúng nhất và bạn đi tìm nó với ý nghĩ bạn có thể tự tin tuyên bố mình đã biết về nó. Theo kinh nghiệm thực tế thì đây là nỗ lực gần như vô vọng vì bạn sẽ sớm lạc trong định nghĩa vì hầu như ai cũng có thể định nghĩa được và đều nghe “lọt tai”. Từ Wiki đến các định nghĩa trong các giáo trình chứng chỉ quốc tế. Từ những nhân vật có tiếng trong giới kiểm thử trên thế giới đến những kỹ sư kiểm thử trên các diễn đàn đều có những định nghĩa của riêng mình. Đó là lí do của những tranh luận (có khi tranh cãi) triền miên ai đúng ai sai khi bàn về định nghĩa. Thực tế làm việc cho thấy hầu như chẳng ai đặt nặng vấn đề định nghĩa mà là cách bạn làm như thế nào.
Các bạn hãy tìm hiểu về định nghĩa nhưng đừng đặt nặng nó và tránh xa những tranh luận liên quan đến định nghĩa vì chẳng mang lại lợi ích gì.
Bằng cấp, chứng chỉ về kiểm thử
Có một thực tế là bằng cấp và chứng chỉ (quốc tế) đang ngày càng phổ biến và có một sức hấp dẫn khá lớn đối với cộng đồng kỹ sư kiểm thử nói chung và các bạn mới vào nghề nói riêng. Nhu cầu để học và lấy chứng chỉ cũng khác nhau. Đa phần là để tìm được việc vì thấy nhiều công ty yêu cầu chứng chỉ ABC nào đó, để thăng tiến vì có chứng chỉ sẽ giúp thăng tiến nhanh hơn và vì nó là kiến thức chuẩn quốc tế. Chương trình thì có từ cấp tốc với chứng chỉ nội bộ cho đến luyện thi chứng chỉ quốc tế với những lời chào mời kiểu như học xong làm việc được ngay, được giới thiệu việc làm và kiến thức chuẩn quốc tế. Nhiều bạn sau khi có chứng chỉ xong cứ nghĩ rằng mình “oách” và cho rằng kiến thức mình là chuẩn quốc tế để rồi sau này khi làm việc và tiếp cận với những kiến thức khác, những cách tiếp cận khác bạn vẫn cứ bảo thủ cho rằng mọi người phải giống bạn vì bạn là chuẩn. Mình không bài trừ chứng chỉ. Mình chỉ muốn chỉ ra rằng các khóa học hay chứng chỉ không phải cây đũa thần trong nghề kiểm thử. Sẽ không có vấn đề gì nếu mọi người nhận thức được rằng nó chỉ là một dạng giấy thông hành, là một góc nhìn khác về kiểm thử và không có chuẩn mực gì ở đây cả.
Như đã nói ở trên, mình không bài trừ việc bạn tham gia các khóa học hay chứng chỉ nhưng để tránh việc “tiền mất tật mang”, các bạn cần tỉnh táo để nhận ra nhu cầu thực sự của mình cũng như những giá trị mà các khóa học hay chứng chỉ đem lại.
Đi tìm “low-fruit” trong kiểm thử
Có một câu chuyện vui là gần đây mình có tham gia vào một nhóm thảo luận qua Skype và có một bạn đặt câu hỏi làm thế nào để viết test case cho một cái ứng dụng của bạn đó. Rất nhiều bạn trong nhóm đã đưa ra những test case cụ thể ngay lập tức, tuy nhiên cũng có một số bạn (trong đó có mình) đặt câu hỏi ngược lại để hỏi thêm về yêu cầu, về tính năng của app. Kết quả là mình và một số bạn bị cho là có vấn đề về đọc hiểu kiểu như “một câu hỏi đơn giản vậy mà không hiểu” kèm theo nhiều lời lẽ bức xúc khác. Hay như thỉnh thoảng mình cũng gặp những câu hỏi đại loại như “Mình không biết viết test case/test plan/test design như thế nào, bạn nào có template mẫu thì cho mình xin với”. Mình không hiểu template mẫu thì sẽ giúp được gì cho bạn đó trong ngữ cảnh đó vì mỗi dự án mỗi khác nhau. Hai ví dụ mình nêu trên mình gọi vui là hội chứng “low-fruit” trong kiểm thử. Về mặt hình tượng thì low-fruit chỉ những trái cây ở dưới thấp. Bạn chỉ cần với tay là hái được liền. Ý nghĩa của nó ám chỉ những hành động với mục đích mong đợi hiệu quả ngay lập tức mà chẳng cần bỏ chút nỗ lực nào. Kiểm thử không phải là toán học với kết quả chỉ đúng hoặc sai. Kiểm thử cần bạn suy luận, đặt câu hỏi, tìm hiểu, trao đổi thông tin và phụ thuộc nhiều vào yếu tố ngữ cảnh.
Việc các bạn đặt câu hỏi và tìm hiểu hoàn toàn được khuyến khích nhưng đừng đi tìm những giá trị tức thời vì nó có thể là cái bẫy có thể khiến bạn không thể tiến xa trong công việc kiểm thử.
Thái độ tiêu cực đối với kiểm thử
Nhiều bạn tester mới có cảm giác luôn bị Dev, quản lí dự án xem thường, chèn ép. Hay bạn đọc đâu đó kiểm thử là công việc thứ cấp, chẳng ai muốn làm. Kết quả là bạn dần mất niềm tin và trở nên bi quan vào công việc kiểm thử. Có 2 nguyên nhân có thể khiến bạn rơi vào tình trạng trên:
1) Tiên trách kỉ. Nhiều bạn kỹ sư kiểm thử tự làm mình mất giá cũng như bị xem thường trong mắt người khác. Có nhiều cách khác nhau nhưng về cơ bản bạn sẽ tự làm mình mất giá bằng các cách sau:
- Bạn không trân trọng những giá trị cũng những đồng nghiệp khác, cụ thể hơn là Dev. Nhiều bạn tester nói chuyện với nhau toàn là nói xấu Dev sau lưng khi bạn đó tìm thấy lỗi trong sản phẩm. Khi bạn có thái độ đó, chẳng trách sao bạn bị nhận được thái độ tương tự khi bạn bị sót bug. Hãy trân trọng những giá trị của đồng nghiệp, mỗi người đều có vai trò và đóng góp khác nhau trong dự án. Hỗ trợ nhau để cũng làm một sản phẩm chất lượng tốt nên là mục tiêu chung mà mọi người hướng đến.
- Không tự hào về những việc mình làm. Nếu bạn không tự hào về kiểm thử, về những việc mình làm, những giá trị mình mang lại cho dự án thì bạn đừng mong đợi mọi người nhìn thấy điều đó. Hãy cho thấy bạn quí trọng và tự hào về công việc kiểm thử. Đây là công việc của bạn và bạn có quyền tự hào về nó.
2) Hậu trách nhân. Có một thực tế là nhiều Dev, nhà quản lí cũng không hiểu về công việc kiểm thử dẫn đến những thái độ, suy nghĩ tiêu cực về kỹ sư kiểm thử. Có 2 thái độ mình quan sát thấy được từ họ:
- Tester chẳng mang lại giá trị gì. Nhiều bạn Dev có kinh nghiệm và cho rằng mình có thể viết được những đoạn code chạy ào ào và sẽ không bao giờ có lỗi. Cần gì tester? Tester có cảm giác mình như người thừa trong dự án và chẳng có tiếng nói nào.
- Có tester rồi, lo gì. Nhiều bạn Dev lại dựa vào đội test kiểu như là chốt chặn cuối cùng và duy nhất cho sản phẩm. Cho nên họ chẳng quan tâm đến chất lượng của đoạn code hay kiểu như đổ lỗi cho tester khi bị sót bug. Kết quả là tester luôn sống trong những lời chỉ trích đổ lỗi từ đồng nghiệp.
Nếu bạn rơi vào những dự án mà giá trị của tester không được nhìn nhận một cách đúng mực thì một là bạn phải “khai sáng” cho họ về kiểm thử, hai là bạn nên chuyển dự án/công ty tùy vào bạn thấy việc nào dễ làm hơn. Mắc kẹt ở giữa sẽ chỉ làm bạn mai một niềm tin vào bản thân và kiểm thử.
Lời kết
Bạn mới vào nghề và có rất nhiều thứ bạn cần phải biết và học. Bạn cảm thấy lạc trong mớ định nghĩa, khái niệm về kiểm thử, bạn có thể nhận thức sai về chứng chỉ kiểm thử, bạn đi tìm những giá trị “low-fruit” hoặc nhiều khi bạn cũng nghi ngờ về công việc kiểm thử mình đang làm. Tuy nhiên, bạn không cần phải hoảng loạn vì bạn hoàn toàn có thể tránh được những bẫy đó. Bạn mới không có nghĩa là bạn dở hay thiếu năng lực. Bạn mới đơn giản chỉ vì bạn mới mà thôi. Bước những bước chậm rãi và tận hưởng niềm vui tự hào trong công việc. Bạn sẽ thành một kỹ sư kiểm thử tuyệt vời trong tương lai.