Làm thế nào để trở thành 1 kiểm thử viên phần mềm? (Part 1)

Bây giờ là năm 2016 và đây là một năm đặc biệt với tôi. Tôi sẽ kỷ niệm 10 năm làm kiểm thử phần mềm. <Có thể bạn không thấy, nhưng tôi đang mở champagne đấy 😃) > … 10 năm trước, tôi là một là một quản trị viên của một trang web shipping, tôi đã làm việc ở đó trong năm cuối của đời sinh viên. Công việc của tôi là dịch các bài viết từ tiếng Anh sang tiếng Việt, post chúng lên website hoặc chỉnh sửa web nếu cầu. Đó là một công việc tuyệt vời cho một sinh viên nhưng đó không phải là một kiểu công việc mà tôi muốn làm (Thực sự mà nói thì tôi cũng không biết mình thích làm gì). Tôi bắt đầu nghĩ rằng, tôi còn trẻ và tôi cần làm một thứ gì đó mới mẻ, thứ gì đó có liên quan thực sự tới phần mềm và thứ gì đó thự sự thử thách.

Sau đó tôi thấy một trang web tuyển dụng và tìm thấy một công ty tuyển dụng nhân viên kiểm thử phần mềm. “Kiểm thử phần mềm là làm gì?” Tôi tự hỏi. Phần mô tả về công việc có liệt kê ra một vài yêu cầu nhưng tôi không hiểu chúng là gì..Nhưng tôi thích chúng, và tôi quyết định viết một bản CV và apply vào công việc đó.

Thật may mắn, tôi nhận được một cuộc gọi hẹn phỏng vấn. “Buổi phỏng vấn diễn ra như thế nào?” Có lẽ bạn đang thắc mắc đúng không? Chà, buổi phỏng vấn rất tồi tệ 😦 thậm chí tôi đã ước không ứng tuyển vào vị trí này. Tôi đã trả lời sai hầu hết các câu hỏi trong kiểm thử phần mềm. Tuy nhiên có một thứ tôi nghĩ tôi đã làm tốt trong buổi phỏng vấn đó là tôi đã cho họ thấy rằng tôi sẵn sàng học hỏi những cái mới…và tôi đã vượt qua buổi phỏng vấn và trở thành một kỹ sư kiểm thử phần mềm.

Cho đến hôm nay, tôi đã làm việc trong nghề kiểm thử phần mềm đủ lâu để nhận ra rằng thật may mắn khi tôi đã được chấp nhận vào công việc đó.

Bây giờ nếu bạn muốn tham gia vào nghề kiểm thử phần mềm bạn không thể chỉ dựa vào may mắn. Chà, may mắn là một phần của cuộc sống nhưng bây giờ bạn cần phải chuẩn bị mọi thứ tốt hơn cho công việc hơn là những gì tôi đã làm trước đó bởi vì mọi thứ đã thay đổi. Công nghệ thay đổi, thị trường kiểm thử phần mềm đã thay đổi, năng lực cạnh tranh cũng thay đổi.

Vì lý do đó, tôi quyết định viết một bài hướng đẫn để giúp bạn trở thành một kiểm thử phần mềm. Nếu bạn có ý định tham gia vào sự nghiệp kiểm thử phần mềm trong năm nay thì bài viết này là dành cho bạn. Trong bài viết này tôi sẽ chỉ cho bạn những thứ bạn cần làm, học và chuẩn bị để đến gần hơn với mục tiêu là trở thành một tester.

Dưới đây là những nội dung trong bài viết này:

Phase #1: Awareness/ Nhận thức:

  • Tại sạo bạn muốn bắt đầu sự nghiệp kiểm thử phần mềm
  • Kiểm thử phần mềm là gì
  • Để trở thành một tester yêu cầu phải có những kỹ năng gì?
  • Bạn có cần phải lập trình khi trở thành một kiểm thử phần mềm?
  • Cần phải có kỹ năng giao tiếp
  • Thế còn về con đường sự nghiệp? Liệu có mức lương cạnh tranh
  • Kiểm thử phần mềm có yêu cầu các kỹ năng về kỹ thuật không?

Phase #2: Làm thế nào để xâm nhập vào kiểm thử phần mềm?

  • Học kiểm thử phần mềm như thế nào ?
  • Làm thế nào để có kinh nghiệm thực tế ?

Phase #3: Làm sao để tìm một công việc tester full-time?

  • Warm-up and networking
  • Viết 1 bản CV
  • Làm thế nào để phỏng vấn thành công?

Hãy bắt đầu:

Phase 1: Nhận thức

