Một tester chuẩn chỉ nên bắt đầu từ đâu?

Một tester chuẩn chỉ nên bắt đầu từ đâu?

Tình cờ đọc được một bài viết rất hay về nghề tester nên ngồi dịch cho các bạn. Nghề kiểm thử phần mềm (tester) là một câu chuyện dài như dòng sông Volga, nên mình sẽ tổng hợp thành chuỗi bài viết. Series bài viết này gồm 3 phần và sẽ cung cấp thông tin từ A đến Z về những điều bạn nên làm, học, và chuẩn bị nếu như bạn muốn đến gần hơn với nghề "tét tơ".

Còn nếu như bạn là một Developer, bạn có bao giờ thắc mắc điều gì đã làm nên một tester - người kề vai sát cánh với mình trong mọi dự án, bất kể sáng sớm hay đêm khuya?

Phần 1: Bắt đầu từ nhận thức

Đây là một trong những giai đoạn quan trọng nhất, nhưng hầu hết mọi người bỏ qua nó. Mọi người nhanh chóng nhảy ngay vào tìm hiểu về "Làm thế nào" mà không hiểu rõ về phần "Tại sao" và "Cái gì" của nghề tester. Tìm hiểu về các lý do tại sao và nghề tester là gì sẽ giúp bạn nhận ra rằng nghề tester có dành cho bạn hay không. Giai đoạn này cũng sẽ giúp bạn tiết kiệm được kha khá thời gian để có thể biết được bản thân có thực sự hợp với nghề này không đó.

Đương nhiên là trong series này mình sẽ chỉ cho bạn cách làm thế nào để trở thành một tester, nhưng trước đó hãy trả lời giúp mình những câu hỏi sau:

  • Tại sao bạn lại muốn trở thành một tester?

Bạn muốn trở thành 1 tester. Tuyệt đấy!... Nhưng tại sao lại là nghề này?

Tại sao lại là tester, mà không phải lập trình viên, designer, hay quản lý dữ liệu,...?

Hãy tiếp tục đặt ra các câu hỏi tại sao cho đến khi bạn tìm thấy động lực thúc đẩy bạn chọn nghề này!

Thực ra thì nếu bạn không biết được lý do tại sao bạn muốn trở thành một tester thì cũng không sao đâu... Điều này cũng dễ hiểu nếu bạn là một người mới và không biết về test, không hiểu nó trông sẽ thế nào, hay con đường thăng tiến trong nghề này sẽ ra sao,...

Để giúp bạn tìm hiểu xem nghề tester có hợp với bản thân hay không, để mình giới thiệu nhanh về nghề và trả lời một số câu hỏi thường gặp trong nghề nhé:

  • Nghề tester là gì?

Kết quả theo Wikipedia với từ khoá "kiểm thử phần mềm" (software testing) như sau:

Kiểm thử phần mềm (kiểm tra, thử nghiệm) là một cuộc kiểm tra được tiến hành để cung cấp cho các bên liên quan thông tin về chất lượng của sản phẩm hoặc dịch vụ được kiểm thử. Kiểm thử có thể cung cấp cho doanh nghiệp một quan điểm, một cách nhìn độc lập về phần mềm để từ đó cho phép đánh giá và thấu hiểu được những rủi ro trong quá trình triển khai phần mềm.

Còn đây là định nghĩa của ISTQB Exam Certification:

Kiểm thử phần mềm là một quá trình thực hiện một chương trình hoặc ứng dụng với mục đích tìm ra các lỗi phần mềm (bugs) và cũng có thể được coi là một quá trình xác nhận và xác minh xem một chương trình, ứng dụng hoặc sản phẩm phần mềm có:

  • Đáp ứng các yêu cầu kinh doanh và kỹ thuật hướng dẫn thiết kế và phát triển của nó hay không
  • Hoạt động như mong đợi.
  • Có thể được thực hiện với cùng một đặc điểm.

Một định nghĩa vui về nghề tester: Người đầu bếp sẽ nấu một món ăn, tôi sẽ nếm thử xem món đó có ngon không. Điều thú vị là tôi lại được trả tiền để nói cho họ rằng món ăn của họ bị lỗi ở chỗ nào.

Qua những định nghĩa mà mình nêu ra, hy vọng bạn đã có cái nhìn tổng thể về nghề tester. Mà nếu bạn vẫn thấy hơi khó hiểu thì cứ đơn giản là đồng ý với mình rằng nghề này được tạo ra để đảm bảo tính hoạt động ổn định và ở trạng thái tốt nhất của một sản phẩm trước khi release đến khách hàng.

  • Nghề tester yêu cầu những gì?

