Chuyển đến nội dung chính

Học Tester Mất Bao Lâu?

Học tester là 1 cách rất hay nếu như bạn đang làm hay đang học ở lĩnh vực khác mà muốn lấn sân sang công nghệ thông tin. Nhưng không phải ai cũng biết điều này hay biết làm thế nào để việc này trở nên thuận lợi. Học tester mất bao lâu là câu hỏi mà bạn nào có ý định đi theo nghề Software Tester đều thắc mắc. Vậy hãy cùng tìm câu trả lời nhé!

I. Học Tester Mất Bao Lâu?

Kiến thức căn bản: Giai đoạn này sẽ mất 3-6 tháng hoặc hơn thế nữa tùy vào khả năng tiếp thu kiến thức của bạn. Bạn sẽ được học tri thức căn bản về máy tính, về tin học văn phòng, cài đặt phần mềm, sử dụng internet. Sau đó là kiến thức về lập trình: SQL, HTML, CSS và kiến thức tổng quan về test bao gồm việc hiểu định nghĩa cơ bản, những thuật ngữ, quy trình phần mềm, quy trình test…

 Học Tester Mất Bao Lâu?
Học Tester Mất Bao Lâu?

Phần kiến thức riêng: Giai đoạn này sẽ ngắn hơn mất khoảng 2-3 tháng.

– Manual Test:

Đây là danh sách những 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 1 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 1 ứ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.

II. Học Tester Như Thế Nào Để Trở Thành Kiểm Thử Viên Giỏi?

Bài viết này chia sẻ với những bạn sinh viên có dự định học Tester và đi làm 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

+ Học Tester sau 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 lúc 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.

+ 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 1 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 tới 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

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

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

*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:

  • 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ă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:

  • Selenium User Guide
  • Selenium Tutorials – Guru99
  • Selenium Training Tutorials – Software Testing Help
  • Ranorex User Guide
  • Jmeter
  • SoapUI
  • Java2S
  • Python tutorial – TutorialsPoint
  • C# Tutorial – TutorialsPoint

Nếu chưa biết nên bắt đầu từ đâu bạn có thể 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.

+ Học test ở đâu?

Có ba cách cơ bản để học test là tự học, học ở trung tâm và họ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. Đ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. Stanford là trung tâm đào tạo bài bản và chất lượng về kiểm thử phần mềm bạn sẽ được thực hành qua dự án thực tế để có thể đi làm ngay sau khóa học.

Ngoài ra còn một cách học khác là học nhóm, dạy kèm test, phương pháp nà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.

Học Tester Như Thế Nào Để Trở Thành Kiểm Thử Viên Giỏi?
Học Tester Như Thế Nào Để Trở Thành Kiểm Thử Viên Giỏi?

III. Học Gì Để Trở Thành Một Tester?

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. Vậy học gì để trở thành tester?

+ Kiến thức chung

  • 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, 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 lúc 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 những đị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? giả dụ 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 tới 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.

+ Phần kiến thức bổ sung

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.

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.
Học Gì Để Trở Thành Một Tester?
Học Gì Để Trở Thành Một Tester?

IV. Chi Phí Học Tester Bao Nhiêu Tiền, Có Đắt Không?

Hiện nay, do nhu cầu của các bạn trẻ khá nhiều nên rất nhiều trung tâm đào tạo Tester đã được mở ra với nhiều mức chi phí khác nhau. Chính điều này đã khiến cho mọi người hoang mang không biết chi phí học Tester bao nhiêu tiền?

Theo như tìm hiểu của chúng tôi thì chi phí học Tester hiện nay không cố định, tại một trung tâm lại có mức chi phí khác nhau. Cụ thể mức chi phí học hiện nay thường dao động từ hơn 3 triệu – 7 triệu đồng.

Bên cạnh đó, có rất nhiều địa chỉ không uy tín mở ra những khóa học rẻ tiền để lôi kéo học viên nhưng khi học viên tham gia khóa học thì sẽ không được giảng dạy chu đáo. Bởi vậy, khi lựa chọn khóa học thì các bạn nên đến các địa chỉ uy tín để tránh mất tiền oan nhé.

Techacademy – Trung tâm đào tạo Tester hàng đầu với chi phí phải chăng

Là một trong số các trung tâm đào tạo Tester hàng đầu hiện nay Techacademy đang trở thành sự lựa chọn của rất nhiều học viên.

Hiện tại, khóa học Tester tại Techacademy gồm có lộ trình học đầy đủ và học trong vòng 1 tới 1,5 tháng với mức học phí là khoảng 3 triệu đồng.

Khi đến với Techacademy bạn sẽ được:

– Trang bị đầy đủ kiến thức với lộ trình phù hợp

Các khóa học tester mà Techacademy xây dựng từ các khóa học tester cho người mới bắt đầu tới những kiến thức chuyên sâu để giúp bạn nắm được kiến thức và thực hành thành thạo trong thời gian nhanh nhất.

Đặc biệt, Techacademy còn rèn luyện cho học viên các kỹ năng kiểm thử thông qua các tình huống thực tế. Điều này sẽ giúp các học viên có thể thích nghi nhanh với công việc này khi làm việc tại các doanh nghiệp.

– Kiến thức được chia sẻ kinh nghiệm từ giảng viên lâu năm

