TESTING FUNDAMENTALS
TYPES OF TESTING
TESTCASE DEVELOPMENT
TESTING TECHNIQUES
TEST MANAGEMENT & CONTROL
DEFECTS
AGILE
TESTING DIFFERENT DOMAINS
WHITEBOX TESTING
PERFORMANCE TESTING
ADVANCE TESTING TOPICS
FAQ
TESTING TYPES - MEGA LIST
TOOLS
CHECK!
CERTIFICATION
LIVE TESTING PROJECT
CÁC CHỦ ĐỀ
BÀI MỚI NHẤT
MỚI CẬP NHẬT

Mối quan hệ giữa vòng đời phát triển phần mềm và vòng đời kiểm thử phần mềm

Kiểm thử phần mềm là hoạt động không thể tách rời với hoạt động phát triển phần mềm. Việc nắm rõ vòng đời phát triển mềm và vòng đời kiểm thử phần mềm sẽ giúp bạn có định hướng đúng đắn hơn và xây dựng hoạt động kiểm thử hiệu quả và phù hợp hơn.

1. Phân tích

Bài viết này sẽ phân tích chi tiết về vòng đời phát triển phần mềm qua mô hình Thác nước (Waterfall cycle), mô hình lặp RAID & Agile. Đồng thời cũng phân tích vòng đời kiểm thử phần mềm và mô hình chữ V.

banquyen png
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức.

Giả sử, bạn được giao một nhiệm vụ phát triển một phần mềm cho khách hàng. Dựa trên nền tảng kỹ thuật của mình, hãy đưa ra ý tưởng về trình tự các bước thực hiện để hoàn thành nhiệm vụ này.

Vong doi phat trien phan mem png

Trình tự đúng sẽ là:

Các giai đoạn Các hoạt động
Thu thập yêu cầu Thu thập càng nhiều thông tin càng tốt về chi tiết & thông số kỹ thuật của phần mềm mà khách hàng mong muốn.
Thiết kế Lên kế hoạch lập trình sử dụng ngôn ngữ lập trình như Java, PHP, .net; cơ sở dữ liệu như Oracle, MySQL… phù hợp với dự án, cũng như một số chức năng & kiến ​​trúc phức tạp.
Xây dựng Sau giai đoạn thiết kế sẽ là giai đoạn xây dựng, giai đoạn này chính là viết code xây dựng phần mềm
Kiểm thử Kiểm thử phần mềm để xác minh rằng phần mềm được xây dựng theo yêu cầu do khách hàng cung cấp.
Triển khai Triển khai ứng dụng phần mềm trong môi trường thực tế
Bảo trì Khi hệ thống đi vào hoạt động, bạn có thể thay đổi code theo yêu cầu của khách hàng.

Tất cả các giai đoạn trên chính là các giai đoạn của mô hình thác nước trong vòng đời phát triển phần mềm, việc kiểm thử trong mô hình chỉ bắt đầu sau khi giai đoạn xây dựng được hoàn thành.

Nhưng nếu bạn làm việc trong dự án lớn hay các hệ thống phức tạp, bạn sẽ dễ dàng bỏ lỡ các chi tiết quan trọng trong giai đoạn thu thập yêu cầu. Như vậy, một sản phẩm sai lệch với yêu cầu của khách hàng sẽ được giao cho khách hàng, bạn có thể phải bắt đầu lại dự án. Hoặc nếu dự án được xây dựng chính xác với thiết kế nhưng lại mắc lỗi nghiêm trọng trong thiết kế, bạn sẽ phải thiết kế lại toàn bộ để sửa lỗi.

Kinh nghiệm của nhiều dự án đã chỉ ra rằng các lỗi được đưa ra trong các yêu cầu & thiết kế chiếm gần một nửa tổng số lỗi.

Vong doi phat trien phan mem 1 png

Ngoài ra, chi phí sửa chữa lỗi sẽ tăng lên trong suốt vòng đời phát triển. Càng phát hiện ra lỗi sớm, chi phí để sửa lỗi càng rẻ.

Để giải quyết điều này, mô hình chữ V được phát triển thể hiện như hình dưới đây:

Mo hinh chu V png

Giải thích:

  • Phía bên trái của mô hình là Vòng đời phát triển phần mềm - SDLC (Software Development Life Cycle)
  • Phía bên phải của mô hình là Vòng đời Kiểm thử Phần mềm - STLC (Software Test Life Cycle)
  • Toàn bộ hình trông giống chữ V, do đó có tên là Mô hình chữ V (V - model)

Ngoài mô hình chữ V, còn có các mô hình phát triển lặp, trong đó việc phát triển được thực hiện theo từng giai đoạn, với mỗi giai đoạn sẽ phát triển thêm một chức năng cho phần mềm. Mỗi giai đoạn bao gồm các hoạt động xây dựng và kiểm thử độc lập nhau.

Những ví dụ điển hình về vòng đời phát triển lặp là Rapid Application Development, Agile Development.

2. Kết luận

Vòng đời phát triển phần mềm

Đây là chuỗi các hoạt động được các Developers thực hiện để thiết kế và phát triển phần mềm có chất lượng tốt.

Vòng đời phát triển phần mềm sử dụng thuật ngữ ‘Development’, không chỉ liên quan đến các nhiệm vụ coding được thực hiện bởi các Developers mà còn kết hợp các nhiệm vụ được đóng góp bởi Tester và các bên liên quan.

