Apakah masuk akal untuk tidak memiliki kriteria lulus / gagal untuk tes stres

10

Hanya untuk kejelasan, tes stres yang saya tulis terus meningkatkan beban pada sistem hingga mencapai titik puncaknya. Secara teoritis berjalan tanpa batas, tetapi karena sumber daya sistem terbatas, diharapkan gagal setelah beberapa titik waktu. Saya memiliki beban yang diharapkan untuk sistem, tetapi ini diuji secara terpisah dalam uji beban . Tujuan dari stress test ini adalah untuk mengetahui berapa banyak beban yang dapat saya masukkan ke sistem sebelum saya perlu mengimplementasikan penskalaan.


Saya sedang dalam proses menulis stress test untuk suatu sistem, dan saya bertanya-tanya apakah masuk akal untuk lulus / gagal kriteria. Berdasarkan sifat pengujian, beban terus meningkat hingga mencapai titik puncak (yaitu gagal ). Saya jelas tidak tahu apa ini titik melanggar sebelumnya, dan karena itu tidak ada harapan dari beban yang dapat ditangani sistem (dalam teori pula).

Sekarang saya memiliki tes kinerja lain untuk menguji sistem di bawah beban yang diharapkan dll, yang saya dapat dengan mudah menetapkan kriteria lulus / gagal, dan saya bisa menggunakan kriteria ini sebagai dasar untuk stress test saya. Dengan kata lain, saya dapat menetapkan batas minimum untuk mencapai stress test saya, tetapi saya tidak yakin apakah ini hal yang tepat untuk dilakukan (apakah ini 'menduplikasi' tes saya yang lain?).

Saya berharap seseorang dengan lebih banyak pengalaman dalam pengujian kinerja dapat membantu saya di sini. Apa kriteria lulus / gagal yang digunakan orang lain ketika melakukan stress testing (jika ada)?

Alex
sumber
1
Jika Anda tidak lulus / gagal, mengapa Anda melakukan tes?
RemcoGerlich
@RemcoGerlich Jadi saya bisa tahu batasan sistem? Ini akan membantu dalam perencanaan kapasitas dll.
Alex
Saya pikir perencanaan kapasitas adalah di mana Anda memutuskan beban minimum yang harus bisa ditangani oleh sistem Anda (jadi Anda memiliki kriteria gagal lulus).
RemcoGerlich
@RemcoGerlich Mungkin istilah saya tercampur aduk, tetapi pada dasarnya saya memang memiliki beban yang diharapkan (yang diuji secara terpisah), tetapi saya menggunakan tes stres ini untuk menentukan pada titik apa (yaitu jumlah pengguna) yang saya perlukan skala infrastruktur. Ini adalah tes terpisah karena perubahan pada sistem dapat mengubah beban yang dapat ditangani sistem, yang tidak akan terlihat dalam tes beban.
Alex
@Alex, nggak masalah kamu belum kacau. Anda menggambarkan tes stres dengan tepat. Masalah yang Anda miliki adalah bahwa tidak ada lulus / gagal terkait dengan pengujian stres, sehingga tidak dapat dengan mudah dijalankan menggunakan alat "unit testing".
David Arno

Jawaban:

10

Dalam tes stres, tugas Anda bukanlah menentukan stres yang harus diambil subjek. Ini untuk mengukur stres yang diperlukan sebelum gagal.

Anda dapat menggunakan kriteria kinerja untuk menentukan apa itu kegagalan stres. Tetapi hasil stress test tidak lulus / gagal. Itu "gagal setelah 90 jam pemanfaatan di bawah 100% dengan ventilasi 50% dikompromikan".

candied_orange
sumber
satu pertanyaan. Haruskah stress test menyebabkan sistem crash? Dengan kata lain. Apakah kecelakaan itu yang kita anggap "gagal"?
Laiv
3
@laiv Tes stres harus menyebabkan stres. Dan tunjukkan bagaimana subjek merespons stres itu. Jika itu menyebabkan sistem crash yang harus didokumentasikan. Tes stres seharusnya menyebabkan kegagalan dan menunjukkan apa yang diperlukan untuk menyebabkannya. Sistem crash adalah kegagalan, menganggap sistem crash gagal persyaratan kinerja itu. Mereka biasanya melakukannya.
candied_orange
1

Itu tergantung pada persyaratan, jika persyaratan Anda menentukan bahwa hasil yang diharapkan untuk kinerja aplikasi itu X dan Anda benar-benar mendapat Y, jadi itu Gagal.
Jika Anda tidak memiliki persyaratan yang ditentukan, maka Anda mungkin menekankan sistem Anda dan mengumpulkan data batas dan kemudian mencari tahu dan mendokumentasikan batas-batas ini.

Thiago F. Peçanha
sumber
0

Anda dapat dengan mudah memperbarui stress test utama Anda untuk juga mendukung verifikasi lulus QA / gagal, sesuatu seperti "mampu mencapai / mempertahankan beban X tanpa merusak". Idealnya dengan X yang dapat dikonfigurasi (untuk cabang rilis yang berbeda, misalnya).

Hasilnya adalah failjika sistem rusak sebelum beban mencapai X dan passjika tidak rusak. Anda hanya perlu berhenti menambah beban setelah mencapai nilai X dalam skenario "mempertahankan".

IMHO tes otomatis seperti ini bisa sangat berguna dalam konteks CI / CD, terutama pada cabang-cabang produksi.

Dan Cornilescu
sumber