Đây là một giai đoạn quan trọng, nhưng hầu hết mọi người lại bỏ qua. Mọi người nhảy nhanh chóng tới “How” mà bỏ qua hiểu biết rõ ràng về “Why” và “what”. Tìm hiểu về “Why” và “What” sẽ giúp bạn nhận ra rằng Kiểm thử phần mềm có dành cho bạn hay không, nếu nó khác những gì bạn muốn làm và hợp ý. Điều này sẽ giúp bạn tiết kiệm thời gian dùng vào làm thứ gì đó sai lầm. Về cơ bản bạn phải trả lời các câu hỏi sau để đi xa hơn:

1.Tại sao bạn muốn trở thành một kiểm thử phần mềm?

Bây giờ tôi muốn trở thành một tester..Tuyệt vời!..Nhưng Tại sao? Tại sao bạn lại cọn kiểm thử phần mềm là nghề nghệp của bản thân? Tại sao lại là Kiểm thử phần mềm mà không phải là lập trình, thiết kết, IT, database… Hãy cứ tiếp tục hỏi “Tại sao” cho tới khi bạn tìm ra lý do thực sự thúc đẩy bạn trở thành một tester Không sao cả, nếu bạn không biết lý do tại sao bạn muốn trở thành mộ tester..Tôi có thể hiểu, điều này đặc biệt đúng nếu bạn hoàn toàn mới và bạn không biết kiểm thử phần mềm là gì? Nó trông như thế nào và liệu con đường sự nghiệp có tốt hay không… Để giúp bạn hiểu biết tốt hơn về kiểm thử phần mềm và liệu nó có phù hợp với bạn hay không? Hãy để tôi giới thiệu nhanh về kiểm thử phần mềm và trả lời một số câu hỏi thông thường về kiểm thử phần mềm:

2.Kiểm thử phần mềm là gì?

Dưới đây là định nghĩa từ Wikipedia:

software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. [1] Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software implementation. Test techniques include the process of executing a program or application with the intent of finding software bugs (errors or other defects).

Tôi hi vọng bạn đã có ý tưởng về kiểm thử phần mềm là gì, nhưng nếu chưa thì không sao cả, Bạn sẽ tìm hiểu thêm về nó sau. Còn bây giờ hãy cứ đồng ý rằng kiểm thử phần mềm là xác mình rằng phần mềm hoạt động đúng với dự định và đang hoạt động tốt trước khi chúng được bàn giao tới khách hàng hoặc tìm thấy lỗi trong ứng dụng

3.Yêu cầu của kiểm thử phần mềm là gì

Mặc dù kiểm thử phần mềm không phải là một kỹ năng bẩm sinh, kiểm thử phần mềm không dành cho tất cả mọi người. Nói cách khác, nó đòi hỏi một số bộ kỹ năng cụ thể mà bạn khó có thể thực hiện kiểm tra một cách hiệu quả mà không có nó. Theo Báo cáo State of Testing Report 2105, chúng là:

  • Teamwork
  • Kỹ thuật và kỹ năng lập trình cơ bản
  • Địn hướng kinh doanh, tư duy cởi mở
  • Tự học
  • Kiến thức về công nghệ di động
  • Tư duy phản biện
  • Kỹ năng định hướng và giao tiếp
  • Sự tò mò
  • Đam mê và nhiệt tình đối với kiểm thử
  • Tư duy đa dạng và điển hình
  • Sự rõ ràng và sắc nét trong việc trả lời Tất cả các kỹ năng này đều quan trọng nhưng tôi nhấn mạnh về “Tư duy phản biện” và “Sự tò mò”

4.Bạn có cần phải lập trình khi trở thành một kiểm thử phần mềm?

Không bạn không cần phải trở thành một chuyên gia lập trình hay máy tính để bắt đầu kiểm thử phần mềm. Bản thân thôi cũng không phải là một người kỹ thuật. Tôi đã học kỹ thuật phần mềm, tôi có thể viết code nhưng còn kém xa chuyên gia và thành thật mà nói tôi đã không hề chạm vào bất kỳ một dòng code nào từ 5,6 năm nay. Tuy nhiên hiểu biết về chương trình có thể giúp bạn hiểu được phần mềm được xây dựng như thế nào (và nơi nào code có thể bị lỗi và lỗi ra sao). Tất nhiên bạn vẫn có thể phá vỡ phần mềm mà không cần biết phần mềm đó được xây dựng thế nào, nhưng nếu bạn biết cách xây dựng phần mềm theo quan điểm lập trình bạn sẽ tìm được lỗi một cách dễ dàng và có hệ thống. Ngoài ra, biết kỹ năng lập trình thực sự giúp ích nếu bạn muốn cở thành một kiểm thử tự động. Nơi mà bạn có thể viết các đoạn script để thực thi các testcase một cách tự động hoặc xây dựng một tolls nhỏ để hỗ trợ việc kiểm thử tốt hơn. Nói một cách đơn giản, biết lập trình là tốt nhưng không bắt buộc.

