Tôi viết bài này để chia sẻ với các bạn sinh viên có dự định làm về kiểm thử phần mềm (tester) trong tương lai, hy vọng sẽ cung cấp thêm thông tin giúp các bạn dễ dàng có được định hướng cho con đường của mình. Để trả lời câu hỏi “Học gì để trở thành một Tester?” tôi nghĩ cần phải đi qua các ý sau:

1. Tester sẽ làm những công việc gì?

Nhìn chung 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, 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 test và Automation test.

  • Manual testing: đây là lựa chọn của đa số các bạn bắt đầu làm test, với lựa 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 làm, tuy nhiên 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: đây thường là lựa chọn của các bạn đang làm Developer mà muốn chuyển sang làm Tester, hoặc các bạn 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. 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.

Automation không phải là nâng cao của manual vì nó là hai nhánh khác nhau, cả hai đều quan trọng cũng như có độ khó nhất định nếu phải học và tìm hiểu sâu. Người làm manual tốt không chắc có thể viết code được và người làm automation cũng chưa chắc sẽ có được tư duy, khả năng quan sát & kiến thức kiểm thử manual nên bạn cứ chọn một hướng phù hợp với khả năng và bắt đầu học, không nên tìm hiể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 kiến thức 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ề máy tính. Kiến thức căn bản này bạn có thể học được trong chương trình cao đẳng, đại học. Hiện nay 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á đầy đủ, bao quát nhiều kiến thức như hệ điều hành, database, lập trình, mạng…. 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 tập trung học trong giai đoạn sinh viên thì sau khi ra trường việc học thêm một khóa về kiểm thử là khá nhanh 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 test (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, cũng như sẽ bị sót nhiều kiến thức nếu chỉ đăng ký một khóa học test 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 làm test và khá thành công nhưng xuất phát từ các ngành khác như sư phạm, kinh tế. 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 (có thể mượn từ các bạn đang học CNTT). Giai đ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ó giá trị. Tiếp theo bạn cần học thêm về các kiến thức 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 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 để đậu 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.

Vậy tóm tắt lại, có 3 kiến thức tester cần trang bị là Nền tảng về máy tính + Kiến thức Test căn bản + Tiếng Anh

3. Học gì để trở thành tester?

3.1. Kiến thức 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ă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 tham khảo các mục gợi ý sau:

  • What is Software Testing? – Tìm hiểu phần này để biết được testing là gì? các định nghĩa, khái niệm căn bản về kiểm thử phần mềm.
  • Why is Software Testing Important? – Tại 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 phát triển phần mềm, vị trí của testing trong các giai đoạn phát triển 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à trạng thái qua các giai đoạn.
  • Quality Assurance vs. Quality control, Verification vs Validation: Phân biêt sự giống nhau và khác nhau giữa một số khái niệm.
  • 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à danh sách các kiến thức bạn nên tìm hiểu sâu thêm nếu sẽ làm test theo hướng manual.

  • 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.

Một số trang để tự học các kiến thức 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 kiến thức liên quan đến test khác:

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.

Các địa chỉ học về Automation & Lập trình:

Nếu chưa biết nên bắt đầu từ đâu tôi gợi ý là bắt đầ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ể làm được automation cho website còn Ranorex thì có thể làm được trên website, mobile application và desktop application nhưng có tốn phí khá cao.

4. Học test ở đâu?

  • Có ba cách cơ bản để học test là tự học, học ở trung tâmhọc nhóm. Đ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 đưa vào chương trình dạy. Nhưng tôi thấy đa số tester ở giai đ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ề test cũng khá nhanh. Để tự học test bạn có thể vào các nguồn tôi cung cấp ở phần bên trên, nó khá đầy đủ kiến thức căn bản.
  • Thứ hai là có thể đi học ở trung tâm hay một nhóm nào đó, các trung tâm thường có các khóa đào tạo 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 nơi đó, 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 đang định học, tôi sẽ thông qua một số mối quan hệ và bạn bè để hỏi giúp ban chất lượng của những nơi đó.
  • Ngoài ra còn một cách học khác là học nhóm, dạy kèm test, cách này tôi đang áp dụng ở một vài nhóm và thấy khá hiệu quả vì nó vừa linh động về thời gian và số lượng học viên thường giới hạn ít nên sẽ dễ tiếp thu hơn, thời gian học khoảng 1 đến 2 tháng. Nếu bạn quan tâm đến những khóa học này cũng có thể email đến tôi, khi nào bắt đầu khóa 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 sản phẩm phần mềm thì tầm quan trọng của Tester ngày càng được nâng cao và đóng vai trò quan trọng, các dự án cũng cần nhiều tester hơn nên trong tương lai nghề test sẽ phát triển mạnh mẽ, việc định hướng và trang bị kiến thức sớm từ bây giờ là rất cần thiết. Sau khi nắm được các kiến thức căn bản, bạn hãy tìm một công ty hay một dự án nào đó để bắt đầu làm, giai đoạn này rất quan trọng vì chỉ có bắt tay vào làm bạn mới hình dung rõ ràng hơn các khái niệm đã đọc cũng như học thêm cái mới trong lúc làm thực tế. Hy vọng bài này sẽ cung cấp những thông tin giúp bạn có thể bắt đầu vào việc học thuận tiện hơn.

Như mọi khi, đừng ngại email đến tôi hoặc comment tại bài này nếu bạn có thắc mắc hay muốn trao đổi thêm điều gì đó trong lúc học, tôi rất vui để chia sẻ.

61 Comments

  1. Hoàng Hoa Kma

    Cảm ơn anh vì bài viết hữu ích!

  2. Hoàng Hoa Kma

    Viết thật nhiều bài nữa nhé anh! Ung hộ nhiệt tình ạ

  3. Phạm Hoàng Trang

    cám ơn anh rất rất nhiều ạ 🙂

  4. Nick Nguyễn

    cám ơn Sang nhiều lắm, những kiến thức mà bạn chia sẻ trên website khiến cho mình có thêm động lực để tiếp tục với ngành Tester, mình mới bắt đầu về Tester nhưng cũng khá hoang mang vì ko biết có đủ khả năng ko vì tư duy tìm lỗi của mình rất kém.

  5. Phạm Xuân An

    Mình học bên kinh tế. Nhưng rất thích mảng tester, mình đang tính đi học khóa học tester căn bản của stanford. Bạn có thể cho mình thông tin chất lượng đào tạo bên đó được không? Thanks!

  6. em muốn được chia sẻ thêm 1 số tài liệu về test.cảm ơn anh!

  7. Kiều My

    thật sự cảm ơn anh về bài viết.
    anh có thể chia sẻ thêm một số tài liệu về test k ạ!

  8. Nguyễn Phú Đônng

    em đang học tự động hóa và giờ muốn định hướng theo tester,muốn tham khảo 1 số tài liệu và 1 vài khóa học ạ,trình độ tiếng anh hơi kém,kiến thức máy tính cơ bản và một số lập trình C + + thỳ cũng mới chỉ đươc học qua ở trường thôi ạ

  9. em giờ chuẩn bị vào 12 và tính đi theo đường tester. theo anh giờ em nên theo trường đh nào vậy anh và em cần phải chuẩn bị kiến thức nào anh?

  10. huyền trang

    cho mk xin gmail của bạn với az!

  11. A cho e hỏi a có mở lớp dạy hoc test ở hà nội ko ạ?

  12. Hoài Phương

    Cảm ơn anh, bài viết rất chi tiết!
    Hiện em đang là sinh viên năm 3 CNTT, em muốn theo hướng Tester nên muốn theo học khóa testing ở trung tâm! Anh biết trung tâm nào chất lượng thông tin em với! Em cảm ơn!

  13. Cảm ơn anh vì bài viết rất hay và hữu ích 🙂 Hi vọng sau này có thể nhờ a giúp đỡ nhiều hơn, em vừa thi ĐH xong 🙁

  14. Chào bạn ạ! Bạn có thể chia sẻ cho mình về cách học để trở thành 1 tester được chứ ạ! Hiện nay mình đang là sinh viên năm cuối của nghành hệ thống thông tin. Mình đọc trên mạng thấy nghề tester là nghề khá mới , giờ hiện tại mình chưa biết định hình sẽ làm công việc đó sau này là như thế nào. Bạn cho mình biết cái cần có để học được nghề tester này được chứ ạ!
    Mình xin cảm ơn ạ!

  15. Phượng Lê

    Chào anh, cảm ơn anh vì bài viết. Anh đang dạy kèm nhóm đúng k ạ? Có ở Hà Nội không anh? Nếu không có thì anh email cho e xin một ít kinh nghiệm hoặc tài liệu về Tester nhé anh :))
    Em cảm ơn ạ.

  16. Em chào a. Hiện e là sv năm cuối chuyên tiếng anh của trường kĩ thuật. Em đang có ý định học làm tester ạ. Nhưng e k có chút kiến thức nào về IT. Chỉ biết qua cấu trúc máy tính…. ở trường thôi ạ. A cho e hỏi nếu e theo đuổi nghề này thì có khó đối với nữ k ạ? Và e nên bắt đầu từ đâu?. Em cảm ơn a

  17. Đỗ Đình Tú

    Bài viết khá hay và đầy đủ về việc học tập cho tester. Mình học kỹ thuật viễn thông, chưa học qua lập trinh, đã đi làm nhiều ngành nhưng chưa phù hợp. Mình sinh năm 1988, giờ bắt đầu tìm hiểu về tester, mong Sang gửi tài liệu căn bản về CNTT và có hướng dẫn về 1 khóa học căn bản cho tester. Cám ơn bạn

  18. Bài viết rất hữu ích.
    Bạn cho mình hỏi. Test tự học và tham gia thêm vài khóa học, có chứng chỉ mà ko có bằng đại học – CĐ thì có thể xin được việc ko?

  19. Hi anh Sang,
    Em học kinh tế nhưng đang có hứng thú muốn chuyển sang tester. Tuy nhiên, em đang băn khoăn không biết phải bắt đầu từ đâu ( em vẫn chưa có kiến thức gì về cntt). May măn nay tìm thấy bài viết của anh và thấy anh có đề cập đến việc học theo nhóm. Em muốn biết rõ hơn về thông tin đó không ạ? Em hiện đang ở Tp Hcm ạ.
    Cảm ơn Anh rất nhiều.

  20. Em chưa học qua về công nghệ thông tin. Giờ e mới bât đầu tự học để trở thành tester. E muốn tìm 1 số giáo trình tiếng Việt a có thể chỉ giúp e đc k ạ? E muốn tìm hiểu để nắm kiến thức cơ bản rồi sẽ tìm trung tâm để học sau ạ

  21. Cảm ơn bạn bài viết rất hay. Mình đang muốn theo ngành tester (mình chưa biết gì về tester) và mình đang tính đi học khóa học tester căn bản. Bạn biết trung tâm nào chất lượng thông tin cho mình với. Cám ơn bạn!

  22. Nguyễn Thị Thu Giang

    em đang có nhu cầu chuyển hướng công việc sang làm tester. Nhờ Anh tư vấn giúp em ạ.
    Em cám ơn.

  23. Em đang là sv năm cuối CNTT chuyên ngành Ứng Dụng cũng đang muốn học tester nhưng kiến thức chuyên ngành còn kém nên muốn tìm 1 trung tâm để học. anh có thể giới thiệu cho em trung tâm nào chất lượng không ạ. em đang định đi học ở stanford đc k ạ? em cảm ơn anh!

  24. em muốn hỏi anh là: thầy giáo em giới thiệu công ty đào tạo tester và tuyển thực tập sinh. người ta bảo là không biết sẽ trải qua 1 lớp đào tạo và 6 tháng thực tập. nhưng em sinh viên năm 3 mới biết về sql còn HTML và CSS thì chưa biết gì. anh cho em lời khuyên có lên đi phỏng vấn và học khóa đào tạo k ạ?

  25. Em rất muốn học 1khóa test nhưng chưa học ntn cho hiệu quả nhất, rất mong anh tư vấn ạ.

  26. Cảm ơn anh Sáng nhiều ạ.

    Em là dân ngoại đạo (chuyên ngoại ngữ), bắt đầu mon men sang học làm tester 🙂
    Hôm nay đọc được bài viết rất bổ ích của anh, thấy có thêm động lực để cố gắng bước tiếp.

    Có gì không hiểu em xin phép email với anh Sáng, rất mong được anh chỉ bảo.

  27. Cảm ơn bạn đã chia sẻ bài viết khá hay!

  28. Lê văn trung

    Xin chào ad,mình trc học cntt nhưng sau ra làm kỹ thuật về phần cứng,hiện tại mình đang muốn tìm hiểu về tester để học và làm việc.
    Bạn cho mình lời khuyên với
    Cảm ơn bạn nhiều
    Email của mình: [email protected]

  29. em là sv năm 2 CNTT và đang muốn học tester nhưng e chưa biết nên bắt đầu học từ đâu và cần nhcos những tài liệu gì để học ạ.

  30. Cám ơn a về bài viết rất chi tiết ạ. Em chuyên về tiếng anh và nay muốn tìm hiểu học về tester. A cho em email của anh được không ạ. Em cám ơn anh.

  31. Hoàng Lâm

    A cho e xin email vs ạ e đang cần một số lời khuyên ạ, e cảm ơn a

  32. Chào bạn mình dân kế toán muốn nhảy ngành sang tester cần một vài lời khuyên từ bạn!!!

  33. Em cám ơn anh vì bài viết hữu ích này. Mấy ngày nay em đang tìm hiểu không biết bắt đầu từ đâu vì em trái ngành. Em sẽ tìm hiểu theo hướng dẫn của anh.
    Hi vọng sau này có khó khăn sẽ có được lời khuyên hữu ích từ anh.
    ^^

  34. Cảm ơn bạn về bài viết

  35. Em học sư phạm và đã tốt nghiệp. Em đang nghiên cứu và tìm hiểu về tester, dự định tham gia 1 khóa học 3 tháng ở iviettech. Anh có thể cho em một số tài liệu để tham khảo không ạ?

  36. Chào anh, cảm ơn bài viết của anh. E là develop muốn chuyển sang automation test.
    A có thể gửi cho e 1 số tài liệu tự học automation test dc ko ạ ? Cảm ơn anh.

  37. anh có thể giới thiệu cho em một số trung tâm uy tín về dạy tester được không ạ?em là sinh viên ngành kĩ thuật điện tử truyền thông nhưng hè này em muốn học thêm 1 khóa về tester vì em thấy nó rất hay ạ, mà em vẫn chưa tìm được trung tâm nào tốt ạ. Mong nhận được email phản hồi từ anh.
    Em cảm ơn nhiều ạ.

  38. Thương Huyền

    Em cảm ơn Anh rất nhiều, em thực sự đã bớt băn khoăn về định hướng của bản thân

  39. Tieu Thảo

    Cảm ơn a. Ban đầu e nghĩ tester là 1 nghề phải qua đào tạo dài hạn (trung cấp, cao đẳng hoặc đại học) nhưng khi đọc bài viết của a e hiểu hơn là có thể tự học hoặc học trung tâm ngắn hạn. Nếu a có review a có thể gửi review trung tâm testerhn vào e-mail giúp e được không hoặc trung tâm nào uy tín.

  40. thanks Anh Sangbui vì bài viết rất hữu ích

  41. Cho e 1 vài trung tâm nào dạy test uy tín được không ak

  42. A ơi. Theo e thấy trong test có 1 loại test là Security Test . Vậy Security Test thường nằm ở đâu trong giai đoạn phát triển phần mềm hả a ?. Và muốn học test security thì phải bắt đầu từ đâu ạ ?

  43. yuka morihei

    e muốn đi học ở trung tâm từ căn bản thì bao nhiêu 1 khoá 5 thang ạ?

  44. Nguyễn Hà

    Em là dân quản trị kinh doanh,em muốn nhảy sang tester. A tư vấn e với ạ???

  45. Em là sv năm 4 , em đang có định hướng học tester. Sau khi đọc bài của anh e lại càng có hứng tìm hiểu và học .
    Anh có thể tư vấn e với ạ!!!

  46. Phạm Thị Thu Hường

    Anh ơi cho em hỏi chút ạ. Tiếng anh ở đây cần biết là tiếng anh chuyên ngành công nghệ thông tin hay là tiếng anh giao tiếp ạ. ở trường bọn e có được học tiếng anh chuyên ngành nhưng rất sơ sài chủ yếu là mấy cái cơ bản về máy tính thôi ạ. e mong anh trả lời em, email của e là [email protected]

  47. mình muốn hỏi bạn địa chỉ học automation test uy tín ở hà nội ạ?

  48. Trương Thị Hải Âu

    Em là sinh viên năm 4, muốn bắt đầu với tester nhưng lại không biết bắt đầu từ đâu, anh có thể tư vấn cho em với ạ!

  49. Huỳnh Thư

    e muốn bắt đầu với tester thì nên bắt đầu từ đâu ạ. mong a tư vấn và giúp đỡ e ạ. cho e hỏi gmail a làm gì vậy . hixx

  50. Chào a . Em là sinh viên năm 3 ngành cntt , e muốn theo mảng Tester thì nên bắt đầu từ đâu và học như thế nào là hiệu quả ạ!
    Em cảm ơn

Leave a Comment

Your email address will not be published. Required fields are marked *