Software Testing as a Career Path (Skills, Salary, Growth)

Hướng dẫn này sẽ đưa cho bạn 1 số kiến thức tổng quan và chuyên sâu của kiểm thử phần mềm. Nếu bạn có kế hoạch tạo dựng sự nghiệp trong kiểm thử phần mềm, thì cần PHẢI ĐỌC!

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

Kiểm thử phần mềm là một quá trình xác minh hệ thống / chương trình máy tính để quyết định xem nó có đáp ứng các yêu cầu đã chỉ định và tạo ra kết quả mong muốn hay không. Với kết quả thực tế nhận được, bạn sẽ xác định được các lỗi trong sản phẩm / dự án phần mềm.

Kiểm thử phần mềm là không thể thiếu để cung cấp một sản phẩm chất lượng mà không có bất kỳ lỗi hay sự cố nào.

Kỹ năng cần thiết để trở thành Nhân viên kiểm thử phần mềm

Chúng ta sẽ thảo luận về các Technical và Non-Technical cần thiết để trở thành Nhân viên kiểm thử phần mềm

Non-Technical Skills

Các kỹ năng sau đây là điều cần thiết để trở thành một nhân viên kiểm thử phần mềm giỏi. So sánh bộ kỹ năng của bạn với danh sách kiểm tra sau để xác định xem Kiểm thử phần mềm có phải là "tình yêu đích thực" của bạn không nhé

  • Analytical skills - Kỹ năng phân tích: Một người kiểm thử phần mềm giỏi nên có kỹ năng phân tích sắc bén. Kỹ năng phân tích sẽ giúp chia một hệ thống phần mềm phức tạp thành các đơn vị nhỏ hơn để hiểu rõ hơn và tạo ra các trường hợp thử nghiệm. Nếu không chắc chắn rằng mình có kỹ năng phân tích tốt, bạn có thể làm 1 bài quiz nhỏ tại liên kết này. Nếu bạn có thể giải quyết ít nhất MỘT vấn đề, bạn là người có kỹ năng phân tích tuyệt vời.
  • Communication skill - Kỹ năng giao tiếp: Một người kiểm thử phần mềm giỏi phải có kỹ năng giao tiếp bằng lời nói và bằng văn bản tốt. Các văn bản kiểm thử (như test cases, test plans, test strategies, bug reports, v.v.) được tạo bởi nhân viên kiểm thử phần mềm nên dễ đọc và dễ hiểu. Đối phó với các developer (trong trường hợp có lỗi hoặc bất kỳ vấn đề nào khác) sẽ đòi hỏi một sự kín đáo và khả năng ngoại giao tốt.
  • Time Management & Organization Skills - Kỹ năng tổ chức và quản lý thời gian: Đôi khi, kiểm thử có thể là một công việc đòi hỏi nhiều thời gian, đặc biệt là trong quá trình release code. Nhân viên kiểm thử phần mềm phải quản lý hiệu quả khối lượng công việc, có năng suất cao, thể hiện quản lý thời gian và kỹ năng tổ chức một cách tối ưu.
  • GREAT Attitude - Thái độ TUYỆT VỜI: Để trở thành một nhân viên kiểm thử phần mềm giỏi, bạn phải có thái độ TUYỆT VỜI. Đó là một thái độ "kiểm tra để phá vỡ", định hướng chi tiết, sẵn sàng tìm hiểu và đề xuất cải tiến quy trình. Trong ngành công nghiệp phần mềm, các công nghệ phát triển với tốc độ vượt trội và một người kiểm thử phần mềm giỏi nên nâng cấp các kỹ năng kỹ thuật của mình với các công nghệ thay đổi. Thái độ của bạn phải phản ánh một mức độ độc lập nhất định, nơi bạn nắm quyền sở hữu nhiệm vụ được giao và hoàn thành nó mà không cần nhiều sự giám sát trực tiếp.
  • Passion - Đam mê: Đến trở nên xuất chúng trong bất kỳ ngành nghề hay công việc nào, người ta phải có một mức độ đáng kể về niềm đam mê với nó. Một nhân viên kiểm thử phần mềm phải có niềm đam mê với lĩnh vực của mình. NHƯNG làm thế nào để bạn xác định xem mình có đam mê kiểm thử phần mềm hay không nếu bạn chưa từng làm công việc này trước đây? Đơn giản hãy THỬ và nếu kiểm thử phần mềm không kích thích bạn chuyển sang một thứ khác khiến bạn quan tâm thì câu trả lời chắc chắn là CÓ.

Technical Skills

