Pengujian menyeluruh (E2E) meninjau alur kerja aplikasi dari awal hingga akhir untuk mengonfirmasi keseluruhan fungsionalitas. Praktik terbaik untuk pengujian E2E mencakup penetapan ruang lingkup yang cermat, penggunaan skenario dunia nyata, penulisan pengujian yang efektif, kolaborasi lintas fungsi, dan penggunaan kekuatan otomatisasisepenuhnya.
Dalam banyak hal, dari semua jenis pengujian perangkat lunak yang berbeda, E2E menyediakan metode pengujian yang paling komprehensif. Pengujian ini tidak hanya menangkap jawaban “ya” atau “tidak” yang terbatas (seperti semacam bentuk pengujian “kotak hitam”) pada pertanyaan inti “Apakah aplikasi berfungsi sebagaimana yang dimaksudkan?”
E2E menawarkan jawaban yang lebih lengkap dan bernuansa terhadap pertanyaan inti tersebut dengan menggambarkan potret yang lebih komprehensif tentang kinerja aplikasi.
Namun, semua perspektif tambahan ini tidak dihasilkan begitu saja. Berbagai hal yang membuat pengujian E2E sangat komprehensif dan berharga juga membuatnya lebih lambat dan lebih rumit daripada jenis pengujian lainnya. Pengujian E2E hanya membutuhkan lebih banyak waktu untuk mewujudkan hasil pengujiannya. Pada saat yang sama, dibutuhkan lebih banyak partisipasi dan kesabaran atas nama mereka yang mengawasi proses ini.
Hal tersebut menjadikan praktik terbaik untuk pengujian E2E semakin penting untuk diikuti. Melalui penerapannya, Anda dapat membantu mengurangi persyaratan ekstensif pengujian E2E yang cenderung memperlambat penggunaannya. Kekhawatiran juga tidak hanya terbatas pada kecepatan. Praktik terbaik yang diuraikan di sini dapat meningkatkan validitas data yang dihasilkan oleh pengujian E2E, sehingga pada akhirnya membuat seluruh proses pengujian menjadi lebih berharga.
Buletin industri
Tetap terinformasi tentang tren industri yang paling penting—dan menarik—tentang AI, otomatisasi, data, dan di luarnya dengan buletin Think. Lihat Pernyataan Privasi IBM®.
Langganan Anda akan disediakan dalam bahasa Inggris. Anda akan menemukan tautan berhenti berlangganan di setiap buletin. Anda dapat mengelola langganan atau berhenti berlangganan di sini. Lihat Pernyataan Privasi IBM® kami untuk informasi lebih lanjut.
Sebelum membahas cara optimal untuk menangani pengujian E2E Anda, pertama-tama mari pastikan bahwa jenis pengujian ini paling sesuai dengan kebutuhan Anda dengan meninjau manfaat utamanya. E2E menumbuhkan keuntungan tertentu sehingga membantu pengguna:
Memang benar bahwa tidak semua jenis organisasi cocok untuk pengujian E2E, tetapi industri yang tercantum di sini telah membuktikan bahwa mereka cocok dengan pengujian ini.
Beberapa dari mereka berurusan dengan sejumlah informasi paling penting dan dijaga yang ada saat ini.
Penguji perlu menangani data sensitif pasien dengan perawatan ekstra. Pengujian E2E membantu penyedia layanan kesehatan melakukan hal tersebut dengan memastikan bahwa data pasien digunakan dengan aman dan dalam kepatuhan penuh terhadap peraturan.
Komponen operasional utama teknologi keuangan (fintech), seperti pembayaran tagihan online, prosedur login pengguna, dan transfer dana elektronik, memastikan bahwa organisasi tersebut terus beralih ke pengujian E2E.
Salah satu industri yang mendapatkan manfaat paling besar dari pengujian E2E adalah e-commerce yang dapat memvalidasi seluruh proses pembelian yang digunakan dalam pemasaran online.
Pengujian E2E memungkinkan penguji menilai berbagai fitur seperti pemberitahuan pengguna, berbagi konten, dan pendaftaran pengguna di pintu masuk situs.
Aplikasi berbasis cloud harus berjalan di berbagai layanan sekaligus mempertahankan tingkat kualitas tampilan dan interaksi pengguna yang konsisten. Pengujian E2E memungkinkan aplikasi cloud berfungsi di berbagai layanan.
Kita dapat memerinci praktik terbaik untuk pengujian E2E menjadi tujuh area umum, yang masing-masing melibatkan penyatuan beberapa langkah terpisah.
Langkah pertama ini terutama bersifat konseptual dan melibatkan perencanaan pengujian intensif. Ingat, sebagian besar pengujian E2E menyangkut pengalaman pengguna dan itulah tempat yang logis untuk memulai seluruh proses pengujian ini.
Posisikan diri Anda sebagai pengguna potensial aplikasi ini dan berpikir dari perspektif pengguna. Apa yang mereka harapkan dari pengalaman pengguna mereka? Mungkinkah terdapat banyak perbedaan harapan di antara pengguna? Apa perjalanan pengguna yang paling penting dan paling sering dipilih?
Mengajukan pertanyaan seperti itu dapat membantu Anda mengetahui harapan pengguna dan fungsi normal serta alur kerja yang akan dikaitkan dengan aplikasi ini.
Pertama, tentukan alur kerja mana yang paling penting. Langkah ini akan mencakup proses yang sering digunakan seperti login, checkout (untuk aplikasi e-commerce), dan integrasi penting. Semua proses ini memainkan peran terbesar dalam memastikan stabilitas sistem dan dianggap penting pada integritas operasional.
Selama area pengujian E2E ini, merupakan praktik yang baik untuk mempertimbangkan skenario pengguna terburuk untuk aplikasi ini. Anda perlu memprediksi di mana kegagalan aplikasi sistemik dapat menimbulkan dampak dan gangguan terburuk bagi penggunanya. Penguji sering menggunakan pengujian berbasis risiko untuk membantu memutuskan fitur baru apa yang dapat ditambahkan ke aplikasi untuk mengoptimalkan kinerja dan mencegah potensi masalah.
Mungkin “sempurna” bukanlah kata yang tepat. Kesempurnaan di sini mungkin tidak benar-benar dapat dicapai. Tetapi Anda dapat membuat kasus pengujian terbaik dan itu sangat penting karena kasus pengujian berfungsi sebagai aspek berharga terkait pengujian E2E. Kasus pengujian adalah alat implementasi yang memungkinkan pengujian E2E. Karena itu desain yang tepat sangatlah penting.
Menggunakan apa yang telah Anda ketahui tentang kebutuhan dan persyaratan pengguna selama Langkah 1, mulailah mengembangkan kasus pengujian. Penguji cerdas akan mengupayakan ketelitian dan mencoba menangkap setiap kemungkinan interaksi pengguna yang mungkin ditemui selama perilaku normal aplikasi.
Penguji merumuskan skenario pengujian yang menguraikan skenario penggunaan berbeda karena hal ini berkaitan dengan semua komponen yang terkait—seperti front end, back end, basis data, dan antarmuka pemrograman aplikasi (API). Jika memungkinkan, alur kerja yang lebih kompleks harus lebih terfokus pada aspek spesifik agar kasus pengujian dapat ditangani dan dijalankan dengan lebih mudah.
Manajemen kasus pengujian memiliki kepentingan serupa yang sangat penting karena Anda mungkin akan berurusan dengan beberapa kasus pengujian. Agar semuanya tetap teratur, penting untuk menerapkan manajemen yang cermat pada semua kasus pengujian Anda (dan rangkaian pengujian yang menjaganya tetap tertata).
Hal ini berarti memastikan bahwa kasus pengujian tetap mudah diidentifikasi dan mengonfirmasi bahwa judulnya dapat dipahami dengan jelas. Prasyarat apa pun juga harus dinyatakan dengan jelas. Kasus pengujian harus menguraikan sumber daya yang diperlukan untuk menjalankan pengujian tersebut dan hasil yang diharapkan darinya.
Ini mungkin terdengar tidak masuk akal, tetapi coba pertimbangkan sejenak. Sama pentingnya dengan Langkah 2, tidak memiliki lingkungan pengujian yang aman dan andal untuk menampung kasus pengujian tersebut tidaklah relevan. Lingkungan pengujian harus sangat mirip dengan lingkungan produksi di mana aplikasi biasanya digunakan dan harus sangat kondusif untuk pengujian.
Oleh karena itu, lingkungan pengujian harus berisi jenis konfigurasi layanan, skema basis data, dan kunci API serupa dengan yang digunakan dalam pengujian API. Demikian juga, lingkungan pengujian harus memiliki semua komponen yang diperlukan, baik yang berorientasi pada perangkat keras, berbasis perangkat lunak, atau terkait dengan jaringan. Jika berada di lingkungan produksi, komponen juga harus dimasukkan dalam lingkungan pengujian.
Sekarang, mari kita bahas tentang data yang Anda gunakan dalam kasus pengujian. Setelah mencapai progres sejauh ini dalam proses pengujian, Anda dapat mudah tergelincir dengan anggapan bahwa semua kontingensi telah tercakup. Hal ini mungkin tidak akan terjadi jika Anda tidak menyertakan data uji yang menunjukkan stabilitas dan memperkirakan apa yang mungkin Anda temui dalam kondisi dunia nyata.
Untuk mendapatkan data berkualitas tinggi, Anda mungkin dapat menggunakan kembali data produksi sebelumnya, yang data sensitifnya telah dihapus. Selain itu terdapat kemungkinan lain bahwa data yang dihasilkan secara sintetis meniru karakteristik data.
Terakhir, setelah pengujian selesai, gunakan mekanisme pembongkaran yang telah ditetapkan sehingga data dapat dikumpulkan dan dianalisis, dan pengujian ulang dapat dimulai lagi dengan langkah-langkah penyiapan yang baru.
Setelah Anda berupaya mengembangkan kasus pengujian yang berharga, Anda harus dapat memanggil dan menggunakannya berulang kali.
Lalu masuklah otomatisasi, kekuatan transformatif untuk mengelola pelaksanaan berbagai kasus pengujian rutin, sebagaimana didelegasikan ke banyak kerangka kerja terprogram.
Otomatisasi pengujian terbukti sangat berguna selama pengujian regresi, ketika otomatisasi menawarkan penghematan waktu yang signifikan dan peningkatan produktivitas dibandingkan pengujian manual. Kerangka kerja pengujian E2E seperti Selenium dapat mengotomatiskan aplikasi web, sementara kerangka kerja seperti Appium dirancang untuk merampingkan dan mengotomatiskan pelaksanaan pengujian aplikasi mobile.
Ada juga alat otomatisasi pengujian (seperti Katalon) yang menggunakan teknologi kode-rendah dan kemampuan didukung AI yang dirancang untuk menawarkan pengujian sederhana dan pemeliharaan pengujian yang sama mudahnya.
Untuk memperluas kekuatan pengujian E2E organisasi, perusahaan yang berpikiran maju mencoba mengintegrasikan otomatisasi pengujian ke dalam saluran integrasi/pengiriman konstan (CI/CD) berkelanjutan. Ketika organisasi semacam itu menjadikan pengujian E2E sebagai bagian normal dari proses mereka, dividen yang mereka terima mencakup eksekusi pengujian otomatis, pengujian yang lebih efisien, dan deteksi dini masalah kinerja yang membayangi.
Perusahaan akan merasa lebih tenang dengan pemikiran bahwa pengujian E2E benar-benar merupakan proposisi yang terisolasi, terutama mengingat betapa pengujian ini biasanya terbukti rumit dan memakan waktu. Namun, hal tersebut tidak sesuai dengan kenyataan: Penguji hanya mendapatkan manfaat maksimal dari pengujian E2E jika pengujian ini menjadi proses yang rutin dilakukan.
Pengujian dan metrik terkait perlu terus dipantau dan ditinjau untuk memastikan bahwa pengujian tersebut tetap relevan dari waktu ke waktu. Situasi dapat berubah secara drastis dan tiba-tiba, dan perilaku pengguna bisa mengalami perubahan yang sama. Kasus pengujian yang pernah memiliki utilitas sangat besar dapat berubah menjadi tidak andal dan tidak memberikan kinerja yang berguna. Pengujian semacam itu menuntut perhatian segera agar tidak menunjukkan hasil pengujian yang tidak akurat atau meningkatkan biaya pemeliharaan terkait.
Strategi pengujian yang diikuti organisasi harus melibatkan proses yang dilacak. Metode ini berarti bahwa penguji dapat mengetahui apakah kasus pengujian masih relevan dan bermanfaat, atau apakah perlu diganti dengan kasus pengujian yang baru.
Memang benar, ada hal-hal yang dapat dilakukan pengujian E2E yang tidak dapat dilakukan oleh bentuk pengujian perangkat lunak lain. Opsi lain ini dapat mencakup pembobotan pada kualitas pengalaman pengguna yang dihasilkan aplikasi dan mengevaluasi seluruh kinerja aplikasi dari awal hingga akhir.
Meskipun pengujian E2E berharga, pengujian ini seharusnya tidak menjadi strategi pengujian eksklusif organisasi mana pun. Pengujian lain juga memiliki manfaat dengan caranya sendiri dan Anda harus menjalankan jenis pengujian lain.
Pengujian unit dan pengujian integrasi sangat berguna untuk menangani banyak kesalahan yang tidak terlalu penting. Dan karena cakupannya tidak sebesar cakupan pengujian E2E, pengujian ini biasanya dapat diselesaikan dengan cepat menggunakan sumber daya yang lebih sedikit.
Ada alasan lain untuk menggunakan pengujian unit dan integrasi. Jika Anda bekerja dengan kasus edge dan pengujian pengecualian (melihat kasus dengan karakteristik di luar operasi normal), pendekatannya bisa berbeda. Dalam kasus ini, proses pengujian unit atau integrasi lebih cocok daripada pengujian E2E.
Kita telah membahas tentang betapa pentingnya Anda melakukan pengujian E2E secara teratur sebagai bagian dari kebersihan aplikasi normal. Aspek penting lain dari pengujian E2E adalah bahwa pengujian ini bukan satu-satunya divisi dengan satu anggota staf. Semakin banyak anggota tim yang setidaknya dapat terlibat secara tidak langsung, semakin baik untuk kesehatan proses pengujian secara keseluruhan.
Jadi, Anda harus menumbuhkan rasa kolaborasi di antara anggota tim, baik yang bekerja di tim pengembangan, QA, atau unit bisnis lainnya. Unsur utama dari proses ini adalah mendukung komunikasi yang lebih baik sehingga semua anggota tim dan pemangku kepentingan lainnya mendapatkan informasi tentang berbagai fakta penting atau perkembangan yang terkait dengan cakupan pengujian.
Dengan indikasi yang sama, penguji harus mendokumentasikan kasus pengujian yang mereka kembangkan, membuat notasi cermat tentang sifat pengujian tertentu dan masalah yang terlibat. Transparansi dan kejelasan seperti itu berkontribusi secara signifikan dalam memajukan tujuan tim seputar pengujian E2E.
Kami perlu menyampaikan kembali, meskipun sudah disampaikan sebelumnya (seperti dalam artikel ini). Untuk melakukan pengujian E2E yang efektif, Anda harus tetap mengingat target audiens yang Anda layani.
Coba untuk benar-benar menyelami sudut pandang pengguna. Apa yang mereka harapkan dari aplikasi tersebut? Dengan cara apa pengguna mungkin terlibat dengan aplikasi ini? Anda harus mencari tahu dan Anda harus mempertahankan pola pikir pengguna tersebut saat mengembangkan kasus pengujian.
Selain itu, menguji aplikasi di berbagai browser untuk memastikan bahwa aplikasi beroperasi dengan lancar di browser apa pun merupakan cara yang cerdas. Saat ini, langkah ini wajib dilakukan mengingat orang menggunakan berbagai browser dan interaksi dengan sistem.
Salah satu tujuan utama pengujian E2E adalah mengonfirmasi bahwa aplikasi berfungsi dengan baik di mana pun atau bagaimana aplikasi digunakan. Pengujian E2E cukup luas dan komprehensif untuk melakukan pengujian sistem yang luas dan rumit yang diperlukan untuk memastikan kompatibilitas lintas platform.
Dibutuhkan beberapa eksekusi yang sangat baik untuk membantu mendapatkan pengalaman pengguna yang bebas kesalahan. Untungnya, pengujian E2E lebih dari sekadar mendukung tugas yang rumit itu.
Layanan penyewa tunggal yang dikelola sepenuhnya untuk mengembangkan dan menyediakan aplikasi Java.
Gunakan perangkat lunak dan alat bantu DevOps untuk membangun, menerapkan, dan mengelola aplikasi cloud native di berbagai perangkat dan lingkungan.
Pengembangan aplikasi cloud berarti membangun sekali, mengulangi dengan cepat, dan menerapkan di mana saja.