Tại sao nên sử dụng phpunit khi kiểm tra thủ công truyền thống có thể được sử dụng


14

Khi tôi tạo một ứng dụng web, tôi sẽ kiểm tra công việc của mình trên trình duyệt để xem liệu tôi có nhận được bất kỳ lỗi nào không và khắc phục chúng. Tôi đã thực hiện các ứng dụng phức tạp và thử nghiệm theo cách này rất dễ dàng và nhanh chóng. Tôi đã xem nhiều video trên youtube về phpunit và không thể tìm thấy mục đích cho nó. Tại sao thư viện này hữu ích? Là phpunit nhiều hơn cho các framworks php như cakephp hoặc zend? Tôi không sử dụng bất kỳ khung chỉ cốt lõi php. Liệu phpunit có hữu ích cho tôi không? Nếu có, làm thế nào?

Ngoài ra còn có xdebug nhưng tôi không chắc nó có liên quan hay không.


5
Mất bao lâu để bạn kiểm tra lại một ứng dụng phức tạp ở mọi góc?

@ user1249, phpUnit vẫn không thể thực hiện kiểm tra chức năng tự động. Nó chỉ thực hiện kiểm tra đơn vị tự động.
Pacerier

Câu trả lời:


12

Liệu phpunit có hữu ích cho tôi không? Nếu có, làm thế nào?

Vâng chắc chắn.

phpunit thuộc họ thư viện kiểm tra xUnit . Bạn sử dụng các thư viện này để tạo các bài kiểm tra thực thi tự động nhằm xác minh hành vi của ứng dụng của bạn. Điều này rất quan trọng để đảm bảo, trong số những người khác, những thay đổi của bạn không phá vỡ chức năng hiện có.

Liệt kê tất cả các lý do để thử nghiệm tự động, các loại và công nghệ khác nhau sẽ là quá nhiều. Kiểm tra các liên kết sau để đọc về:


trớ trêu thay, liên kết đầu tiên từ o'milly 404'd
Félix Gagnon-Grenier

6

Giả sử bạn muốn kiểm tra thủ công ứng dụng của mình mỗi lần bạn triển khai nó. Làm thế nào bạn sẽ đi về làm điều đó?

Chà, để bắt đầu, bạn có thể lập một danh sách tất cả những điều bạn muốn kiểm tra để bạn không quên kiểm tra thứ gì đó sau này. Sau đó, bạn có thể sẽ viết các bước cho mỗi bài kiểm tra để đảm bảo rằng bạn đã làm chúng theo cùng một cách mỗi lần. Nếu bạn không chắc chắn rằng quy trình kiểm tra bạn đã sử dụng là nhất quán, kết quả của bạn sẽ không nhất quán.

Vì vậy, bây giờ bạn có danh sách các bài kiểm tra cần thực hiện, bạn sẽ mở trình duyệt của mình, đọc các bước của bài kiểm tra đầu tiên, thực hiện chúng và ghi lại kết quả. Bạn sẽ lặp lại quá trình này cho mỗi bài kiểm tra trong danh sách của bạn.

Số lượng thử nghiệm bạn thực hiện sẽ tiếp tục tăng lên khi ứng dụng của bạn phát triển và khi bạn tìm thấy các lỗi mới. Tất nhiên, bạn sẽ bị hạn chế thực hiện các thử nghiệm này ở tốc độ của con người, khiến chúng khá chậm.

Điều trớ trêu ở đây là trong bước cơ học thông qua một danh sách các hoạt động, bạn đang tính toán. Bạn chỉ đang làm nó chậm hơn so với, máy tính sẽ làm.

Điều này, trong số nhiều lý do tốt khác, là lý do tại sao chúng tôi viết bài kiểm tra đơn vị: họ cho phép máy tính thực hiện tính toán để bạn không phải làm vậy.

Tôi có thể chạy bộ kiểm thử đơn vị toàn diện đủ nhanh để sử dụng nó thường xuyên trong quá trình phát triển, không chỉ một lần một tuần trước khi triển khai. Điều này cho phép tôi phát hiện lỗi nhanh hơn, tiết kiệm thời gian và tiền bạc.

Tôi thậm chí có thể viết các bài kiểm tra dự đoán hành vi của hệ thống và sau đó viết hành vi đó (mà tôi đã biết là chính xác vì tôi vừa kiểm tra nó), một quá trình được gọi là Phát triển hướng thử nghiệm.


5

Kiểm tra thủ công (tức là nhấp vào ứng dụng trong trình duyệt) thực sự được gọi là kiểm tra chức năng. Kiểm tra chức năng và kiểm tra đơn vị là hai phương pháp khác nhau được sử dụng trong QA. Tại sao bạn nghĩ rằng bạn không thể sử dụng cả hai?

Kiểm tra đơn vị được sử dụng để kiểm tra xem của bạn có hoạt động như mong đợi không (ví dụ: nếu dịch vụ web của bạn xử lý lỗi một cách thích hợp hoặc nếu nó trả về kết quả như mong đợi).

Khi bạn bấm vào ứng dụng của bạn, bạn đang kiểm tra các chức năng của ứng dụng của bạn.

Liệu phpunit có hữu ích cho tôi không? Nếu có, làm thế nào?

Kiểm thử đơn vị có nhiều lợi ích - nó có thể là công cụ rất hữu ích khi tái cấu trúc vì bạn có thể xác nhận rằng mã đang hoạt động như mong đợi. Ngoài ra, khi ai đó đang đọc mã của bạn, có thể rất hữu ích để xem mục đích sử dụng mã trong các bài kiểm tra đơn vị.


Kiểm tra đơn vị cũng kiểm tra hành vi. Bạn đang tạo ra một sự phân đôi giả.
Rein Henrichs

@ReinHenrichs, Kiểm tra chức năng được thực hiện bởi Selenium, không phải PHPUnit.
Pacerier

1

Đúng!

Đúng. Hoàn toàn đồng ý.

Trên thực tế, điều đó cần trình độ. Các khung kiểm thử đơn vị như PHPunit rất hữu ích nếu bạn đang viết và duy trì một ứng dụng mà người khác dự kiến ​​sẽ sử dụng.

Những lý do tại sao kiểm tra đơn vị là hữu ích bao gồm

  • Kiểm tra hồi quy cho các lỗi cụ thể mà bạn đã gặp phải và

  • Chạy thử nghiệm đơn vị nhanh hơn nhiều so với thử nghiệm thủ công, và do đó có thể kỹ lưỡng hơn nhiều.

Trong công ty tôi làm việc, chúng tôi viết bài kiểm tra đơn vị trước khi chúng tôi viết mã vượt qua chúng. Điều này giúp chúng tôi tạo ra các thiết kế chắc chắn, có thể kiểm tra được (vì chúng tôi phải suy nghĩ về những gì chúng tôi sẽ viết trước khi chúng tôi làm điều đó!) Và nó cung cấp một cách dễ dàng để khẳng định rằng mã của chúng tôi đáp ứng các yêu cầu của người dùng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.