Mengapa menggunakan phpunit ketika pengujian manual tradisional dapat digunakan


14

Ketika saya membuat aplikasi web, saya menguji pekerjaan saya di browser untuk melihat apakah saya menerima kesalahan dan memperbaikinya. Saya telah membuat aplikasi yang rumit dan pengujian dengan cara ini mudah dan cepat. Saya telah menonton banyak video di youtube mengenai phpunit dan tidak dapat menemukan tujuan untuk itu. Mengapa perpustakaan ini bermanfaat? Apakah phpunit lebih untuk kerangka php seperti cakephp atau zend? Saya tidak menggunakan kerangka apa pun hanya inti php. Apakah phpunit akan berguna bagi saya? Jika ya, bagaimana?

Ada juga xdebug tapi saya tidak yakin apakah itu berhubungan.


5
Berapa lama bagi Anda untuk memeriksa kembali aplikasi yang kompleks di setiap sudut?

@ user1249, phpUnit masih tidak dapat melakukan pengujian fungsional otomatis. Hanya melakukan pengujian unit otomatis.
Pacerier

Jawaban:


12

Apakah phpunit akan berguna bagi saya? Jika ya, bagaimana?

Iya tentu saja.

phpunit milik keluarga pustaka uji xUnit . Anda menggunakan perpustakaan ini untuk membuat tes yang dapat dieksekusi secara otomatis yang memverifikasi perilaku aplikasi Anda. Ini penting untuk memastikan, antara lain, bahwa perubahan Anda tidak merusak fungsi yang ada.

Daftar semua alasan untuk pengujian otomatis, berbagai jenis dan teknologi akan terlalu banyak. Lihat tautan berikut untuk membaca tentang:


ironisnya, tautan pertama dari o'reilly 404'd
Félix Gagnon-Grenier

6

Katakanlah Anda ingin menguji aplikasi secara manual setiap kali menggunakannya. Bagaimana Anda akan melakukannya?

Nah, untuk memulainya, Anda mungkin membuat daftar semua hal yang ingin Anda uji sehingga Anda tidak akan lupa untuk menguji sesuatu nanti. Maka Anda mungkin akan menulis langkah-langkah untuk setiap tes untuk memastikan bahwa Anda melakukannya dengan cara yang sama setiap kali. Jika Anda tidak memastikan proses pengujian yang Anda gunakan konsisten, hasil Anda tidak akan konsisten.

Jadi, sekarang Anda memiliki daftar tes yang perlu Anda lakukan, Anda akan membuka browser Anda, membaca langkah-langkah tes pertama, lakukan, dan catat hasilnya. Anda akan mengulangi proses ini untuk setiap tes dalam daftar Anda.

Jumlah tes yang Anda lakukan akan terus bertambah saat aplikasi Anda bertambah dan saat Anda menemukan bug baru. Anda tentu saja akan dibatasi untuk melakukan tes ini dengan kecepatan manusia, membuatnya agak lambat.

Ironinya di sini adalah bahwa secara mekanis melangkah melalui daftar operasi, Anda menghitung. Anda hanya melakukannya dengan cara yang lebih lambat daripada, katakanlah, komputer akan melakukannya.

Ini, di antara banyak alasan bagus lainnya, adalah mengapa kami menulis unit test: mereka membiarkan komputer melakukan komputasi sehingga Anda tidak perlu melakukannya.

Saya bisa menjalankan unit test suite komprehensif dengan cukup cepat untuk sering menggunakannya selama pengembangan, tidak hanya seminggu sekali sebelum digunakan. Ini memungkinkan saya mendeteksi kesalahan lebih cepat, menghemat waktu dan uang saya.

Saya bahkan dapat menulis tes yang memprediksi perilaku sistem dan kemudian menulis perilaku itu (yang saya sudah tahu benar karena saya baru saja mengujinya), sebuah proses yang dikenal sebagai Test Driven Development.


5

Pengujian manual (yaitu mengklik aplikasi di browser) sebenarnya disebut pengujian fungsional. Pengujian fungsional dan pengujian unit adalah dua metode berbeda yang digunakan dalam QA. Mengapa Anda pikir Anda tidak bisa menggunakan keduanya?

Pengujian unit digunakan untuk menguji apakah kode Anda berfungsi seperti yang diharapkan (misalnya jika layanan web Anda menangani kesalahan dengan tepat atau jika mengembalikan hasil seperti yang diharapkan).

Bila Anda klik pada aplikasi Anda Anda menguji dengan fungsi dari aplikasi Anda.

Apakah phpunit akan berguna bagi saya? Jika ya, bagaimana?

Pengujian unit memiliki banyak manfaat - ini bisa menjadi alat yang sangat berguna ketika refactoring karena Anda dapat mengonfirmasi bahwa kode berfungsi seperti yang diharapkan. Juga, ketika seseorang membaca kode Anda, akan sangat membantu untuk melihat maksud penggunaan kode dalam tes unit.


Tes unit juga menguji perilaku. Anda membuat dikotomi palsu.
Rein Henrichs

@ReinHenrichs, Pengujian fungsional dilakukan oleh Selenium, bukan PHPUnit.
Pacerier

1

Iya!

Iya. Pastinya ya.

Sebenarnya, itu perlu kualifikasi. Kerangka kerja pengujian unit seperti PHPunit berguna jika Anda menulis dan memelihara aplikasi yang diharapkan orang lain gunakan.

Alasan mengapa pengujian unit bermanfaat termasuk

  • Pengujian regresi untuk bug tertentu yang telah Anda lihat, dan

  • Tes unit yang sedang berjalan jauh lebih cepat daripada pengujian manual, sehingga bisa lebih menyeluruh.

Di perusahaan tempat saya bekerja, kami menulis unit test sebelum kami menulis kode yang melewatinya. Ini membantu kami menghasilkan desain yang waras dan dapat diuji (karena kami harus memikirkan apa yang akan kami tulis sebelum melakukannya!) Dan ini memberikan cara mudah untuk menyatakan bahwa kode kami memenuhi persyaratan pengguna.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.