- vừa được xem lúc

Các Test Level trong kiểm thử phần mềm

0 0 58

Người đăng: Tran Thi Thanh Tuyen

Theo Viblo Asia

1. Unit Test - Kiểm thử đơn vị

  • Khái niệm: Kiểm thử đơn vị là loại kiểm thử phần mềm trong đó các đơn vị/thành phần đơn lẻ của phần mềm được kiểm tra như: Hàm (Function), Lớp (Class), Phương thức (Method). Kiểm thử đơn vị được thực hiện trong quá trình phát triển ứng dụng. Lỗi ở level này thường được fix ngay sau khi chúng được tìm ra mà không cần lưu lại và quản lý như các test level khác.

  • Mục đích

    • Tách riêng từng phần để kiểm tra và chứng minh các thành phần đó thực hiện chính xác các yêu cầu chức năng trong đặc tả.
    • Lỗi được sửa sớm trong chu trình phát triển phần mềm vì vậy tiết kiệm thời gian và chi phí sửa lỗi.
    • Mã nguồn được tái sử dụng nhiều hơn.
    • Tăng sự tin tưởng trong việc thay đổi hoặc bảo trì
    • Mã nguồn đáng tin cậy hơn.
  • Sử dụng phương pháp: Kiểm thử hộp trắng

  • Người thực hiện: Thường là developer thực hiện

2. Integration Test - Kiểm thử tích hợp

  • Khái niệm: Kiểm thử tích hợp là loại kiểm thử trong đó các module phần mềm hay từng chức năng riêng lẻ được tích hợp logic và được kiểm tra theo nhóm. Mỗi dự án phần mềm gồm nhiều modules, được code bởi nhiều người khác nhau, vì vậy kiểm thử tích hợp tập chung vào việc kiểm tra truyền dữ liệu giữa các module.
  • Mục đích: Phát hiện lỗi tương tác xảy ra giữa các Unit. Tập chung chủ yếu vào các giao diện và thông tin giữa các module. Tích hợp các Unit đơn lẻ thành các hệ thống nhỏ.
  • Cách tiếp cận:
    • Big Bang: tất cả các thành phần được tích hợp cùng một lúc và sau đó được kiểm thử. Cách tiếp cận này được thực hiện khi nhóm kiểm thử nhận được toàn bộ phần mềm
    • Top Down: Kiểm tra diễn ra từ trên xuống theo luồng điều khiển của hệ thống. Các đơn vị cao nhất được kiểm tra trước và các cấp đơn vị thấp hơn được kiểm tra từng bước sau đó.
    • Bottom up: Ngược lại với Top Down, ở phương pháp tiếp cận này các đơn vị cấp thấp được kiểm tra trước và các cấp đơn vị cao hơn được kiểm tra sau đó.
    • Sandwich/Hybrid: Là sự kết hợp của hai phương pháp Top Down và Bottom Up. Ở đây, các module hàng đầu được kiểm tra với các module thấp hơn đồng thời các module thấp hơn được tích hợp với các module hàng đầu và được kiểm thử.
  • Người thực hiện: Thường là Tester thực hiện
  • Ví dụ: Có 2 module Login, Tạo tài khoản cho người dùng
    • Admin tạo tài khoản cho người dùng thành công, tài khoản có trạng thái là đang hoạt động. Người dùng sử dụng tài khoản vừa tạo đăng nhập thành công vào hệ thống.
    • Nếu Admin chuyển tài khoản này thành trạng thái ngừng hoạt động. Người dùng sử dụng tài khoản này đăng nhập, hệ thống sẽ báo không thành công.

3. System Test - Kiểm thử hệ thống

  • Khái niệm: Kiểm thử hệ thống là kiểm thử toàn bộ chức năng và giao diện của hệ thống.
  • Mục đích: Đánh giá hệ thống có đáp ứng theo đúng yêu cầu nghiệp vụ, yêu cầu về chức năng đưa ra hay không.
  • Phân loại:
    Dưới đây là một số loại kiểm thử thường được thực hiện trong System Test:
    • Kiểm thử chức năng (Functional Test): Là kiểm thử toàn bộ hệ thống, đảm bảo hệ thống hoạt động đúng theo yêu cầu được đưa ra trước đó.
    • Kiểm thử hiệu năng (Performance Test): Là kiểm tra sự tuân thủ của hệ thống với các yêu cầu được chỉ định về hiệu năng. Xác định những thuộc tính chất lượng của hệ thống như khả năng mở rộng, độ tin cậy...
    • Kiểm thử cơ sở dữ liệu ( Database Test): Là kiểm tra dữ liệu hiển thị trên hệ thống có giống với dữ liệu trong cơ sở dữ liệu hay không?
    • Kiểm thử khả năng bảo mật ( Security Test): Là kiểm tra hệ thống được bảo vệ an toàn, không bị đánh cắp dữ liệu, thông tin trước các tấn công từ bên ngoài.
    • Kiểm thử tính khả dụng (Usability Test): Kiểm tra tính thân thiện với người dùng và tính dễ sử dụng của hệ thống.
    • Kiểm tra tính tương thích ( Compatibility Test) : Là kiểm tra xem hệ thống có tương thích với các yếu tố khác của hệ thống mà nó sẽ hoạt động hay không? (Ví dụ: Trình duyệt, hệ điều hành, phần cứng)
    • Kiểm tra khả năng phục hồi ( Recovery Test): Là kiểm tra hệ thống có khả năng khôi phục trạng thái ổn định khi gặp các sự cố bất thường không
  • Sử dụng phương pháp: Kiểm thử hộp đen là phổ biến
  • Người thực hiện: Thường là Tester thực hiện

4. Acceptance Test - Kiểm thử chấp nhận

  • Khái niệm: Kiểm thử chấp nhận là kiểm tra xem phần mềm đã thỏa mãn tất cả yêu cầu của khách hàng chưa? Và khách hàng có chấp nhận sản phẩm hay không?
  • Mục đích: Để nghiệm thu hệ thống trước khi hệ thống được đưa vào hoạt động.
  • Phân loại
    Trong kiểm thử chấp nhận lại chia ra làm 2 loại:
    • Alpha test: Được thực hiện bởi các thành viên của tổ chức phát triển phần mềm nhưng không liên quan trực tiếp đến dự án (Thường là các thành viên của quản lý sản phẩm). Alpha test thực hiện test tại nơi sản xuất phần mềm, là một hình thức kiểm thử nội bộ, trước khi phần mềm được tiến hành kiểm thử Beta.
    • Beta test: Được thực hiện bởi người dùng cuối cùng (thường là khách hàng). Beta test thực hiện tại địa điểm của khách hàng, người dùng test hay sử dụng hệ thống trong môi trường riêng của họ - không phải nơi phát triển phần mềm.
  • Sử dụng phương pháp: Kiểm thử hộp đen
  • Người thực hiện: Khách hàng hoặc bên thứ 3

Hi vọng bài viết sẽ giúp ích cho các bạn !!!!
Tài liệu tham khảo
http://softwaretestingfundamentals.com/unit-testing/ https://www.guru99.com/software-testing.html

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 528

- vừa được xem lúc

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 405

- vừa được xem lúc

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 768

- vừa được xem lúc

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 365

- vừa được xem lúc

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 458

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 436