abc

Các mô hình kiểm thử phần mềm giúp hỗ trợ công việc của Tester được đẩy nhanh tiến độ và hiệu quả hơn rất nhiều. Hiện nay có khá nhiều mô hình khác nhau. Mỗi mô hình có những ưu, nhược riêng mà phù hợp với các dự án khác nhau. Vì vậy nếu bạn muốn làm trong lĩnh vực này thì việc nắm kiến thức này là điều thật sự cần thiết. Dưới đây là 6 mô hình kiểm thử phần mềm phổ biến để bạn tham khảo thêm cho quá trình thực hành và làm việc của mình.

Mô hình kiểm thử phần mềm là gì?

Mô hình kiểm thử phần mềm là một yếu tố hỗ trợ cho các Tester  thực hiện công việc nhanh chóng và hiệu quả hơn. Đây là một dạng hỗ trợ giống các Framework mà các lập trình viên thường sử dụng.

Mô hình kiểm thử phần mềm gồm các giai đoạn là tìm kiếm, phát hiện lỗi và sửa chữa chúng sao cho phù hợp với yêu cầu khách hàng. Tùy vào quy mô, các loại phần mềm và độ phức tạp, Tester sẽ áp dụng một loại mô hình phù hợp.

Kiểm thử phần mềm thường được thực hiện theo một dạng mô hình nhất định. Có rất nhiều loại mô hình kiểm thử. Mỗi mô hình đều phục vụ cho mỗi loại kiểm thử phù hợp với chúng. Vì mô hình nào cũng có các ưu, nhược điểm riêng biệt.

Đọc thêm: Các kỹ thuật kiểm thử phần mềm phổ biến hiện nay là gì?

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

Các dạng mô hình kiểm thử phần mềm được sử dụng phổ biến nhất hiện nay là: Mô hình thác nước, mô hình chữ V, mô hình mẫu, mô hình Agile, mô hình xoắn ốc, mô hình Scrum…

Các mô hình kiểm thử phần mềm các Tester nên biết

Các mô hình kiểm thử phần mềm các Tester nên biết

Mô hình thác nước

Mô hình kiểm thử phần mềm thác nước

Mô hình kiểm thử phần mềm thác nước

 

Đây là loại mô hình kiểm thử cơ bản nhất và được sử dụng rộng rãi trong ngành kiểm thử. Loại mô hình này áp dụng như một dạng trình tự từ đầu đến cuối. Chỉ khi giai đoạn trước hoàn thành thì mới có thể thực hiện giai đoạn sau.

Các giai đoạn trong mô hình thác nước đều có chức năng và mục đích riêng. Trong giai đoạn đầu, nó sẽ ghi nhận các yêu cầu đầu vào của phần mềm và phân tích. Khi thực hiện xong giai đoạn 1, tài liệu và yêu cầu sẽ chuyển sang cho giai đoạn 2. Các giai đoạn khác lần lượt được thực hiện theo kiểu thác nước chảy.

Mô hình này phù hợp với các dự án nhỏ/ngắn hạn, các dự án có ít thay đổi về yêu cầu/những yêu cầu chưa rõ ràng.

Ưu điểm

  • Dễ thực hiện, dễ bảo trì.
  • Tiết kiệm thời gian nếu giai đoạn đầu được thực hiện kỹ lưỡng.
  • Không yêu cầu quá nhiều nhân lực vì việc kiểm tra được thực hiện sau khi hoàn thành mỗi giai đoạn.
  • Phát hiện bug sớm do được kiểm tra sau khi mỗi giai đoạn hoàn thành.

Nhược điểm

  • Không thể thực hiện thay đổi khi chuyển sang giai đoạn tiếp theo.
  • Không linh hoạt trong tìm kiếm và rà soát lỗi vì không thể quay lại giai đoạn trước.
  • Không thể bắt đầu giai đoạn tiếp theo nếu giai đoạn trước chưa hoàn thành.
  • Khí lường được sự phát triển trong từng giai đoạn vì chỉ kiểm tra sau khi giai đoạn kết thúc.

