Tdd la gi
Trong phạm trù “phần mềm học” thì testing là một bước trong quy trình phát triển phần mềm. Mục đích của testing là đảm bảo phần mềm chạy đúng theo yêu cầu. Show Tùy vào từng quy trình phát triển phần mềm mà testing có thể xuất hiện ở các bước khác nhau. Như trong quy trình phát triển phần mềm “Thác nước”, thì testing (kiểm thử) nằm ở bước thứ 4. Các bước trong quy trình phát triển phần mềm thác nướcCó thể bạn chưa biết Testing có thể thực hiện bằng sức người, tức là con người sẽ trực tiếp thao tác trên phần mềm để tìm lỗi. Hoặc cũng có thể thực hiện qua các “công cụ test tự động”, người dùng sẽ đưa ra các “kịch bản test” kèm kết quả mong muốn, nó sẽ chạy và so sánh kết quả thực tế và kết quả mong muốn để phát hiện lỗi. II. Testing Driven Development2.1 TDD là gì?TDD (Testing Driven Development – Phát triển hướng kiểm thử) là một quy trình phát triển phần mềm mà bước kiểm thử được thực hiện trước bước phát triển (tức là test trước khi code). Ấy mà khoan, chưa code thì lấy cái gì để mà test nhỉ 🤔 🤔 🤔 – Đây cũng chính là điểm khác biệt của TDD với quy trình phát triển phần mềm truyền thống. Bạn cứ đọc hết bài viết sẽ rõ. 2.2 TDD được thực hiện như thế nào?TDD được thực hiện qua các bước sau:
Bạn sẽ hiểu rõ hơn khi chúng ta thực hiện ví dụ qua phần III. III. Ví dụ về TDDLý thuyết vậy là đủ, giờ chúng ta sẽ thực hiện một ví dụ đơn giản theo quy trình TDD để hiểu rõ hơn về nó. Bài toán Mình sẽ sử dụng PHP để triển khai bài toán trên, và sử dụng PHPUnit để làm công cụ test tự động. Bước 1: Setup các thứTạo thư mục làm việc và cài đặt phpunit. mkdir tdd && cd tdd && mkdir src && mkdir tests composer require --dev phpunit/phpunit ^9 Chỉnh sửa file composer dump-autoload5 cho giống như sau: { "autoload": { "classmap": [ "src/" ] }, "require-dev": { "phpunit/phpunit": "^9" } } Chạy autoload composer dump-autoload Tạo file composer dump-autoload6 với nội dung như sau:
Một số lưu ý khi áp dụng TDD:
Sau cùng, liệu bạn có áp dụng TDD trong dự án tiếp theo? Phạm Bình https://phambinh.net Mình muốn chia sẻ các kiến thức mà mình học được trong quá trình làm việc và phát triển, với hy vọng có sẽ giúp ích được cho bạn đọc - như cách mà mình học được từ việc đọc các blog khác. |