Kiat dan Praktik Terbaik untuk Menguji Integrasi Salesforce

integrasi tenaga penjualan

Pengujian Salesforce akan membantu Anda memvalidasi kustomisasi Anda Integrasi Salesforce dan fungsionalitas dengan aplikasi perusahaan lainnya. Tes yang baik mencakup semua modul Salesforce dari akun hingga prospek, dari peluang hingga laporan, dan dari kampanye hingga kontak. Seperti halnya dengan semua pengujian, ada cara yang baik (efektif dan efisien) untuk melakukan pengujian Salesforce dan cara yang buruk. Jadi, apa praktik yang baik dari pengujian Salesforce?

  • Gunakan Alat Pengujian yang Tepat - Pengujian Salesforce terjadi di browser atau di lingkungan berbasis gerhana. Baik browser dan gerhana terbaru memiliki alat debugging yang hebat dan Anda dapat menggabungkannya dengan kelas pengujian untuk hasil yang sangat membantu. Namun, jika Anda membutuhkan lebih banyak, The Apex Interactive Debugger (atau hanya Apex) oleh Force.com harus digunakan. Perhatikan, Anda juga dapat menggunakan Salesforce Lightning Inspector, ekstensi chrome, untuk menguji Salesforce Lightning secara khusus. Puncak adalah a Force.com bahasa pemrograman berpemilik platform yang sangat mirip dengan Java. Ini adalah bahasa pemrograman yang berorientasi objek, tidak peka huruf besar / kecil, sangat tipe yang mengikuti tanda kurung kurawal dan sintaks notasi titik. Anda dapat menggunakan Apex untuk menjalankan fungsi yang diprogram selama sebagian besar proses Force.com, termasuk tautan dan tombol khusus, pembaruan, penghapusan, dan penangan peristiwa penyisipan rekaman melalui pengontrol atau penjadwalan khusus halaman Visualforce.
  • Gunakan Konvensi Penamaan yang Benar - Penamaan yang tepat untuk metode tes Anda sebelum Anda mulai menulis tes sangatlah penting. Nama metode pengujian harus memiliki tiga bagian. Ini adalah nameOfMethod (nama metode individual yang Anda uji seperti sisipkan / perbarui / hapus / batalkan penghapusan saat menguji pemicu, informasi tentang TestPath yang fleksibel seperti kontak null jika Anda menguji bahwa kontak tersebut null, dan valid saat pengujian jalur positif / negatif.
  • Pastikan Cakupan 100% - Meskipun arahan Salesforce standar adalah pengujian unit harus memiliki cakupan 75% dari kode Anda (dikurangi kelas pengujian, panggilan ke System.debug dan metode pengujian) dan Anda tidak akan dapat menerapkan kode Apex atau mengemas aplikasi AppExchange, Anda harus perhatikan bahwa ini hanya standar dan tujuan Anda harus mencakup 100%. Uji semua kasus positif / negatif dan untuk data yang ada dan tidak ada. Kiat penting lainnya dalam hal cakupan kode adalah:
    • Anda harus menjalankan tes untuk menyegarkan nomor cakupan kode karena angka-angka ini tidak di-refresh ketika kode Apex diperbarui hingga tes dijalankan kembali.
    • Jika telah ada pembaruan dalam organisasi sejak uji coba terakhir dijalankan, ada risiko bahwa nomor cakupan kode akan salah. Jalankan kembali pengujian untuk perkiraan yang tepat.
    • Persentase cakupan kode tidak termasuk cakupan kode dari pengujian paket terkelola, dengan satu-satunya pengecualian adalah saat pengujian ini menyebabkan pemicu diaktifkan.
    • Cakupan tergantung pada jumlah baris kode. Jika Anda menambah atau menghapus baris kode, Anda akan mempengaruhi persentase.
  • Uji Kasus di Kelas dan Pengontrol - Dalam pengembangan Salesforce, sebagian besar pengembang membuat kelas dan file pengontrol terpisah untuk setiap fungsi. Ini dilakukan untuk membuat pengkodean lebih teratur, lebih mudah, dapat digunakan kembali, dan portabel. Namun, Anda harus mencatat bahwa meskipun ini lebih mudah, namun tidak lebih efisien. Anda akan mencapai portabilitas jika kode pengujian ada di kelas asli dan kode pengontrol itu sendiri karena Anda tidak akan melewatkan kelas pengujian apa pun saat bermigrasi dari sandbox ke produksi.
  • Gunakan System.assert () - Di Apex, System.assert() digunakan untuk memeriksa kondisi. Ini adalah fungsionalitas penting karena memungkinkan Anda untuk menentukan apakah fungsi tertentu telah dilakukan dengan metode seperti yang diharapkan. Anda harus menggunakan System.assertEquals () dan System.assertNotEquals () di antara fungsi penting tidak hanya membantu Anda menentukan apakah kode telah dijalankan sebagaimana mestinya, tetapi juga untuk memastikan tidak ada data yang salah ditulis jika kode salah.
  • Tes Komprehensif - Pengujian harus mencakup semuanya. Anda harus melakukan pengujian fungsional, pengujian beban, pengujian keamanan, dan pengujian penerapan.
  • Tes Unit - Anda harus memiliki tes unit untuk memverifikasi bahwa catatan individu menghasilkan hasil yang benar dan diharapkan. Meskipun menggunakan uji raksasa yang mencakup seluruh kode mungkin tampak seperti ide yang bagus, perhatikan bahwa hasil yang dihasilkan akan lebih sulit untuk di-debug dan kegagalan akan lebih sulit untuk dipahami. Pengujian unit harus mencakup sebagian kecil dari fungsionalitas yang diuji.
  • Uji Kasus Massal - Kode pengujian yang baik (pemicu, pengecualian, atau kelas) dapat dilibatkan hingga beberapa ratus catatan (200 untuk Apex). Anda harus memanfaatkan ini dan menguji tidak hanya catatan individu, tetapi juga kasus massal.
  • Tes Positif - Uji untuk memastikan apakah perilaku yang diharapkan terjadi melalui semua permutasi yang diharapkan. Tes tersebut harus memverifikasi bahwa pengguna mengisi formulir dengan benar dan bahwa dia tidak melewati batas.
  • Tes Negatif - Uji kasus negatif untuk memastikan pesan kesalahan dibuat dengan benar. Contoh kasus negatif seperti tidak dapat menentukan jumlah negatif dan tidak dapat menambahkan tanggal yang akan datang. Tes negatif penting karena penanganan yang benar ketika segala sesuatunya mengarah ke selatan dapat membuat semua perbedaan.
  • Pengujian Otomatis - Secara tradisional, pengujian Salesforce bersifat manual. Anda harus mempertimbangkan pengujian otomatis karena ini menawarkan lebih banyak keuntungan. Ini termasuk:
    • Pengujian manual membuat Anda rentan terhadap kesalahan karena pengujian dilakukan oleh manusia dan bukan robot. Robot unggul dalam aktivitas berulang sementara manusia membuat kesalahan karena kebosanan, berkurangnya konsentrasi dan konsistensi, serta kecenderungan untuk mengambil jalan pintas.
    • Pengujian manual berulang, diformulasikan, dan melelahkan. Tim penguji lebih baik melakukan pekerjaan yang lebih eksploratif.
  • Jalankan setiap Cabang Logika Kode - Saat menggunakan logika kondisional (ketika Anda telah memasukkan operator terner), setiap cabang logika kode harus dijalankan.
  • Gunakan Input yang Tidak Valid dan Valid untuk Panggilan ke Metode - Panggilan ke metode harus dilakukan menggunakan input yang tidak valid dan valid.
  • Tes Lengkap - Pastikan bahwa pengujian berhasil diselesaikan - pengujian tidak boleh melalui pengecualian apa pun kecuali jika terjadi kesalahan. Tangani semua pengecualian yang tertangkap - menangkapnya saja tidak cukup baik.
  • Gunakan ORDER BY Kata Kunci - Untuk memastikan catatan Anda dikembalikan dalam urutan yang Anda harapkan, gunakan kata kunci ORDER BY.
  • Jangan Asumsikan ID Rekaman Diatur Secara Berurutan - Hindari kesalahan umum dengan mengasumsikan ID rekaman disusun secara berurutan. ID tidak dalam urutan menaik, kecuali Anda telah memasukkan beberapa record dengan permintaan yang sama.
  • Panggil Test.startTest () dan Test.stopTest () - Saat Anda menjalankan pengujian unit Apex, Anda akan mendapatkan lebih dari 75% cakupan kode yang wajib di Salesforce. Anda harus memanggil stopTest sebelum pernyataan untuk memaksa kode asinkron yang mungkin masih berjalan hingga selesai. Jalankan kueri baru untuk hasil akhir karena kode lain mungkin mengubah data. UsingTest.startTest () dan Test.stopTest () memastikan Anda memasukkan pengujian ke kotak pasir dalam batas pengaturnya. Dengan cara ini, kode penyiapan yang Anda gunakan tidak akan mengganggu dan memberi Anda negatif palsu atau positif seputar batas gubernur. Test.stopTest () juga memastikan bahwa panggilan @future akan selesai untuk pengujian.
  • Keterbacaan - Keterbacaan sangat penting dalam pengujian unit. Nama tes harus mencakup tindakan spesifik yang akan diambil dan hasil yang diharapkan. Metodenya harus deskriptif dan singkat. Metode tersebut harus sedemikian rupa sehingga dapat digunakan kembali di berbagai pengujian.
  • Buat Kumpulan Data Uji Besar sebelum startTest - Karena pengujian Anda akan berjalan di lingkungan sandbox dan produksi yang berbeda, buat kumpulan data pengujian yang besar sebelum Anda memanggil startTest untuk memastikan pengujian memiliki batas eksekusi penuh. Secara default, Tenaga penjualan Github menjalankan pengujian yang diisolasi dari data produksi. Saat Anda membutuhkan data sistem seperti Profil, kueri untuk mendapatkan hal yang tepat untuk lingkungan spesifik tersebut.
  • Hasilkan Data Uji Anda Sendiri - Data pengujian yang Anda gunakan harus dibuat dalam pengujian. Anda dapat membuat data ini menggunakan anotasi @testSetup dan kelas TestUtils untuk tidak hanya memastikan Anda memiliki data yang benar, tetapi juga memastikan semua pengujian dijalankan di kotak pasir pengembang tanpa persyaratan data.
  • Hindari operasi tanpa operasi AKA null - Banyak penguji menggunakan operasi AKA null tanpa operasi. Ini adalah kode tidak berguna yang tidak melakukan apa-apa. Karena mereka sudah ada di basis kode Anda, mereka akan menambah persentase cakupan Anda.
  • Eksekusi Uji Paralel - Saat Anda memulai pengujian dari antarmuka pengguna Salesforce atau Developer Console, pengujian akan berjalan secara paralel. Ini adalah fitur penting karena mempercepat waktu pengujian. Namun, Anda harus memperhatikan bahwa ini dapat menyebabkan masalah pertengkaran data dan jika Anda mencurigai hal ini mungkin terjadi, matikan eksekusi paralel. Penyebab paling umum dari masalah pertentangan data yang sering menyebabkan kesalahan UNABLE_TO_LOCK_ROW adalah:
    • Ketika tes dimaksudkan untuk memperbarui catatan yang sama pada waktu yang sama. Pembaruan catatan yang sama biasanya terjadi ketika tes tidak membuat datanya sendiri.
    • Saat ada kebuntuan dalam pengujian yang berjalan secara paralel dan mereka mencoba membuat rekaman yang memiliki nilai bidang indeks yang cocok. Kebuntuan akan terjadi saat 2 pengujian yang sedang berjalan antri untuk memutar kembali data (ini terjadi saat 2 pengujian memasukkan catatan yang memiliki nilai bidang indeks unik yang sama dalam urutan yang berbeda).
    • Untuk mematikan eksekusi tes paralel, pergi ke Setup, masukkan Tes Apex, pergi ke dialog Opsi Eksekusi Tes Apex, pilih Nonaktifkan Pengujian Apex Paralel, klik OK.

Nonaktifkan Pengujian Apex Paralel

Pekerjakan seorang profesional untuk pekerjaan itu karena dia akan memiliki pengalaman dan pelatihan yang diperlukan untuk melakukan tes yang baik, yang juga memberi Anda ketenangan pikiran. Mempekerjakan seorang profesional memungkinkan Anda berkonsentrasi pada bisnis inti Anda. Ini juga menghemat uang Anda karena Anda tidak memerlukan tim internal untuk pekerjaan itu.

Bagaimana menurut Anda?

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.