Mô hình chữ V trong kiểm thử phần mềm

Mô hình chữ V trong kiểm thử phần mềm

Mô hình chữ V trong kiểm thử phần mềm

 

Mô hình chữ V được xem là phần mở rộng của mô hình thác nước. Đây cũng là dạng mô hình theo trình tự, nhưng được nhiều người công nhận là tốt hơn mô hình thác nước. Mô hình này có tính nghiêm ngặt và kỷ luật cao. Chỉ khi giai đoạn trước hoàn thành thì mới có thể thực hiện giai đoạn sau.

Mô hình chữ V cũng được ứng dụng như ở mô hình thác nước. Mô hình này thường được sử dụng trong y tế vì lĩnh vực này có quy trình yêu cầu xử lý nghiêm ngặt. Do đó phù hợp với tính chất của mô hình chữ V.

Ưu điểm

  • Dễ dàng sử dụng và quản lý.
  • Tiết kiệm được thời gian và hiệu quả hơn.
  • Các bug được phát hiện nhiều ở giai đoạn đầu, vì vậy mà các giai đoạn sau sẽ tránh được các bug đó.
  • Có tính kỷ luật cao và các giai đoạn được hoàn thành cùng lúc.

Nhược điểm

  • Khó kiểm soát rủi ro.
  • Không hiệu quả nếu sử dụng cho các dự án phức tạp, dự án lớn và hướng đối tượng.
  • Mô hình cứng nhắc, không linh hoạt.
  • Khó quay lại các giai đoạn trước nếu giai đoạn đó đã hoàn thành.

Mô hình mẫu

Quy trình trong mô hình mẫu bắt đầu nhờ thu nhập yêu cầu của cả khách hàng lẫn doanh nghiệp. Điều này sẽ giúp Tester định ra được mục tiêu tổng thể của phần mềm cần đạt được. Bên cạnh đó, nó ghi nhận những yêu cầu cụ thể để làm rõ trong quá trình kiểm thử.

Khi nắm được mục tiêu và yêu cầu, mô hình này sẽ thực hiện thiết kế nhanh và tập trung chuyển tải các khía cạnh qua mô hình mẫu. Để khách hàng có cái nhìn cơ bản, hình dung được nó có đang đi đúng yêu cầu của mình hay không.

Mô hình mẫu không phù hợp để tái sử dụng cho các giai đoạn phát triển phía sau. Nó chỉ thực hiện nhanh trong thời gian ngắn mà thôi.

Ưu điểm

  • Người dùng sớm hình dung và có cái nhìn tổng quát về chức năng và đặc điểm của hệ thống.
  • Việc trao đổi và tương tác giữa Dev và khách hàng hiệu quả hơn.

Nhược điểm

  • Đôi lúc mô hình mẫu không truyền tải được hết chức năng, đặc điểm của hệ thống cho người dùng xem.
  • Làm nhanh và vội vàng nên thiếu sự phân tích, đánh giá chi tiết các khía cạnh trong hệ thống.
  • Vẫn chưa cải thiện được việc giảm bớt khoảng cách giữa yêu cầu khách hàng và sản phẩm cuối cùng.

Mô hình kiểm thử phần mềm Agile

Mô hình Agile trong kiểm thử phần mềm

Mô hình Agile trong kiểm thử phần mềm

 

Đây là dạng mô hình phát triển linh hoạt và được xem là cải tiến hơn so với các mô hình cũ phía trên. Mô hình này nhắm đến mục đích làm sao đưa sản phẩm đến tay người dùng càng nhanh càng tốt.

Mô hình Agile là tập hợp các phương thức phát triển lặp và tăng dần. Trong đó, các yêu cầu và giải pháp được đưa ra nhờ sự cộng tác với nhau giữa các nhóm tự quản và liên kết chức năng.

Mô hình này được dùng trong bất kỳ dự án nào, nhưng nó yêu cầu sự tham gia và tương tác của khách hàng.

