Trong lĩnh vực phần mềm Tester hay còn gọi là Engineer là nghề kiểm tra chất lượng phần mềm. Tester sẽ là người kiểm tra những sản phẩm (phần mềm hay ứng dụng) mà các lập trình viên đã làm ra.
1. Bạn nên tìm hiểu trước xem Tester sẽ làm những công việc gì?
Hiểu đơn giản tester là công việc đảm bảo chất lượng của phần mềm, kiểm tra để phát hiện các lỗi đang tồn tại trước khi giao sản phẩn cho khách hàng.
Sẽ tùy thuộc vào dự án cũng như công ty mà vai trò của tester tham gia sâu đến mức nào.
Sẽ có Manual test và Automation test.
Manual testing:
Nếu bạn mới bắt đầu tham gia với công việc test, với lựa chọn này bạn không cần phải có quá nhiều nhiều kiến thức về lập trình cũng như sẽ ít đụng vào code trong lúc thực hiện công việc.
Nhưng bạn cũng cần phải nắm khá vừng về các định nghĩa, kỹ thuật test manual và có tư duy tìm lỗi tốt.
Automation testing:
Nếu bạn đã là một Developer và đang muốn chuyển sang làm Tester. Hoặc bạn đang làm manual lâu năm muốn học hỏi thêm cái gì đó mới mẻ và nâng cao trình độ của mình.
Công việc chính là sẽ viết code để thực hiện việc kiểm tra một cách tự động và phần lớn thời gian sẽ làm việc với code như một developer. Người làm automation sẽ không cần thiết phải nắm sâu về các kiến thức test manual nhưng thay vào đó phải biết rõ về các automation tools & frameworks cũng như có thể làm việc được trên nhiều ngôn ngữ lập trình khác nhau như Java, C#, AutoIT, Python, C++ …
2. Những kiến thức cần thiết để làm một tester
- Bạn cần một nền tảng căn bản về máy tính. Những kiến thức này tuy có vẻ không ứng dụng được gì trong lúc học nhưng sẽ rất hữu ích cho việc học test và đi làm sau này.
- Nếu bạn học ngành khác nhưng muốn chuyển sang làm test và bạn chưa học gì nhiều về công nghệ thông tin trong trường thì sẽ khó khăn và tốn nhiều thời gian hơn vì bạn phải học lại căn bản.
- Nếu bạn cũng đang học trái ngành thì có 2 bước cần thực hiện đó là dành thời gian học cách sử dụng tốt máy tính, tin học văn phòng, đọc thêm các sách căn bản về máy tính, lập trình…
- Tiếng Anh, cái này không liên quan test nhưng rất quan trọng, tiếng Anh tốt bạn có nhiều cơ hội để trúng vào các công ty hơn cũng như dễ dàng học thêm về test sau này vì tài liệu đa số là tiếng Anh.
3. Bạn cần phải học thêm những gì để có thể trở thành một tester?
Kiến thức cơ bản
- Kiến thức căn bản về máy tính, tin học văn phòng căn bản, cài đặt phần mềm, sử dụng internet.
- Kiến thức về lập trình: Căn bản SQL, HTML, CSS. Đây là 3 món tôi nghĩ rất cần thiết khi làm test, bạn không cần phải học sâu để viết code nhưng ít ra phải đọc hiểu được và có thể chỉnh sửa code đơn giản.
- Kiến thức tổng quan về test, bao gồm việc hiểu các định nghĩa cơ bản, các thuật ngữ, quy trình phát triển phần mềm, quy trình test. Bạn có thể học theo cuốn ISTQB Foundation hoặc bạn có thể tham gia vào “Khóa học Tester cho người mới hoàn toàn” tại đây bạn sẽ được tư vấn hướng dẫn lộ trình học rõ ràng cụ thể hơn nhé!
Một số kiến thức bạn nên bổ sung thêm để hỗ trợ tốt trong công việc của một tester
Manual Test:
- Create a Test Plan: Các thành phần cần có trong một test plan cơ bản, cách viết test plan.
- Design Test case: Cách tạo và viết một testcase thông dụng.
- Test Design Techniques: Các kỹ thuật thiết kế testcase, giúp cho testcase hiệu quả và tối ưu hơn.
- Test reporting, Daily status reports – cách viết report để báo cáo kết quả test của mình.
- Defect management: Finding defects, Logging defects, Tracking and managing defects – Học cách report & quản lý một bug cũng như sử dụng tools tracking thông dụng như Jira, Mantis, Bugzilla, Application Lifecycle Management (ALM).
- Mobile application testing (iOS, Android, Windows Phone): Cách cài đặt và test ứng dụng mobile, cách giả lập thiết bị điện thoại trên máy tính.
- Windows, Website testing & Tools support: Cách test một ứng dụng desktop, một trang web và giả lập các trình duyệt khác nhau trên máy tính.
- Risk based testing process and implementation: Đánh giá rủi ro trong kiểm thử, đây là phần nâng cao nhưng cũng nên tìm hiểu qua.
- Coding: SQL, HTML, CSS.
Automation Test:
- Học thêm về lập trình: Java, C# (.Net) là hai ngôn ngữ căn bản mà những người làm automation hay sử dụng, ngoài ra có các ngôn ngữ khác dùng để hỗ trợ như AutoIT, Python.
- Học về các Automation Tool/Framework phổ biến như: Ranorex, Selenium, Appium, TestComplete.
- Các Tools khác như: Jmeter, SoapUI.