Trang chủ » Blog » Các giai đoạn kiểm thử phần mềm bất cứ Tester nào cũng cần nắm vững

Các giai đoạn kiểm thử phần mềm bất cứ Tester nào cũng cần nắm vững

bởi Admin | 08/01/2024 12:03 | Blog

Bất kỳ việc kiểm thử nào cũng phải tuân theo các giai đoạn kiểm thử phần mềm với những quy chuẩn nhất định. Nếu bạn xác định muốn theo đuổi nghề Tester thì phải nắm rõ các giai đoạn này là điểu thật sự cần thiết. Mình sẽ cố gắng chia sẻ chi tiết nhất có thể để bạn hiểu rõ từng giai đoạn. Tuy nhiên trong quá trình đọc bài nếu vẫn còn phần nào gây khó hiểu cho bạn thì có thể để lại câu hỏi dưới phần bình luận để mình hỗ trợ thêm.

Các giai đoạn kiểm thử phần mềm

Nhiều người nghĩ rằng việc kiểm thử chỉ được thực hiện khi một sản phẩm đã tới bước hoàn thiện. Nhưng trong thực tế lại không như bạn nghĩ. Kiểm thử là công việc bao gồm các giai đoạn kiểm thử phần mềm từ khi bắt đầu thiết kế một sản phẩm. 

Thông qua các bước kiểm thử phần mềm, các Tester sẽ đánh giá được tổng quan nhất liệu phần mềm đó đã đáp ứng được yêu cầu khách hàng/người dùng hay chưa. Ngoài ra, thực hiện các bước kiểm thử theo đúng quy trình sẽ giúp phần mềm được kiểm tra kỹ lưỡng. Là một Tester, bạn nên hiểu rõ về từng giai đoạn trong kiểm thử để hoàn thành tốt công việc của mình cách hiệu quả và nhanh chóng. 

Có 4 giai đoạn trong 1 quy trình kiểm thử phần mềm: Kiểm thử đơn vị, Kiểm thử tích hợp, Kiểm thử hệ thống và Kiểm thử chấp nhận.

Đọc thêm: Tìm hiểu quy trình kiểm thử phần mềm chuẩn nhất hiện nay

 

Các giai đoạn kiểm thử phổ biến hiện nay

Các giai đoạn kiểm thử phổ biến hiện nay

Kiểm thử đơn vị (Unit Testing)

Đơn vị (Unit) phần mềm là thành phần nhỏ nhất trong 1 phần mềm mà ta có thể kiểm thử được. Nó bao gồm các hàm (Function), thủ tục (Procedure), lớp (Class), các phương thức (Method).

Kiểm thử đơn vị là giai đoạn kiểm thử từng lượng đơn vị (mô-đun) nhỏ trong hệ thống có hoạt động đúng hay chưa. Ở giai đoạn này, các Tester sẽ thực hiện kiểm thử riêng lẻ từng đơn vị trong 1 ứng dụng phần mềm. Đây là kiểu kiểm thử nằm trong phạm vi của kiểm thử hộp trắng (White Box Testing). Giai đoạn này thường được thực hiện bởi các Dev.

Unit Testing là giai đoạn kiểm thử đầu tiên được thực hiện trong quy trình kiểm thử một phần mềm bất kỳ. Hầu hết các lỗi được phát hiện ra trong giai đoạn này sẽ dễ sửa hơn so với các giai đoạn sau. Điều này giúp các Tester tiết kiệm được kha khá thời gian và công sức. Cũng giúp cho doanh nghiệp bớt tốn kém chi phí hơn nếu sản phẩm mắc phải những lỗi cơ bản. Ngoài ra, các bug được phát hiện ra trong giai đoạn này sẽ được sửa ngay mà không cần lưu lại hay quản lý như các giai đoạn khác.

Ưu điểm

  • Giúp lập trình viên hiểu rõ về Unit API khi muốn tìm hiểu về chức năng của từng đơn vị trong phần mềm đó.
  • Cho phép các Dev sửa lỗi nhanh chóng, đảm bảo từng đơn vị trong phần mềm vẫn hoạt động bình thường, chính xác.
  • Tiết kiệm chi phí nhờ phát hiện lỗi sớm.

