Trước đây khi còn là sinh viên, với một người học công nghệ thông tin nên tôi được nghe nhiều về nghề Tester. Nhưng ở thời điểm đó, tất cả những gì tôi biết về nghề chỉ là lý thuyết thông qua thông tin báo mạng hoặc nghe các anh chị, thầy cô khoá trên kể lại
Khi làm luận án tốt nghiệp, tôi cũng chọn đề tài testing để chiến đấu. Và như để giải đáp được câu hỏi và hiểu biết sâu hơn, tôi đã xin làm thực tập không lương tại một công ty công nghệ lúc đó. Tuy nhiên ở vị trí thực tập trong vòng 2 tháng, tôi cũng không có đủ tất cả những thứ mà tôi nghĩ là tôi rất cần ở thời điểm đó, và đến bây giờ khi đã có hơn 7 năm trong nghề tôi đã có cái nhìn rõ hơn về nghề và hành trang để chuẩn bị cho những người muốn làm nghề cũng như những bạn trái nghành muốn trở thành một Tester
1 Tester là gì?
Tester mà tôi nhắc đến ở đây là vị trí trong các công ty về công nghệ thông tin, tổng quan thì Tester sẽ đảm bảo chất lượng đầu ra của phần mềm, kiểm tra các lỗi của sản phẩm trước khi giao cho khách hàng (với các công ty Outsource) hoặc tung sản phẩm ra thị trường cho người dùng (với các công ty Product)
Tuỳ thuộc vào dự án, công ty mà vị trí và vai trò của Tester sẽ được join ở mức độ nào, các bạn nghĩ Tester chỉ là 1 nghề và có một hình thức...nhưng không phải. Tester sẽ chia ra 2 hướng khác nhau
1.1 Manual testing
chiếm % khá lớn số lượng Tester ở Việt Nam, và cũng là lựa chọn đầu tiên của đa số các bạn bắt đầu vào nghề bởi điều kiện để làm nghề này có phần nhẹ nhàng hơn. Bạn không bắt buộc phải biết lập trình cũng như không can thiệp quá sâu vào source code trong quá trình làm việc, nhưng ở vị trí này thì bạn cũng cần phải nắm rõ các định nghĩa cơ bản, các kỹ thuật và phương pháp test manual
1.2 Automation testing
Cũng cùng là testing, nhưng các bạn đi theo hướng này bắt buộc bạn phải trang bị các kiến thức của một người lập trình, vị trí này cũng có thể gọi là Dev trong test. Với automation test, bạn cần viết script để thực hiện việc kiểm thử một cách tự động. Chính vì vậy đối tượng theo nghề này thường là các developer hoặc các bạn manual làm lâu năm muốn tăng mức lương của mình.
Vốn dĩ Manual và Automation không phải là cùng một nhánh, sở dĩ tôi nói như vậy là bởi vì một Tester làm automation tốt chưa chắc đã có khả năng quan sát và kiến thức về kiểm như một Manual tester, ngược lại một Manual tốt cũng chưa chắc có thể viết code cũng như sử dụng các kiến thức lập trình vào testing được
2 Tester làm việc với ai?
Trong quy trình phát triển một phần mềm, có 2 đối tượng mà Tester thường làm việc cùng là Developer và BA (một vài công ty có thể gọi là PO)
BA ở các công outsource chính là người lấy yêu cầu từ khách hàng, tài liệu hoá ý tưởng của khách hàng, chuẩn bị thiết kế sơ khai gửi cho designer và tài liệu đặc tả chi tiết gửi cho Dev + Tester
BA ở các công ty Product thì chính là người lên ý tưởng cho sản phẩm, họ phải nghiên cứu thị trường và đổi thủ để tạo ra các sản phẩm có tính cạnh tranh và chất lượng
Developer: người trực tiếp code sản phẩm (đối tượng này quá phổ biến nên mình không nói thêm)
3 Các kỹ năng cần thiết
- Kỹ năng phân tích*
Đây có thể nói là kỹ năng rất quan trọng nếu bạn muốn trở thành 1 nghề Tester, bạn cần một kỹ năng phân tích sâu - rộng, khả năng nhìn nhận vấn đề từ nhiều góc độ và khía cạnh khác nhau. Để phân tích được một vân đề, bạn cần có hiểu biết về lĩnh vực đó để tìm ra những điểm mấu chốt và quan trọng là gì, dự đoán được những tínhh năng có khả năng ẩn chứa nhiều bug Kỹ năng phân tích của một Tester cũng cần phải tốt hơn cả dev + BA, như vậy Tester mới có thể phản biện được tài liệu đặc tả và bắt lỗi của dev
- Kiến thức về lập trình*
Khi làm một công việc liên quan đến công nghệ, thì việc hiểu biết về lập trình là một lợi thế cực lớn đối với Tester, bạn có thể tìm hiểu các kiến thức căn bản: SQL, CSS, HTML
Kiến thức chung . Kiến thức về máy tính, tin học văn phòng, cài đặt phần mềm, internet . Nắm các kiến thức Testing, thuật ngữ, quy trình phát triển phần mềm, quy trình test
Kỹ năng mềm Tester thường xuyên phải giao tiếp và làm việc với dev cũng như BA, thậm chí nhiều công ty Tester có thể phải trao đổi trực tiếp với khách hàng, bạn cần biết cách lập luận để bảo vệ các quan điểm test của mình cũng như chứng minh được tại sao nên bắt bug này hoặc tại sao cần làm như thế này
Kiên trì, tỉ mỉ Vì sao phải kiên trì? Bởi có lúc bạn sẽ phải làm một việc lặp đi lặp lại rất nhiều lần Vd: . bạn test một tính năng và ra bug > Dev sẽ fix bug đó => bạn cần test lại, nếu vẫn lỗi thì việc test lại tính năng đó sẽ tính bằng số lần dev fix bug Tính năng đó phát triển thêm > bạn cũng cần phải test lại để chắc chắn hoạt động ổn > nếu lỗi thì bạn sẽ tiếp tục test tính năng đó cho đến khi nào tính năng được hoạt động ổn định
Tỉ mỉ, đây là yếu tốt rất quan trọng trong nghề Test. Bởi để đảm bảo tính năng không có lỗi, bạn cần đi hết ngõ ngách của sản phẩm từ UI cho đến nghiệp vụ, thậm chí cả dấu chấm, phẩy, viết hoa, thường hay bạn có thể phải đo cả từng pixel của design so với sản phẩm => bởi vậy nên cũng có thể hiểu, đa số nhân viên trong nghề hầu hết là các bạn nữ. Do phụ nữ thường tỉ mỉ, chi tiết hơn đàn ông (hehe)
4 Học gì để tở thành một Tester?
Câu hỏi này rất nhiều bạn bước vào nghề cần hỏi, bởi khi chưa có trải nghiệm về nghề chắc chắn các bạn cũng sẽ chưa hình dung hết đc những kiến thức cần chuẩn bị
Manual testing: Tôi sẽ note một số kiến thức mà bạn cần tìm hiểu sâu để trở thành manual testing . Các định nghĩa về Test case, check list, bug . Các định nghĩa về tài liệu phát triển phần mềm . Quy trình phát triển một phần mềm . Các phương pháp, cách viết test case, các thành phần của một test case . Các thành phần của bug là gì? Cách log bug và quản lý bug, các tool tracking bug như Jira, Redmine, Mantis, Bugzilla, ALM . Web app testing . Mobile app testing . Đánh giá rủi ro trong kiểm thử . SQL, HTML, CSS
Tham khảo một số trang web học tester rất hữu ích: Software Testing Tutorial – Guru99 Software Testing Tutorial – Tutorials Point Software Testing Class Software Testing Help W3Schools (HTML, CSS) SQL Tutorial – W3Schools SQL Tutorial – TutorialsPoint
Có một câu hỏi phụ nữa mà tôi nhận được rất nhiều từ các em sinh viên: “Có cần thiết phải đi học tester ở trung tâm không? “
Câu trả lời của tôi là không, quan điểm của tôi khi học bất cứ thứ gì thì giáo viên chỉ chiếm 30% định hường, còn lại là 70% kỷ luật tự thân của các bạn
Giáo viên có tốt, trung tâm có tốt mà bạn không tâm huyểt, nghiêm túc học thì kết quả cũng không thể khả quan. Thế nên thay vì đến trung tâm, bạn hoàn toàn có thể join vào các group testing, hoặc tìm một người đã có kinh nghiệm làm việc chia sẻ định hướng cho bạn kết hợp với quá nhiều kiến thức trên google, bạn cũng có thể thực hành trực tiếp trên các web app, application trên mobile sẽ giúp bạn hình dung nhanh hơn rất nhiều
Tuy nhiên nếu bạn có điều kiện và muốn cảm thấy yên tâm hơn thì vẫn có thể tìm đến các trung tâm ở nơi bạn sinh sống
Nếu có câu hỏi nào cần tham khảo, bạn cũng có thể liên hệ với tôi. Dù kiến thức không sâu rộng nhưng tôi sẽ chia sẻ bằng kinh nghiệm của mình Skype: hanhnguyen.4890