Pengujian Ketahanan
Endurance Testing adalah jenis pengujian perangkat lunak non-fungsional di mana perangkat lunak diuji dengan beban tinggi yang diperpanjang selama sejumlah waktu yang signifikan untuk mengevaluasi perilaku aplikasi perangkat lunak dalam penggunaan berkelanjutan. Tujuan utama pengujian ketahanan adalah untuk memastikan bahwa aplikasi tersebut cukup mampu untuk menangani beban yang diperpanjang tanpa penurunan waktu respons.
Jenis pengujian ini dilakukan pada tahap terakhir dari siklus jalan kinerja. Pengujian ketahanan adalah proses yang panjang dan terkadang berlangsung bahkan hingga satu tahun. Ini mungkin termasuk menerapkan beban eksternal seperti lalu lintas Internet atau tindakan pengguna. Hal ini membuat pengujian ketahanan berbeda dari Pengujian Beban, yang biasanya berakhir dalam beberapa jam atau lebih.
Endurance berarti kapasitas sehingga dengan kata lain, Endurance Testing dapat disebut sebagai Capacity Testing.
Dalam tutorial ini, Anda akan belajar-
- Apa itu Endurance Testing?
- Tujuan Pengujian Ketahanan
- Apa yang harus dipantau dalam Pengujian Ketahanan
- Bagaimana melakukan Pengujian Ketahanan
- Contoh Pengujian Ketahanan
- Alat Uji Ketahanan
- Keuntungan Pengujian Ketahanan
- Kekurangan Pengujian Daya Tahan
Tujuan Pengujian Ketahanan
- Tujuan utama pengujian Ketahanan adalah untuk memeriksa kebocoran memori.
- Untuk mengetahui bagaimana kinerja sistem dalam penggunaan berkelanjutan.
- Untuk memastikan bahwa setelah jangka waktu yang lama, waktu respons sistem akan tetap sama atau lebih baik dari awal pengujian.
- Untuk menentukan jumlah pengguna dan / atau transaksi, sistem tertentu akan mendukung dan memenuhi sasaran kinerja.
- Untuk mengelola beban di masa mendatang, kita perlu memahami berapa banyak sumber daya tambahan (seperti kapasitas prosesor, kapasitas disk, penggunaan memori, atau bandwidth jaringan) yang diperlukan untuk mendukung penggunaan di masa mendatang.
- Pengujian ketahanan umumnya dilakukan dengan membebani sistem secara berlebihan atau dengan mengurangi sumber daya sistem tertentu dan mengevaluasi konsekuensinya.
- Ini dilakukan untuk memastikan bahwa cacat atau kebocoran memori tidak terjadi setelah periode penggunaan yang dianggap "normal".
Apa yang harus dipantau dalam Pengujian Ketahanan
Dalam Pengujian Ketahanan, hal-hal berikut diuji.
- Uji kebocoran memori - Pemeriksaan dilakukan untuk memverifikasi apakah ada kebocoran memori dalam aplikasi, yang dapat menyebabkan kerusakan sistem atau OS
- Uji penutupan koneksi antara lapisan sistem - Jika koneksi antar lapisan sistem tidak berhasil ditutup, ini dapat menghentikan beberapa atau semua modul sistem.
- Uji koneksi database berhasil ditutup - Jika koneksi database tidak berhasil ditutup, dapat mengakibatkan sistem crash
- Uji waktu respons - Sistem diuji untuk waktu respons sistem karena aplikasi menjadi kurang efisien sebagai akibat dari penggunaan sistem yang berkepanjangan.
Bagaimana melakukan Pengujian Ketahanan
Di bawah ini adalah pendekatan pengujian dasar untuk Endurance Test
- Lingkungan Pengujian - Identifikasi perangkat keras, perangkat lunak, sistem operasi yang diperlukan untuk pengujian ketahanan, penetapan peran dan tanggung jawab dalam tim, dll. Lingkungan harus siap sebelum pelaksanaan pengujian. Anda juga perlu memperkirakan ukuran produksi database umum dan pertumbuhan tahunan. Ini diperlukan karena Anda perlu menguji bagaimana aplikasi Anda akan merespons setelah satu, dua atau lima tahun.
- Membuat Rencana Uji, Skenario - Berdasarkan sifat pengujian - manual atau otomatisasi atau kombinasi keduanya, desain Kasus Uji, tinjauan, dan pelaksanaan harus direncanakan. Pengujian untuk menekankan sistem, pengujian break point, dll. Juga harus menjadi bagian dari rencana pengujian. Pengujian untuk menekankan sistem menentukan break point dalam aplikasi.
- Estimasi Tes - Berikan perkiraan berapa lama waktu yang dibutuhkan untuk menyelesaikan tahap pengujian. Ini harus dianalisis berdasarkan sejumlah penguji yang terlibat dan jumlah siklus pengujian yang diperlukan.
- Analisis Risiko - Menganalisis risiko dan mengambil tindakan yang tepat untuk pencegahan. Prioritas kasus uji sesuai faktor Risiko dan identifikasi risiko di bawah ini dan masalah penguji dapat fase selama uji ketahanan.
- Akankah kinerja tetap konsisten dari waktu ke waktu?
- Apakah ada masalah kecil lainnya yang belum terdeteksi?
- Apakah ada gangguan eksternal yang tidak diatasi?
- Jadwal Tes - Tentukan anggaran, hasil dalam kerangka waktu. Karena Pengujian Ketahanan menerapkan pengaturan transaksi yang sangat besar namun alami ke sistem / aplikasi untuk periode waktu yang berkelanjutan.
Contoh Pengujian Ketahanan
Sementara pengujian Stres membawa sistem yang diuji ke batasnya, pengujian Ketahanan membawa aplikasi ke batasnya dari waktu ke waktu .
Misalnya, masalah yang paling kompleks - kebocoran memori, penggunaan server database, dan sistem yang tidak responsif - terjadi ketika perangkat lunak berjalan untuk jangka waktu yang lama. Jika Anda melewatkan uji ketahanan, peluang Anda untuk mendeteksi cacat tersebut sebelum penerapan cukup rendah.
Alat Uji Ketahanan
- WebLOAD
- LoadComplete
- Apache JMeter
- LoadRunner
- Penampilan
- LoadUI
- OpenSTA
- Penguji Kinerja Rasional
Keuntungan Pengujian Ketahanan
- Ini membantu dalam menentukan bagaimana beban kerja dapat ditangani oleh System Under Load.
- Memberikan data akurat yang dapat digunakan pelanggan untuk memvalidasi atau meningkatkan kebutuhan infrastruktur mereka.
- Mengidentifikasi masalah kinerja yang mungkin terjadi setelah sistem telah berjalan pada tingkat tinggi untuk jangka waktu yang lebih lama
- Masalah umum diidentifikasi dalam tes kinerja bertarget yang lebih kecil, yang berarti memastikan aplikasi tetap tersedia bahkan ketika ada beban besar dalam rentang waktu yang sangat singkat.
- Uji ketahanan juga digunakan untuk memeriksa apakah ada penurunan performa setelah periode eksekusi yang lama
Kekurangan Pengujian Daya Tahan
- Seringkali sulit untuk menentukan seberapa besar stres yang layak diterapkan.
- Pengujian Ketahanan dapat menyebabkan kegagalan aplikasi dan / atau jaringan yang dapat mengakibatkan gangguan yang signifikan jika Lingkungan Pengujian tidak diisolasi.
- Kehilangan atau kerusakan data permanen dapat terjadi karena sistem terlalu menekankan.
- Pemanfaatan sumber daya tetap sangat tinggi setelah stres dihilangkan.
- Beberapa komponen aplikasi gagal merespons.
- Pengecualian yang tidak tertangani diamati oleh pengguna akhir.
Ringkasan:
- Dalam Rekayasa Perangkat Lunak, pengujian Ketahanan adalah bagian dari pengujian beban.
- Pengujian ketahanan adalah proses yang panjang dan terkadang berlangsung bahkan hingga satu tahun
- Pemeriksaan dilakukan untuk memverifikasi
- Uji kebocoran memori
- Uji waktu respons
- Menguji koneksi database, dll.
Artikel ini dibuat karena kontribusi dari Unnati Soni.