Dù nghề này không đòi hỏi khả năng bẩm sinh thì nó cũng không phải là nghề dành cho tất cả mọi người đâu nhé. Nói cách khác thì nó yêu cầu một số kỹ năng nhất định như sau:

  • Kỹ năng làm việc nhóm
  • Kỹ năng cơ bản về lập trình
  • Tư duy cởi mở
  • Khả năng tự học
  • Kiến thức về công nghệ di động
  • Tư duy phản biện
  • Kỹ năng giao tiếp và định hướng kết quả
  • Sự tò mò
  • Đam mê và nhiệt  với nghề
  • Tư duy đa dạng và không điển hình
  • Sự rõ ràng trong phản biển và đưa ra các kết quả

Trong những kỹ năng này, theo mình tư duy phản biện và mày mò tự học vẫn là những kỹ năng cần thiết nhất với mỗi tester.

  • Bạn có cần biết về lập trình để có thể trở thành một tester?

    Câu trả lời là không. Bạn không cần phải là một chuyên gia về lập trình để bắt đầu công việc này đâu.

    Bản thân mình không phải là người làm kỹ thuật. À thực ra thì mình cũng có học kỹ thuật phần mềm và có thể viết code nhưng mình không phải là chuyên gia trong mảng này. Thành thật mà nói, mình cũng đã không code 5-6 năm rồi. Tuy nhiên, biết lập trình sẽ dễ dàng hơn cho bạn trong việc hiểu cách phần mềm được build như thế nào cũng như hiểu được các bug theo cách có hệ thống hơn. 

    Nói một cách đơn giản thì kỹ năng lập trình không phải là kỹ năng bắt buộc, nhưng mà có thì tốt. :D
  • Giao tiếp có là một kỹ năng bắt buộc?

    Bạn có thể không giỏi lập trình hoặc kỹ thuật, nhưng bạn cần phải thực sự giỏi về kỹ năng giao tiếp nếu muốn trở thành một tester.

    Trên thực tế, kỹ năng giao tiếp rất quan trọng không chỉ với tester mà còn trong các lĩnh vực khác. Tuy nhiên, nó trở nên đặc biệt quan trọng trong  này vì một trong những mục tiêu của kiểm thử là khám phá hệ thống, tìm các vấn đề trong hệ thống và truyền đạt các vấn đề này đến các nhà quản lý  các bên liên quan. Nếu bạn tìm thấy một vấn đề và bạn giữ nó hoặc không ai hiểu vấn đề của sản phẩm thì thật là vô nghĩa, đúng không?

    Trên thực tế, có rất nhiều kỹ năng thuộc về kỹ năng giao tiếp, tuy nhiên, mình muốn bạn tập trung vào hai kỹ năng này:
    - Report các bugs: Khi bạn tìm thấy hệ thống có vấn đề, bạn cần báo cáo vấn đề cho những người phụ trách tương ứng. Báo cáo bug rất quan trọng vì nó không chỉ cho người quản lý biết rủi ro trong hệ thống vđể họ có thể đưa ra  hướng giải quyết mà còn cho các lập trình viên biết vấn đề chính xác là gì, làm thế nào họ có thể khắc phục sự cố.
    - Đặt câu hỏi: Trên thực tế, nghề tester có thể được hiểu là đặt đúng câu hỏi để  ra vấn đề của hệ thống. Điều này đặc biệt đúng khi bạn kiểm tra phần mềm với tư cách là người dùng cuối hoặc trong trường hợp khi bạn không có tài liệu nào về hệ thống.

    Những gì bạn làm là sử dụng sản phẩm và sau đó tự đặt câu hỏi: nếu tôi nhấp vào nút này thì sao? Điều gì xảy ra nếu tôi chỉnh sửa thông tin và sau đó đóng ứng dụng mà không lưu dữ liệu? Điều gì sẽ xảy ra nếu tôi làm điều này và sau đó làm điều đó? Tính năng này được sử dụng để làm gì? Tại sao chúng ta cần nó?v.v.

  • Con đường sự nghiệp thì sao? Liệu nó có mức lương cạnh tranh?

    Theo qatestlab.com, mức lương cho nghề tester đang tăng mạnh những năm gần đây:

Ngân sách cho lương của nghề tester trên thế giới

Điều này có nghĩa là thế giới cũng đang có nhu cầu lớn đối với nghề tester và nhiều doanh nghiệp đang dành ngân sách cho nghề này. Vì vậy đừng lo lắng, bạn vẫn còn đủ chỗ để phát triển trong ngành này nếu bạn muốn.

Kết phần 1 thôi dài lắm rồi

Vậy là bạn đã có hình dung về nghề tester, còn nhiều điều mình muốn nói về nghề này lắm nhưng đợi phần 2 nha.

Theo: Thanh Huynh

Lược dịch: 3ron