"Hãy theo đuổi đam mê, thành công sẽ theo đuổi bạn"
Đó là một câu nói mà mình thấy vô cùng tâm đắc. Không chỉ nghề Tester mà nghề nào cũng vậy, để có thể bắt đầu công việc và hoàn thành nó một cách tốt nhất thì bạn phải thật sự yêu thích công việc đó. Nhưng không phải ai cũng có thể định hướng cho tương lai, nghề nghiệp hay đam mê mà mình muốn theo đuổi ngay từ đầu.
Bản thân mình cũng đã từng trải qua rất nhiều công việc ở các ngành khác nhau, cũng có rất nhiều lúc mình tự hỏi rằng con đường mình đi có đúng không? Và cho tới hiện tại thì mình cảm thấy khá hài lòng và yêu thích với công việc Tester. Vậy làm thế nào để biết được bản thân mình mong muốn gì, theo bản thân mình thì trước hết chúng ta cần biết rõ về nghề nghiệp mà mình sẽ theo đuổi, mình cần gì? Nghề cần gì?
Và hôm nay mình viết bài này xin chia sẻ với các bạn về nghề kiểm thử phần mềm.
1. Công việc của tester là gì?
Công việc chính của tester là đả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, Tester sẽ làm việc cùng đội phát triển phần mềm để sản phẩm tới tay khách hàng hoàn thiện nhất.
Tester thường chia ra làm 2 hướng chính là Manual test và Automation test.
Manual testing: Manual testing là việc thử nghiệm một phầm mềm hoàn toàn được làm bằng tay bởi người Tester. Nó được thực hiện nhằm phát hiện lỗi trong phầm mềm đang được phát triển. Hay nói cách khác việc kiểm thử của bạn hoàn toàn thủ công do bạn test trên hệ thống. Đây là công việc mà không cần biết code bạn vẫn có thể làm được.
Automation testing: Automation test có thể nói là Dev trong Test, 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++ v.v, tùy theo yêu cầu dự án.
2. Nghề Tester yêu cầu gì?
Đầu tiên, tester cũng giống như bất cứ ngành nào khác trong lĩnh vực phần mềm là cần một nền tảng căn bản về công nghệ thông tin. Cần phải có kiến thức về software testing, các khái niệm như chất lượng phần mềm, đảm bảo chất lượng phần mềm, nắm vững quy trình phát triển phần mềm hay quy trình kiểm thử. Các kiến thức về kiểm thử như:
。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.
Rất cám ơn cả nhà đã đọc bài chia sẻ nhé !