Laman

Senin, 20 Juni 2011

Ringkasan Testing dan Implementasi before UAS


Setiap lab pengujian mempunyai kebutuhan yang berbeda dalam pengoperasian lab; hal ini tergantung dengan sistem yang digunakan dalam pengujian. Sebagai tambahan, pentingnya berbagai spesifikasi suatu alat tergantung pada pentingnya pengujian khusus yang mendukung.
Test Tracking Spreadsheet
Test Tracking Spreadsheet : Merupakan suatu alat bantu pengujian untuk mengelola jalannya suatu proses pengujian. Pada dasarnya merupakan daftar rincian hal-hal yang akan dilakukan dalam pengetesan.
Isi Test Tracking Spreadsheet :
1.        Test Suite/Case (berisi eenvironmental, load;capacity;volume, basic functionally, standards)
2.        Status:Pass, Fail,Warning
3.        System Configuration
4.        Bug ID
5.        Personnal In Charge (penanggung jawab)
6.        Comment
7.        Kolom T, bernilai 1 apabila merupakan test case.
8.        Kolom F, bernilai 1 apabila test case fail.
9.        Kolom P, bernilai 1  apabila test case pass
Membuat peningkatan terkait Test Tracking Spreadsheet
1.       Mengajukan pengelola identifikasi dan penguji untuk menguji ‘Test Suites / Cases’
2.       Membuat tanggal dan waktu informasi : Rencana & Aktual
3.       Memahami bagaimana lama pengujian berjalan
4.       Meningkatkan ketepatan pernyataan ‘Test Case’
5.       Memprioritaskan Uji ‘Test suites and cases’
6.       Memeriksan dengan teliti Data-data dalam kolom
7.       Merangkum dan mengelompokkan Data
8.       Memasukkan detil Test Case
9.       Jangkauan pelacakan
Pengelolaan perubahan pada pengujian yang sedang berjalan

Mengelola perubahan pada testing :
1.       pabila kita sudah menangani proyek pengujian perangkat lunak satu atau dua kali maka kita akan mengalami masa-masa kegentingan yang sangat memeras tenaga dan membingungkan.
2.       Masalah yang dihadapi: kenyataan yang dihadapi tidak sesuai yang diharapkan, perencanaan yang selalu berubah, dan ketergantungan yang tidak jelas.
Alat bantu :
1.       Disini akan dibahas 2 buah alat bantu baru untuk mengatasi kegentingan yang terjadi pada proses pengujian.
2.       Pertama: Basis Data Logistik yang dapat menelusuri lokasi, konfigurasi, dan kebutuhan pengujian akan perangkat keras, perangkat lunak, infrastruktur, dan staf.
3.       Kedua: Basis Data Pengelola Perubahan Sederhana yang membantu dalam menanggapi bagian perbaikan yang tak terelakan.

Pengelolaan Laboratorium pengujian

Laboratorium pengujian
1.       Tempat dimana suatu proses pengujian dilakukan.
2.       Pelaku pengujian harus mengendalikan seluruh proses pengujian dan melakukan pengukuran serta mencatat hasilnya.
3.       Laboratorium pengujian merupakan laboratorium rekayasa teknik (engineering laboratory), bukan merupakan laboratorium penelitian.
4.       Laboratorium pengujian yang baik harus terstruktur dan diorganisasikan secara rapi.
Beberapa hal yang harus dieprhatikan :
1.       Proses testing dapat dilakukan di luar test lab.
2.       Pokok bahasan disini akan difokuskan pada sebuah test lab yang berkenaan dengan hardware meiputi faktor2 lingkungan,reliabilitas, radiasi elektromagnetik, suara, dan kompatibilitas perangkat lunak.
3.       Lab yang melakukan testing thd software yang berkaitan dengan kompatibilitas hardware, unjuk kerja, tingkah laku sistem, dan kemiripan.
Apa lab pengujian itu dibutuhkan ?
1.       Apa membutuhkan alat pengujian seperti ruang lab?
2.       Apakah lingkungan khusus diperlukan?
3.       Bagaimana pada keamanan?
4.       Apa membutuhkan pencegahan dari nontester jika melakukan kesalahan dalam lingkungan pengujian?
5.       Apa membutuhkan akses kedalam fasiilitas pengujian untuk memperluas jangka waktu?
Memilih dan merencanakan Area Lab
Ukuran, pencahayaan, Layout, kontrol suasana, pencegahan dan aman dari kesalahan, Power, Static, Fasilitas
Perhatian pada keamanan& pelacakan
1.       Keamanan fisik pada hardware & software
2.       Tidak ada jendela
3.       Asuransi
4.       Perhatian pada Intellectual property
5.       Membersihkan ruangan dan mengunci sebelum keluar
Pengaturan perlengkapan
1.       Pendekatan umum : menggunakan pelabelan kode pad setiap barang
2.       Pengaturan Software & hardware
3.       Pengatuean data
Menjaga lingkungan uji tetap bersih
1.       Memberikan seseorang dengan mental ‘Hacker’ untuk bekerja kedalam sistem uji.
Faktor manusia
1.       Lab yang aman adalah lab yang produktiv
2.       Kecelakaan / kerusakan dalam Peralatan Lab
3.       Produktivitas dalam lab

