Menu Bar

Monday, 28 January 2013

Sunday, 20 January 2013

"Terkadang sesuatu yang kita harapkan itu tidak sesuai, tapi justru dia adalah yang terbaik diantara yang lain.."
Skay Nugraha

Friday, 18 January 2013

Volume Testing

   Volume testing atau pengujian volume termasuk kedalam non-fungsional test, yang sering digunakan secara bergantian. Dimana pengujian volume ini mengacu kepada pengujian aplikasi perangkat lunak dengan sejumlah data. Jumlah data yang didapat bisa di generic menjadi ukuran database atau bisa juga menjadi file interface yang merupakan subject untuk pengujian volume. Contoh yang dapat kita ambil jika seandainya ingin menguji aplikasi dengan ukuran database tertentu, maka kita akan memperluas database ke ukuran tersebut dan kemudian menguji kinerja aplikasi yang ada diatasnya. Contoh lain ketika terdapat persyaratan untuk aplikasi untuk berinteraksi dengan file interface (dapat berupa file seperti dat, xml, dsb.) interaksi ini mampu membaca dan / atau menulis ke / dari file. Dimana kita akan membuat file sampel ukuran yang di inginkan dan kemudian menguji fungsionalitas aplikasi dengan file tersebut untuk mengetahui kinerjanya. 
 Adapun tujuan dari pengujian volume diantaranya mencari permasalahan dengan memaksimalkan jumlah data dan menggunakan sistem kinerja yang sering digunakan untuk mengurangi besarnya data yang harus dicari, diperintahkan dan lain-lain. Pengujian prosedur pada volume testing diantaranya sistem sistem yang dijalankan dengan jumlah yang maksimum,dengan menggunakan table internal, database, file, dan lain-lain dengan syarat hardisk yang maksimal. Data yang dibutuhkan dengan panjang inputan eksternal yang maksimal, serta fungsi-fungsi penting dimana volume data dapat menyebabkan suatu masalah. 
  Hasil yang di inginkan dari volume testing yaitu tidak adanya masalah, tidak adanya penurunan kinerja yang signifikan, dan data tidak ada yang hilang. Adapum beberapa pertimbangan saat melakuakan pengujian volume diantaranya : 
  • Data yang mungkin perlu analisis profil penggunaan dan mungkin tidak sepele (sama pada Stress testing) 
  • Mengcopy data produksi 
  • Menggunakan data atau alat ekstraksi 
  • Mengetahui bahwa variasi data sangatlah penting 
  • Mengetahui memori fragmentasi sangatlah penting 
