Jumat, 10 Mei 2013

Testing dan Implementasi Sistem


Definisi testing
Menurut standar ANSI/IEEE 1059 Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (defect/errors/bugs) dan mengevaluasi fitur-fitur dari entitas software.

Testing software adalah proses mengoperasikan software dalam kondisi yang dikendalikan, untuk :
Verifikasi apakah telah berlaku sebagaimana telah ditetapkan (menurut spesifikasi)
Are we building the system right?
Mendeteksi error
Validasi apakah spesifikasi yang telah ditetapkan sudah memenuhi keinginan atau kebutuhan dari pengguna sebenarnya 
Are we building the right system?


Definisi kualitas
Menurut Crosby Kualitas adalah pemenuhan terhadap kebutuhan.

Menurut ISO-8402 Kualitas adalah keseluruhan dari fitur yang menjadikan suatu produk dapat memuaskan atau dipakai sesuai kebutuhan dengan harga yang terjangkau.
Menurut W.E Perry Kualitas adalah pemenuhan terhadap standar.
Menurut R.Glass Kualitas adalah tingkat kesempurnaan.
Menurut J.Juran Kualitas adalah tepat guna.


Hubungan testing dan kualitas
Software yang berkualitas adalah software yang bebas error dan bug secara objektif, tepat waktu dan dana, sesuai dengan kebutuhan atau keinginan dan dapat dirawat (maintainable)

Definisi objektif : Suatu proses pembuktian yang terstruktur, terencana dan terdokumentasi dengan baik.
Testing membuat kualitas dapat dilihat secara objektif, karena testing merupakan pengukuran dari kualitas software.
Testing tidak dapat memastikan kualitas software, namun dapat memberikan jaminan terhadap software pada suatu tingkat tertentu.
Jaminan kualitas (Quality Assurance – QA) mengukur kualitas proses yang digunakan untuk membuat produk berkualitas. Testing merupakan bagian dari aktifitas QA.
Proyek pengembangan software memiliki kecenderungan untuk mengalami kegagalan.
Proyek yang gagal ???
Salah satu usaha menurunkan tingkat resiko terjadinya kegagalan adalah dengan berorientasi pada kualitas.


Tujuan testing
Adalah menemukan sebanyak mungkin masalah (error).

Tujuan dari menemukan masalah adalah memperbaikinya. Tangani masalah yang bersifat penting, karena tidak semua permasalahan dapat diselesaikan – berlaku prinsip pareto.


Misi tim testing
Tidak hanya untuk melakukan testing, tetapi juga membantu meminimalkan resiko kegagalan proyek. 

Mencari masalah dari produk. 
Mencari masalah potensial.
Mencari kehadiran masalah. 
Intinya adalah mencari dan melaporkan sehingga tim lain dapat membuat keputusan terhadap pengembangan produk. Perlu diingat, tester hanya menginformasikan, tidak melakukan pembenahan kode. Tester adalah individu yang memberikan hasil pengukuran dari kualitas produk.


Psikologi testing
Jika pengembangan dilakukan secara konstruktif, maka testing dilakukan secara destruktif.

Tester harus mempunyai keinginan yang mendasar untuk membuktikan kode gagal dan akan melakukan apa saja untuk membuatnya gagal.
Bila seorang tester hanya ingin membuktikan bahwa kode beraksi sesuai dengan fungsi bisnisnya, maka tester tersebut telah gagal dalam menjalankan tugasnya sebagai tester.