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

Tester là gì? Kiểm thử là gì?

Trong bài này viết này, mình sẽ giới thiệu đến các bạn khái niệm về kiểm thử, ai sẽ là người kiểm thử, thời điểm thực hiện quá trình kiểm thử và cùng làm rõ hai khái niệm “Verification” Validationtrong kiểm thử. 

1. Kiểm thử là gì? Testing là gì?

Kiểm thử hay còn gọi là testing, là quá trình đánh giá một hệ thống hay các thành phần của nó với mục đích tìm xem liệu hệ thống có đáp ứng các yêu cầu được đã được chỉ định hay không. Nói một cách đơn giản, kiểm thử được thực hiện trên một hệ thống để xác định bất kỳ lỗ hổng, các lỗi hoặc các yêu cầu đang bị thiếu hay trái ngược với các yêu cầu thực tế đã được đề ra.

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.

Theo tiêu chuẩn ANSI / IEEE 1059, kiểm thử có thể được định nghĩa là quá trình phân tích các thành phần của phần mềm để phát hiện sự khác biệt giữa những điều kiện của phần mềm đang tồn tại thực tế  và những điều kiện được yêu cầu (đó là defects/ errors/ bugs) và từ đó có thể đánh giá được chất lượng của chất lượng của phần mềm.

2. Ai là người kiểm thử? Tester là gì?

Người kiểm thử hay còn gọi là tester, họ là những người có nhiệm vụ tìm ra lỗi của phần mềm, điều này sẽ phụ thuộc vào quy trình và các bên liên quan trong dự án. Trong ngành Công nghiệp phần mềm, các công ty lớn có đội ngũ chuyên chịu trách nhiệm đánh giá phần mềm phát triển trong bối cảnh các yêu cầu đã được đề ra trước đó. Hơn nữa, các nhà phát triển (deverloper) cũng tiến hành kiểm thử được gọi là Kiểm thử Đơn vị (Unit Testing). Trong hầu hết các trường hợp, các chuyên gia kiểm thử cho một hệ thống trong phạm vi năng lực tương ứng của họ có thể là:

  • Software Tester – Nhân viên kiểm thử phần mềm
  • Software Developer – Nhân viên phát triển phần mềm
  • Project Lead/Manager - Leader hoặc Manager của dự án
  • End User - Người dùng cuối cùng

Các công ty khác nhau cũng sẽ có các quy định khác nhau về tên gọi của người kiểm thử phần mềm dựa trên kinh nghiệm và kiến thức của họ như Software Tester – Nhân viên kiểm thử phần mềm, Software Quality Assurance Engineer - Kĩ sư đảm bảo chất lượng phần mềm, QA Analyst – Nhân viên phân tích chất lượng phần mềm...

Không thể kiểm thử bất kỳ lúc nào trong chu kỳ phát triển phần mềm. Hai phần tiếp theo nêu ra khi nào bắt đầu và kết thúc quá trình kiểm thử trong vòng đời phát triển hệ thống.

3. Khi nào bắt đầu kiểm thử?

Kiểm thử sớm làm giảm chi phí và thời gian để xây dựng lại và sửa lỗi để bàn giao sản phẩm cho khách hàng. Tuy nhiên trong quy trình phát triền phần mềm, kiểm thử có thể bắt đầu từ giai đoạn từ khi có những yêu cầu từ khách hang cho đến khi triển khai phần mềm.

Nó cũng phụ thuộc vào mô hình phát triển được sử dụng. Ví dụ: trong mô hình Thác nước (Waterfall Model), kiểm thử chính thức được tiến hành ở giai đoạn Kiểm thử (testing phase). Nhưng trong mô hình Gia tăng (Incremental Model), kiểm thử được tiến hành ở cuối mỗi chu kỳ con. Kiểm thử cho toàn bộ sản phẩm phần mềm được thực hiện vào giai đoạn cuối khi hoàn thiện sản phẩm.

Kiểm thử được thực hiện theo nhiều dạng khác nhau ở mỗi giai đoạn trong vòng đời phát triển phầm mềm:

  • Trong quá trình thu thập yêu cầu (Requirement Gathering Phase), việc phân tích và xác minh yêu cầu cũng được coi là kiểm thử.
  • Trong giai đoạn thiết kế (Design Phase), rà soát các thiết kế trong giai đoạn thiết kế với mục đích để cải thiện thiết kế cũng được coi là kiểm thử.
  • Kiểm thử được thực hiện bởi lập trình viên khi hoàn thành code cũng được coi là kiểm thử.

4. Khi nào kết thúc kiểm thử?

Rất khó để xác định thời điểm kết thúc kiểm thử, vì kiểm thử là quá trình không có điểm kết thúc và không ai có thể đảm bảo rằng phần mềm đã được kiểm tra 100%. Các điểm sau đây có thể được xem là thời điểm kết thúc kiểm thử:

  • Thời hạn hoàn thành kiểm thử (Testing Deadlines).
  • Thực thi tất cả các testcase đã đề ra.
  • Hoàn thành các chức năng và bao phủ toàn bộ các yêu cầu đã được đề ra.
  • Tỉ lệ lỗi ở dưới một mức nhất định và không có lỗi nghiêm trọng nào được tìm thấy.
  • Quyết định của người quản lý dự án.

5. Phân biệt Xác minh (Verification) & Xác nhận (Validation)

Có 2 khái niệm hay bị nhầm lẫn và thường được sử dụng thay thế cho nhau. Dưới đây là bảng cho thấy sự khác nhau của xác minh và xác nhận:

STT Xác minh Xác nhận
1 Diễn tả sự quan tâm: "Are you building it right?" (Bạn đang xây dựng nó phải không?) Diễn tả sự quan tâm: "Are you building the right thing?" (Bạn đang xây dựng là đúng đắn?)
2 Đảm bảo phần mềm đáp ứng tất cả các chức năng. Đảm bảo các chức năng đáp ứng đúng với  các hành vi dự định, có trong yêu cầu đã đề ra.
3 Việc xác minh cần phải là đầu tiên và bao gồm việc kiểm tra tài liệu, code, v.v... Xác nhận xảy ra sau khi xác minh và phần chính liên quan đến kiểm tra tổng thể.
4 Hoàn thành bởi Developer. Hoàn thành bởi Tester.
5 Có các hoạt động tĩnh vì bao gồm thu thập các đánh giá, hướng dẫn và kiểm tra xác minh một phần mềm. Là các hoạt động động vì bao gồm việc thực thi lại các yêu cầu của phần mềm.
6 Là một quá trình khách quan và không quyết định chủ quan để xác minh phần mềm Là quá trình chủ quan và bao gồm các quyết định chủ quan về các thức hoạt động của phần mềm.

Như vậy, mình đã giới thiệu khá chi tiết về kiểm thử. Mong rằng qua bài viết này các bạn sẽ hiểu rõ hơn về kiểm thử trong quy trình phát triển phần mềm.

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