Saya ingin menulis aplikasi yang dapat digunakan untuk membakar CD (musik). Saya tahu saya harus mengujinya dengan CD asli, tetapi saya tidak ingin melakukan ini setiap kali saya melakukan perubahan kecil. Tapi saya ingin tahu dan menguji apakah data yang tepat akan dibakar, sehingga Anda tidak mendapatkan CD yang rusak.
Saya menggunakan perpustakaan yang hanya mengekspos API untuk langsung dibakar ke drive fisik; itu tidak memungkinkan Anda untuk menulis ke disk image (yang akan lebih mudah untuk diuji).
Bagaimana saya bisa menguji ini tanpa membuang-buang CD dan waktu untuk setiap perubahan / beberapa perubahan yang saya buat?
Jawaban:
Jawaban sederhana seringkali merupakan yang terbaik: CD yang bisa ditulis ulang?
Juga untuk menghemat waktu, tulis file yang relatif kecil. Hanya lakukan file yang lebih besar setiap begitu sering.
sumber
Jika Anda menggunakan linux, Anda harus dapat mengatur "perangkat cd" yang hanya bernama pipa. Api Anda menulis ke "perangkat" dan Anda menghubungkan ujung yang lain ke sebuah program yang memungkinkan Anda melihat apa yang dilakukannya / mengubahnya menjadi gambar disk. Banyak sekali pilihan di sana. Lihat artikel ini untuk info tentang pipa bernama.
Jawaban Kevin adalah IMO yang jauh lebih mudah.
sumber
Tulis sebanyak mungkin tes yang menggunakan tiruan API perpustakaan. Ini memungkinkan Anda untuk menguji kode Anda dalam satuan. Ini menunjukkan bahwa kode Anda bekerja dengan sendirinya dengan asumsi perpustakaan melakukan seperti yang seharusnya.
Pada titik tertentu, Anda perlu melakukan pengujian integrasi yang benar-benar menggunakan pustaka. Tetapi intinya adalah bahwa Anda sudah memiliki tingkat kepercayaan dengan kode Anda sendiri sebelum Anda sampai ke titik ini. Tes integrasi sering membutuhkan lebih banyak waktu dan sumber daya, seperti yang Anda lihat. Jadi pengujian unit menyeluruh memungkinkan Anda untuk tidak bergantung sepenuhnya pada pengujian integrasi.
sumber
Pengujian apa yang sebenarnya Anda bicarakan?
Membaca "Saya tidak ingin melakukan ini setiap kali saya membuat perubahan kecil" dalam pertanyaan Anda, saya membayangkan Anda berbicara tentang pengujian unit .
Tapi nanti, Anda menambahkan bahwa Anda menggunakan API yang bertugas membakar data ke CD. Jika API ini diuji dan didokumentasikan dengan benar, Anda tidak harus berurusan dengan proses aktual pembakaran data ke CD, dan Anda tidak harus mengujinya. Dalam hal ini, Anda berurusan dengan pengujian integrasi , yang tidak harus Anda lakukan "setiap kali [Anda] melakukan perubahan kecil" .
sumber
WTP,
Karena Anda ingin menguji perangkat lunak Anda (bukan API, atau perekam), seperti yang ditunjukkan Chris, tiruan dari API akan diperlukan.
Untuk pengujian integrasi, perekam "ISO" yang andal harus memungkinkan Anda mengotomatiskan pengujian konten CD dengan menganalisis file .iso.
Sebenarnya membakar CD atau DVD tidak akan memberikan hasil konklusif, karena Anda tidak akan dapat menentukan apakah penyebab kesalahan adalah CD yang rusak, perekam yang cacat atau bug perangkat lunak, kecuali jika Anda ingin melakukan statistik kualitas dengan merekam beberapa salinan dari disk yang sama (yang tampaknya Anda tidak).
Semoga berhasil!
sumber