Danh sách này khá dài, vì vậy hãy cố gắng đọc hết chúng

  • Basic knowledge of Database/ SQL - Kiến thức cơ bản về CSDL / SQL: Hệ thống phần mềm có một lượng lớn dữ liệu trong background. Dữ liệu này được lưu trữ trong các loại CSDL khác nhau như Oracle, MySQL, v.v. trong backend. Vì vậy, sẽ có tình huống các dữ liệu này cần được xác nhận. Trong trường hợp đó, các câu lệnh truy vấn SQL đơn giản hoặc phức tạp có thể được sử dụng để kiểm tra xem dữ liệu phù hợp có được lưu trữ trong CSDL ở backend hay không.

  • Basic knowledge of Linux commands - Kiến thức cơ bản về các lệnh Linux: Hầu hết các ứng dụng phần mềm như Web-Services, Databases, Application Servers được triển khai trên các máy Linux. Vì vậy, điều quan trọng đối với người kiểm thử là phải có kiến thức về các lệnh Linux.

  • Knowledge and hands-on experience of a Test Management Tool - Kiến thức và kinh nghiệm thực hành về Test Management Tool: Test Management là một khía cạnh quan trọng của kiểm thử phần mềm. Nếu không có kỹ thuật quản lý kiểm thử thích hợp, quy trình kiểm thử phần mềm sẽ thất bại. Quản lý kiểm thử không có gì ngoài việc quản lý các tạo phẩm liên quan đến thử nghiệm của bạn.

    Ví dụ: Một công cụ như Testlink có thể được sử dụng để theo dõi tất cả các Test cases được viết bởi nhóm của bạn.

    Có các công cụ khác có sẵn có thể được sử dụng cho Test Management. Vì vậy, điều quan trọng là phải có kiến thức và kinh nghiệm làm việc về các công cụ như vậy. Bởi vì chúng được sử dụng trong hầu hết các công ty.

  • Knowledge and hands-on experience of any Defect Tracking tool - Kiến thức và kinh nghiệm thực hành về một công cụ Defect Tracking bất kỳ: Defect Tracking và Defect life cycle là các khía cạnh chính của kiểm thử phần mềm. Điều cực kỳ quan trọng là quản lý các lỗi đúng cách và theo dõi chúng một cách có hệ thống. Defect Tracking trở nên cần thiết bởi vì toàn bộ nhóm nên biết về lỗi bao gồm người quản lý, developer và người kiểm thử. Một số công cụ được sử dụng để quản lý lỗi bao gồm QC, Bugzilla, Jira, v.v.

  • Knowledge and hands-on experience of Automation tool - Kiến thức và kinh nghiệm thực hành về Automation tool: Nếu bạn cảm thấy mình là một "Automation tester" sau một vài năm làm kiểm thử thủ công, thì bạn phải thành thạo và có kiến thức chuyên sâu về ít nhất MỘT công cụ tự động hóa.

    Lưu ý - Chỉ có kiến thức về bất kỳ một Automation tool nào là không đủ để vượt cuộc phỏng vấn, bạn phải có kinh nghiệm thực hành tốt, vì vậy hãy thực hành công cụ bạn chọn để đạt được sự thành thạo. Kiến thức về bất kỳ ngôn ngữ script nào như VBScript, JavaScript, C# luôn hữu ích với tư cách là người kiểm thử nếu bạn đang tìm kiếm một công việc trong lĩnh vực tự động hóa. Rất ít công ty cũng sử dụng tập lệnh Shell/Perl, và có rất nhiều nhu cầu cho những người kiểm thử có kiến thức tương tự. Một lần nữa, nó sẽ phụ thuộc vào công ty và công cụ nào được sử dụng bởi công ty đó.

Ngoài ra còn có rất nhiều phạm vi cho Performance testing tools vì các ứng dụng cần được kiểm tra về hiệu suất của chúng, đây là một phần của kiểm thử phi chức năng.

Đó là kiến thức kỹ thuật. Xin lưu ý rằng bạn không cần TẤT CẢ các kỹ năng kỹ thuật được liệt kê ở trên. Technical Skills cần thiết thay đổi theo Job Role và quy trình của công ty.

Academic Background

Nền tảng học vấn của một nhân viên kiểm thử phần mềm nên thuộc về Computer Science.

Một BTech/B.E., MCA, BCA, BSc- Computers, sẽ giúp bạn có một công việc nhanh chóng.

Nếu bạn không có bất kỳ bằng cấp nào trong số này, thì bạn phải hoàn thành chứng nhận kiểm thử phần mềm như ISTQBCSTE để giúp bạn học Software Development/Test Life Cycle và các phương pháp kiểm thử khác.

Remuneration

Mức lương của một người kiểm thử phần mềm là khác nhau giữa các công ty. Mức lương trung bình của một người kiểm thử phần mềm ở Mỹ là $45,993 - $74,935. Mức lương trung bình của một người kiểm thử phần mềm ở Ấn Độ là Rs 247,315 - Rs 449,111.

Ngoài ra, một người kiểm thử phần mềm cũng được cung cấp bảo hiểm y tế, bảo hiểm xã hội, tiền thưởng và các đặc quyền khác.

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

Vào bất kỳ ngày làm việc thông thường nào, bạn sẽ bận rộn tìm hiểu các tài liệu yêu cầu, tạo test cases, chạy test cases, báo cáo và kiểm tra lại lỗi, tham dự các cuộc họp đánh giá và các hoạt động xây dựng nhóm khác.

Software Tester Career Path

