Những kỹ năng cần thiết của một Tester
Cùng với sự phát triển của nghành CNTT và nhu cầu nhân lực, Tester dần đã trở thành ngành nghề quan trọng, không thể thiếu trong lĩnh vực phát triển phần mềm. Tuy nhiên, cùng với sự phát triển đó, Tester phải luôn không ngừng học hỏi, trau dồi kiến thức, những kỹ năng cần thiết phục vụ cho công ...
Cùng với sự phát triển của nghành CNTT và nhu cầu nhân lực, Tester dần đã trở thành ngành nghề quan trọng, không thể thiếu trong lĩnh vực phát triển phần mềm. Tuy nhiên, cùng với sự phát triển đó, Tester phải luôn không ngừng học hỏi, trau dồi kiến thức, những kỹ năng cần thiết phục vụ cho công việc, cho lĩnh vực mà mình đang làm. Trong đó, có những kỹ năng quan trọng, cần thiết đối với một Tester như:
1. Kỹ năng phân tích: Muốn trở thành một Tester giỏi, bạn cần có 1 kỹ năng phân tích nhanh nhạy và chính xác, rèn luyện được khả năng nhìn nhận vấn đề từ nhiều góc độ, nhiều hướng. Để có góc nhìn đó, bạn cần phải phân tích yêu cầu khách hàng đưa, phân tích trong từng function nhỏ mà bạn đang test, tìm ra được những điểm mấu chốt, quan trọng, dự đoán được những vùng có thể xảy ra bug nhiều và phải kết hợp phân tích trong các function liền kề function mà bạn đang test. Kiểm thử phần mềm cho bạn cơ hội sử dụng khả năng sáng tạo, phân tích để tìm ra những thứ mà người khác không thấy được. Bạn sẽ cảm thấy thú vị với thách thức đó. Bạn phải nghĩ khác những việc và các tình huống mà người khác nghĩ vì nếu các bug dễ nhìn thấy thì nó đã không tồn tại.
2. Luôn luôn học hỏi, học hỏi nhanh Công nghệ ngày càng phát triển, nó phát triển từng ngày, mỗi ngày đều có nhiều điều mới mẻ. Nếu chúng ta không cập nhật thông tin thì chúng ta sẽ tụt hậu. Do vậy, chúng ta phải không ngừng học hỏi, trau dồi kiến thức, nổ lực tìm kiếm, cập nhật mọi sự thay đổi để phục vụ cho công việc, lĩnh vực mà chúng ta đang ngày đêm gắn bó cùng nó. Bạn phải sẵn sàng chuyển đổi, học domain khác và nhìn các domain ở các góc độ khác nhau. Đừng bao giờ suy nghĩ mình học đủ rồi hoặc mình giỏi rồi. Bởi lẽ, nếu bạn biết càng nhiều, năng lực của bạn ngày càng được đánh giá cao. Điều đó có nghĩa là nhu cầu nhà tuyển dụng cần bạn cũng nhiều và lẽ đương nhiên là thu nhập của bạn cũng từ đó mà tăng lên.
3. Chi tiết, tỉ mỉ, cẩn thận, kiên trì Để test hiệu quả, nâng cao chất lượng của sản phẩm đến mức tối ưu thì một người tester phải rèn luyện cho mình khả năng cẩn thận, kiên trì, tỉ mỉ và chi tiết. Chúng ta sẽ không thể bỏ qua từng cái dấu chấm hay dấu phẩy, icon có bị méo xệch hay hàng vàn, hàng tỉ thứ nhỏ nhặt khác. Nhưng tất cả đều vô cùng quan trọng, nó hướng đến sự thân thiện với người dùng, đáp ứng nhu cầu khách hàng. Sản phẩm hoàn thiện, chất lượng cao sẽ tạo thêm niềm tin và uy tín của công ty với đối tác. Chính vì vậy, tester là vị trí không thể thiếu và công việc này quyết định khá nhiều vào sự thành công chung của dự án. Do đó, tester bắt buộc phải có tính cẩn thận, tỉ mỉ, nhạy bén. Nếu đã qua khâu kiểm tra mà sản phẩm vẫn bị lỗi, tester phải chịu trách nhiệm hoàn toàn.
4. Luôn đổi mới
- Một ngày của một tester sẽ như thế nào? Thiết kế test case, thực hiện kiểm thử, log những lỗi hay những ảnh hưởng không hợp lý trong quá trình kiểm thử tìm được v.v... Những công việc lặp lại hằng ngày như vậy có làm bạn thấy chán. Vì vậy bạn hãy tạo ra một điều gì đó mới mẻ trong quá trình làm việc, điều này không chỉ mang đến cho bạn một cảm giác hài lòng mà còn giúp bạn tạo ra một hình ảnh đẹp trong mắt các đồng nghiệp và các nhà quản lý vì các ý tưởng mới. Sự đổi mới không nhất thiết phải là các giải pháp phức tạp, mà đó có thể chỉ là những giải pháp nhỏ có thể thực hiện được như: kết nối tất cả các nhóm qua một "mạng xã hội công ty" mà chỉ có thể được truy cập duy nhất trong công ty của bạn.
- Bạn được dạy khi bắt tay vào làm việc thì phải có công đoạn này rồi mới đến công đoạn kia, làm cái này thì không được để sót vấn đề kia, nhưng điều đó không đúng với tất cả các trường hợp. Nhiều khi các bạn bị chìm trong những bài học, các bạn đọc lý thuyết nhưng không hiểu sẽ vận dụng nó như thế nào hay vận dụng vào rồi thì cũng không biết làm thế để làm gì. Mỗi dự án nó có đặc thù riêng, đặc thù về yêu cầu, đặc thù về thời gian, đặc thù về nhân sự,... Chính vì vậy bạn phải linh động để điều chỉnh plan của mình sao cho phù hợp. Hãy tìm cho mình một con đường ngắn nhất, dễ đi nhất, nếu không tim thấy nó, bạn hãy tạo ra nó.
5. Có nền tảng kỹ thuật Công việc của một tester là vô cùng quan trọng, do đó người làm kiểm thử phần mềm cũng đòi hỏi những kỹ năng chuyên môn mà không phải ai cũng có thể sở hữu hoặc trang bị trong một sớm một chiều. Các tester cần phải hiểu và thông thạo ít nhất một ngôn ngữ lập trình. Vì thế kiến thức chuyên môn về lập trình là điều đầu tiên cần có của một tester. Họ còn phải có được những kỹ năng thiết kế, lập trình, phân tích và hiểu biết về các ứng dụng khác nhau của các phần mềm vì kỹ sư kiểm định phần mềm cũng giống như bác sĩ chẩn bệnh, phải nắm vững kiến thức mới có thể chẩn đoán chính xác.
6. Kỹ năng giao tiếp
- Một tester giỏi là người luôn tỏ ra thoải mái với các cuộc xung đột. Nếu nhiều lần, nó sẽ trở nên khó khăn trong việc xác định nguồn gốc của lỗi. Ví dụ, nó có thể là lỗi mã hóa, lỗi tài liệu, lỗi thiết kế và thậm chí nó có thể chẳng phải là lỗi. Nhưng công việc của Tester là việc thông báo lỗi. "Nếu bạn có kỹ năng giao tiếp tốt, thì bạn sẽ có được 70% sự đảm bảo công việc".
- Là một tester bạn cần giao tiếp với nhiều người trong một công ty như trưởng nhóm, lập trình viên, BA,... Tìm ra sự thiếu sót là không đủ, bạn cần phải diễn giải tốt hơn và có thể cung cấp dữ liệu để giải quyết vấn đề. Vũ khí lớn nhất của bạn là "Giao tiếp", hãy trò chuyện mà không có sự e ngại, Email mà không có lỗi nào và trở thành một bậc thầy về giao tiếp. Giao tiếp - cả nói và viết - là một kỹ năng quan trọng giúp bạn trao đổi chặt chẽ với các developers, những người phân tích chức năng hay những bên liên quan khác trong dự án. Bạn phải đảm bảo được là hiểu rõ yêu cầu của dự án, mô tả được những tiêu chí để kiểm tra và giải thích các bước mô tả vấn đề. Là 1 QA bạn không thể ngại đặt câu hỏi hoặc nói lên tiếng nói của mình.
7. Xem mình như khách hàng, mình là người sở hữu sản phẩm “Tester” là người không bị ảnh hưởng bởi các ứng dụng được phát triển và họ test dựa trên kinh nghiệm thực tế mà tiến hành sử dụng các ứng dụng với tất cả các tình huống có thể. Một Tester tốt sẽ biết rằng người dùng có thể tạo ra trăm ngàn lỗi khi học tập và sử dụng một sản phẩm. Người dùng thực sự sẽ học cách sử dụng sản phẩm bằng cách thử và xem điều gì đã xảy ra hơn là chỉ ngồi đọc hướng dẫn sử dụng. Hãy đặt mình là người dùng cuối để có cái nhìn tổng quan nhất, cái nhìn bao rộng, tổng quát, đánh giá cao nhất về sản phẩm của mình. Từ đó sẽ phát hiện ra được những lỗ hổng, những bug phát sinh trong quá trình test. Hãy luôn xem mình là người dùng đầu tiên để trải nghiệm sản phẩm.
8. Luôn đặt câu hỏi, luôn có suy nghĩ không bao giờ hết bug trong sản phẩm, tìm mọi cách tìm ra bug Nếu bạn có: Nhiều câu hỏi hơn, Nhiều sự cố hơn, Nhiều câu trả lời hơn, Nhiều sửa lỗi hơn thì lẽ dĩ nhiên bạn sẽ có một sản phẩm: Chất lượng hơn. Là một tester, bạn khám phá mọi thứ bằng cách đặt ra các câu hỏi cho chính mình và cho những người khác. Không bao giờ được có suy ghĩ hết bug. Không có sản phẩm nào là hoàn hảo. Nó chỉ có thể hoàn thiện và sẽ ngày càng hoàn thiện nếu bạn phát hiện ra những sai sót. Không thể dễ dàng cho một case nào đó pass, mà hãy suy nghĩ để làm sao có thể xảy ra những trường hợp fail. Trong trường hợp bạn không hiểu logic hoặc bất cứ thứ gì đó về yêu cầu mà khách hàng đưa ra, hãy luôn mạnh dạn đặt câu hỏi với mình, với dev, với đồng nghiệp, với sếp của mình, bất cứ ai có thể giải thích được những vấn đề thắc mắc của mình. Hãy luôn đặt những câu hỏi trong đầu để suy nghĩ ra những trường hợp có thể xảy ra bug.
9. Thừa nhận lỗi của bản thân Mắc lỗi là chuyện khá bình thường của con người. Bất cứ ai cũng có thể mắc lỗi. Nhưng vấn đề lớn nhất là chúng ta phải biết thừa nhận chúng. Đôi lúc, bạn có thể bỏ sót một vài lỗi quan trọng hoặc log sai các lỗi. Thay vì cãi nhau và tranh luận, thì hãy thừa nhận các lỗi và cố gắng không lặp lại. Đó là một đức tính tốt mà một tester cần có.
10. Tiếng Anh, ngoại ngữ tốt là một ưu thế và thực sự cần thiết
- Đối với dân IT nói chung và Tester nói riêng thì ngoại ngữ là điều không thể thiếu, nó giúp bạn đọc hiểu tài liệu, update công nghệ, giao tiếp với khách hàng,... điều đó cũng có nghĩa bạn có nhiều cơ hội thăng tiến hơn.
- Trong kiểm thử phần mềm, giao tiếp đóng vai trò cực kỳ quan trọng. Đối với các dự án outsource thì việc giao tiếp bằng tiếng Anh gần như là không thể tránh khỏi. Nếu dự án của bạn là dự án nội bộ thì việc trau dồi tiếng Anh cũng sẽ giúp bạn tiếp cận và cập nhật kiến thức về kiểm thử phần mềm tốt hơn. Nếu bạn có ý tưởng tốt, chiến lược tốt, con bug thú vị mà bạn không thể trao đổi với khách hàng vì lí do tiếng Anh thì thật lãng phí.
11. Bạn nên có tính "support" Người Tester không cần là ngôi sao sáng bóng nhất của cả Team nhưng hãy luôn sẵn sàng tràn mình ra nhiều thứ ngoài trách nhiệm của mình để chất lượng của phần mềm tốt nhất. Không ngại ngần, không sợ khó, sợ khổ để có thể rèn luyện, trau dồi cho bản thân mình có thêm thật nhiều kiến thức. Hoặc không ngại ngần giúp đõ đồng nghiệp khi họ đang gặp khó khăn, deadline kề cần. Đây là tố chất mang lại nhiều lợi thế cho nghề Tester, vừa nâng cao tầm hieur biết cho mình, vừa nâng cao tình doàn kết trong team và nội bộ.
12. Tham gia các mạng xã hội Các trang mạng làm cho bạn tốn nhiều thời gian hơn là bạn nghĩ. Nhưng đó cũng là những lợi thế. Tham gia vào các diễn đàn, chủ động trong các cuộc thảo luận, trở thành một thành viên của một nhóm kiểm thử phần mềm, theo dõi những cá nhân xuất sắc làm việc trong ngành. Tất cả những việc làm này sẽ giúp bạn cập nhật các xu hướng mới nhất, các công nghệ mới nhất.
Lời kết: Hãy bước ra mọi giới hạn của bản thân, trau dồi và rèn luyện cho mình những kỹ năng tốt, vững chắc thì chắc chắn rằng bạn sẽ trở thành một Tester giỏi.