1. Saya pikir, WT * adalah unit test?
  2. Mengapa saya harus tes unit?
  3. Mengapa saya harus menghabiskan waktu saya untuk mempersiapkan ujian?
  4. Mengapa saya harus menghabiskan waktu saya untuk menjadi pengembang situs tes?

pertanyaan pertama, jika pencarian online, apa yang Anda dapatkan adalah hanya sekelompok informasi hampir tidak berguna. Mereka dapat memberikan nilai tinggi dalam ujian.

Pada pertanyaan kedua, untuk menjawab mengapa, saya akan mengatakan itu tergantung. Hal ini tergantung pada bahasa yang Anda gunakan dan kerangka yang Anda gunakan. Misalkan Anda bekerja pada pemrograman C, ada sedikit dukungan untuk unit testing perpustakaan. Jika Anda bekerja pada pengembangan kernel Linux, unit testing sulit untuk menerapkan. Tetapi jika Anda mengembangkan aplikasi web, unit testing dan pencobaan lainnya sangat dianjurkan. Mengapa? Biarkan aku pergi selama dua jawaban berikutnya di muka.

Untuk pertanyaan ketiga dan keempat, jika Anda tidak menguji, Anda harus buang waktu Anda pada khususnya untuk mempersiapkan uji kasus. Tapi karena Anda seorang programmer, Anda pasti perlu untuk menguji fungsionalitas selama pengembangan. Jadi itu adalah waktu untuk mempersiapkan uji kasus Anda.


Mengapa Anda perlu “test”?

Karena peningkatan aplikasi web, pengembangan web lebih cepat diperlukan. Itulah mengapa ada begitu banyak framework MVC. Tapi pengembangan yang lebih cepat tidak menjamin stabilitas dan produk divalidasi. Untuk membuatnya stabil dan valid (apa yang saya inginkan), Anda harus mengujinya.

Karena saya mengembangkan alat baris perintah, C / C ++ library, script, aplikasi desktop dengan widget GUI seperti GTK + / gtkmm, mereka cenderung akan diuji sebagai MVC . Misalnya, jika Anda menulis fungsi linear y = mx + c, Anda akan menulis uji kasus apa? Tentunya tidak. Anda dapat menulis uji kasus, tetapi ini penting untuk melihat keuntungan dari unit testing. Karena terlalu sederhana. Namun, jika Anda bersikeras menulis uji kasus, Anda dapat menyertakan uji kasus dengan parameter masukan non-numerik, parameter input digital, dll Tapi karena Anda tidak diuji, namun para pengembang, pasti Anda dapat mengabaikan jenis pencobaan.

Dalam hal pengembangan web, itu berbeda. Alasannya adalah bahwa aplikasi web melibatkan banyak, MVC: Model, View, dan Controller. Ini termasuk I / O, database, protokol HTTP, sesi, cookies, cache, email, HTML, JavaScript, CSS, dll Jadi pertanyaannya adalah, bagaimana Anda menguji produk? Anda akan menguji semua? Ya, Anda harus mencoba segalanya. Tetapi tes untuk merekam setiap link klik, masukkan berbagai jenis entri, di mana pemutusan hanya tidak masuk akal. Jadi itu sebabnya uji pembangunan berbasis (TDD) disertakan. Dan itu termasuk unit uji uji integrasi . Unit testing adalah tes dari unit terkecil. Ini kecil, untuk memastikan bahwa tindakan masing-masing unit sebagai harus secara terpisah. Hanya jika uji unit dilewatkan, kami melakukan pengujian integrasi, yang menguji unit bersama-sama.

Sekarang bagian yang menarik adalah menulis kasus uji. Ketika kita menulis uji kasus, kita diuji masalah ini dalam otomatisasi. Ini adalah bagian yang saya suka. Ketika Anda melakukan tes, ia akan pergi melalui semua kasus uji yang Anda tulis. Ini berarti bahwa kita dapat memiliki cacat ketika kita melakukan pengembangan dan pengujian. Sejak aplikasi web melibatkan begitu banyak, kita akan merusak fungsi yang mudah ketika kita menambahkan beberapa tindakan. Menambahkan fitur baru, mengubah fungsi tua, dan sengaja melanggar fungsi tua. Tanpa menggunakan pengujian otomatis, kita akan cenderung untuk menguji bahwa pekerjaan baru karena kita “tahu” pekerjaan yang lama.

Jadi, menggunakan pengujian unit dan pengujian integrasi, kita dapat memastikan bahwa produk kami semua akan uji kasus. Dan kami yakin bahwa produk kami tidak hanya diuji dengan karya terbaru, fungsi saat ini masih bekerja