5.Cần phải có kỹ năng giao tiếp

Bạn có lẽ không có kỹ năng lập trình hay kỹ thuật tốt nhưng bạn cần có kỹ năng giao tiếp tốt nếu bạn muốn trở thành một tester. Thực tế, kỹ năng giao tiếp rất quan trọng không chỉ trong kiểm thử phần mềm 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 kiểm thử phần mềm bởi vì một trong các 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 tới người quản lý và các bên liên quan. Nó sẽ không có bất kỳ ý nghĩa nào nếu bạn tìm thấy một vấn đề và giữ nó cho bản thân, không ai hiểu được vấn đề của bạn là gì. Thực tế, có nhiều kỹ năng trong kỹ năng giao tiếp, tuy nhiên tôi muốn bạn tập trung vào 2 kỹ năng sau:

  • Bug reporting (Báo cáo lỗi): Nói đơn giản, khi bạn tìm thấy một vấn đề/bug trong hệ thống, bạn cần báo cáo vấn đề đó tới người phụ trách. Báo cáo bug của bạn là rất quan trọng bởi vì nếu nó không chỉ được nói tới người quản lý những rủi ro trong hệ thống với vấn đề bạn tìm thấy mà còn giúp họ đưa ra các quyết định. Khi bạn nói với người phát triển hệ thống chính xác vấn đề là gì, từng bước họ có thể tái hiện vấn đề, điều kiện xảy ra sự cố từ đó họ có thể sửa chữa vấn đề.
  • Asking question (Đặt câu hỏi): Kiểm thử phần mềm là toàn bộ các câu hỏi để khám phá vấn đề trong hệ thống test. Điều này đặc biệt đúng khi bạn kiểm tra và khám phá phần mềm như một người dùng cuối hoặc trong trường hợp bạn không có tài liệu gì về hệ thống. Trong trường hợp này sản phẩm của bạn trở thành một hộp đen Những gì bạn làm là sử dụng phần mềm sau đó đặt câu hỏi: Điều gì sẽ xảy ra khi tôi bấm vào button này, nếu tôi chỉnh sửa thông tin và sau đó đóng ứng dụng mà không lưu data thì sao? Nếu tôi làm cái này..thì cái gì sẽ xảy ra sau đó? Tính năng này được sử dụng để làm gì? Tại sao chúng ta cần nó

6.Con đường sự nghiệp và mức lương

Theo báo cáo cảu World Quality Report năm 2015 thì ngân sách dành cho QA và kiểm thử đã tăng lên 35% tổng ngân sách cho IT Điều đó có nghĩa là kiểm thử phần mềm vẫn cần thiết và hầu hết các tổ chức đều chi ngân sách cho nó. Vì vậy đừng lo lắng, có đủ chỗ để bạn phát triển như bạn mong muốn

7. Kiểm thử phần mềm có yêu cầu các kỹ năng về kỹ thuật không?

Nếu bạn đã từng nghe ai đó nói rằng kiểm thử phần mềm là vô cùng dễ và bạn không cần biết bất kỳ một kỹ thật nào thì tôi muốn nói rắng đó là một hiểu lầm chết người. Dù muốn hay không bạn vẫn cần một trình độ kỹ thuật tốt để kiểm thử phần mềm một cách hiệu quả. Tuy nhiên bạn không cần phải trở thành một chuyên gia về lập trình, mạng, cơ sở dữ liệu để kiểm thử phần mềm. Tất cả những gì bạn cần là kỹ năng cơ bản của các kỹ thuật đó khi bắt đầu. Bây giờ đây là những điều tôi muốn bạn làm: Hãy ngừng đọc trong một vài giây và trả lời bản thân các câu hỏi sau:

  • Cho tới bây giờ cảm giác thưc sự của bạn về kiểm thử phần mềm là gì?
  • Kiểm thử phần mềm thực sự là dành cho bạn?
  • Đây chính là điều bạn muốn làm?
  • Đây là điều hấp dẫn bạn? Nếu bạn trả lời 1 từ YES to, hãy ngừng đọc bởi vì tôi sẽ đưa bạ tới phần chi tiết hơn và hướng dẫn bạn làm sao để trở thành tester. (Nếu bạn không tìm đực sự hứng thú trong kiểm thử phần mềm, hãy ngừng đọc thêm. Bạn hãy mở Youtube và tìm một vài video hài hước để xem)
Mời các bạn đọc tiếp Phase 2 và 3 ở bài viết tiếp theo ^^