Pengujian Skalabilitas: 7 Langkah Menuju Sukses

Sistem yang bekerja dengan baik selama pengembangan, yang digunakan dalam skala kecil, dapat gagal memenuhi tujuan kinerja ketika penyebaran ditingkatkan untuk mendukung tingkat penggunaan yang nyata.

Contoh yang tepat dari ini berasal dari perusahaan blue chip besar yang baru-baru ini mengalihdayakan pengembangan platform teknologi tinggi yang inovatif. Meskipun perkembangannya terlambat, ini dianggap dapat diterima. Sistem secara bertahap melewati elemen-elemen fungsional dari pengujian penerimaan pengguna dan akhirnya tampak seperti tanggal penempatan yang bisa ditetapkan. Tetapi kemudian pemasok mulai menguji beban dan pengujian skalabilitas. Setelah itu terjadi perubahan arsitektur dan perubahan persyaratan sistem yang berkepanjangan dan mahal. Pemasok berjuang dengan gagah berani untuk menyediakan sistem yang dapat diterima, sampai akhirnya proyek itu dibatalkan.

Ini bukan kasus yang terisolasi. Cerita rakyat IT berlimpah dengan kisah serupa. Dari sistem pengiriman ambulans ke situs web untuk pengajuan pengembalian pajak secara elektronik, sistem gagal karena skala dan mengalami tuntutan puncak. Semua proyek ini tampaknya tidak mengidentifikasi dan memerintahkan risiko besar yang mereka hadapi. Ini adalah tahap dasar pengujian berbasis risiko, dan berlaku sama untuk pengujian skalabilitas atau pengujian beban seperti halnya pengujian fungsionalitas atau pengujian kontinuitas bisnis. Tanpa penilaian risiko, mereka tidak menyadari bahwa penskalaan adalah salah satu risiko terbesar, lebih dari itu memberikan semua fungsionalitas

Tren terbaru menuju Arsitektur Berorientasi Layanan (SOA) berupaya untuk mengatasi masalah skalabilitas tetapi juga memperkenalkan masalah baru. Memasukkan layanan yang disediakan secara eksternal ke dalam solusi keseluruhan Anda berarti bahwa kemampuan Anda untuk menskala sekarang tergantung pada sistem eksternal ini yang beroperasi di bawah beban. Memastikan ini adalah tugas yang berat dan sayangnya pengujian beban dan pengujian tegangan di sini sering diabaikan.

Praktik yang lebih baik adalah memulai pengembangan sistem perangkat lunak skala besar dengan kinerjanya yang jelas dalam pikiran, khususnya pengujian skalabilitas, pengujian volume, dan pengujian beban. Untuk membuat fokus pengujian kinerja ini:

Meneliti dan mengukur volume data dan volume transaksi yang disiratkan pasar target. Beberapa angka-angka ini dapat menjadi pembuka mata dan membantu pengguna bisnis mewujudkan skala penuh sistem. Ini saja dapat menyebabkan penilaian ulang prioritas banyak fitur.
Tentukan cara fitur dapat disajikan kepada pengguna dan sistem terstruktur untuk membuat penskalaan sistem lebih mudah. Jangan mencoba dan memiliki fungsi yang sama dengan yang Anda miliki untuk solusi desktop pengguna tunggal memberikan alternatif yang dapat diskalakan.
Ketahuilah bahwa bagian intrinsik dari proses pengembangan adalah pengujian beban pada skala representatif pada setiap rilis perangkat lunak tambahan. Ini adalah pengujian berkelanjutan, dengan fokus pada risiko terbesar pada proyek: kemampuan untuk beroperasi pada skala penuh.
Pastikan pengujian beban memadai dalam cakupan dan kekakuan. Pengujian beban bukan hanya tentang mengukur waktu respons dengan tes kinerja. Program pengujian beban perlu memasukkan jenis pengujian beban lainnya termasuk pengujian tegangan, uji reliabilitas, dan pengujian daya tahan.
Jangan lupa bahwa kegagalan akan terjadi. Sistem skala besar umumnya termasuk cluster server dengan perilaku fail-over. Pengujian kegagalan, pengujian kegagalan dan pengujian pemulihan yang dilakukan pada sistem skala representatif yang beroperasi di bawah beban harus dimasukkan.
Jangan lupa kegagalan katastropik bisa terjadi. Untuk masalah skala besar, pengujian bencana dan pengujian pemulihan bencana harus dilakukan pada skala dan beban yang representatif. Kegiatan-kegiatan ini dapat dianggap sebagai lapisan teknis pengujian kontinuitas bisnis.
Kenali layanan eksternal jika Anda menggunakannya. Di mana Anda mengadopsi pendekatan SOA dan bergantung pada layanan eksternal, Anda harus yakin bahwa throughput dan waktu penyelesaian pada layanan ini akan tetap dapat diterima karena skala sistem Anda dan tuntutannya meningkat. Arsitektur sistem cerdas akan mencakup respons yang anggun dan operasi mundur jika perilaku layanan eksternal memburuk atau gagal.


Komentar

Postingan populer dari blog ini

Baca Tag RFID untuk 69 Kaki

Sistem Nirkabel WiFi dalam Studi Kasus Pabrik Robotika

Monitor Komputer Rackmount Memberikan Ketergantungan