Quá trình phát triển nghề nghiệp của bạn với tư cách là nhân viên kiểm thử phần mềm (QA Analyst) trong công ty CMMI (Capability Maturity Model Integration) cấp 5 điển hình sẽ giống như sau nhưng sẽ có sự khác nhau giữa các công ty:

  1. QA Analyst (Fresher)
  2. Sr. QA Analyst (2-3 years' experience)
  3. QA Team Coordinator (5-6 years' experience)
  4. Test Manager (8-11 years' experience)
  5. Senior Test Manager (14+ experience)

Alternate Career Tracks as a Software Tester

Một khi bạn đã bị chán khi kiểm thử thủ công, bạn có thể theo đuổi các chuyên ngành sau:

  • Automation Testing - Kiểm thử tự động: Là một Automation Test Engineer, bạn sẽ chịu trách nhiệm tự động hóa việc thực hiện trường hợp kiểm thử thủ công mà không tốn thời gian. Các công cụ được sử dụng là IBM Rational Robot, Silk performer và QTP
  • Performance Testing - Kiểm thử hiệu suất: Là một Performance Test Engineer, bạn sẽ chịu trách nhiệm kiểm tra mức độ đáp ứng của ứng dụng (thời gian để load, ứng dụng tải tối đa có thể xử lý), v.v. Các công cụ được sử dụng là WEBLoad, Loadrunner.
  • Business Analyst - Chuyên viên phân tích kinh doanh: Một lợi thế lớn mà nhân viên kiểm thử phần mềm hơn developer là họ có kiến thức kinh doanh end-to-end. Một tiến bộ nghề nghiệp rõ ràng cho người kiểm thử là trở thành một BA. Là một BA, bạn sẽ chịu trách nhiệm phân tích và đánh giá mô hình kinh doanh và quy trình làm việc của công ty bạn. Đồng thời, kết hợp các mô hình và quy trình làm việc với công nghệ.

Common Myths

Kiểm thử phần mềm là một nghề nghiệp mà Testers được trả lương ít hơn và được ít sự tôn trọng hơn so với Developers

Trái với niềm tin phổ biến, Nhân viên kiểm thử phần mềm (được gọi là chuyên gia QA) được trả lương và đối xử ngang bằng với developers trong tất cả các công ty "có tham vọng". Kiểm thử phần mềm không bao giờ được coi là "xếp hạng thứ hai".

Kiểm thử phần mềm là nhàm chán

Kiểm thử phần mềm thực sự có thể "kiểm tra" thần kinh của bạn vì bạn cần hiểu rõ các Yêu cầu nghiệp vụ và dự thảo các Test cases dựa trên sự hiểu biết của bạn. Kiểm thử phần mềm không nhàm chán. Điều nhàm chán là làm cùng một bộ nhiệm vụ lặp đi lặp lại. Điều quan trọng là thử những điều mới. Đối với vấn đề đó, bạn đã bao giờ nói chuyện với một developers có kinh nghiệm hơn 3 năm chưa? Anh ấy sẽ cho bạn biết công việc của anh ấy đã trở nên nhàm chán như thế nào.

How to Become Software Tester

Đối với một người mới hoàn toàn, đây là cách tiếp cận mà chúng tôi đề xuất để học Kiểm thử phần mềm

Bạn bắt đầu với việc học các nguyên tắc cơ bản của Kiểm thử phần mềm. Sau khi thực hiện xong bạn nộp đơn xin việc tự do. Điều này sẽ giúp bạn có được kiến thức thực tế và sẽ củng cố các khái niệm thử nghiệm bạn đã học.

Tiếp theo, bạn tiến hành học Selenium - Automation tool, sau đó là JMeter - Performance Testing tool và cuối cùng là TestLink - Test Management Tool. Trong suốt thời gian bạn học, chúng tôi khuyên bạn nên nộp đơn xin việc tự do (ngoài những lợi ích khác, bạn cũng sẽ kiếm được một mức thu nhất định).

Khi bạn đã học xong tất cả các công cụ, bạn có thể xem xét lấy chứng chỉ. Chúng tôi đề nghị ISTQB. Tuy nhiên, đây là không bắt buộc.

Certification Exams:

Cấp ISTQB Foundation là chứng nhận cơ bản trong lĩnh vực Kiểm thử.

Nó không bắt buộc, nhưng nó sẽ giúp tăng cơ hội nhận được công việc. Hầu hết các công ty đều có tiêu chí này.

Một người kiểm thử phần mềm có bằng ISTQB sẽ được ưu tiên hơn so với những người khác.

Sau này, khi bạn nộp đơn xin việc lâu dài trong các tập đoàn lớn, bạn sẽ có nhiều kỹ năng để cung cấp một số kinh nghiệm tự do thực tế có thể có giá trị và sẽ tăng cơ hội được lựa chọn.

Bạn cũng có thể theo đuổi chứng chỉ trong số các công cụ Kiểm thử mà bạn đã chọn.

Learning Guides:

Dịch tại: https://www.guru99.com/software-testing-career-complete-guide.html

All Rights Reserved