Pengelolaan Tim Pengujian
Staffing & managing a test team
Prinsip dasar bagi para Managing Staff (Mempekerjakan, motivasi, Mempertahankan)
Seseorang yang mampu menjadi Penguji (Test Engineer) yang baik :
1.       Profesional pesimisme
2.       Rasa tertarik pada keseimbangan
3.       Fokus
4.       Menghindar dari ‘ambisi pahlawan’ / kepuasan
5.       Menjauhkan diri dari kelamasan
Mendefinisikan Tim penguji (Ukuran, kemampuan, edukasi & pelatihan, posisi; kemampuan & tujuan)
Jumlah personel
Ada dua cara untuk menentukan jumlah anggota suatu test team, yaitu:
1.       Berdasarkan tugas/task yang harus dikerjakan.
2.       Berdasarkan rasio antara tester dan developer.
Rasio yang ideal antara tester dan developer 1:1, umumnya berkisar 1:2 s.d. 1:5.

Keahlian
1.       Dalam beberapa kasus testing diperlukan tenaga yang memiliki suatu keahlian khusus.
2.       Harus dapat membaca dan belajar secara cepat.
3.       Dapat menulis laporan dengan baik.
4.       Dalam beberapa kasus diperlukan tenaga yang menguasai statistik dan matematika.
Jabatan
1.       Test engineer : programmer,mechanical engineer, dan electrical engineer.
2.       Test Technician.
3.       Test Manager.
4.       Dalam beberapa kasus mungkin diperlukan juga release management engineer dan configuration management engineer.

Model organisasi
1.       Skill-based Model: sangat direkomen-dasikan pada sistem2 yang rumit dan berteknologi canggih.
2.       Project-bases Organization : pembagian tugas berdasarkan proyek yang dikerjakaan, bukan berdasarkan spesialisasinya.

Mempekerjakan Penguji
1.       Penjelasan pekerjaan
2.       Interview di tempat
3.       Membuat keputusan mempekerjakan
4.       Menghindari kesalahan dalam ‘hiring’
5.       Memberikan penguji baru dalam papan
Kualifikasi
1.       Memiliki latar belakang teknik.
2.       Memiliki komitment pada bidang testing sebagai spesialisasi.
3.       Selalu memiliki rasa ingin tahu.
4.       Dapat berkonsentrasi dengan baik dan terfokus.
5.       Kemampuan analisa yang baik.
6.       Kreatif.

Test Specialist & Content Specialist
1.       Test Specialists : orang yang meniti karir khusus pada bidang testing, menduduki posisi sebagai test engineer.
2.       Content Specialists : orang yang mengerti produk perusahaan dan teknologinya secara menyeluruh, dapat melakukan functional testing secara baik tetapi mungkin tidak begitu menguasai proses testing secara terinci..

Kualifikasi yang tidak tepat
1.       Orang yang ingin mendapatkan jabatan/ posisi yang prestige dalam organisasi.
2.       Tidak memiliki dorongan untuk mengerjakan tugasnya.
3.       Orang yang memiliki sifat menjatuhkan orang lain.
Hal yang membangkitkan motivasi
1.       Bertindak bijaksana pada anggota team yang melakukan kesalahan.
2.       Pemberian upah yang standar sesuai dengan tanggung jawab dan keahliannya.
3.       Jenjang jabatan yang jelas.
4.       Adanya kompensasi untuk over-time.
5.       Pemberian pelatihan, kesempatan mengikuti seminar, konferensi, dan rekreasi.
Hal yang dapat menurunkan motivasi tim
1.       Pemberian bonus berdasarkan ketepatan pencapaian jadwal yang telah ditentukan.
2.       Pemberian bonus berdasarkan jumlah bugs yang ditemukan.
3.       Pemberian “pizza” (junk-food) sebagai menu makan malam.
4.       Mengkonfrontasi test team dengan development team atas problem yang ditemukan.
Memanfaatkan pekerja temporer
1.       Test technician yang memiliki peran yang penting tetapi bukan merupakan peran yang kritis dalam implementasi.
2.       Konsultan
3.       Trainer
4.       Tenaga ahli
5.       Kontaktor