Ưu điểm

  • Tinh thần làm việc nhóm được nâng cao và hiệu quả được cải thiện.
  • Dễ quản lý và sử dụng nhờ các chức năng được xây dựng nhanh chóng, rõ ràng.
  • Có thể bổ sung, thay đổi và sửa chữa yêu cầu.
  • Quy tắc tối thiểu, tài liệu dễ hiểu và dễ dùng.

Nhược điểm

  • Không phù hợp để xử lý các phụ thuộc phức tạp.
  • Nhiều rủi ro về khả năng bảo trì và mở rộng.
  • Cần sự làm việc hiệu quả của một team chuyên nghiệp.
  • Phụ thuộc một phần vào sự tương tác của khách hàng.

Mô hình xoắn ốc trong kiểm thử phần mềm

Mô hình kiểm thử phần mềm vòng xoắn

Mô hình kiểm thử phần mềm vòng xoắn

 

Đây là dạng mô hình kiểm thử phần mềm kết hợp giữa các tính năng của mô hình mẫu và mô hình thác nước. Mô hình này có nét tương tự với mô hình Agile. Nhưng tập trung vào việc phân tích rủi ro hơn. Việc thu thập các yêu cầu  và đánh giá rủi ro được thực hiện ở cấp cơ sở và các đường xoắn ốc được xây dựng trên đó.

Mô hình này được ưa chuộng đối với các dự án lớn, đắt tiền, phức tạp. Hoặc dùng trong các hệ thống được xây dựng theo các giai đoạn nhỏ hoặc các phân đoạn.

Ưu điểm

  • Hiệu quả cao trong các hệ thống phần mềm có quy mô lớn.
  • Dễ dàng kiểm soát và nâng cao cơ hội tránh gặp rủi ro.
  • Có thể bổ sung các chức năng sau này.

Nhược điểm

  • Quản lý phải có kỹ năng tốt để đánh giá kịp thời các rủi ro bất ngờ.
  • Tốn nhiều chi phí và thời gian cho 1 dự án lớn.
  • Phức tạp 
  • Chưa được dùng rộng rãi trong ngành kiểm thử.

Mô hình Scrum trong kiểm thử phần mềm

Mô hình kiểm thử phần mềm Scrum

Mô hình kiểm thử phần mềm Scrum

 

Mô hình này sẽ chia các yêu cầu đầu vào theo từng giai đoạn. Trong đó mỗi giai đoạn tương ứng với 1 lượng yêu cầu nhất định. Scrum là kiểu mô hình hướng khách hàng. Khi thực hiện mô hình này, sẽ cần họp hàng ngày, hàng tuần để thảo luận các vấn đề quanh yêu cầu để hỗ trợ nhau.

Có 3 thành tố cấu tạo nên quy trình Scrum: Tổ chức (Organization),  Tài liệu (Atifacts),  Quy trình (Process).

Ưu điểm

  • Một người có thể đảm nhận cùng lúc nhiều việc.
  • Phát hiện ra lỗi sớm.
  • Áp dụng được cho những dự án không rõ yêu cầu khách hàng.

Nhược điểm

  • Team làm việc cần có 1 kỹ năng nhất định.
  • Đòi hỏi sự hiểu biết về mô hình Agile
  • Phải luôn sẵn sàng tiếp nhận ý kiến khách hàng để kịp thời thay đổi. Vậy nên thời gian thực hiện sẽ kéo dài.
  • Quan trọng hóa vai trò của PO, nếu PO không tốt sẽ ảnh hưởng kết quả chung.

Ngoài các mô hình được sử dụng phổ biến trong ngành kiểm thử phần mềm trên, còn có một số mô hình khác như: Mô hình RAD, mô hình tăng trưởng, mô hình tiếp cận lặp, …

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

Tổng kết

Từ những chia sẻ trên có thể nhận thấy mỗi mô hình kiểm thử phần mềm có những ưu và nhược điểm khác nhau. Vì vậy điều quan trọng là bạn cần hiểu rõ từng mô hình cũng như dự án của bạn để lựa chọn mô hình nào cho phù hợp. Nếu chọn được đúng mô hình phù hợp với dự án thì như sẽ giúp tối ưu và tăng hiệu suất cho bạn rất nhiều đấy.