Trong Vòng đời phát triển phần mềm, các test cases được tạo ra bởi các tester.

Vòng đời Kiểm thử Phần mềm

Bao gồm một loạt các hoạt động được thực hiện bởi tester, sử dụng các phương pháp để kiểm thử sản phẩm phần mềm.

Vòng đời kiểm thử Phần mềm sử dụng thuật ngữ “Testing”, không chỉ liên quan đến tester, trong một số trường hợp cũng liên quan đến các Developers.

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

Mô hình thác nước là một mô hình tuần tự được chia thành các giai đoạn khác nhau trong hoạt động phát triển phần mềm. Mỗi giai đoạn được thiết kế để thực hiện hoạt động cụ thể trong giai đoạn phát triển phần mềm. Giai đoạn kiểm thử trong mô hình thác nước chỉ bắt đầu sau khi hệ thống được xây dựng hoàn thành.

Kiểm thử được thực hiện trong quá trình phát triển phần mềm.

Mô hình chữ V

Mô hình chữ V là một phần mở rộng của mô hình thác nước. Không giống như mô hình thác nước, trong mô hình chữ V có một giai đoạn kiểm thử tương ứng cho từng giai đoạn phát triển phần mềm. Trong mô hình chữ V, kiểm thử được thực hiện song song với giai đoạn phát triển phần mềm.

Kiểm thử được thực hiện như một phần của giai đoạn phát triển phần mềm.

Có rất nhiều mô hình trong vòng đời phát triển. Mô hình phát triển được lựa chọn cho một dự án phụ thuộc vào mục đích và mục tiêu của dự án đó.

  • Kiểm thử không phải là một hoạt động độc lập và kiểm thử phải phù hợp với mô hình phát triển được chọn cho dự án.
  • Trong bất kỳ mô hình nào, kiểm thử phải được thực hiện ở tất cả các giai đoạn, tức là từ yêu cầu cho đến khi bảo trì.

Cùng chuyên mục:

Giám sát và kiểm soát kiểm thử

Giám sát và kiểm soát kiểm thử

Trong khi nhóm thực hiện các nhiệm vụ được giao, Test Manager cần giám sát…

Tài liệu kiểm thử

Tài liệu kiểm thử

Tài liệu kiểm thử giúp nhóm kiểm thử ước tính effort kiểm thử cần thiết,…

Cách tạo Test Plan

Cách tạo Test Plan

Test Plan là một tài liệu chi tiết mô tả chiến lược kiểm thử, Mục…

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử

Tổ chức nhóm kiểm thử là một trong những nhiệm vụ phức tạp nhất trong…

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Phân tích rủi ro dự án và giải pháp trong quản lý kiểm thử

Khi thực hiện dự án, luôn có những rủi ro tiềm ẩn. Để giảm thiểu…

Quy trình quản lý kiểm thử

Quy trình quản lý kiểm thử

Quản lý kiểm thử (Test Management) bao gồm chuỗi nhiều hoạt động. Có hai phần…

Vai trò và Trách nhiệm của Test Manager

Vai trò và Trách nhiệm của Test Manager

Trước khi bắt đầu kiểm thử một dự án, bạn nên biết vai trò của…

Kiểm thử Use Case

Kiểm thử Use Case

Là một tester, bạn đã hiểu rõ về Use Case hay Kiểm thử Use Case…

Kỹ thuật kiểm thử chuyển đổi trạng thái

Kỹ thuật kiểm thử chuyển đổi trạng thái

Chuyển đổi trạng thái (State Transition) trong kiểm thử là gì? Khi nào sử dụng…

Kỹ thuật kiểm thử bảng quyết định

Kỹ thuật kiểm thử bảng quyết định

Bảng quyết định là một trong những kỹ thuật kiểm thử phầm mềm. Vậy Kiểm…

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Kỹ thuật Phân tích giá trị biên và phân vùng tương đương

Chúng ta cần sử dụng các kỹ thuật đặc biệt để lựa chọn test cases…

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử phần mềm

Kỹ thuật kiểm thử giúp giảm số lượng các test cases được thực hiện trong…

Test Case Template

Test Case Template

Test cases là đơn vị nhỏ nhất trong kế hoạch kểm thử, mô tả các…

Thủ thuật để tạo dữ liệu kiểm thử

Thủ thuật để tạo dữ liệu kiểm thử

Data được sử dụng trong kiểm thử mô tả các điều kiện tiền đề của…

Cách tạo Requirements Traceability Matrix - RTM

Cách tạo Requirements Traceability Matrix - RTM

Requirements Traceability Matrix - RTM là gì? Traceability Test Matrix bao gồm những loại nào?…

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test basis

Cơ sở kiểm thử - Test Basis là nguồn để tạo ra các test cases.…

Cách viết Test Cases

Cách viết Test Cases

Test Case là tập hợp các hành động được thực thi để xác minh một…

Kịch bản kiểm thử - Test Scenario

Kịch bản kiểm thử - Test Scenario

Test Scenario tuy không còn mới mẻ nhưng không ít người còn mơ hồ về…

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

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

Kiểm thử phi chức năng liên quan đến việc kiểm thử phần mềm từ những…

Kiểm thử hồi quy

Kiểm thử hồi quy

Kiểm thử hồi quy - Regression Testing rất quan trọng, đặc biệt là trong những…

Top