Pengujian volume harus memeriksa apakah ada permasalahan ketika menjalankan sistem yang sedang di uji dengan jumlah data yang realistis, atau bahkan yang maksimal ataupun melebihi. Pengujian volume diperlukan seperti pengujian fungsi seperti yang lainnya namun pengujian fungsi lain biasanya tidak menggunakan data dalam jumlah besar, berbeda dengan pengujian volume karena memerlukan data yang maksimal. 
  Sebuah tugas khusus pada pengujian volume yaitu memeriksa jumlah maksimum yang sesungguhnya dari data tersebut, yang mungkin dalam situasi yang sangat ekstrim. Misalnya pengolahan data pada hari besar yang harus dilakukan saat tahun baru, kampanye, waktu tenggang pajak, bencana dan lain-lain. Masalah yang sering dihadapi pun sangat beragam diantaranya hardisk yang penuh, dari database, file, buffer, counter yang dapat menyebabkan meluap. Maksimalnya jumlah data komuniasi juga menjadi perhatian pada pengujian volume. 
  Bagian dari pengujian volume adalah untuk menjalankan sistem selama beberapa waktu tertentu dengan banyak data. Hal ini dalam rangka untuk memeriksa apa yang terjadi pada buffer sementara dan untuk memeriksa timeout karena waktu yang lama pada saat mengakses. Salah satu varian utama dari test ini menggunakan volume rendah, seperti menggunakan database atau file yang kosong, mail yang kosong, tidak ada link dan lain-lain, sehingga beberapa program tidak dapat menangani ini dengan baik. Salah satu varian terakhir adalah mengukur berapa banyak ruang yang dibutuhkan oleh sebuah program. Hal yang terpenting jika program berbagi sumberdaya dengan yang lain. Semua program yang diambil bersama-sama tidak boleh menggunakan sumberdaya yang tersedia secara berlebihan. Misalnya Sistem Online : masukan cepat, tetapi belum tentu yang tercepat, dari inputan yang berbeda saluran. Hal ini dilakukan beberapa waktu untuk memeriksa apakah buffer yang sementara cenderung overflow atau mengisi, jika waktu eksistensi sedang menurun. Dengan memperhatikan saat membuat, memperbaharui, membaca, dan menghapus operasi. Hal terpenting tersebut diantaranya: 
  • Sistem database, database yang dijalankan harus sesuai dengan maksimalnya jumlah kasus. Pekerjaan yang dilakukan dengan sejumlah transaksi yang cukup besar, misalnya dimana sesuatu yang harus dilakukan untuk semua objek dalam database. Untuk menghasilkan pencarian yang kompleks maka harus memilah-milah dari banyaknya table, dengan banyaknya field yang terkait dengan objek lain, dan untuk jumlah maksimum objek tersebut yang kemungkinan besar pada nomor hasil penjumlahan. 
  • Pertukaran file, terutama file yang sudah lama. Dan memiliki penjang maksimal. Lebih lama dari panjang maksimum yang biasanya terdapat dalam nilai protocol komunikasi. Misalnya untuk protocol yang tidak di dukung oleh protocol mail. Dan juga banyaknya file, bahkan dengan kombinasi yang cikup besar. File pada email dengan jumlah yang maksimal, penjangnya file yang memungkinkan dapat masuknya buffer yang melimpah atau memicu timeout. Besar dan panjangnya timeout tripper merupakan hal yang umum pada komunikasi. 
  • Disk space, mencoba mengisi ruang disk dimana-mana agar ada backup. Periksa apa yang terjadi jika tidak ruang sebelah kiri yang lebih banyak dan bahkan data yang berlebih yang dimasukkan ke dalam sistem. 
  • File system, nomor maksimal file untuk file sistem dan / atau panjang maksimum. 
  • Memori internal, minimum jumlah memori yang tersedia (terpasang). Banyaknya program yang dibuka pada saat bersamaan, setidaknya pada platform klien. 
Adapun poin-poin umum pada pengujian volume adalah : 
  • Periksa pesan kesalahan dan peringatan, jika yang dimaksud untuk permasalahan volume, dan jika membantu dan dimengerti. 
  • Apakah ada data yag hilang? 
  • Apakah terlalu banyak sistem yang lambat? 
  • Apakah terjadi timeout? Dalam kegagalan kasus mungkin saja bisa terjadi. 
  • Jika terlihat berjalan dengan baik, data, file akhir, field, table apa semua sudah benar? 
  • Apakah data yang tersimpan salah? 
  • Apakah data yang hilang atau yang ditulis tersebut tanpa peringatan? 
Jika mengambil definisi di atas. Hal ini tentu saja di bawah non-fungsional persyaratan pengujian & pengujian kinerja. tes volume dapat (& harus) digunakan dalam pengujian komponen. Ini akan menjadi korelasi yang erat dengan kode, sehingga pada tingkat ini dapat dihubungkan ke Analisis Dinamis. Volume tes juga dilakukan (secara umum) sebagai bagian dari pengujian penerimaan oleh pengguna. Dan dapat terlihat jelas pengujian volume erat kaitannya dengan stress testing, seperti mencoba untuk mencari tahu bagaimana program akan berperilaku melampaui batas mereka ditentukan. 
  Adapun kelemahan yang ditemukan melalui tes Volume adalah jika mereka yang menggunakan program menyimpang dari yang diharapkan untuk informasi volume tertentu. Dengan demikian, teknik perbankan akan diuji untuk kesalahan dalam volume yang jauh lebih besar dari informasi, bahwa program ritel kecil. Sebuah kantong yang hanya memanifestasikan dirinya di atas meja dengan satu juta catatan tidak relevan dengan program ritel, namun akan dijemput oleh penguji dari bank. Informasi yang dapat dipercaya tentang bagaimana program akan berperilaku sangat penting. Selama banyak booming dotcom web-situs yang diluncurkan tanpa mengetahui apa efek akan bahwa backend database tumbuh secara eksponensial. Dari hal tersebut biasanya akan terdapat banyaknya kecelakaan yang tidak diharapkan. 
  Masalah yang ada pada saat pengujian volume ialah : 
  • Menghasilkan fragmentasi memori cukup sulit 
  • Relational integritas data yang dihasilkan 
  • Kunci dinamis 
  • Data harus mengikuti profil users 
Pihak yang terkait dalam pengujian volume diantaranya developer dan seluruh pelanggan serta users setelah semua selesai dilakukan pengujian volume, Test dapat outsourcing ke laboratoriim pengujian yang mengkhususkan kedalam pengujian kinerja. 
   Adapun yang terpenting adalah bahwa tes yang akan dijalankan, pada beban puncak, untuk jangka waktu yang sama dengan atau lebih besar dari durasi produksi yang diharapkan dari beban puncak. 

Kesimpulan 
Volume testing (pengujian volume) dilakukan terhadap efisiensi di aplikasi. Jumlah data yang besar di proses melalui aplikasi (yang sedang di uji) untuk memeriksa keterbatasan ekstrem dari sistem. Pengujian sebuah sistem (software atau hardware) untuk serangkaian pengujian dengan volume data yang diproses adalah subjek dari pengujian, seperti sistem yang dapat menangkap sistem pengolahan transaksi penjualan real-time atau dapat memperbaharui basis data atau pengembalian data (data retrieval). Pengujian volume akan memastikan batas-batas fisik dan logis untuk sebuah kapasitas sistem dan memastikan apakah batasan dapat diterima untuk memenuhi proyeksi kapasitas dari pengolahan bisnis organisasi.

Sumber:
http://testinglink.in/topics/what-is-volume-testing
http://www.onestoptesting.com/volume-testing/
http://www.loadtest.com.au/types_of_tests/volume_tests.html

Installation Testing

   Installation Testing merupakan jenis pekerjaan jaminan kualitas dalam suatu industry perangkat lunak yang berfokus pada apa yang pelanggan perlu lakukan untuk menginstal dan mengatur perangkat lunak yang baru berhasil dibuat. Proses pengujian mungkin penuh, sebagian atau upgrade install / proses uninstall. 
  Test ini biasanya dilakukan oleh para Insinyur pengujian perangkat lunakdalam hubungannya dengan menajer konfigurasi. Pelaksanaan pengujian biasanya disefinisikan sebagai pengujian yang menempatkan versi di kompilasi kode ke dalam pengujian atau lingkungan pra-produksi, dari yang mungkin atau tidak mungkin tidak mungkin berkembang ke dalam produksi. Ini umumnya terjadi diluar lingkungan developer perangkat lunak untuk membatasi korupsi kode dari rilis masa depan lainnya yang mungkin berada pada jaringan pembangunan. 
   Pendekatan instalasi sederhana adalah dengan menjalankan program instalasi, kadang-kadang disebut paket perangkat lunak. Paket perangkat lunak ini biasanya menggunakan program setup yang bertindak sebagai pembungkus multi-konfigurasi dan yang memungkinkan perangkat lunak yang akan diinstal pada berbagai mesin dan / atau lingkungan operasi. Setiap konfigurasi yang mungkin harus menerima tingkat yang tepat dari pengujian sehingga dapat dilepaskan kepada pelanggan dengan percaya diri. 
   Dalam sistem terdistribusi, terutama di mana perangkat lunak yang akan dilepaskan ke lingkungan target sudah hidup (seperti situs operasional) instalasi (atau perangkat lunak penyebaran seperti yang kadang-kadang disebut) dapat melibatkan perubahan skema database serta instalasi software baru. Deployment rencana dalam keadaan seperti itu dapat mencakup kembali-out prosedur yang penggunaannya ditujukan untuk memutar kembali lingkungan target jika penyebaran tidak berhasil. Idealnya, rencana penyebaran itu sendiri harus diuji dalam suatu lingkungan yang merupakan replika dari lingkungan hidup. Faktor yang dapat meningkatkan kebutuhan organisasi seperti latihan adalah kebutuhan untuk menyinkronkan data dalam lingkungan deployment pengujian dengan bahwa dalam lingkungan hidup dengan gangguan minimal untuk hidup operasi. 
   Jenis implementasi dapat mencakup pengujian proses yang terjadi selama installasi atau upgrade dari aplikasi multi-tier. Jenis pengujian umumnya dibandingkan dengan gladi resik atau bahkan bisa disebut dengan “dry run”. 
  Pada saat Installation test ada beberapa factor yang mempengaruhi tahapan test, diantaranya : 
  • Apa platform dan sistem operasi yang mendukung ? 
  • Bagaimana mendistribusikan perangkat lunaknya ? 
  • Installasi testing untuk platform yang berbeda 
  • Proses menginstall dapat berbeda untuk platform yang berbeda, ini bisa jadi untuk GUI Windows atau barisan perintah biasa untuk Unix Box.  
Hal utama yang harus dicari adalah file config yang digunakan untuk installasi. Setiap perubahan yang dibuat pada file konfigurasi harus memiliki efek yang tepat pada setiap instalasi. Installasi bergantung pada beberapa komponen lain seperti database, server dan lain-lain. Setiap kasus yang di uji harus dicatat secara khusus untuk mengatasi hal ini. 
   Adapun beberapa kasus yang sering terjadi pada saat proses installasi diantaranya adalah memory yang tidak cukup, ruangan installasi, yang sebagian besar ditutupi oleh bagian pengujian. 
   Insinyur pengujian harus memastikan bahwa pesan yang tepat diberikan kepada pengguna dan installasi dapat terus memenuhi memory dan ruangan. Insinyur pengujian harus akrab dengan teknologi installer dan jika memang memungkinkan maka mencoba untuk mengeksplorasi cacat yang ada atau pembatasan intaller itu sendiri. 
   Kasus khusus harus ditulis bagaimana perangkat lunak di distribusikan, diantaranya jika perangkat lunak didistribusikan menggunakan format CD fisik maka kegiatan pengujian harus mencakup hal-hal berikut : 
  • Uji kasus yang harus di eksekusi dari gambaran ISO, karena jika mendapatkan CD fisik tidak mungkin 
  • Uji kasus harus ada untuk memerikas urutan CD yang digunakan 
  • Uji kasus harus ada untuk penanganan CD yang rusak atau gambar. 
Jika kasus uji didistribusikan melalui internet, maka yang harus di perhatikan dalam kasus pengujian tersebut ialah : 
  • Jaringan kecepatannya yang buruk dan koneksi yang rusak 
  • Firewall dan keamanan yang terkait 
  • Ukuran dan perkiraan waktu yang dibutuhkan 
  • Concurrent Installation / Download 
Kesimpulan 
Installation testing adalah salah satu bagian terpenting dari kegiatan testing (pengujian). Installasi adalah interaksi pertama user dengan menggunakan produk, dan sangat penting untuk memastikan bahwa user tidak memiliki permaslahan dalam menginstal perangkat lunak.

Sumber :

Monday, 14 January 2013

Dream Light

Berikan aku cahayamu.
Disetiap gelapnya kehidupan yang sedang aku tapaki,
selangkah demi selangkah.
Aku mulai rapuh,
tanpa cahayamu aku tak mampu.
Cahaya yang selalu memberiku harapan,
tetaplah menjadi cahaya harapanku.
Jangan melebur, cahaya harapanku.
Mimpiku, cahaya harapanku.
Setiap saat aku selalu berharap.
Bisa menggenggam erat harapan.
Mimpiku, cahaya harapanku.
Jangan pernah tinggalkan aku dalam gelapnya kehidupan. 
Bersama cahaya harapanku, mimpiku.

"Kekayaan itu tidak dilihat dari apa yang kita miliki sekarang, tapi dari hati"
Rêveur

Sunday, 2 December 2012

Performance Testing

Definisi 
      Performance Testing merupakan proses menentukan kecepatan atau efektivitas, jaringan program computer, perangkat lunak atau perangkat. Proses ini dapat melibatkan test kuantitatif yang dilakukan di laboratorium, seperti mengukur waktu respon atau jumlah MIPS (Millions of Intructions per Second) pada fungsi sistem. Atribut kualitatif seperti kehandalan, skalabilitas dan interoperabilitas juga dapat dievaluasi. Performance Testing sering dilakukan dalam hubungannya dengan stress testing.
Performance Testing dapat memverifikasi bahwa sistem memenuhi spesifikasi diklaim oleh produsen atau vendor. Proses ini dapat membandingkan dua atau lebih perangkat atau program dalam hal parameter seperti kecepatan, kecepatan transfer data, bandwidth, throughput, efisiensi atau keandalan. 
Performance Testing juga dapat digunakan sebagai alat bantu diagnostik dalam menemukan kemacetan komunikasi. Seringkali sistem akan bekerja jauh lebih baik jika masalah ini diselesaikan di satu titik atau dalam komponen tunggal. Misalnya, bahkan komputer tercepat akan berfungsi buruk di Web hari ini jika koneksi terjadi di hanya 40 sampai 50 Kbps (kilobit per detik). Lambatnya kecepatan transfer mungkin dapat juga disebabkan pada hardware, tetapi juga dapat berhubungan dengan masalah perangkat lunak, seperti : 
  • Terlalu banyak aplikasi yang berjalan pada waktu yang sama 
  • Sebuah file yang rusak pada WEB browser 
  • Adanya eksploitasi keamanan 
  • Perangkat lunak Anti-virus 
  • Adanya malware aktif pada harddisk 
Performance Testing yang efektif dapat dengan cepat mengidentifikasi masalah kinerja perangkat lunak yang terkait.

Metode 
Pada performance testing ada dua metode yang digunakan, diantaranya : 
1. Plannig Session 
  • Pentingnya user (pengguna), tasks dan lingkungan yang ada untuk mewakili pengujian dari konteks penggunaan yang dimaksudkan. 
  • Memilih tugas yang terpenting dan kelompok pengguna yang akan di uji (misalnya yang sering dan yang peling penting). 
  • Memilih pengguna yang dapat mewakili masing-masing kelompok pengguna. 3 – 5 pengguna yang cukup untuk mengidentifikasi masalah. 8 atau lebih pengguna masing-masing tipe yang diperlukan untuk pengukuran kehandalan. 
  • Dari planning tersebut maka dapat menghasilkan scenario tugas dan input data serta petunjuk penulisan bagi pengguna (yang memberitahu pengguna apa yang harus dicapai, bukan bagaimana melakukannya). 
  • Dengan adanya planning session dapat memungkinkan adanya waktu untuk memeberikan instruksi, menjalankan test, menjawab kuisioner dan wawancara pasca test. 
  • Mengundang depelover untuk mengamati sesi jika memang memungkinkan. Alternatifnya untuk merekam sesi dan depelover dapat menunjukan masalah yang ada pada users. 
  • Dua administrator biasanya dibutuhkan untuk berbagi kegitan mengajar dan wawancara pengguna, peralatan video operas(jika memang digunakan), mencatat masalah, dan berbicara kepada setiap pengamat. 
  • Bila memungkinkan dapat menggunakan satu ruangan untuk pengujian, dihubungkan oleh video ke ruangan lain untuk observasi. 
  • Jika langkah-langkah kebutuhan diperlukan, amati user tanpa harus membuat komentar. 
  • Jika langkah ini tidak diperlukan, user akan meminta untuk menjelaskan interpretasi mereka dari masing-masing isi layar dan mereka akan meminta untuk membuat pilihan. 
2. Running Session 
  • Bersifat ramah kepada user, dan memberikan intruksi tugas yang jelas. 
  • Jangan memberikan petunjuk atau bantuan kecuali jika user tudak dapat menyelesaikan tugasnya. 
  • Amati setiap interaksi dan mencatat permasalahan yang dihadapi. 
  • Mengatur waktu penugasan 
  • Pada akhir sesi meminta user untuk mengisi kuisoner berapa puasnya mereka. 
  • Mewawancara user untuk mengkonfirmasi mereka adalah wakil dari kelompok pengguna yang dituju untuk mendapatkan pendapat umum, dan untuk bertanya tentang masalah-masalah spesifik yang dihadapi. 
  • Menilai hasil dari tugas untuk akurasi dan kelengkapan. 
Types
  1. Load Testing (pengujian beban) merupakan bentuk sederhana dari performance testing. Load testing biasanya dilakukan untuk memahami perilaku sistem agar sesuai dengan yang diharapkan. Pada load testing dapat menjadi patokan yang diharapkan user pada aplikasi untuk melakukan transaksi tertentu dalam suatu set durasi waktu. Test ini akan memberikan waktu respon dari semua transaksi bisnis yang penting. Jika umumnya database, server dan lain-lain juga dipantau maka test sederhana ini dapat menuju kearah aplikasi perangkat lunak yang macet dengan sendirinya. 
  2. Stress Testing biasanya digunakan untuk memahami batas kapasitas dalam sistem. Jenis test ini dilakukan untuk mengetahui ketahanan sistem dalam beban yang ekstrim dan membantu administrator untuk menentukan apakah sistem akan berjalan dengan baik jika arus beban diatas maksimum yang diharapkan. 
  3. Endurance Testing (soak testing / pengujian daya tahan) biasanya dilakukan untuk menentukan apakah sistem dapat dipertahankan dari beban secara terus menerus. Selama test daya tahan,penggunaan memori dipantau untuk mendeteksi kebocoran potensial. Namun sering sekali penurunan kinerja tidak diperhatikan. Artinya untuk memastikan waktu respon yang baik adalah saat kegiatan berlangsung daripada di awal pengujian. Yang pada dasarnya melibatkan penerapan beban yang signifikan terhadap kinerja sistem untuk jangka panjang. Tujuannya adalah untuk menemukan bagaimana sistem berprilaku pada saat penggunaan berkelanjutan.  
  4. Spike Testing dilakukan secara tiba-tiba meningkatkan jumlah atau beban yang dihasilkan oleh user dengan jumlah yang sangat besar dan mengamati perilaku sistem. Tujuannya adalah menentukan apakah kinerja akan rusak, sistem akan gagal, atau akan mampu menangani perubahan dramatis pada beban. 
  5. Configuration Testing dilakukan untuk menentukan dampak dari perubahan konfigurasi untuk komponen kinerja dan perilaku sistem. Contoh umum dalam bereksperimen dengan metode yang berbeda dari load- balancing.  
  6. Isolation Testing merupakan test yang tidak unik untuk suatu pengujian kinerja, tetapi melibatkan pengulangan dalam pelaksanaan test yang mengakibatkan masalah sistem. Sehingga Isolation testing sering digunakan untuk mengisolasi dan mengkonfirmasi kesalahan domain. 
Output 
Performance Testing menghasilkan daftar masalah users, yang dikategorikan sangat penting untuk memilih peramsalahan yang ada (use post-it-notes to sort the problems), dan gambaran tentang jenis masalah yang dihadapi. Mengatur pertemuan dengan Project Manager dan Depelover untuk membahas apakah dan bagaimana setiap masalah bisa diperbaiki. Jika langkah-langkah telah diambil, maka saatnya untuk merangkum kuisioner kepuasan user, pembagian waktu tugas dan efektifitas (akurasi kelengkapan) tindakan. Jika yang diperlukan sudah lengkap, Common Industry Format menyediakan struktur yang baik.  

Benefits 
Masalah utama user yang mungkin di identifikasi dan kurang di ungkapkan pada saat pengujian formal, missal masalah yang berkaitan dengan keterampilan khusus dan harapan users. Tidakan dapat di peroleh untuk efektivitas users dan kepuasan users. 

Kesimpulan 
Performance Testing merupakan evaluasi users dengan sistem yang ketat dibawah kondisi yang sangat realistis, untuk mengidentifikasi permasalahan user dan membandingkan langkah-langkah seperti tingkat keberhasilan, waktu penugasan dan kepuasan user dengan persyaratan.

Sumber : 
http://www.onestoptesting.com/performance-testing/
http://en.wikipedia.org/wiki/software_performance_testing/