Asumsikan Anda menggunakan API dari vendor, bagaimana memastikan API mereka berfungsi seperti yang diharapkan?
Perhatian utama saya adalah kadang-kadang vendor mendorong perubahan pada kode mereka dan menghancurkan API, kami ingin memiliki semacam perangkat lunak otomatis untuk mengujinya secara terus menerus. Bagaimana cara menghadapinya?
testing
api
rest
continuous-integration
integration-tests
pengguna34401
sumber
sumber
Jawaban:
Jawaban singkat: Anda memerlukan rangkaian uji untuk API vendor pihak ketiga - jadi Anda harus mengembangkannya.
Jangan berharap orang lain melakukannya untuk Anda, dan jangan mengharapkan "peluru ajaib" untuk menghasilkan tes yang tepat secara otomatis.
Beberapa hal yang dapat Anda coba tambahan:
Apakah hal-hal ini berfungsi atau tidak tergantung pada siapa vendor Anda dan jenis API apa yang ada dalam pikiran Anda. API yang menghasilkan beberapa hasil seperti file jauh lebih mudah untuk diuji daripada API yang mengontrol beberapa perangkat fisik di mana Anda harus mengamati perilaku benda untuk memutuskan apakah panggilan API berhasil atau tidak.
sumber
Berdasarkan ungkapan poster, itu lebih dari sekedar pengujian, IMO. Setelah Anda menulis unit test Anda untuk API dan memastikan semuanya berfungsi seperti yang diharapkan, Anda perlu memantau API pihak ketiga sehingga Anda menangkap masalah sebelum pengguna melakukannya. Itu risiko nyata dengan API pihak ketiga - itu bukan kode Anda dan Anda tidak memiliki kendali atas berapa banyak pengujian yang dilakukan pada API atau kapan / jika itu berubah.
(Penafian: nama produk yang digunakan di sini) Jika Anda menggunakan soapUI untuk menulis tes API Anda, tes tersebut dapat digunakan kembali di AlertSite sebagai monitor operasional untuk memastikan API tetap berfungsi seperti yang diharapkan. Jika gagal dalam tes, Anda dapat diperingatkan sebelum pengguna menelepon Anda dan mengeluh bahwa aplikasi Anda tidak berfungsi.
sumber
Laksanakan tes belajar untuk bidang minat Anda (fitur yang Anda rencanakan untuk digunakan). Tes pembelajaran adalah tes integrasi yang ditulis oleh pengembang terhadap kontrak publik API. Tes tidak boleh ditulis terhadap rincian implementasi internal bahkan jika kode sumber untuk API tersedia. Tes pembelajaran semacam ini memiliki dua tujuan -
sumber
Ada 2 pendekatan untuk masalah ini ...
aplikasi Anda hidup dalam produksi dengan lalu lintas pengguna nyata:
jika Anda memiliki aplikasi dalam produksi yang memiliki lalu lintas langsung dan bergantung pada api eksternal, Anda tidak punya pilihan selain memonitor dan memiliki ambang batas yang baik untuk mengetahui secepat mungkin ketika api eksternal melakukan perubahan tanpa memberi tahu.
Anda harus selalu mempertimbangkan bahwa:
aplikasi Anda adalah instalasi dan telah merencanakan versi / rilis:
dalam hal ini Anda memiliki tenggang waktu gagal ... pengguna langsung tidak segera terpengaruh oleh perubahan api eksternal.
menurut saya ini adalah tugas yang lebih mudah. menulis tes (tes ujung ke ujung) yang membuat transaksi nyata / http / permintaan untuk aplikasi Anda yang memanggil api eksternal dan memeriksa bahwa tidak ada kegagalan. tidak ada test-kit tanpa mengejek transaksi nyata.
setelah tugas ini selesai, Anda dapat memilih untuk menjalankan ini setiap 24 jam, 1 menit dll ...
Latihan yang baik:
alat:
sumber