Memulai Pengujian Regresi Visual Menggunakan Appium
Diterbitkan: 2023-09-17Perangkat lunak saat ini menuntut pengalaman pengguna yang lancar di berbagai platform dan perangkat. Salah satu aspek paling menantang dalam domain ini adalah menjaga integritas visual aplikasi Anda. Di sinilah pengujian regresi visual (VRT) berperan, menawarkan cara yang efisien untuk menangkap bug visual dan inkonsistensi yang mungkin luput dari perhatian. Bagi mereka yang ingin memulai VRT, Appium menawarkan kerangka kerja yang kuat dan terukur untuk mengotomatiskan pengujian semacam ini di berbagai platform.
Selain itu, layanan sepertiLambdaTest menawarkan orkestrasi pengujian yang didukung AI dan solusi eksekusi pengujian untuk pengujian regresi visual, sehingga menghilangkan kebutuhan tim untuk menyiapkan dan mengelola infrastruktur pengujian mereka sendiri.Pendekatan cloud ini menyediakan akses on-demand ke berbagai browser dan perangkat nyata, memungkinkan pengujian bersamaan di berbagai lingkungan, mengurangi waktu pelaksanaan pengujian, dan memastikan konsistensi dalam tampilan dan fungsionalitas aplikasi web. LambdaTest juga menawarkan laporan pengujian terperinci dan integrasi dengan kerangka pengujian populer untuk identifikasi dan penyelesaian masalah dengan cepat.
Dalam artikel ini, kita akan mempelajari dasar-dasar memulai VRT menggunakan Appium sehingga Anda dapat meningkatkan strategi pengujian Anda ke tingkat berikutnya.
Apa Itu Pengujian Regresi Visual?
Pengujian regresi visual adalah teknik validasi yang digunakan untuk memastikan bahwa perubahan yang dilakukan pada aplikasi tidak berdampak buruk pada presentasi visual antarmuka pengguna (UI) aplikasi. Tujuan utamanya adalah untuk memastikan bahwa tata letak dan elemen visual memenuhi harapan yang telah ditentukan sebelumnya, sehingga menjamin pengalaman visual pengguna yang sempurna. Pemeriksaan visual ini mencakup berbagai atribut, seperti posisi, pencahayaan, kontras, dan warna tombol, menu, komponen, teks, dan banyak lagi. Metode ini terkadang juga disebut sebagai pengujian visual atau pengujian UI.
Bagaimana Cara Kerja Tes Regresi Visual?
Pada intinya, pengujian regresi visual beroperasi dengan menangkap cuplikan UI sebelum modifikasi dan kemudian membandingkannya dengan tangkapan layar yang diambil setelahnya. Perbedaan apa pun kemudian disorot untuk diperiksa oleh teknisi penguji. Dalam praktiknya, ada berbagai teknik untuk melakukan pengujian regresi visual. Beberapa yang paling sering digunakan tercantum di bawah ini untuk Anda:
Pengujian Visual Manual
Metode ini melibatkan pemeriksaan UI secara manual tanpa menggunakan alat khusus. Desainer dan pengembang mendedikasikan waktu pada setiap rilis untuk memeriksa halaman secara visual, secara aktif mencari kekurangan visual apa pun. Meskipun pendekatan ini mungkin melelahkan dan rentan terhadap kesalahan manusia ketika diterapkan pada keseluruhan aplikasi, pendekatan ini berguna untuk pengujian UI ad-hoc atau eksplorasi, terutama pada tahap awal pengembangan.
Perbandingan Piksel demi Piksel
Teknik ini meneliti dua tangkapan layar pada tingkat piksel, memperingatkan teknisi penguji jika ada perbedaan. Perbandingan piksel, juga dikenal sebagai perbedaan piksel, dapat mengidentifikasi semua potensi masalah, namun juga dapat menandai banyak perbedaan tidak penting yang tidak terlihat oleh mata manusia dan tidak memengaruhi kegunaan (misalnya, variasi rendering, anti-aliasing, atau perbedaan padding/margin ). Insinyur pengujian harus dengan cermat menyaring "positif palsu" ini dalam setiap pengujian yang dijalankan.
Perbandingan Berbasis DOM
Metode perbandingan ini mengandalkan analisis Document Object Model (DOM) sebelum dan sesudah perubahan keadaan dan mengidentifikasi perbedaan. Meskipun efektif dalam menyoroti modifikasi terkait kode dalam DOM, ini tidak memberikan perbandingan visual yang sebenarnya. Seringkali menghasilkan negatif atau positif palsu ketika kode tetap tidak berubah, namun UI berkembang (misalnya, konten dinamis atau konten yang disematkan) atau ketika kode berubah tetapi UI tetap statis. Akibatnya, hasil tes bisa tidak konsisten dan memerlukan peninjauan yang cermat untuk mencegah kesalahan penglihatan.
Perbandingan AI Visual
Pengujian regresi visual menggunakan Visual AI memanfaatkan visi komputer untuk memahami UI dengan cara yang mirip dengan manusia. AI yang terlatih dapat membantu teknisi pengujian dengan secara eksklusif menandai perbedaan yang akan terlihat oleh pengamat manusia, sehingga menghilangkan tugas yang melelahkan untuk mengatasi masalah "positif palsu" yang umum terjadi dalam pengujian perbandingan piksel dan DOM. Selain itu, Visual AI dapat menilai konten dinamis dan mengidentifikasi masalah hanya di area atau kawasan yang tidak terduga.
Alasan Melakukan Pengujian Regresi Visual
Bagian ini menjelaskan alasan paling kuat untuk melakukan pengujian regresi visual pada aplikasi Anda. Jadi, teruslah membaca….
Memastikan Konsistensi Visual
Pengujian regresi visual membantu memastikan bahwa UI dan elemen visual aplikasi seluler Anda tetap konsisten di berbagai versi, perangkat, dan platform. Konsistensi ini penting untuk memberikan pengalaman pengguna yang lancar.
Memvalidasi Perubahan Desain
Saat perubahan desain dilakukan pada aplikasi, pengujian regresi visual dapat memvalidasi apakah perubahan ini diterapkan dengan benar dan tidak menimbulkan masalah visual yang tidak diinginkan.
Putaran Umpan Balik Lebih Cepat
Tes regresi visual dapat memberikan umpan balik cepat kepada pengembang dan desainer, memungkinkan mereka mengatasi masalah di awal siklus pengembangan. Hal ini mengurangi kemungkinan cacat visual kritis mencapai produksi.
Peningkatan Pengalaman Pengguna
Gangguan visual dan inkonsistensi dapat berdampak negatif pada pengalaman pengguna dan merusak reputasi aplikasi. Dengan mengatasi masalah ini melalui pengujian regresi visual, Anda dapat meningkatkan kepuasan pengguna.
Pengujian Regresi Untuk Perpustakaan UI
Jika aplikasi Anda menggunakan pustaka atau kerangka kerja UI pihak ketiga, pengujian regresi visual membantu memastikan bahwa pembaruan pada pustaka ini tidak menimbulkan perubahan visual yang tidak diinginkan.
Langkah-Langkah Memulai Pengujian Regresi Visual Menggunakan Appium
Pengujian regresi visual menggunakan Appium melibatkan perbandingan elemen visual antarmuka pengguna aplikasi untuk mendeteksi perubahan visual yang tidak diinginkan antara versi aplikasi yang berbeda. Berikut langkah-langkah untuk memulai pengujian regresi visual menggunakan Appium:
Langkah 1: Siapkan Appium dan Lingkungan Uji
Pertama, pastikan Anda telah menginstal dan mengatur Appium di sistem Anda. Anda juga memerlukan perpustakaan klien Appium untuk bahasa pemrograman pilihan Anda (misalnya Java, Python). Selain itu, instal semua dependensi dan alat yang diperlukan untuk lingkungan pengujian Anda.
Langkah 2: Siapkan Gambar Uji
Sebelum dapat melakukan pengujian regresi visual, Anda memerlukan sekumpulan gambar dasar yang mewakili tampilan layar aplikasi yang diharapkan. Ambil gambar dasar ini dengan menjalankan aplikasi Anda di berbagai perangkat/emulator dan mengambil tangkapan layar dari setiap layar. Simpan gambar-gambar ini di folder khusus dalam proyek Anda.
Langkah 3: Terapkan Skrip Tes
Tulis skrip pengujian menggunakan perpustakaan klien Appium untuk mengotomatiskan proses pengambilan tangkapan layar dan melakukan perbandingan visual. Skrip pengujian Anda harus melakukan hal berikut:
- Inisialisasi driver Appium untuk meluncurkan aplikasi pada perangkat/emulator tertentu.
- Menavigasi layar aplikasi, melakukan tindakan yang memicu perubahan UI.
- Ambil tangkapan layar menggunakan fungsi tangkapan layar Appium.
- Simpan tangkapan layar yang diambil di folder terpisah untuk perbandingan.
Berikut ini contoh tampilan kode di Java menggunakan klien Appium Java:
```jawa
impor io.appium.java_client.AppiumDriver;
impor io.appium.java_client.MobileElement;
impor io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
impor java.net.URL;
Tes Regresi Visual kelas publik {
public static void main(String[] args) melempar Pengecualian {
// Tetapkan kemampuan yang diinginkan untuk driver Appium
Batas Kemampuan yang Diinginkan = Kemampuan yang Diinginkan baru();
caps.setCapability("Namaplatform", "Android");
caps.setCapability("DeviceName", "emulator-5554");
caps.setCapability("appPackage", "aplikasi.paket Anda");
caps.setCapability("appActivity", "aplikasi.aktivitas Anda");
// Inisialisasi driver Appium
AppiumDriver<MobileElement> driver = AndroidDriver baru<>(URL baru("https://localhost:4723/wd/hub"), caps);
// Melakukan tindakan dan mengambil tangkapan layar
// ...
// Simpan tangkapan layar untuk perbandingan
// ..
// Tutup drivernya
pengemudi.berhenti();
}
}
```
Langkah 4: Terapkan Logika Perbandingan Visual
Untuk pengujian regresi visual, Anda memerlukan mekanisme untuk membandingkan tangkapan layar yang diambil dengan gambar dasar. Anda dapat menggunakan pustaka perbandingan gambar seperti "Resemble.js" atau "Pixelmatch" untuk melakukan perbandingan piksel demi piksel dan menghitung perbedaan visual.
Langkah 5: Penegasan dan Pelaporan
Dalam skrip pengujian Anda, terapkan pernyataan berdasarkan hasil perbandingan visual. Jika perbedaan visual melebihi ambang batas tertentu, pengujian dianggap gagal. Hasilkan laporan yang merinci hasil pengujian, termasuk perbedaan visual yang terdeteksi.
Langkah 6: Integrasi Berkelanjutan (CI)
Integrasikan pengujian regresi visual Anda ke dalam pipeline CI/CD Anda untuk memastikan pengujian tersebut berjalan secara otomatis setiap kali ada perubahan kode atau rilis baru. Ini membantu menangkap regresi visual di awal proses pengembangan.
Langkah 7: Pertahankan Gambar Dasar
Seiring berkembangnya aplikasi, Anda harus memperbarui gambar dasar agar sesuai dengan tampilan baru yang diharapkan. Hal ini memastikan bahwa perubahan UI yang sah tidak disalahartikan sebagai regresi.
Bagaimana Pengguna Dapat Melakukan VRT Menggunakan Appium Di LambdaTest?
Berikut cara pengguna melakukan pengujian regresi visual menggunakan Appium di LambdaTest:
Siapkan Akun LambdaTest
Untuk memulai, buat akun di platform LambdaTest jika Anda belum memilikinya. Anda memerlukan akun ini untuk mengakses infrastruktur pengujian mereka. Kemudian pastikan untuk menginstal Appium dan semua dependensinya, seperti yang dibahas di atas.
Tulis Skrip Tes
Kembangkan skrip pengujian Appium Anda untuk berinteraksi dengan aplikasi seluler Anda. Skrip ini harus mencakup langkah-langkah yang menavigasi aplikasi Anda dan menangkap tangkapan layar elemen atau layar utama.
Konfigurasikan Kemampuan LambdaTest
Ubah skrip Appium Anda untuk menyertakan kemampuan khusus LambdaTest. Ini termasuk menentukan platform yang diinginkan (iOS/Android), versi browser, jenis perangkat, dan kredensial LambdaTest (nama pengguna dan kunci akses).
Jalankan Tes di LambdaTest
Unggah skrip pengujian Appium Anda ke platform LambdaTest. LambdaTest menyediakan kisi Selenium tempat Anda dapat menjalankan pengujian Appium. Grid ini menawarkan berbagai perangkat dan browser nyata untuk pengujian.
Jalankan Tes
Jalankan pengujian Anda pada grid LambdaTest dengan memicunya dari antarmuka berbasis web. LambdaTest akan menjalankan pengujian Anda pada perangkat seluler dan browser tertentu, mengambil tangkapan layar di berbagai titik dalam alur pengujian Anda.
Perbandingan Visual
Setelah eksekusi pengujian, LambdaTest menghasilkan tangkapan layar dari berbagai status aplikasi. Anda dapat menggunakan alat perbandingan visual bawaannya untuk membandingkan tangkapan layar ini dengan gambar dasar guna mengidentifikasi perbedaan visual.
Tinjau dan Analisis
Analisis hasil VRT untuk mengidentifikasi perbedaan visual. LambdaTest memberikan wawasan tentang perubahan visual, menyoroti area di mana perbedaan terdeteksi.
Pelaporan Otomatis
LambdaTest menawarkan fitur pelaporan otomatis untuk melacak hasil pengujian dari waktu ke waktu, sehingga memudahkan untuk mengidentifikasi tren dan menilai dampak perubahan pada tampilan visual aplikasi Anda.
Praktik Terbaik Untuk Pengujian Regresi Visual yang Berhasil Menggunakan Appium
Berikut adalah beberapa praktik terbaik yang harus diikuti agar pengujian regresi visual berhasil menggunakan Appium:
Pilih Matriks Perangkat dan Platform yang Andal
Pilih serangkaian perangkat, sistem operasi, dan resolusi layar yang mewakili kombinasi terpenting yang digunakan oleh audiens target Anda. Matriks ini harus mencakup beragam perangkat untuk memastikan aplikasi Anda terlihat konsisten di berbagai konfigurasi.
Kontrol Versi Untuk Gambar Referensi
Simpan repositori gambar referensi dengan kontrol versi yang mewakili tampilan visual yang diharapkan dari aplikasi Anda di berbagai perangkat dan platform. Gambar referensi ini akan menjadi dasar perbandingan selama uji regresi.
Lingkungan Pengujian Yang Stabil Dan Konsisten
Pastikan lingkungan pengujian konsisten untuk setiap pengujian yang dijalankan. Ini termasuk penggunaan versi OS, versi Appium, dan pustaka yang sama di berbagai pengujian yang dijalankan. Hindari melakukan perubahan yang tidak perlu pada lingkungan yang dapat menyebabkan hasil positif palsu dalam pengujian Anda.
Pisahkan Perubahan UI Dari Perubahan Fungsional
Pisahkan pengujian regresi visual Anda dari pengujian fungsional. Hal ini memungkinkan Anda untuk fokus hanya pada perbedaan visual tanpa terganggu oleh masalah fungsional.
Toleransi Varians Visual yang Diharapkan
Tidak semua perbedaan visual merupakan bug. Tetapkan tingkat toleransi untuk varian visual yang dapat diterima untuk memperhitungkan perubahan kecil pada UI, seperti variasi rendering font yang mungkin tidak memengaruhi pengalaman pengguna secara keseluruhan.
Penanganan Konten Dinamis
Tangani konten dinamis seperti iklan, konten buatan pengguna, dan data real-time dengan baik. Anda mungkin perlu mengecualikan elemen ini dari perbandingan atau memperbarui gambar referensi Anda untuk memperhitungkan perubahan dinamis ini.
Strategi Tunggu yang Cerdas
Terapkan strategi menunggu cerdas untuk memastikan bahwa elemen UI aplikasi dimuat sepenuhnya sebelum mengambil tangkapan layar. Hal ini membantu menghindari kesalahan positif yang disebabkan oleh layar yang dimuat tidak lengkap atau sebagian.
Eksekusi Paralel
Jika memungkinkan, jalankan pengujian regresi visual secara paralel di beberapa perangkat dan platform. Hal ini mengurangi waktu pengujian secara keseluruhan dan memastikan umpan balik yang lebih cepat mengenai potensi perbedaan visual.
Pelaporan dan Pemberitahuan Otomatis
Siapkan pelaporan dan pemberitahuan otomatis untuk mengingatkan tim ketika perbedaan visual terdeteksi. Hal ini memastikan tindakan cepat dan meminimalkan waktu yang dibutuhkan untuk memperbaiki masalah.
Pemeliharaan Tes Reguler
Seiring berkembangnya aplikasi Anda, perbarui gambar referensi dan sesuaikan pengujian Anda untuk mengakomodasi perubahan visual yang disengaja. Tinjau dan pertahankan pengujian regresi visual Anda secara rutin untuk memastikan pengujian tersebut tetap relevan.
Tinjau Dan Validasi Temuan
Sebelum mempertimbangkan perbedaan apa pun sebagai masalah sebenarnya, tinjau tangkapan layar secara manual untuk memvalidasi apakah perbedaan tersebut merupakan bug sebenarnya atau hanya kesalahan positif yang disebabkan oleh konten dinamis atau perubahan visual kecil.
Perbaikan terus-menerus
Evaluasi terus-menerus strategi pengujian regresi visual Anda dan sesuaikan sesuai kebutuhan. Terus ikuti perkembangan alat, pustaka, dan praktik terbaik terbaru untuk memastikan efektivitas proses pengujian Anda.
Kesimpulan
Baik Anda ingin mengidentifikasi perubahan yang tidak diinginkan, mengurangi upaya QA manual, atau sekadar meningkatkan konsistensi visual di berbagai perangkat dan resolusi, VRT adalah alat yang sangat diperlukan dalam gudang pengujian Anda. Seperti halnya teknologi apa pun, menguasai nuansa memerlukan waktu, namun manfaat dalam hal penghematan waktu, pengurangan kesalahan, dan pengalaman pengguna yang lebih lancar bisa sangat besar. Jadi mengapa menunggu? Mulailah dengan VRT dan Appium hari ini, dan tingkatkan pengujian aplikasi seluler Anda.