Jabatan yang diberikana pada Test Manager
1.       Quality Control Manager: bertanggung jawab melakukan pengetesan untuk mencari kesalahan.
2.       Quality Assurance Manager: tidak hanya bertanggung jawab untuk menemukan kesalahan tetapi juga mencegah timbulnya kesalahan serta mengusahakan peningkatan kualitas produk secara terus-menerus.
Quality control : Sejumlah aktifitas yang dirancang untuk mengevaluasi kualitas dari suatu produk yang dikembangkan/dibuat.
Model dasar organisasi testing
1.       Testing Manager memberi laporan kepada Development Manager.
2.       Test Engineer dipimpin oleh seorang pemimpin (Lead Test Engineer) yang akan mengkomunikasi-kan hasil testing langsung pada Development Manager.
3.       Model ini cocok bila kita bekerja dalam suatu kelompok dengan jumlah personel yang sedikit (jumlahnya hanya belasan).
Organisasi penting bagi sumber daya proyek pengembangan
1.       Test Manager dan Development Manager keduanya memberi laporan kepada Project Manager.
2.       Struktur organisasi testing ini bukan merupakan solusi yang sempurna tetapi merupakan perbaikan dari struktur organisasi testing sebelumnya.
3.       Dalam struktur ini test group masih tidak independen seutuhnya, krn. Test Manager memberikan jawaban kpd. Project Manager.
4.       Kelebihannya, dalam struktur ini keterlibatan Project Manager dalam proses pengembangan sistem menjadi berkurang.
5.       Bagian pengembangan dan bagian testing memiliki pegawai dan budget yang terpisah.
6.       Unit testing dalam organisasi menjadi lebih berperanan karena seluruh laporan kesalahan langsung diberikan pada project management.
7.       Kerugian : apabila dalam pelaksanaan suatu proyek ternyata tidak sesuai dengan jadwal, maka test group harus memberikan rasa simpati pada bagian pengembangan dan harus membantunya (melakukan kerja lembur) untuk menyelesaikan proyek tersebut agar tepat waktu.

Organisasi testing yang independen
1.       Merupakan model organisasi testing yang paling baik.
2.       Team tes dalam hal ini benar2 independen.
3.       Perhatian dan tujuan manajemen adalah untuk mempromosikan keunggulan perusahaan, oleh karena itu manajemen akan menerima laporan status tes dengan pikiran yang terbuka.
4.       Masalah2 yang berkaitan dg pengaruh, alokasi dana, dan sumberdaya manusia diminimumkan.
Menambahkan fungsi lain dalam organisasi tes
Pada umumnya Manajer Testing tidak melakukan tugas2 berikut ini:
1.       Configuration Mgt. & Release Mgt.
2.       Customer Support
3.       Administrasi sistem dan penanggunalang bencana.
4.       Manajemen Kualitas
5.       Manajemen Laboratorium Pengembangan.
6.       Membuat data utk. Pelatihan dan prosedur operasi.