Các giảng viên của Techacademy đều là các chuyên gia Tester. Với phương pháp giáo dục tiên tiến và không ngừng sáng tạo, các giảng viên sẽ mang đến môi trường học với nhiều kiến thức bổ ích lý thú. Điều này giúp các học viên cảm thấy tiết học luôn cuốn hút để tiếp thu đầy đủ kiến thức.

Không chỉ vậy, các giảng viên còn chia sẻ những kinh nghiệm thực tế tại từ các dự án thực tế để giúp các học viên có thêm những kỹ năng mềm cho quá trình làm việc tại các doanh nghiệp.

– Cấp chứng chỉ cho học viên sau lúc hoàn thành khóa học tester.

Sau khi kết thúc khóa học, trung tâm sẽ cấp chứng chỉ cho các học viên. Đồng thời, trung tâm còn hỗ trợ giới thiệu thông tin việc làm cho các học viên có thành tích xuất sắc ngay sau khóa học với các doanh nghiệp liên kết với trung tâm.

 Chi Phí Học Tester Bao Nhiêu Tiền, Có Đắt Không?
Chi Phí Học Tester Bao Nhiêu Tiền, Có Đắt Không?

The post Học Tester Mất Bao Lâu? first appeared on Techacademy.



Nhận xét

Bài đăng phổ biến từ blog này

Vẽ Tam Giác Trong C++

Vẽ tam giác trong C++ là một trong những bài tập lập trình về C++ sử dụng vòng lặp khá hay giúp các bạn luyện tư duy code cũng như cách sử dụng vòng lặp. Dưới đây là một số lời giải các bài tập vẽ tam giác trong C++ I. Vẽ Tam Giác Cân Trong C++ Viết chương trình C++ sử dụng ký tự * để vẽ tam giác vuông cân trong C++.Chúng ta sử dụng hai vòng lặp lồng nhau để giải bài toán này. Lời Giải: #include <stdio.h> #include <stdlib.h> int main() { int n; int q = 0; printf("Chuong trinh nay se in ra tam giac can\n"); printf("Nhap chieu cao tam giac cua ban: \n"); scanf("%d",&n); while (n > 0) { for (int i = 1; i<n; i++) printf("%c", ' '); for (int k = 0; k <= q; k ++) printf("%c", '*'); n -- ; q += 2 ; printf("\n"); } return 0; } II. Vẽ Hình Tam Giác Trong C++ Viết một chương trình in ra hình

Nên học C hay C++ ? Lựa chọn nào tốt hơn

Bạn đang mới học lập trình và đang phân vân nên học lập trình C hay C++ , bài viết dưới đây của Tehcacademy.edu.vn sẽ phần nào giải đáp cho bạn thắc mắc trên.  I. Nên học ngôn ngữ lập trình C hay C++ Nếu bạn đang phân vẫn lựa chọn nên học C hay C++ thì dưới đây là một số ưu điểm và nhược điểm của ngôn ngữ lập trình C và C++. Dựa trên đánh giá này, giúp bạn lựa chọn nên học lập trình C hay C++ 1, Ưu điểm và nhược điểm của ngôn ngữ lập trình C, C++ Dưới đây là một số ưu điểm, nhược điểm của ngôn ngữ c và c++: C, C++ đều có những ưu điểm và nhược điểm riêng + Ngôn ngữ lập trình C Ưu điểm : + Hiệu suất cao Mỗi một ngôn ngữ đều dựa vào khả năng sử dụng bộ nhớ để đánh giá hiệu suất. Đây chính là ưu điểm đầu tiên của C, nó có thể chạy mượt mà trên những hệ thống giới hạn về dung lượng, lý do là vì ngay từ đầu C được thiết kế với mục đích thay thế ASM trong các hệ thống bộ nhớ cực hạn chế thập niên 1960. + Tính linh hoạt Lập trình C có 2 tính linh hoạt và là 2 ưu điểm nổi bật củ

Tìm Phần Tử Xuất Hiện Nhiều Nhất Trong Mảng C++

Tìm phần tử xuất hiện nhiều nhất trong mảng là một vấn đề phổ biến trong lập trình C++. Để giải quyết vấn đề này, bạn có thể sử dụng một số phương pháp khác nhau như sử dụng bảng băm (hash table), sắp xếp mảng và duyệt qua mảng. Cùng techacademy đi tìm hiểu chi tiết chủ đề này ngay bài viết bên dưới đây nhé. I. Tìm Phần Tử Xuất Hiện Nhiều Nhất Trong Mảng C++ Trong lập trình C++, việc tìm ra phần tử xuất hiện nhiều nhất trong một mảng là một vấn đề phổ biến và quan trọng. Điều này thường được thực hiện thông qua việc sử dụng các thuật toán và cấu trúc dữ liệu phù hợp. Chúng ta sẽ thảo luận về cách thực hiện điều này một cách hiệu quả trong ngôn ngữ lập trình C++. 1. Sử dụng Bảng Băm (Hash Map): Một cách phổ biến để giải quyết vấn đề này là sử dụng bảng băm. Chúng ta có thể duyệt qua mảng, đếm số lần xuất hiện của mỗi phần tử và lưu trữ chúng trong một bảng băm. 2. Sắp Xếp và Đếm: Một cách khác là sắp xếp mảng và sau đó duyệt qua mảng để đếm số lần xuất hiện của mỗi phần tử liên ti