TESTING FUNDAMENTALS
TYPES OF TESTING
TESTCASE DEVELOPMENT
TESTING TECHNIQUES
TEST MANAGEMENT & CONTROL
DEFECTS
AGILE
TESTING DIFFERENT DOMAINS
WHITEBOX TESTING
PERFORMANCE TESTING
ADVANCE TESTING TOPICS
FAQ
TESTING TYPES - MEGA LIST
TOOLS
CHECK!
CERTIFICATION
LIVE TESTING PROJECT
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Con đường sự nghiệp của Kiểm thử phần mềm

Nếu bạn có kế hoạch tạo dựng sự nghiệp trong kiểm thử phần mềm, Hãy đọc bài viết này nhé!

1. Kiểm thử phần mềm (Software Testing) là gì?

Kiểm thử phần mềm là một quá trình xác minh phần mềm có đáp ứng các yêu cầu đã chỉ định hay không. Để cung cấp một sản phẩm phần mềm chất lượng thì kiểm thử phần mềm là không thể thiếu.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

2. Kỹ năng cần thiết để trở thành Tester (Người kiểm thử phần mềm)

Kỹ năng Non-Technical

Các kỹ năng sau đây là điều cần thiết để trở thành một tester tốt:

  • Kỹ năng phân tích: Một tester giỏi cần có kỹ năng phân tích nhạy bén. Kỹ năng phân tích sẽ giúp phân chia một hệ thống phần mềm phức tạp thành các đơn vị nhỏ hơn để hiểu sâu hệ thống hơn và tạo ra nhiều trường hợp kiểm thử cho mỗi đơn vị đó.
  • Kỹ năng giao tiếp: Một tester giỏi phải có kỹ năng giao tiếp bằng lời nói và bằng văn bản tốt. Các tài liệu kiểm thử (như test cases, test plans, chiến lược kiểm thử, bug reports…) được tạo bởi tester cần dễ đọc và dễ hiểu. Trao đổi các vấn đề với các developers trong trường hợp có lỗi hoặc bất kỳ vấn đề nào khác sẽ đòi hỏi sự khéo léo và giao tiếp tốt.
  • Kỹ năng tổ chức và quản lý thời gian: Kiểm thử là một công việc đòi hỏi đặc biệt trong suốt quá trình phát triển phần mềm. Tester phải quản lý hiệu quả khối lượng công việc, năng suất làm việc tốt, quản lý thời gian tối ưu và kỹ năng tổ chức tốt
  • Thái độ tốt: Để trở thành một tester giỏi, bạn phải có thái độ tốt. Một thái độ “test to break”, định hướng rõ ràng, sẵn sàng tìm hiểu và đề xuất cải tiến quy trình. Trong ngành công nghiệp phần mềm, công nghệ phát triển với tốc độ nhanh chóng và một tester giỏi cần nâng cấp các kỹ năng technical của mình khi công nghệ thay đổi. Thái độ phản ánh mức độ độc lập, nắm rõ nhiệm vụ được giao và hoàn thành nhiệm vụ mà không cần nhiều sự giám sát, hướng dẫn.
  • Đam mê: Trong bất kỳ ngành nghề hay công việc nào, người ta phải có một niềm đam mê nhất định nào đó. Một tester cũng phải có niềm đam mê với lĩnh vực của mình. NHƯNG làm thế nào để xác định được bạn có đam mê kiểm thử phần mềm hay không? Đơn giản là hãy thử, công việc kiểm thử phần mềm là phù hợp với bạn nếu không khiến bạn chuyển sang một công việc khác hay một lĩnh vực khác mà bạn quan tâm.

Software Testing 1 png

Kĩ năng Technical

  • Kiến thức cơ bản về Database / SQL: Hệ thống phần mềm có lượng dữ liệu lớn. Dữ liệu này được lưu trữ trong các loại cơ sở dữ liệu khác nhau như Oracle, MySQL.... trong phần backend. Vì vậy, sẽ có những trường hợp dữ liệu này cần được validated, các truy vấn SQL đơn giản hay phức tạp có thể được sử dụng để kiểm tra xem dữ liệu thích hợp có được lưu trữ trong cơ sở dữ liệu backend hay không.
  • Kiến thức cơ bản về các lệnh Linux: Hầu hết các ứng dụng phần mềm như Web-Services, Databases, Application Servers được triển khai trên các máy Linux. Vì vậy, việc quan trọng đối với tester là phải có kiến ​​thức về các câu lệnh trong Linux.
  • Kiến thức và kinh nghiệm thực hành về Công cụ Test Management: Test Management là một khía cạnh quan trọng của kiểm thử phần mềm. Nếu không có kỹ thuật quản lý kiểm thử thích hợp, quy trình kiểm thử phần mềm sẽ thất bại. Test Management chính là quản lý các tài liệu liên quan đến kiểm thử phần mềm.

Ví dụ: Một công cụ như Testlink có thể được sử dụng để theo dõi tất cả các test cases được viết bởi nhóm tester.

