Recovery Testing Security Testing Stress Testing

Ketika pemrograman object oriented digunakan, maka konsep dari unit berubah. Setiap class dan objek memiliki data dan operasi methods yang memanipulasi data-data ini. Unit testing tidak lagi dilakukan pada modul-modul terpisah, tetapi dilakukan pada class atau objek. Hal ini dikarenakan sebuah kelas bisa memiliki sejumlah operasi berbeda dan beberapa operasi tersebut dapat berada pada kelas-kelas yang berbeda, artinya unit testing berubah secara dramatis Pressman, 2002:664. Kita tidak dapat lagi melakukan test pada satu operasi secara terpisah melainkan dilakukan sebagai bagian dari kelas. Berikut adalah ilustrasinya, sebuah superclass yang memiliki operasi X yang diturunkan pada sejumlah subclasses. Maka setiap subclasses akan menurunkan operasi X . Dikarenakan operasi X tersebut digunakan oleh beberapa kelas, maka Unit test pada operasi X harus dilakukan pada subclasses.

2.10 System Testing

System testing adalah serangkaian test yang bertujuan untuk menguji system secara keseluruhan. Meskipun setiap test memiliki tujuan yang berbeda, namun seluruh tahapan dilakukan dengan terintegrasi Pressman, 2002:525 . Berikut ini adalah serangkaian test yang termasuk dalam system testing.

2.10.1 Recovery Testing

Sistem yang berbasis komputer harus dapat pulih dari kesalahan dan melanjutkan pemrosesan ketika terjadi keadaan yang tidak diinginkan. Dalam beberapa kasus, sistem harus fault tolerant, yaitu pengolahan tidak boleh menyebabkan kesalahan fungsi sistem secara keseluruhan. Dalam kasus lain, kegagalan system harus dikoreksi dalam jangka waktu tertentu atau kerugian secara ekonomi yang parah akan terjadi Pressman, 2002:525. Recovery Testing adalah tes sistem yang memaksa perangkat lunak untuk gagal dalam berbagai cara dan memverifikasi bahwa pemulihan dilakukan dengan benar. Jika pemulihan otomatis dilakukan oleh sistem itu sendiri, reinitialization, mekanisme checkpointing, data recovery, dan restart dievaluasi. Jika pemulihan membutuhkan intervensi manusia, berarti waktu untuk perbaikan dievaluasi.

2.10.2 Security Testing

Security testing melakukan verifikasi bahwa mekanisme keamanan yang ada pada system akan mampu melindungi dari serangan. Sistem keamanan harus, di uji kekebalannya dari serangan langsung. Selama pengujian keamanan, tester memainkan peran sebagai individu yang melakukan serangan terhadap sistem Pressman, 2002:525. Tester mungkin mencoba untuk mendapatkan password dengan perangkat lunak khusus yang dirancang untuk membuat kerusakan pada pertahanan yang telah dibangun, sengaja menyebabkan kesalahan pada sistem, dapat menelusuri melalui data tidak aman. Dengan cukup waktu dan sumber daya, pengujian keamanan yang baik pada akhirnya akan menembus sistem. Peran perancang sistem untuk membuat penetrasi biayanya lebih dari nilai informasi yang akan diperoleh Pressman, 2002:526.

2.10.3 Stress Testing

Tujuan dari stress testing adalah untuk mengevaluasi dan menentukan perilaku perangkat lunak ketika beban yang ditawarkan lebih dari kapasitas yang dirancang. Sistem sengaja dibebankan hingga melampaui batas yang ditentukan. Hal ini dilakukan untuk memastikan bahwa sistem dapat tetap berfungsi pada kondisi terburuk Naik, 2008:243. Stress testing menjalankan pengujian sistem dengan cara yang menuntut sumber daya frekuensi, atau volume dalam kuantitas lebih. Misalnya: 1. Tes khusus dapat dirancang dengan menghasilkan sepuluh permintaan per detik, ketika satu atau dua adalah tingkat rata-rata. 2. melakukan masukan data yang dapat ditingkatkan dengan urutan besarnya untuk melihat bagaimana fungsi masukan akan menjawab. 3. Uji kasus yang membutuhkan memori maksimum atau sumber daya lainnya dijalankan, 4. Uji kasus yang dapat menyebabkan sistem operasi terbebani. 5. Uji kasus yang dapat menyebabkan pengambilan data yang berlebihan .

2.10.4 Performance Testing