Tetapi ada beberapa faktor yang mengharuskan bagian testing menambahkan fungsi2 lain tsb.
1.       Tim tes memiliki sebagian tanggung jawab thd pengembangan produk atau apabila test team secara keseluruhan terintegrasi dengan tim pengembangan.
2.       Pihak manajemen memberikan tanggung jawab tambahan pada tim tes karena dianggap tim memiliki kemampuan yg lebih.
3.       Tugas khusus diberikan pada anggota tim tertentu yang memiliki keahlian yang relevan.
4.       Anggota tim tes ingin mendapatkan tambahan tanggung jawab sebagai bagian dari pengembangan karir.
Bekerja dengan Manajer lain
Proyek tes harus dikelola pada tiga arah :
1.       Inward: menentukan tim tes, merekrut anggota, menentukan struktur org., memantau dan memotivasi anggota tim.
2.       Upward: menyimpulkan status dari proses tes dan mengeskalasi problem yang penting, menentukan harapan yg hrs dicapai, memberikan tanggapan secara cepat, dan berpartisipasi dlm pertemuan manajemen
3.       Outward: mengkomunikasikan hasil tes, mengklarifikasi laporan masalah, mendiskusikan kebutuhan tes, dana, & layanan yang diperlukan pada pihak pengelola.
Hal yang mempercepat proses testing
·         Test dilakukan sepenuhnya secara teliti, dengan memperhatikan 3 faktor:
1.       Waktu : disiapkan secara benar, penemuan bug sedini mungkin, seluruh tim hrs. dilibatkan sejak awal.
2.       Organisasi : keterbukaan komunikasi antara unit tes dengan tim lainnya.
3.       Kebudayaan Perusahaan: unit tes merupakan jalan untuk mengurangi resiko dan filosofi manajemen bisnis diterapkan pada seluruh proyek.
·         Mempekerjakan teknisi yang baik.
·         Otomatisasi
·         Arsitektur Sistem Tes yang baik.
·         A Clearly Defined Test-to-Development Hand-Off Process
·         A Clearly Defined Development-to-Test Hand-Off Process
·         A clearly Defined System Under Test
·         Continuous Test Execution
·         Penambahan Test Engineer
·         Menjadi Terlalu Pintar
·         Jadwal proyek yang tidak mungkin dilaksanakan.
·         Failure to Provide Test Deliverable
·         Lack of System Administration, Infrastructure, and Development Support
·         “Saving Money” on tools
·         Unrealistic Test Schedules
·         Slow Development Response
Tanda-tanda pembubaran unit tes
1.       Pengikutsertaan karyawan/manajer dalam ujian penilaian kecakapan karyawan.
2.       Penurunan pendapatan perusahaan.
3.       Masuknya akuntan atau konsultan yang berkerja sama dengan bagian personalia.
4.       Adanya rumor tentang daftar karyawan yang akan diberhentikan.
Mempresentasikan hasil pengujian
1.       Good Ways to Deliver Bad News
2.       Institutionalizing a Test Dashboard
3.       The Importance of Accuracy and Audience
Pendistribusian Proyek Pengujian
1.       Dalam suatu proyek tes kadang2 ada pihak2 dan orang2 di luar organisasi testing yang harus turut terlibat.
2.       Bahkan kadang2 dalam suatu proyek tes harus melibatkan pihak2 atau orang2 dari luar organisasi.
Dapat dilakukan dengan cara :
1.       Melibatkan vendor : perusahaan yang menyediakan produk yang akan dintegrasikan pada produk yang sedang dikembangkan.
2.       Melibatakan organisasi testing independen.
3.       Melibatkan kantor pemasaran (terutama kantor di luar negeri untuk melakukan testing lokalisasi)
4.       Melibatkan pemakai/pelanggan (beta testing)
Tahap mendistribusikan proses pengujian
1.       Pemilihan rekanan, berdasarkan kebutuhan akan testing yang bersifat khusus.
2.       Perencanaan
3.       Pengelolaan proses testing yang dilakukan secara ekster-nal seperti bila kita melaku-kannya secara internal.
Pemilihan rekanan
Ada dua alasan untuk memilih rekanan:
1.       Memanfaatkan kemampuan/ kelebihan yang dimiliki rekanan.
2.       Untuk mengurangi beban pekerjaan.
Pihak yang dapat dijadikan rekanan dalam proyek (Vendor/Pemasok, Third-Party Testers, Sales Office)
Pemasok / Vendor
Ada 3 faktor utama utk melibatkan vendor dlm proses testing : Irreplaceability, Coupling, Capability
Third-Party Testers
1.       Sumber daya testing dari pihak ketiga adalah setiap organisasi yang menawarkan jasa testing kepada pelanggannya.
2.       Jasa ini dpt diberikan secara off site, on site, atau keduanya.
3.       Berdasarkan caranya mengelola proyek testing, organisasi pihak ketiga yang menawarkan jasa testing dapat dibedakan menjadi 2, yaitu:
·         Temporary Agency (Agen Sementara) : menyediakan ahli testing.
·         Perusahaan Testing Pihak Ketiga : membuat perencanaan suatu proyek testing dan pengelolaannya.
Keuntungan pemanfaatan Third-Party Tester
1.       Memiliki keahlian dalam bidang pengelolaan proyek testing dan memiliki pengalaman untuk melakukan testing secara teknis.
2.       Dapat menyelesaikan proyek testing lebih cepat.
Kantor Pemasaran
1.       Kantor pemasaran yg tersebar di seluruh dunia dpt dimanfaat-kan untuk melakukan testing yang berhubungan dengan lokalisasi suatu sistem.
2.       Kelemahannya: tidak dapat melakukan proses testing yang rumit atau yg bersifat terlalu teknis.
Perencanaan sebuah proyek uji yang terdistribusi
1.       Menilai Kemampuan
2.       Biaya: biaya tetap dan biaya waktu dan material
3.       Menyusun, mengkoordinasi, dan membagi program testing.
4.       Pengelolaan Logistik
5.       Pemetaan Kasus Testing
Pemetaan kasus Testing
1.       Memetakan kasus testing yang dilakukan oleh pihak ketiga pada pola yang sesuai dengan kebutuhan.
2.       Dilakukan pada tahap koordinasi proyek testing.
Pengelolaan testing yang terdistribusi
1.       Memantau pelaksanaan testing.
2.       Mengkomunikasikan status testing.
3.       Menangani Pertimbangan2 Politis
4.       Peka terhadap terjadinya Pertentangan kebiasaan/ kebudayaan.
5.       Menanamkan dan menjaga unsur kepercayaan.