Các công cụ khác có sẵn có thể được sử dụng cho Test Management. Vì vậy, điều quan trọng là phải có kiến ​​thức và kinh nghiệm làm việc về các công cụ đó bởi vì chúng được sử dụng trong hầu hết các công ty.

  • Kiến thức và kinh nghiệm thực hành về bất kỳ công cụ Defect Tracking nào: Defect Tracking và Defect life cycle là các khía cạnh chính của kiểm thử phần mềm. Điều cực kỳ quan trọng là quản lý lỗi đúng cách và theo dõi chúng một cách có hệ thống. Defect tracking trở nên cần thiết bởi toàn bộ team nên biết về lỗi bao gồm managers, developers, và testers. Một số công cụ được sử dụng để quản lý các defects bao gồm QC, Bugzilla, Jira…
  • Kiến thức và kinh nghiệm thực hành về công cụ tự động hóa: Nếu bạn thấy mình là một " Automation tester" sau một vài năm làm việc kiểm thử thủ công, thì bạn phải thành thạo một số công cụ và có kiến ​​thức chuyên sâu về các công cụ tự động hóa.

Lưu ý: Chỉ có kiến ​​thức về công cụ Tự động hóa nào đó là không đủ để pass phỏng vấn, bạn phải có kinh nghiệm thực hành tốt. Vì vậy, hãy thực hành thành thạo công cụ bạn chọn. Kiến thức về bất kỳ ngôn ngữ kịch bản nào như VBScript, JavaScript, C # luôn hữu ích cho một tester nếu bạn đang tìm kiếm một công việc tự động hóa.

Ngoài ra còn có rất nhiều các công cụ kiểm thử hiệu suất vì các ứng dụng cần được kiểm thử về hiệu suất, đây là một phần của non-functional testing.

Đó là kiến ​​thức technical. Lưu ý, bạn không cần có TẤT CẢ các kỹ năng kỹ thuật được liệt kê ở trên. Các bộ kỹ năng technical cần thiết thay đổi theo Vai trò công việc và quy trình của công ty.

Nền tảng học vấn

Nền tảng học vấn của một tester nên thuộc ngành về Khoa học Máy tính.

A BTech / B.E., MCA, BCA, BSc- Computers, sẽ giúp bạn có một công việc nhanh chóng.

Nếu bạn không có bất kỳ bằng cấp nào trong số này, thì bạn phải hoàn thành chứng nhận kiểm thử phần mềm như ISTQB và CSTE để giúp bạn tìm hiểu Vòng đời phát triển / kiểm thử phần mềm và các phương pháp kiểm thử khác.

Mức lương

Mức lương của testers là khác nhau. Mức lương trung bình của một tester ở Mỹ là $ 45,993 - $ 74,935. Mức lương trung bình của một tester ở Ấn Độ là Rs 247,315 - Rs 449,111.

Ngoài ra, một tester cũng được cung cấp bảo hiểm y tế, tiền thưởng và các đặc quyền khác.

Một Tester sẽ làm gì?

Vào bất kỳ ngày làm việc nào, bạn sẽ bận rộn tìm hiểu các tài liệu yêu cầu, tạo test cases, thực hiện test cases, báo cáo và kiểm thử lại các test cases bị lỗi, tham dự các cuộc họp đánh giá và các hoạt động xây dựng team khác.

Con đường sự nghiệp kiểm thử phần mềm

Sự phát triển nghề nghiệp của bạn với tư cách là người kiểm thử phần mềm (QA Analyst) trong công ty CMMI sẽ có 5 cấp điển hình như sau (các công ty sẽ phân chia thành các cấp khác nhau).

  1. QA Analyst (Fresher)
  2. Sr. QA Analyst (kinh nghiệm 2-3 năm)
  3. QA Team Coordinator (5-6 năm kinh nghiệm)
  4. Test Manager (8-11 năm kinh nghiệm)
  5. Senior Test Manager (hơn 14 kinh nghiệm)

Sự thay đổi trên con đường sự nghiệp của một tester

Một khi bạn đã quen thuộc với kiểm thử thủ công, bạn cũng có thể theo đuổi các kỹ thuật kiểm thử sau:

  • Kiểm thử tự động hóa (Automation Testing): Là một Kỹ thuật kiểm thử tự động hóa, bạn sẽ chịu trách nhiệm tự động hóa việc thực hiện kiểm thử các test cases thủ công tốn nhiều thời gian. Các công cụ được sử dụng như IBM Rational Robot, Silk performer và QTP
  • Kiểm thử hiệu suất (Performance Testing): Là một kỹ thuật kiểm thử hiệu suất, bạn sẽ chịu trách nhiệm kiểm thử mức độ đáp ứng của ứng dụng (thời gian tải, tải tối đa mà ứng dụng có thể xử lý), v.v. Các công cụ được sử dụng là WEBLoad, Loadrunner.
  • Chuyên viên Phân Tích Nghiệp Vụ (Business Analyst): là người chịu trách nhiệm phân tích nhu cầu của khách hàng và các đối tác đối với hoạt động kinh doanh của doanh nghiệp để tìm hiểu và đề xuất phương pháp giải quyết vấn đề phát sinh. BA giúp cải thiện cách thức vận hành kinh doanh, giảm thiểu chi phí hoạt động, sử dụng hiệu quả nhất nguồn lực có giới hạn, và hỗ trợ cho khách hàng tốt hơn. Là một BA, bạn sẽ kết hợp các mô hình và quy trình làm việc với công nghệ.

