MANUAL TEST Bài 1: Kiểm thử phần mềm là gì và các mức độ kiểm thử

 I. Kiểm thử phần mềm là gì ?

Kiểm thử phần mềm có thể nói là quá trình phê chuẩn và xác minh một chương trình máy tính/ứng dụng/sản phẩm mà:

  • Đáp ứng các yêu cầu hướng dẫn thiết kế và phát triển của nó
  • Hoạt động như mong đợi và đáp ứng các nhu cầu của các bên liên quan
  • Có thể được thực hiện với các đặc điểm giống nhau

Hình 1: Kiểm thử phần mềm là gì ?

II. Các mức độ kiểm thử (Testing levels)

Có tổng cộng bốn mức độ kiểm thử đó là:
  • Unit testing: Kiểm thử mức đơn vị
  • Integration testing: Kiểm thử tích hợp
  • System testing: Kiểm thử hệ thống
  • Acceptance testing: Kiểm tra chấp nhận

1. Unit testing: Kiểm thử mức đơn vị

  • Kiểm thử mức đơn vị hay còn được gọi là kiểm tra các thành phần, kiểm thử một phần cụ thể của code, thường mở mức chức năng, được thực hiện trên một đơn vi  nhỏ ví dụ như một hàm hay một class.
  • Unit testing được thực hiện mở môi trường dev và thường sử dụng các công cụ như Nunit và Junit.. để test

2. Intergration testing: Kiểm thử tích hợp

  • Kiểm thử tích hơp là kiểu test kiểm tra kết hợp tất cả những module mà các developer code độc lập lại với nhau để chuẩn bị biên dịch, tester phải kiểm tra xem các chức năng này kết hợp lại với nhau xem có đúng như yêu cầu và có bị lỗi gì hay không.
  • Intergration testing được thực hiện trên môi trường test

3. System testing: Kiểm thử hệ thống

  • Kiểm thử hệ thống là khi hệ thống đã được hoàn thành cơ bản rồi, lúc này tester sẽ sử dụng dữ liệu test và kiểm tra theo luồng một loạt chức năng kết hợp lại với nhau để cho ra một kết quả đầu ra cuối cùng xem có chính xác hay không
  • System testing được thực hiện trên môi trường system, đây là môi trường gần giống với môi trường thật của người dùng nhất
  • Trong mức độ kiểm thử này chúng ta sẽ quan tâm đến các loại test sau:

a. Performance testing: Kiểm tra hiệu năng

Trong kiểm thử hiệu năng lại bao gồm:

  • Stress testing: Stress Testing là một loại kiểm thử xác định sự ổn định và tính mạnh mẽ của hệ thống. đây là một kỹ thuật kiểm thử không chức năng, thưởng thì chúng ta sẽ dùng JMeter để Stress test
  • Load testing: Load Testing là quá trình mô phỏng độ chịu tải thực tế của bất kỳ ứng dụng hoặc trang web nào. Nó kiểm thử các ứng dụng hoạt động trong điều kiện hoạt động bình thường và hoạt động hiệu suất cao. Loại kiểm thử này được áp dụng cho những dự án gần đi đến giai đoạn hoàn thành. Ví dụ cho loại test này là chúng ta test số lượng người dùng truy cập tăng dần để cho thấy tính chịu đựng của server
  • Volume testing: Volume Testing là một cách để kiểm tra hiệu năng của hệ thống khi cho tải dữ liệu cao vào cơ sở dữ liệu(Kiểu khi chúng ta upload một file rất lớn vào hệ thống thì nó có bị lỗi gì hay không). Đó là một thử nghiệm không chức năng (non-functional testing)

b. Security testing: Kiểm tra bảo mật

  • Kiểm thử bảo mật là một trong những loại quan trọng nhất của kiểm thử phần mềm. Mục tiêu chính của kiểm thử bảo mật là để tìm các lỗ hổng của hệ thống nhằm xác định rằng dữ liệu và tài nguyên được bảo vệ từ các yếu tố có thể xâm nhập. Kiểm thử bảo mật cho phép xác định các dữ liệu bí mật vẫn còn bí mật hay không.

c. Usability testing: Kiểm tra tính khả dụng

  • Kiểm tra tính khả dụng là một kỹ thuật kiểm thử hộp đen để xác định sản phẩm của bạn có thân thiện với người dụng hay không
  • Nó sẽ liên quan đến trải nghiệm và giao diện với người UX(User Experience), UI(User Interface)

4. User Acceptance testing(UAT): Kiểm tra chấp nhận

  • User Acceptance Testing là quá trình xác nhận rằng phần mềm đã tạo ra có hoạt động phù hợp với người dùng cuối hay không.
  • User Acceptance testing sẽ được test trên môi trường UAT
  • UAT sẽ do khách hàng và người dùng cuối test, thường thì khách hàng sẽ có một đội test riêng
  • Mục đích của giai đoạn test này là ứng dụng này có đủ OK để release hay không, thường thì nó liên quan nhiều đến phần nghiệp vụ hơn (Business perspective)
LƯU Ý: Làm sao để phân biệt được môi trường dev, môi trường test và môi trường system, và môi trường UAT thì khi vào dự án thì họ sẽ đưa cho chúng ta danh sách môi trường và chi tiết nội dung của từng môi trường đó thì chúng ta sẽ biết được cụ thể của từng loại môi trường này sẽ như thế nào.

Giới thiệu về HIENDV94

Mình là Hiển. Đây là blog ghi chép lại những thứ mình trải qua và học được hàng ngày, mình luôn luôn muốn học hỏi để trau dồi kinh nghiệm, hoàn thiện bản thân. Rất mong được làm quen mọi người. Hãy kết bạn với mình qua Facebook các bạn nhé.

0 Bình luận:

Đăng nhận xét