Tester: Con đường sự nghiệp cho Tester
Việc làm Tester hiện nay đang trở thành một lĩnh vực có nhu cầu ngày càng tăng trong các công ty phát triển phần mềm và công nghệ thông tin nhằm phục vụ cho nhiều ngành nghề khác nhau. Khi bắt đầu tìm hiểu hay mới bước chân vào nghề, mọi người thường có câu hỏi: Sự nghiệp trong tương lai liệu có thể phát triển không? Công việc kiểm thử thường cần nhiều thời gian và liên tục để cập nhật kỹ năng, kiến thức và đôi khi cũng có những khảo sát cho thấy lương vị trí này khá cao, nên sẽ có nhiều người theo đuổi mà không tìm hiểu kỹ.
Trong thực tế, chúng ta không có cái gì được gọi là “Con đường sự nghiệp của Tester” mãi mãi bởi mỗi người có thể có những con đường phát triển khác nhau, có người sẽ tập trung chuyên môn và phát triển trong lĩnh vực kiểm thử, có người sẽ chuyển sang những lĩnh vực khác với vị trí khác trong ngành. Khi bạn đã tìm hiểu thật kỹ về vị trí mình phấn đấu, điều đó thật tốt nếu bạn hiểu rõ con đường bạn muốn theo đuổi, và biết được những kỹ năng nào bạn cần trau dồi và những dự án nào bạn nên tiếp tục. Và sau đây là lộ trình tham khảo cho quá trình phát triển chuyên môn của một người kiểm thử phần mềm.
Nội Dung Bài Viết
Tại sao lại cần một Tester
Trên thực tế, trong các dự án nếu không có kiểm thử thì những nhà phát triển vẫn làm ra sản phẩm phần mềm. Tuy nhiên, để các sản phẩm phần mềm trở nên hoàn chỉnh trước khi đưa đến tay người dùng cần có sự tham gia kiểm tra, thử nghiệm của các nhà kiểm thử viên hay còn gọi là Tester. Họ sẽ san sẻ một nửa công việc với Dev (nhà phát triển phần mềm), thay vì phải làm việc 16h một ngày vừa code, vừa test thì giờ dev chỉ cần tập trung cho việc code phát triển chức năng.
Tester là người kiểm thử phần mềm, xác định lỗi phần mềm, ứng dụng xem hoạt động đúng yêu cầu bài toán khách hàng hay không. Nói đơn giản, họ như một người dùng trải nghiệm sản phẩm trước khi chúng được triển khai, phát triển thực tế. Nhờ có họ mà doanh nghiệp hạn chế được sai sót, rủi ro và tiết kiệm thời gian khi tiến hành phát triển rộng sản phẩm.
Các công việc chính
Tester cũng là một trong những thành viên của đội phát triển sản phẩm. Tuy nhiên, trong mỗi ngành tùy vào mỗi công ty mà tính chất công việc của họ không giống nhau. Nhưng có những công việc chung nhất của một Tester cần để phát triển kỹ năng chuyên môn hay phát triển cơ hội cho bản thân thì cần phải làm và học hỏi trau dồi như:
- Chủ động tìm hiểu tài liệu, hiểu yêu cầu bài toán. Tham gia trực tiếp vào quá trình kiểm thử phát triển sản phẩm.
- Biết cách thiết kế test plan, viết testcase, biết tạo dữ liệu test để thực thi test, viết test report và tạo lập kiểm thử trên nhiều môi trường khác nhau.
- Dựa trên tài liệu kỹ thuật, tài liệu mô tả thiết kế testcase, tìm ra lỗi hiện tại của sản phẩm, lỗi có thể phát sinh. Và xem chức năng đạt theo yêu cầu mong muốn người dùng hay chưa.
- Phải nắm được bài toán chức năng tổng quan, rồi đi sâu vào test chức năng chi tiết sản phẩm.
- Thực hiện kiểm thử chức năng, kiểm thử hệ thống hay hiệu năng hệ thống hoặc có thể kiểm thử API kết nối…
- Thực hiện tìm kiếm lỗi, quản lý lỗi, kết hợp dev để fix bám sát chất lượng yêu cầu mong muốn của dự án.
- Tìm hiểu nâng cao kiến thức chuyên môn về kỹ thuật test, áp dụng cách test tối ưu hiệu, tiết kiệm thời gian mà hiệu quả.
- Phải quản lý, tổng hợp và nắm bắt được các lỗi xảy ra trong quá trình phát triển dự án và đưa ra các phương án đề xuất.
Kỹ năng cần thiết cho một Tester
Để có một con đường sự nghiệp tốt trong lĩnh vực này, bạn cần phải học hỏi và nắm được nhiều kỹ năng chuyên môn. Ngành này không đơn giản chỉ là ngồi tìm lỗi cơ bản như: thêm, sửa, xóa… trên giao diện ứng dụng. Mà ngoài ra, bạn cũng cần chủ động tìm hiểu, phát triển một số kỹ năng cơ bản cho mình như:
- Kỹ năng phân tích: Để test hiệu quả, chúng ta phải biết cách phân tích bài toán đi từ tổng quát đến chi tiết để cụ thể hóa vấn đề thuận tiện cho việc viết testcase, chia task công việc tốt hơn. Một người kiểm thử tốt là người biết cách phân tích vấn đề sâu của bài toán, nắm bắt được yêu cầu để có thể suy luận ra những trường hợp lỗi có thể xảy ra.
- Kỹ năng lập kế hoạch: Trong kiểm thử đôi khi không quá khó, nhưng khá nhiều việc cần phải làm. Bạn không thể làm tất cả mọi thứ cùng lúc. Vì thế bạn phải biết cách quản lý công việc hiệu quả, đạt năng suất cao và biết ưu tiên, nắm bắt những case quan trọng đặc biệt trong khi kiểm thử chức năng hay hệ thống. Điều đó sẽ giúp bạn bám sát được tiến độ dự án tốt hơn.
- Kỹ năng lập báo cáo: Không chỉ testing mà bất cứ công việc nào cũng cần biết cách báo cáo. Trong kiểm thử bạn luôn bám sát tiến độ test của mình, thống kê được bao nhiêu case, lỗi bao nhiêu, đã fix được bao nhiêu, còn tồn đọng bao nhiêu bug qua mỗi giai đoạn… bạn đều phải bám sát và báo cáo theo kế hoạch với leader của mình. Điều này rất quan trọng để đánh giá và phân chia công việc nếu đang dự án đang rất gấp.
- Hiểu về cơ sở dữ liệu: Hiện nay Tester không chỉ đơn giản là test lỗi trên giao diện phần mềm, mà bạn còn phải hiểu hơn về giao tiếp giữa các hệ thống (API testing). Cũng phải hiểu về CSDL xem giữa các hệ thống lưu trữ thế nào, các truy vấn SQL đơn giản hay 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 cơ sở dữ liệu đúng hay đủ không.
- Kỹ năng về sử dụng tool kiểm thử: Để hiệu suất công việc được tốt và chuẩn chỉ hơn chúng ta cần học cách sử dụng các tool hỗ trợ kiểm thử như performance, jmeter, jira, các tool test auto… điều đó tùy thuộc vào tính chất dự án của công ty mà chúng ta nên lựa chọn tool phù hợp.
- Nắm bắt về các tool quản lý: Ngoài nghiệp vụ test bạn phải biết cách quản lý chúng như thế nào, thống kê ra sao. Ngoài các tool cho việc testing, cũng có các tool cho Test Management như: jira, trello… điều đó giúp cho chúng ta nắm bắt tiến độ, quản lý thống kê được testcase hay bug của các thành viên trong team.
- Kỹ năng giao tiếp: Ngoài kỹ năng các về chuyên môn thì kỹ năng không thể thiếu của Tester là việc giao tiếp. Chúng ta không làm việc một mình, vì thế nên biết cách giao tiếp trong team đặc biệt với dev. Ngoài giao tiếp lời nói tốt, cũng cần biết cách giao tiếp văn bản tốt. Vì phải biết trình bày làm sao cho dev hiểu, viết làm sao cho dev hình dung. Và viết các tài liệu báo cáo test, kế hoạch kiểm thử… cũng thật ngắn gọn, đúng đủ ý.
Lộ trình phát triển cho một Tester
Để có một con đường sự nghiệp tốt, kế hoạch phát triển lâu dài trong lĩnh vực này, để biết mình cần cố gắng từ đâu, bạn có thể tham khảo “Lộ trình trở thành Tester cho người mới bắt đầu và trái ngành”
Level 1: Intern (3-6 tháng)
Ở giai đoạn này thường là các bạn sinh viên năm cuối hoặc các bạn trái ngành cực ít kinh nghiệm làm dự án. Lúc này, các bạn sẽ được tham gia vào dự án thực tế của doanh nghiệp và làm quen, tìm hiểu quy trình dự án, tìm hiểu tài liệu và có thể học quy trình làm việc trong doanh nghiệp.
Level 2: Fresher (1-1,5 năm)
Lúc này các bạn đã nắm được việc viết testcase, thực thi test, log bug và report bug. Và sử dụng các tool làm việc cơ bản, cũng đã nắm bắt cơ bản quy trình làm việc với team.
Level 3: Junior / Middle (2-3 năm)
Ở giai đoạn này, các bạn đã nắm được các kỹ thuật về kiểm thử. Cũng có thể thực hiện quản lý test, thực hiện quản lý bug, có thể biết cách lập kế hoạch kiểm thử. Và có thể sử dụng nhiều tool kiểm thử khác nhau.
Level 4: Senior (3-5 năm)
Khi này các bạn đã là các chuyên gia kiểm thử, nắm được kỹ thuật, kế hoạch kiểm thử cho các doanh nghiệp với các ứng dụng phức tạp ở các mảng khác nhau.
Có một số Tester có am hiểu về kĩ thuật, hiểu về lập trình sẽ chuyển làm Automation Test. Họ có chuyên môn cao và thực hiện test những phần khó. Họ có thể tự động hóa việc test của mình. Họ cũng tập trung vào test hiệu năng, test bảo mật cho phần mềm. Ngoài ra, cũng am hiểu về dữ liệu giữa các hệ thống.
Level 5: Test Leader / Test Manager
Thường sau 5 năm, Tester sẽ có khả năng quản lý nhóm test. Người này chịu trách nhiệm về sản phẩm, hướng dẫn và hỗ trợ các thành viên, thực hiện điều phối thành viên, lập kế hoạch và đưa ra các giai đoạn kiểm thử.
Đôi khi, đến giai đoạn này các bạn đã có kinh nghiệm, sẽ có một số bạn có định hướng chuyển sang làm BA (phân tích nghiệp vụ), hoặc học thêm kiến thức, kỹ năng quản lý dự án để chuyển làm PM (quản lý sản phẩm).
Trên thực tế, việc phát triển ở level nào, sẽ dựa trên kinh nghiệm làm việc chứ không phải dựa trên thời gian làm việc của bạn.
Kết luận
Mỗi người, mỗi cá nhân sẽ có những suy nghĩ khác nhau trong quá trình làm việc, đều có những lộ trình phát triển nghề tester khác nhau. Vì vậy, thông qua bài này hy vọng sẽ định hình ban đầu cho bạn về lộ trình để đạt được những điều bạn luôn muốn hướng đến trong tương lai. Hãy không ngừng nỗ lực và hoàn thiện, trau dồi thêm kiến thức để thành công trong bất kỳ lĩnh vực nào mà bạn mong muốn.
Leave a Comment