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.
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.
Trình tự đúng sẽ là:
Bài viết này được đăng tại [free tuts .net]
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.
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:
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ì.