Agenda Perkuliahan
Agenda Perkuliahan
Testing Process
Testing Planning
Hubungan antara Testing Planning & SDLC
Failure & Fault Class
Test Data & Test Case
Teknik Pengujian Perangkat Lunak
Techniques Fundamental
Setiap kode sumber (source code) dibuat, software
harus di uji (ditest) untuk memperbaiki sebanyak
mungkin kesalahan (errors), sebelum diserahkan ke
customer
Teknik Pengujian secara umum mencakup dua hal
penting :
- Menguji “internal program logic” dari komponen
software
- Menguji input dan ouput domain dari program
(function, kebutuhan sistem) Uji Fungsionalitas
atau Uji Kebutuhan sistem (Software Requirement
Testing)
Teknik Pengujian Perangkat Lunak
Techniques Fundamental
Siapa yang mengerjakan ??
Pada awalnya, “software engineer” mengerjakan
semua test. Namun pada perkembangan proses
testing, “testing specialist” yang terlibat.
Techniques Fundamental
Untuk menemukan sebanyak mungkin kesalahan,
pengujian harus dilakukan secara sistematis
Test Case harus dirancang dengan menggunakan
pendekatan teknik (Techniques approach)
Techniques Fundamental
Hasil yang diharapkan didefinisikan di awal
Software Testability
Apa itu “software testability”??
Menurut James bach, software testability adalah
seberapa mudah sebuah program komputer dapat
diuji
Testing dianggap cukup sulit dilakukan maka perlu
diketahui apa yang harus dilakukan untuk
meluruskannya
“Testability” muncul sebagai hasil dari “good design”
Ada beberapa atribut yang dapat digunakan oleh
software engineer dalam membangun software
Teknik Pengujian Perangkat Lunak
Software Testability
Apakah software (a good software) sudah memenuhi
hal-hal berikut??
Operability
- The better it works, there more efficiently it can be
tested
Observability
- What you see is what you test
Controllability
- The better we can control the software, the more
testing can be automated and optimized
Teknik Pengujian Perangkat Lunak
Software Testability
Decomposability
- By controlling the scope of testing, we can more
quickly isolate problems and perform smarter testing
Simplicity
- The less there is to test, the more quickly we can test it
Stability
- The fewer changes, the fewer the disruptions to testing
Teknik Pengujian Perangkat Lunak
Testing Process
User
Component Testing Integration Testing Testing
Teknik Pengujian Perangkat Lunak
Testing Process
Component testing
– Pengujian komponen-komponen program
– Biasanya dilakukan oleh component developer
(kecuali untuk system kritis)
Integration testing
– Pengujian kelompok komponen-komponen yang
terintegrasi untuk membentuk sub-system ataupun
system
– Dialakukan oleh tim penguji yang independent
– Pengujian berdasarkan spesifikasi sistem
Teknik Pengujian Perangkat Lunak
Testing Planning
Proses Pengujian
– Deskripsi fase-fase utama dalam pengujian
Pelacakan Kebutuhan
– Semua kebutuhan user diuji secara individu
Item yg diuji
– Menspesifikasi komponen sistem yang diuji
Jadwal Pengujian
Prosedur Pencatatan Hasil dan Prosedur
Kebutuhan akan Hardware dan Software
Kendala-kendala
– Mis: kekuranga staff, alat, waktu dll.
Testing Process & Planning
System Sub-System
Service Acceptance
Integration Integration
test
test test
Testing Process & Planning
Testing Clue