Nhược điểm

  • Không thể tìm được lỗi của toàn bộ hệ thống mà chỉ kiểm tra được lỗi của từng đơn vị riêng lẻ.
  • Không thể đánh giá hết toàn bộ lỗi của chương trình. Ngoài ra, kiểm thử đơn vị cũng khó kiểm tra các luồng thực hiện ngay cả trong chương trình đơn giản nhất.

Kiểm thử tích hợp (Integration Testing)

Kiểm thử tích hợp là giai đoạn thứ 2 trong quy trình kiểm thử 4 giai đoạn. Giai đoạn này sẽ kiểm tra sự tương tác giữa các chức năng với nhau trong hệ thống có hoạt động đúng hay không. Đây là giai đoạn khá quan trọng trong quy trình kiểm thử. Bởi nó góp phần giúp cho sản phẩm vận hành trơn tru và đáp ứng được yêu cầu của khách hàng.

Khi thực hiện kiểm thử ở giai đoạn này, các Tester phải có tài liệu chi tiết về sản phẩm để biết được sự tương tác qua lại của các đơn vị trong hệ thống. Lưu ý rằng, muốn kiểm thử tích hợp thì trước đó phải kiểm thử đơn vị.  Giai đoạn này có thể được thực hiện bởi Tester, Dev, Test team.

Có 4 cách tiếp cận được sử dụng trong giai đoạn này: 

  • Bigbang: Trong cách tiếp cận này, các mô-đun riêng lẻ sẽ được tích hợp cùng lúc rồi cùng tiến hành kiểm thử. Cách này thường được các Tester dùng khi tiếp nhận toàn bộ mô-đun cùng lúc. Cách tiếp cận này phù hợp với các dự án nhỏ. Tuy nhiên, nó khó khăn trong việc phát hiện ra lỗi và có thể bỏ qua một số giao diện liên kết.
  • Top-down: Đây là cách tiếp cận từ trên xuống dưới khi kiểm tra các mô-đun của hệ thống. Tức là kiểm tra từ các đơn vị cao nhất rồi dần xuống kiểm tra các đơn vị thấp nhất. Cách tiếp cận có những ưu điểm như dễ dàng tìm được bug; thực hiện kiểm thử khá sớm. Ngoài ra, nó ưu tiên kiểm thử những mô-đun quan trọng, phát hiện và sửa chữa các lỗi thiết kế trước tiên. Bên cạnh đó, cách tiếp cận này lại tốn khá nhiều Stub và hầu như không kiểm thử được các mô-đun ở mức thấp nhất.
  • Bottom-up: Đây là cách tiếp cận từ dưới lên trên khi kiểm thử các mô-đun, trái ngược với Top-down. Cách tiếp cận này sẽ giúp bạn dễ dàng tìm lỗi. Nhưng việc kiểm thử sớm là điều không thể. Ngoài ra, cách này cũng dễ làm kiểm thử sót lỗi do có quá nhiều luồng điều khiển kiểm thử lần cuối các mô-đun quan trọng.
  • Sandwich/Hybrid: Đây là dạng tiếp cận kết hợp giữa Top-down và Bottom-down. Vì vậy nó tích hợp được ưu điểm của 2 loại tiếp cận trên. Nó có thể kiểm tra song song, xen kẽ lớp thấp nhất và lớp cao nhất. Tuy nhiên, trước khi thực hiện các tiếp cận này thì nó không kiểm tra mở rộng các hệ thống con.

Kiểm thử hệ thống (System Testing)

Kiểm thử hệ thống là giai đoạn kiểm tra lại toàn bộ hệ thống sau giai đoạn kiểm thử tích hợp. Giai đoạn này sẽ xác định hệ thống có đáp ứng được yêu cầu đặc tả hay không. Đây là loại kiểm thử hộp đen, nên quá trình kiểm thử sẽ tập trung vào chức năng của toàn bộ hệ thống. 

