Software TESTING 9/18/2012 11:19 AM 1
Software TESTING
9/18/2012 11:19 AM 1
Sejarah Software Testing
Bug Istilah bug pertama kali digunakan tahun 1947
saat komputer Mark II milik Harvard University mengalami masalah.
Penyebabnya adalah seekor kutu yang mati di antara relay komputer.
Software bug = hal – hal yang menyebabkan suatu software tidak berjalan dengan baik, yang tidak/belum diketahui sebelumnya.
Jika sudah diketahui penyebabnya disebut error.
9/18/2012 11:19 AM RA / 2
Software Bug vs Software Error
Klasifikasi Error :
Syntax error : kesalahan penulisan perintah
Logical error : kesalahan logika
Runtime error : kesalahan saat program dijalankan
SW Error lebih mudah ditelusuri.
Umumnya development tools sudah menyediakan alat deteksi syntax error.
Bug tidak dapat dideteksi oleh development tools.
Umumnya bug berupa gabungan dari logical error dan runtime error
9/18/2012 11:19 AM RA / 3
Kasus SW error yang terkenal (1)
Disney's Lion King (1994-1995)
Tepat pada hari Natal, Disney mengeluarkan CDROM game pertamanya “The Lion King Animated Storybook” yang laku keras dipasar.
Tgl 26 Desember, pembeli protes karena game tersebut tidak bisa dijalankan.
Ternyata programmer Disney hanya melakukan testing pada komputer perusahaan dengan spesifikasi khusus yang tidak dimiliki oleh masyarakat umum.
9/18/2012 11:19 AM RA / 4
Kasus SW error yang terkenal (2)
Intel Pentium Floating-Point Division Bug (1994)
Berapa hasil perhitungan
(4195835 / 3145727) * 3145727 - 4195835 ?
Harus tepat nol !!
Hasil perhitungan menggunakan prosesor Intel Pentium tidak menghasilkan nol.
Ditemukan oleh Dr. Thomas R. Nicely
Argumentasi Intel:
Tester Intel sudah mengetahui sebelum diproduksi
Tidak dipublikasikan/diperbaiki karena user tidak akan pernah melakukan perhitungan seperti itu.
28 Agustus 2000, Intel menarik kembali seluruh prosesor Pentium III - 1.13MHz
9/18/2012 11:19 AM RA / 5
Kasus SW error yang terkenal (3)
NASA Mars Polar Lander (1999)
3 Desember 1999, NASA's Mars Polar Lander hilang ketika akan mendarat di Mars
Akhirnya diketahui Polar Lander hancur menabrak Mars ketika mendarat
Hasil investigasi diketahui:
Proses pendaratan seharusnya dikendalikan melalui satelit, namun untuk menghemat biaya, sistem kendali satelit diganti dengan sistem kendali otomatis
Getaran yang sangat kuat saat mendarat mengacaukan sistem kendali tersebut.
9/18/2012 11:19 AM RA / 6
Kasus SW error yang terkenal (4)
Patriot Missile Defense System, 1991
Peluru kendali Patriot yang dapat melumpuhkan peluru kendali musuh banyak yang gagal dan salah sasaran.
Hasil investigasi:
System clock tidak akurat. Dalam 14 jam, system clock tersebut sudah menyebabkan penyimpangan beberapa detik, sehingga sistem tracking tidak bekerja lagi.
9/18/2012 11:19 AM RA / 7
Kasus SW error yang terkenal (5)
The Y2K (Year 2000) Bug (1974)
Software yang dibuat sejak tahun 1974 menggunakan 2 digit untuk menyimpan tahun.
Tujuan :
Menghemat memori & harddisk
Meningkatkan kecepatan proses
Asumsi: suatu SW tidak mungkin dipakai sampai 25 tahun.
Ternyata masalah ini terlupakan dan menjadi kasus besar pada tahun 2000.
Diperkirakan perusahaan di dunia menghabiskan ratusan milyar dolar untuk memperbaiki programnya.
9/18/2012 11:19 AM RA / 8
Penting !
Memperbaiki bug tidak selalu identik dengan memperbaiki software/program.
Memperbaiki bug dapat juga dilakukan dengan memberikan catatan pada user manual atau memberikan pelatihan pada user.
Memperbaiki bug bukan bertujuan untuk menghasilkan software yang sempurna
9/18/2012 11:19 AM RA / 9
Biaya memperbaiki bug
9/18/2012 11:19 AM RA / 10
What is defect? Defect /cacat adalah varians dari atribut produk yang
tidak diinginkan
Cacat dari spesifikasi produk
Varians dari harapan pelanggan / pengguna
Kategori dari defects
Wrong - The specification have been implemented incorrectly (variance from user)
Missing - A specified requirement is not built into product (variance from product specification)
Extra - A requirement incorporated into the product that was not specified (variance from product specification)
9/18/2012 11:19 AM RA / 11
What is defect?
Defect vs Failure
Defect is incorporated in software system (it can be found within the SW, manuals or documentation) and a flaw
Defect that causes an error in operation is called a failure
Defect will turn into failure, the failure will damage the organization
9/18/2012 11:19 AM RA / 12
What is Errors, Mistake,... Some terms
Mistake : tindakan manusia yang menghasilkan hasil yang salah
Fault: Sebuah langkah yang salah, proses, atau definisi data dalam program komputer. Ini hasil dari kesalahan (berpotensi menyebabkan kegagalan)
Failure: Hasil salah. Hasil (manifestasi) dari kesalahan (misalnya, tabrakan)
Error: Untuk jumlah yang hasilnya tidak benar
Mistakes are what people make
Failure are the manifestation of these fault
9/18/2012 11:19 AM RA / 13
The Six Essential of Software
Testing
1. The quality of the test process determine the success of the test effort
2. Prevent defect migration by using early life cycle technique
3. The time for SW testing tools is now
4. A real person must take responsibility for improving the testing process
5. Testing is a professional discipline requiring trained, skilled people
6. Cultivate a positive team attitude of creative destruction
9/18/2012 11:19 AM RA / 14
Development and Testing
Evolution
9/18/2012 11:19 AM RA / 15
Common Computer Problem
Software Problem Incomplete Design or Erroneous decision-making
criteria
actions have been incorrect
inappropriate decision making criteria Fail to meet customer requirement logic error or
programming error
Ommitting needed edit checks for completeness of output data
9/18/2012 11:19 AM RA / 16
Data Problems
Incomplete Data
Incorrect Data
Obsolete Data
9/18/2012 11:19 AM 17
The Structured Approach To
Testing
9/18/2012 11:19 AM RA / 18
Testing in Life Cycle
9/18/2012 11:19 AM RA / 19
Verification and Validation
Verification is the process of evaluating a
system/component to determine whether the products of
a given development phase satisfy the conditions
imposed at the start of that phase (IEEE/ANSI)
Validation is the process of evaluating a
system/component during or at the end of the
development process to determine whether it satisfies
specified requirements (IEEE/ANSI)
9/18/2012 11:19 AM RA / 20
Basic Forms of Testing Full Testing
starts no later than the requirement phase and continues through acceptance testing
Partial Testing begins any time after functional design has been completed, with
less than optimal influence on requirements and functional design
Endgame Testing is highly validation oriented, with no influence on requirements or
functional design
Audit-Level Testing is a barebones audit plans, procedures, and products for
adequacy, correctness, and compliance to standards.
9/18/2012 11:19 AM RA / 21
Diagrams
9/18/2012 11:19 AM RA / 22
Questions ?
Thank you
9/18/2012 11:19 AM 23