Tôi viết bài này để share với các bạn sinh viên có dự định sử dụng về kiểm thử phần mềm (tester) trong tương lai, hy vọng sẽ phân phối thêm thông tin giúp các bạn dễ dàng có được định hình cho con đường của mình. Để giải đáp câu hỏi “Học gì để trở thành một Tester?” tôi nghĩ cần phải đi qua post sau.
1. Tester sẽ giúp những việc làm gì?
Nhìn chung công việc chính của tester là đảm bảo chất lượng của công cụ, kiểm tra để phát hiện các lỗi đã tồn tại trước khi giao sản phẩn cho khách hàng, 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. Tester thường chia ra làm 2 hướng chính là Manual tra cứu và Automation kiểm tra.
- Manual testing: đây là lựa chọn của đa số các bạn khởi đầu làm check, với chọn này bạn không cần nhiều kiến thức về lập trình cũng như sẽ ít đụng vào code trong lúc sử dụng, tuy nhiên cần phải nắm khá vừng về các khái niệm, kỹ thuật rà soát manual và có tìm hiểu tìm lỗi tốt.
- Automation testing: đây thường là lựa chọn của các bạn vừa mới sử dụng Developer mà muốn chuyển sang làm Tester, hoặc các bạn sử dụng 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. Automation check đủ nội lực nói là Dev trong tra cứu, việc làm chính là sẽ viết code để thực hiện việc tra cứu một mẹo auto và phần lớn thời gian sẽ khiến việc với code như một developer. Người làm Automation sẽ không quan trọng phải nắm sâu về các kiến thức rà soát manual nhưng thay vào đó phải biết rõ về các Automation tools & frameworks cũng giống như có thể làm việc được trên nhiều ngôn ngữ lập trình khác nhau giống như Java, C#, AutoIT, Python, C++ v.v, tùy theo yêu cầu dự án.
Automation chẳng phải là nâng cao của manual vì nó là hai nhánh khác nhau, cả hai đều cần thiết cũng như có độ khó nhất định nếu phải học và nghiên cứu sâu. Người làm manual tốt k chắc có thể viết code được và người làm tự động hóa cũng chưa chắc sẽ có được tìm hiểu, mức độ Quan sát & văn hóa kiểm thử manual nên bạn cứ chọn một hướng phù hợp với khả năng và khởi đầu học, không nên nghiên cứu cùng lúc cả hai trong giai đoạn mới vào sẽ tốn rất nhiều thời gian.
2. Tester cần những văn hóa gì?
– Trước tiên, tester cũng như bất cứ lĩnh vực nào không giống trong ngành phần mềm là cần một nền móng căn bản về máy tính. văn hóa căn bản này bạn có thể học được trong chương trình cao đẳng, ĐH. gần đây giáo trình đào tạo cao đẳng, đại học về công nghệ thông tin của các trường cũng khá đa số, bao quát nhiều văn hóa giống như hệ điều hành, database, lập trình, mạng…. Những văn hóa này tuy có vẻ không vận dụng được gì trong lúc học nhưng sẽ rất hữu ích cho việc học kiểm tra và đi làm sau này, nếu bạn quy tụ học trong công đoạn sv thì sau khi ra trường việc học thêm một khóa về kiểm thử là khá mau và đơn giản hơn nhiều.
– Nếu bạn học ngành khác nhưng muốn chuyển sang làm tra cứu (chưa học gì nhiều về công nghệ thông tin trong trường) thì sẽ chông gai và tốn nhiều thời gian hơn vì bạn phải học lại căn bản, cũng giống như sẽ bị sót nhiều văn hóa nếu chỉ đăng ký một khóa học rà soát ngắn hạn. Nhưng nói vậy không có nghĩa là không thể, cũng có nhiều bạn đang sử dụng check và khá thành công nhưng xuất phát từ các ngành khác giống như sư phạm, kinh tế. Nếu bạn cũng đang học trái ngành nghề thì có 2 bước cần thực hiện đó là dành thời gian học phương pháp dùng tốt máy tính, tin học văn phòng, đọc thêm các sách cơ bản về máy tính, lập trình (có thể mượn từ các bạn đang học CNTT). công đoạn này sẽ tốn khoảng 3 đến 6 tháng (hoặc hơn), tuy hơi dài nhưng sẽ rất có trị giá. tiếp theo bạn cần học thêm về các văn hóa chuyên ngành testing, giai đoạn này sẽ ngắn hơn, thường là khoảng 2 đến 3 tháng, chi tiết học gì tôi sẽ nói ở phần sau.
– Tiếng Anh, cái này k liên quan test nhưng rất quan trọng, tiếng Anh tốt bạn có nhiều cơ hội để đậu vào các doanh nghiệp hơn cũng giống như đơn giản học thêm về tra cứu sau này vì tài liệu đa số là tiếng Anh.
Vậy tóm lược lại, có 3 kiến thức tester cần trang bị là hệ thống về máy tính + kiến thức rà soát cơ bản + Tiếng Anh
3. Học gì để trở thành tester?
3.1. Văn hóa chung: (dù bạn chọn theo hướng nào thì cũng nên nắm các kiến thức này).
– kiến thức cơ bản về máy tính, tin học văn phòng căn bản, setup công cụ, dùng internet.
– văn hóa về lập trình: cơ bản SQL, HTML, CSS. Đây là 3 món tôi nghĩ rất quan trọng khi làm rà soát, 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 không khó khăn.
– kiến thức tổng quan về check, bao gồm việc hiểu các định nghĩa căn bản, các thuật ngữ, quy trình tăng trưởng công cụ, quy trình test. Bạn đủ nội lực học theo cuốn ISTQB Foundation hoặc xem qua các mục gợi ý sau:
- What is Software Testing? – nghiên cứu phần này để biết được testing là gì? Các định nghĩa, định nghĩa cơ bản về kiểm thử phần mềm.
- Why is Software Testing Important? – vì sao testing lại quan trọng và cần thiết? Nếu không có tester thì sản phẩm sẽ ra sao?
- Software Development life cycle: Vòng đời tăng trưởng công cụ, vị trí của testing trong các công đoạn tăng trưởng sản phẩm.
- Software test life cycle: Vòng đời của kiểm thử, thứ tự các công việc kiểm thử.
- Defect Life Cycle: Vòng đởi của lỗi và tình trạng qua các giai đoạn.
- Quality Assurance vs. Quality control, Verification vs Validation: Phân biêt sự giống nhau và không giống nhau giữa một số định nghĩa.
- Software Testing Levels: Các mức độ trong kiểm thử, đi từ nhỏ nhất đến các mức độ cao nhất.
- Software Testing types: Các loại testing thư Functional testing, Non-functional testing, Structural testing, Change related testing.
3.2. Phần kiến thức riêng:
Manual Test:
Đây là mục lục các kiến thức bạn nên tìm hiểu sâu thêm nếu sẽ khiến check theo hướng manual.
- Create a test Plan: Các yếu tố nên có trong một tra cứu plan căn bản, cách viết check kế hoạch.
- thiết kế test case: phương pháp tạo và viết một testcase thông dụng.
- check thiết kế Techniques: Các kỹ thuật thiết kế testcase, giúp cho testcase kết quả và tăng cao 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 hướng dẫn report & cai quản một bug cũng giống như sử dụng tools tracking đa dạng giống như Jira, Mantis, Bugzilla, Application Lifecycle Management (ALM).
- Mobile application testing (iOS, Android, Windows Phone): cách setup và check áp dụng mobile, hướng dẫn giả lập thiết bị ĐT trên máy tính.
- Windows, website testing & Tools support: phương pháp test một vận dụng desktop, một trang web và giả lập các trình duyệt không giống nhau trên máy tính.
- Risk based testing process and implementation: phân tích nguy cơ trong kiểm thử, đây là phần nâng cao nhưng cũng nên nghiên cứu qua.
- Coding: SQL, HTML, CSS.
Một số trang để tự học các văn hóa về manual testing căn bản, các trang này cung cấp đầy đủ các kiến thức bên trên cũng như mở rộng thêm khá nhiều văn hóa liên quan đến kiểm tra khác:
- Software Testing Tutorial – Guru99
- Software Testing Tutorial – Tutorials Point
- Software Testing Class
- Software Testing Help
- W3Schools (HTML, CSS)
- SQL Tutorial – W3Schools
- SQL Tutorial – TutorialsPoint
Automation Test:
- Học thêm về lập trình: Java, C# (.Net) là hai ngôn ngữ cơ bản mà những người làm tự động hóa hay dùng, không những thế có các ngôn ngữ khác sử dụng để hỗ trợ giống như AutoIT, Python.
- Học về các Automation Tool/Framework thông dụng như: Ranorex, Selenium, Appium, TestComplete.
- Các Tools không giống như: Jmeter, SoapUI.
Các địa chỉ học về tự động hóa & Lập trình:
- Selenium người dùng Guide
- Selenium Tutorials – Guru99
- Selenium coaching Tutorials – Software Testing Help
- Ranorex user Guide
- Jmeter
- SoapUI
- Java2S
- Python tutorial – TutorialsPoint
- C# Tutorial – TutorialsPoint
Nếu chưa biết nên kể từ đâu tôi gợi ý là khởi đầu vơi bộ tools Selenium (thường dùng Java) hoặc Ranorex (C# hoặc .Net nói chung). Với Selenium (miễn phí) bạn có thể sử dụng được tự động hóa cho website còn Ranorex thì đủ nội lực sử dụng được trên website, mobile application và desktop application nhưng có tốn phí khá cao.
4. Học check ở đâu?
- Có ba cách cơ bản để học tra cứu là tự học, học ở trung tâm và học group. đa số các tester thuộc thế hệ 8x hay 9x đời đầu đều tự học mà làm vì giai đoạn đó testing chưa phát triển và cũng chưa có trung tâm chuyên đào tạo, các trường đại học cũng chưa mang vào chương trình dạy. Nhưng tôi thấy đầy đủ tester ở công đoạn này thường xuất thân từ CNTT nên việc tự học và học thêm về rà soát cũng khá mau. Để tự học tra cứu bạn đủ nội lực vào các nguồn tôi phân phối ở phần bên trên, nó khá đa số văn hóa căn bản.
- Thứ hai là đủ sức đi học ở trung tâm hay một group nào đó, các trung tâm thường có các kiềm hãm coaching ngắn hạn trong khoảng 3 tháng đỗ lại, một số trung tâm thì có chương trình dài hơn nhưng thường không quá 6 tháng. Tôi tự học và chưa trải nghiệm qua trung tâm nào nên cũng không rõ chất lượng ở những ngành đó, nhưng tôi cũng rất vui lòng nếu bạn gởi email cá nhân đến tôi để tham khảo về các trung tâm bạn đã định học, tôi sẽ thông qua một số mối gắn kết và friends để hỏi giúp ban chất lượng của những nơi đó.
- không những thế còn một hướng dẫn học khác là học group, dạy kèm kiểm tra, phương pháp này tôi vừa mới vận dụng ở một vài group và thấy khá kết quả vì nó vừa linh động về thời gian và số lượng học viên thường hạn chế ít nên sẽ easy tiếp thụ hơn, thời gian học khoảng 1 đến 2 tháng. Nếu bạn chú ý đến những kiềm hãm học này cũng đủ nội lực email đến tôi, khi nào khởi đầu kiềm hãm mới về testing căn bản tôi sẽ cho bạn biết.
5. Tổng kết.
Trong giai đoạn mà chất lượng sẽ quyết định sự tồn vong của hàng hóa công cụ thì tầm cần thiết của Tester ngày càng được nâng cao và làm vai trò cần thiết, các dự án cũng cần nhiều tester hơn nên trong tương lai nghề tra cứu sẽ phát triển mạnh mẽ, việc định hình và trang bị kiến thức sớm từ ngày nay là rất quan trọng. Sau khi nắm được các văn hóa căn bản, bạn hãy tìm một doanh nghiệp hay một dự án nào đó để khởi đầu sử dụng, công đoạn này rất quan trọng vì chỉ có bắt tay vào làm bạn mới ảnh dung rạch ròi hơn các khái niệm đã đọc cũng giống như học thêm cái mới trong lúc làm thực tiễn. Hy vọng bài này sẽ phân phối những thông tin giúp bạn đủ sức bắt đầu vào việc học thuận tiện hơn.
Xem thêm:
Top 10 việc làm buổi tối hái ra tiền cho các bạn sinh viên
TOP 10 công việc bán thời gian hấp dẫn dành cho sinh viên
Top 4 ngành nghề có thu nhập cao ở Việt Nam mới nhất 2020
Nguồn: Sang Bùi