Kiểm thử hệ thống sẽ đảm bảo cho hệ thống được vận hành và hoạt động được trên nhiều môi trường khác nhau. Và sau khi kiểm thử ở giai đoạn này, các Tester phải kiểm tra mức độ khả thi của sản phẩm. Để xem nó có tương thích và tương tác với các thiết bị ngoại vi ngoài ứng dụng hay không trước khi giao cho khách hàng.

Các loại kiểm thử được dùng trong giai đoạn này: kiểm thử khả năng chịu tải, kiểm thử chức năng, kiểm thử di chuyển, kiểm thử khả năng sử dụng, kiểm thử hồi quy, …

Ưu điểm

  • Không cần truy cập mã nguồn và dễ dàng tự động hóa.
  • Không yêu cầu kiến thức về hệ điều hành hay ngôn ngữ lập trình mà vẫn có thể thực hiện được.
  • Kiểm thử phù hợp và hiệu quả trong trường hợp số lượng dòng lệnh trong hệ thống lớn.

Nhược điểm

  • Không được sử dụng các dữ liệu thực tế trong kiểm thử hệ thống.

Kiểm thử chấp nhận (Acceptance Testing)

Đây là một mức độ kiểm thử phần mềm trong đó một hệ thống được kiểm tra tính chấp nhận. Kiểm thử chấp nhận nhằm xác định hệ thống có chấp nhận và đạt yêu cầu kỹ thuật  hay không. Trong giai đoạn này, sẽ kiểm tra hành vi của hệ thống bằng cách dùng dữ liệu thực tế. Nó được xem là giai đoạn thử nghiệm người dùng doanh nghiệp. Khi đó, người dùng cuối cùng đóng vai trò khách hàng đầu tiên để kiểm tra xem nó đạt yêu cầu không. Trong giai đoạn kiểm thử này, việc tìm lỗi không phải là nhiệm vụ chính nữa. 

Có 2 loại kiểm thử chấp nhận: Alpha Testing và Beta Testing. 

  • Alpha Testing: Đây là giai đoạn kiểm thử mà đối tượng chính thực hiện là khách hàng. Nó sẽ kiểm thử chức năng của hệ thống trong thực tế hoặc môi trường giả định. Đây là hình thức kiểm thử chấp nhận nội bộ, trước khi thực hiện kiểm thử Beta.
  • Beta Testing: Bước này được thực hiện ngay sau thực hiện kiểm thử Alpha. Nó sẽ được thực hiện ở khách hàng trải nghiệm. Nhà sản xuất sẽ phát hành loại kiểm thử này cho nhiều người dùng khác nhau. Với mong muốn nhận được nhiều phản hồi để xem sản phẩm còn lỗi trong khi sử dụng hay không. 

DOWNLOAD MIỄN PHÍ TRỌN BỘ 20+ TÀI LIỆU TỰ HỌC TESTER CƠ BẢN – NÂNG CAO

Tổng kết

Kiểm thử là công việc có vai trò rất quan trọng trong 1 thiết kế sản phẩm phần mềm bất kỳ. Nắm rõ các giai đoạn kiểm thử phần mềm, sản phẩm hạn chế được tối đa các lỗi nhờ  việc kiểm thử được diễn ra hoàn chỉnh. Với mong muốn giúp bạn đạt được hiệu quả trong việc, mình đã tổng hợp và chia sẻ những kiến thức trên, hy vọng nó hữu ích với bạn. Chúc các bạn thành công!

 

Tags:

0 Lời bình

Gửi Lời bình

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

BÀI VIẾT LIÊN QUAN

BẠN MUỐN HỌC LẬP TRÌNH?

GỌI NGAY

098 953 44 58

Đăng ký tư vấn lộ trình học lập trình

Đăng ký tư vấn, định hướng lộ trình học và giải đáp các thắc mắc về ngành nghề – Miễn phí – Online.

3 + 1 =

TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM
TƯ VẤN VỀ LỘ TRÌNH HỌC NGHỀ LẬP TRÌNH TẠI CODEGYM