3. Làm thế nào để trở thành tester

Đối với một người mới hoàn toàn, đây là cách tiếp cận được đề xuất để học Kiểm thử phần mềm.

Software Testing 2 png

Bạn bắt đầu với việc học các nguyên tắc cơ bản của Kiểm thử phần mềm. Sau đó bạn nộp đơn xin việc. Điều này sẽ giúp bạn có được kiến ​​thức thực tế và sẽ củng cố các khái niệm kiểm thử bạn đã học.

Tiếp theo, bạn học Selenium – một công cụ tự động hóa, sau đó là Jemeter - Công cụ kiểm tra hiệu suất và cuối cùng là TestLink - Công cụ quản lý kiểm thử.

Khi bạn đã học tất cả các công cụ kiểm thử trên, bạn có thể học và lấy chứng chỉ ISTQB.

4. Chứng chỉ kiểm thử phần mềm

ISTQB Foundation là chứng nhận cơ bản trong lĩnh vực Kiểm thử.

Chứng chỉ này không bắt buộc bạn phải có, nhưng nó sẽ giúp tăng nhiều cơ hội nhận được công việc. Hầu hết các công ty đều yêu cầu chứng chỉ này. Một tester có chứng chỉ ISTQB sẽ được ưu tiên hơn so với những người khác.

Cùng chuyên mục:

Giám sát và kiểm soát kiểm thử

Giám sát và kiểm soát kiểm thử

Trong khi nhóm thực hiện các nhiệm vụ được giao, Test Manager cần giám sát…

Tài liệu kiểm thử

Tài liệu kiểm thử

Tài liệu kiểm thử giúp nhóm kiểm thử ước tính effort kiểm thử cần thiết,…

Cách tạo Test Plan

Cách tạo Test Plan

Test Plan là một tài liệu chi tiết mô tả chiến lược kiểm thử, Mục…

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử là một trong những nhiệm vụ phức tạp nhất trong…

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Khi thực hiện dự án, luôn có những rủi ro tiềm ẩn. Để giảm thiểu…

Quy trình quản lý kiểm thử

Quy trình quản lý kiểm thử

Quản lý kiểm thử (Test Management) bao gồm chuỗi nhiều hoạt động. Có hai phần…

Vai trò và Trách nhiệm của Test Manager

Vai trò và Trách nhiệm của Test Manager

Trước khi bắt đầu kiểm thử một dự án, bạn nên biết vai trò của…

Kiểm thử Use Case

Kiểm thử Use Case

Là một tester, bạn đã hiểu rõ về Use Case hay Kiểm thử Use Case…

Kỹ thuật kiểm thử chuyển đổi trạng thái

Kỹ thuật kiểm thử chuyển đổi trạng thái

Chuyển đổi trạng thái (State Transition) trong kiểm thử là gì? Khi nào sử dụng…

Kỹ thuật kiểm thử bảng quyết định

Kỹ thuật kiểm thử bảng quyết định

Bảng quyết định là một trong những kỹ thuật kiểm thử phầm mềm. Vậy Kiểm…

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Chúng ta cần sử dụng các kỹ thuật đặc biệt để lựa chọn test cases…

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử giúp giảm số lượng các test cases được thực hiện trong…

Test Case Template

Test Case Template

Test cases là đơn vị nhỏ nhất trong kế hoạch kểm thử, mô tả các…

Thủ thuật để tạo dữ liệu kiểm thử

Thủ thuật để tạo dữ liệu kiểm thử

Data được sử dụng trong kiểm thử mô tả các điều kiện tiền đề của…

Cách tạo Requirements Traceability Matrix - RTM

Cách tạo Requirements Traceability Matrix - RTM

Requirements Traceability Matrix - RTM là gì? Traceability Test Matrix bao gồm những loại nào?…

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test Basis là nguồn để tạo ra các test cases.…

Cách viết Test Cases

Cách viết Test Cases

Test Case là tập hợp các hành động được thực thi để xác minh một…

Kịch bản kiểm thử - Test Scenario

Kịch bản kiểm thử - Test Scenario

Test Scenario tuy không còn mới mẻ nhưng không ít người còn mơ hồ về…

Kiểm thử phi chức năng

Kiểm thử phi chức năng

Kiểm thử phi chức năng liên quan đến việc kiểm thử phần mềm từ những…

Kiểm thử hồi quy

Kiểm thử hồi quy

Kiểm thử hồi quy - Regression Testing rất quan trọng, đặc biệt là trong những…

Top