Let’s Get It Correctsisil.dosen.ittelkom-pwt.ac.id/wp-content/uploads/sites/... · 2018. 1....
Transcript of Let’s Get It Correctsisil.dosen.ittelkom-pwt.ac.id/wp-content/uploads/sites/... · 2018. 1....
Let’s Get It CorrectSisilia Thya Safitri, MT
Citra Wiguna, M.Kom
• “Computer Errors” usually Aren’t
• Software Correctness
• Verification
• Software Testing
• White box Testing
• Black box Testing with Equivalence Partitioning
• Boundary Value Analysis
• When will you ever use this stuff?
Outline
• Apa saja kesalahan-kesalahan yang mungkin terjadipada komputer?
• Berikut ini beberapa kesalahan yang sering terjadi ataubiasa disebut computer errors
Computer Errors usually Aren’t
• Kerusakan pada komputer selain terjadi pada software, kerusakan juga mungkin terjadi pada hardware
• Tiga jenis kerusakan pada hardware komputer: penghancuran, air dan api
• Jadi, dari beberapa kesalahan – kesalahan padakomputer, siapakah yang sering melakukan kesalahantersebut?
Computer Errors usually Aren’t
• Siapa yang pernah merasa terganggu dengan auto capitalization pada keyboard HP?
• Siapa yang pernah merasa terganggu dengan auto logout pada internet banking?
• Jadi.., bagaimana sesunggugnya mendefinisikan suatuperangkat lunak itu “correct”?
Software Correctness
• Terdapat dua hal yang bisa menyebabkan sebuahsoftware dikatakan “correct”, yaitu:
• Perangkat lunak benar jika sesuai dengan keinginan pelanggan
• Perangkat lunak benar jika sesuai dengan spesifikasi tertulis. (Spesifikasi tertulis ini biasanya berisi beberapa bentukperilaku perangkat lunak yang didokumentasikan)
Software Correctness
• Beberapa teknik lain yang bisa digunakan untuk melakukanvalidasi:
• Beta testing meminta user untuk mencoba dan memberikomentar
• Usability testing mempekerjakan seseorang untuk mengeksploretampilan sistem
• Acceptence test setiap proses divalidasi oleh pelanggan sebelumpenyerahan hasil akhir
Software Correctness
• Sebuah kebutuhan perangkat lunak harus dapat di-verifikasi dan memenuhi kebutuhan pelanggan. Namunsayangnya tidak semua pelanggan paham dan dapatmendeskripsikan kebutuhan dan keinginannya.
• Maka, seluruh kebutuhan pelanggan harus dituliskandan dapat di-verifikasi
Verification
VerificationContoh
• S1 dan E1 adalah contoh persyaratan yang sulit untukditerima karena merupakan persyaratan nonfungsional.
• Maka perlu tingkat ketelitian yang tinggi untukmendefinisikan persyaratan fungsional dannonfungsional suatu perangkat lunak
• Terdapat dua cara untuk melakukan verifikasi perangkatlunak:
• Proofs of correctness
• Software testing
Verification
• Software testing adalah pengujian perangkat lunakdengan menjalankan program tersebut dan melakukanpengamatan.
• Proses pengamatan disesuaikan dengan spesifikasi yang telah ditetapkan.
• The most important thing to remember regarding software testing is that for any nontrivial program software testing can never guarantee software correctness
Software Testing
• Ada 2 jenis test yang bisa dilakukan:• Test suite memberi beberapa alternatif pengujian pada
satu kasus
• Layerringmelakukan pengujian secara berlapis
• Regession testing menguji perangkat lunak yang sudah ada, kemudian diperbaiki karena adanya beberapa penyesuaian
• Blackbox testing
• Whitebox testing
Software Testing
• Merupakan pengujian dengan memeriksa struktur program
• Bentuk pengujian nya dengan memeriksa alur program
Whitebox Testing atau Structural testing
• Equivalence partitioning adalah membagi pengujian berdasarkankomponen input dan output
Black box Testing with Equivalence Partitioning
• Boris Beizer, seorang penulis buku pengujian perangkatlunak mengatakan “Bugs lurk in corners and congregate at boundaries.”
• Apabila kita mengacu pada nilai batas, maka perluadanya 4 pengujian, yaitu:
• One test case at a boundary
• One test case just within the boundary
• One test case just outside the boundary
• One test case that is more typical (well within boundaries)
Boundary Value Analysis
• Jika pengujian kita menunjuk pada suatu nilai tengah, maka terdapat tujuh pengujian yang perlu dilakukan, yaitu:
• One test case at the minimum
• One test case just greater than the minimum
• One test case just less than the minimum
• One test case at the maximum
• One test case just less than the maximum
• One test case just greater than the maximum
• One test case somewhere between minimum and maximum (near the middle of the range)
Boundary Value Analysis
•
Boundary Value Analysis
• Beberapa perangkat lunak perlu adanya pengujiansupaya perangkat lunak tersebut dapat dihandalkan
• Pengujian yang dilakukan harus disesuaikan denganspesifikasi yang telah ditetapkan
When will you ever use this stuff?
Terimakasih