Testing Best Practices

Kiến thức cần biết để kỹ sư kiểm thử phần mềm

Posted by Box XV on January 10, 2023. 9 min read.

Công việc của một Tester phần mềm không phải là một công việc dễ dàng. Nó chứa đầy những thách thức, cũng nhiều đòi hỏi không kém. Tester có nghĩa vụ phải cảnh giác và nhiệt tình trong từng giai đoạn của vòng đời ứng dụng.

Vai trò của một tester bắt đầu từ rất sớm. Và ngay từ khi khái niệm hóa dự án, tester đã tham gia vào các cuộc thảo luận với product owner, người quản lý dự án và các bên liên quan (stakeholders) khác nhau.

I. Các khái niệm cơn bản

Các mô hình quy trình kiểm thử phần mềm:

  1. Traditional Waterfall Development Model (Thác nước truyền thống)
  2. Agile Development Model
  3. V Model
  4. Spiral Model (Mô hình xoắn ốc)

Testing

Các Phương pháp/Cách tiếp cận Kiểm thử phần mềm:

Testing

  1. Kiểm thử hộp trắng
  2. Kiểm tra hộp đen
  3. Kiểm tra hộp xám

Testing

Các Level/Cấp độ kiểm thử phần mềm:

  1. Unit Testing (Kiểm tra đơn vị)
  2. Integration Testing (Thử nghiệm hội nhập)
  3. System Testing (Thử nghiệm hệ thống)
  4. Acceptance Testing (Kiểm tra chấp nhận)

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

Tập trung vào việc xác minh hệ thống hoạt động theo đúng các yêu cầu nghiệp vụ.

Testing

Các loại kiểm thử chức năng:

  • Unit Testing (Kiểm thử đơn vị)
  • Sanity Testing
  • Smoke Testing
  • System Testing (Kiểm thử hệ thống)
  • Acceptance Testing (Kiểm thử chấp nhận)
  • Installation Testing (Kiểm thử cài đặt)
  • Interface Testing (Kiểm thử giao diện)
  • Integration Testing (Kiểm thử tích hợp)
  • Regression Testing (Kiểm thử hồi quy)
  • Usability Testing (Kiểm tra khả năng sử dụng)
  • Localization Testing
  • .v.v.

8 Functional Testing Types Explained With Examples

Non Functional Testing - Kiểm thử chức năng

Tập trung vào việc xác minh hệ thống hoạt động theo đúng, mức độ sẵn sàng theo các tham số phi chức năng như:

  1. Security (Bảo mật): Tham số xác định cách hệ thống được bảo vệ an toàn trước các cuộc tấn công có chủ ý và đột ngột từ các nguồn bên trong và bên ngoài.
  2. Reliability (Độ tin cậy): Mức độ mà bất kỳ hệ thống phần mềm nào liên tục thực hiện các chức năng được chỉ định mà không gặp sự cố.
  3. Survivability (Khả năng sống sót): Tham số kiểm tra rằng hệ thống phần mềm tiếp tục hoạt động và tự phục hồi trong trường hợp lỗi hệ thống.
  4. Availability (Tính sẵn có): Tham số xác định mức độ mà người dùng có thể phụ thuộc vào hệ thống trong quá trình hoạt động.
  5. Usability (Khả năng sử dụng): Người dùng có thể dễ dàng học hỏi, vận hành, chuẩn bị đầu vào và đầu ra thông qua tương tác với một hệ thống.
  6. Scalability (Khả năng mở rộng): Thuật ngữ này đề cập đến mức độ mà bất kỳ ứng dụng phần mềm nào cũng có thể mở rộng khả năng xử lý của nó để đáp ứng nhu cầu gia tăng.
  7. Interoperability (Khả năng tương tác): Tham số phi chức năng này kiểm tra giao diện hệ thống phần mềm với các hệ thống phần mềm khác.
  8. Efficiency (Tính hiệu quả): Mức độ mà bất kỳ hệ thống phần mềm nào cũng có thể xử lý dung lượng, số lượng và thời gian đáp ứng.
  9. Flexibility (Tính linh hoạt): Thuật ngữ này đề cập đến sự dễ dàng mà ứng dụng có thể hoạt động trong các cấu hình phần cứng và phần mềm khác nhau. Giống như RAM tối thiểu, yêu cầu CPU.
  10. Portability (Tính di động): Tính linh hoạt của phần mềm để chuyển từ môi trường phần cứng hoặc phần mềm hiện tại của nó.
  11. Reusability (Tái sử dụng): Nó đề cập đến một phần của hệ thống phần mềm có thể được chuyển đổi để sử dụng trong một ứng dụng khác.

Các loại kiểm thử phi chức năng

  • Performance Testing (Kiểm thử hiệu năng)
  • Load Testing (Kiểm thử tải)
  • Failover Testing (Kiểm thử chuyển đổi dự phòng)
  • Compatibility Testing (Kiểm thử tương thích)
  • Usability Testing (Kiểm thử khả năng sử dụng)
  • Stress Testing (Kiểm thử về áp lực)
  • Maintainability Testing (Kiểm thử bảo trì)
  • Scalability Testing (Kiểm thử khả năng mở rộng)
  • Volume Testing (Kiểm thử khối lượng)
  • Security Testing (Kiểm thử bảo mật)
  • Disaster Recovery Testing (Kiểm thử khắc phục thảm họa)
  • Compliance Testing (Kiểm thử tuân thủ)
  • Portability Testing (Kiểm thử tính di động)

Các công cụ kiểm thử phần mềm

  • Selenium
  • Appium
  • Katalon
  • Cucumber
  • HPE Unified Functional Testing
  • Worksoft
  • IBM Rational Functional Tester
  • Teleric Test Studio
  • Soap UI
  • TestComplete

Các thành phẩm kiểm thử phần mềm

Software Testing Life Cycle (STLC) - Phases of Software Testing

  • Test Strategy (Chiến lược test)
  • Test Plan and Estimation
  • Test Scenario
  • Test Cases
  • Test Data
  • Requirement Traceability Matrix
  • Test Summary Report
  • Test Closure Report
  • Incident Report

Software Testing Life Cycle (STLC)


Tham khảo: