Rabu, 26 Oktober 2011

Manajemen Sumber Daya Manusia - Part I

Manajemen adalah ilmu dan seni mengatur proses pemanfaatan sumber daya manusia dan sumber daya lainnya secara efektif dan efisien untuk mencapai suatu tujuan tertentu. MSDM adalah ilmu dan seni yang mengatur hubungan dan peranan tenaga kerja agar efektif dan efisen membantu terwujudnya tujuan perusahaan, karyawan, dan masyarakat. (Drs. Melayu S. P. Hasibuan)

Senin, 17 Oktober 2011

Testing and Implementing System (Part III) - Jenis-jenis Testing sebuah Software (cont'd)

PENGUJIAN Black Box

Pengujian black-box berfokus pada persyaratan fungsional PL. Pengujian ini memungkinkan analis system memperoleh kumpulan kondisi input yg akan mengerjakan seluruh keperluan fungsional program. Tujuan metode ini mencari kesalaman pada:
· Fungsi yg salah atau hilang
· Kesalahan pada interface
· Kesalahan pada struktur data atau akses database
· Kesalahan performansi
· Kesalahan inisialisasi dan tujuan akhir
Metode ini tidak terfokus pada struktur kontrol seperti pengujian whitebox tetapi pada domain informasi.
Pengujian dirancang untuk menjawab pertanyaan sbb:
· Bagaimana validitas fungsional diuji?
· Apa kelas input yg terbaik untuk uji coba yg baik?
· Apakah sistem sangat peka terhadap nilai input tertentu?
· Bagaimana jika kelas data yang terbatas dipisahkan?
· Bagaimana volume data yg dapat ditoleransi oleh sistem?
· Bagaimana pengaruh kombinasi data terhadap pengoperasian
system?

EQUIVALENCE PARTITIONING
Equivalence partitioning adalah metode pengujian black-box yg memecah atau membagi domain input dari program ke dalam kelas-kelas data sehingga test case dapat diperoleh. Perancangan test case equivalence partitioning berdasarkan evaluasi kelas equivalence untuk kondisi input yg menggambarkan kumpulan keadaan yg valid atau tidak. Kondisi input dapat berupa nilai numeric, range nilai, kumpulan nilai yg berhubungan atau kondisi Boolean.
Contoh :
Pemeliharaan data untuk aplikasi bank yg sudah diotomatisasikan. Pemakai dapat memutar nomor telepon bank dengan menggunakan mikro komputer yg terhubung dengan password yg telah ditentukan dan diikuti dengan perintah-perintah. Data yg diterima adalah :
Kode area : kosong atau 3 digit
Prefix : 3 digit atau tidak diawali 0 atau 1
Suffix : 4 digit
Password : 6 digit alfanumerik
Perintah : check, deposit, dll
Selanjutnya kondisi input digabungkan dengan masing-masing data elemen dapat ditentukan sbb :
Kode area : kondisi input, Boolean – kode area mungkin ada atau tidak
kondisi input, range – nilai ditentukan antara 200 dan 999
Prefix : kondisi input range > 200 atau tidak diawali 0 atau 1
Suffix : kondisi input nilai 4 digit
Password : kondisi input boolean – pw mungkin diperlukan atau tidak
kondisi input nilai dengan 6 karakter string
Perintah : kondisi input set berisi perintah-perintah yang telah
didefinisikan

Testing and Implementing System (Part II) - Jenis-jenis Testing sebuah Software

Metode Testing untuk sebuah software utamanya ada 2 yakni:

  1. White Box Testing
Adalah meramalkan cara kerja perangkat lunak secara rinci, karenanya logikal path (jalur logika) perangkat lunak akan ditest dengan menyediakan test case yang akan mengerjakan kumpulan kondisi dan atau pengulangan secara spesifik. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%

UJI COBA WHITE BOX
Uji coba white box adalah metode perancangan test case yang
menggunakan struktur kontrol dari perancangan prosedural untuk
mendapatkan test case. Dengan rnenggunakan metode white box, analis
sistem akan dapat memperoleh test case yang:
· menjamin seluruh independent path di dalam modul yang dikerjakan
sekurang-kurangnya sekali
· mengerjakan seluruh keputusan logikal
· mengerjakan seluruh loop yang sesuai dengan batasannya
· mengerjakan seluruh struktur data internal yang menjamin validitas






UJI COBA BASIS PATH
Uji coba basis path adalah teknik uji coba white box yg diusulkan Tom McCabe. Metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan logical dari perancangan prosedural dan menggunkan ukuran ini sbg petunjuk untuk mendefinisikan basis set dari jalur pengerjaan. Test case yg didapat digunakan untuk mengerjakan basis set yg menjamin pengerjaan setiap perintah minimal satu kali selama uji coba.




Testing and Implementing System (Part I) - Kualitas dan sebuah Testing

Testing untuk Software itu Seperti apa sih?

Testing software adalah proses mengoperasikan software dalam suatu kondisi. Testing software adalah proses mengoperasikan software dalam suatu kondisi yang di kendalikan, untuk (1) verifikasi apakah telah berlaku sebagaimana telah ditetapkan (menurut spesifikasi), (2) mendeteksi error, dan (3) validasi apakah spesifikasi yang telah ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna yang sebenarnya.

  • Verifikasi adalah pengecekan atau pengetesan entitas-entitas, termasuk software, untuk pemenuhan dan konsistensi dengan melakukan evaluasi hasil terhadap kebutuhan yang telah ditetapkan(Are we building the system right ?)
  • Validasi melihat kebenaran sistem, apakah proses yang telah ditulis dalam spesifikasi 
    adalah apa yang sebenarnya diinginkan atau dibutuhkan oleh pengguna.
    (Are we building the right system?)
  • Deteksi error: Testing seharusnya berorientasi untuk membuat kesalahan secara intensif, untuk menentukan apakah suatu hal tersebut terjadi bilamana tidak seharusnya terjadi atau suatu hal tersebut tidak terjadi dimana seharusnya mereka ada.

Tujuannya Apa?
Untuk mendapatkan informasi reliable terhadap software dengan cara termudah dan paling efektif, antara lain:
  • Apakah Software telah siap digunakan?
  • Apa saja kemampuannya?
  • Apa sajakah keterbatasannya?
  • Apa saja yang menjadi kesalahannya?
  • Apakah telah berlaku sesuai kebutuhannya?

Berarti ada hubungannya dengan kualitas dong? 
Definisi software berkualitas adalah software yang bebas error dan bug secara obyektif, tepat waktu dan dana, sesuai dengan kebutuhan atau keinginan dan maintainable. Obyektifitas adalah suatu proses pembuktian yang terstruktur, terencana dan tercatat / terdokumentasi dengan baik. Pendekatan obyektif sangat diperlukan karena kualitas adalah suatu hal yang tidak nyata dan subyektif (tergantung pada pelanggan dan hal-hal lain yang mempengaruhinya secara keseluruhan. 
Testing = pengendalian kualitas (Quality Control - QC), dan QC mengukur kualitas produk. Quality Assurance (QA) mengukur kualitas proses yang digunakan untuk membuat produk berkualitas. Testing tidak dapat memastikan kualitas software, namun dapat memberikan kepercayaan atau jaminan terhadap software dalam suatu tingkat tertentu.