Hello các bạn. Mình là Phương, rất vui khi được gặp lại các bạn ở chủ đề ngày hôm nay.
Hôm nay, chúng ta sẽ thảo luận về các kỹ năng cần thiết để trở thành Tester giỏi nhé (bao gồm cả Technical và Non-Technical skill)
1. Non-Technical Skills
Để trở thành một Tester giỏi, các bạn hãy chuẩn bị cho mình các kỹ năng cần thiết như bên dưới nhé:
- Analytical skills – Kỹ năng phân tích: Một tester giỏi nên có kỹ năng phân tích tốt. Kỹ năng phân tích này sẽ giúp bạn chia một hệ thống phần mềm phức tạp thành các đơn vị nhỏ hơn (hay còn gọi là break down requirement) để mình có thể hiểu rõ hơn và tạo ra các test case tương ứng.
- Communication skill – Kỹ năng giao tiếp: Một Tester giỏi phải có kỹ năng giao tiếp tốt (cả lời nói và trong văn bản). 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 tester nên dễ đọc và dễ hiểu. Trong quá trình test, trong trường hợp có lỗi hoặc bất kỳ vấn đề nào khác, các bạn cần phải discuss với các developer, leader, PM. Lúc đó, bạn cần có khả năng tạo mối quan hệ và ngoại giao tốt để mọi người sẵn sàng support bạn.
- Time Management & Organization Skills – Kỹ năng tổ chức và quản lý thời gian: Đôi khi, công việc kiểm thử là đòi hỏi mất nhiều thời gian, đặc biệt là trong giai đoạn release. Tester 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 Tester giỏi, bạn phải có thái độ làm việc tốt. Bạn sẵn sàng tìm hiểu và đề xuất những ý tưởng để cải tiến quy trình làm việc trong team. Như các bạn đã biết, trong ngành công nghiệp phần mềm, các công nghệ phát triển với tốc độ chóng mặt và một Tester giỏi nên học hỏi thêm các kỹ năng kỹ thuật mới để phù hợp 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 đảm nhiểm công việc đượ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ê: Để làm tốt trong bất kỳ ngành nghề hay công việc nào, người ta phải có đam mê. Một Tester 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Ó.
2. Technical Skills
- 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. Dữ liệu này được lưu trữ trong các loại cơ sở dữ liệu (CSDL) khác nhau như Oracle, MySQL, SQL Server, 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 căn bản về 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 test cases của mình tạo ra.Ví dụ: Một số công cụ như Testlink hay QTest (hoặc có thể là excel) 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 như 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ư Java, JavaScript, Python, C# … và kiến thức về API testing 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. 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.
Nguồn: https://viblo.asia/p/software-testing-as-a-career-path-skills-salary-growth-aWj53W1156m