PEMELIHARAAN PERANGKAT LUNAK Ign.F.Bayu Andoro.S, M.Kom
PERAWATAN PL Membahas langkah-langkah yang harus dikerjakan sebagai bagian dari pengujian. Strategi untuk pengujian perangkat lunak mengintegrasikan metode design test case perangkat lunak ke dalam sederetan langkah yang direncanakan dengan baik Kapan dilaksanakan? Berapa usaha, waktu dan sumber daya yang digunakan?
01/07/2014
bayuandoro.com
2
STRATEGI PENGUJIAN PL Dengan harapan hasilnya adalah konstruksi perangkat lunak yang berhasil Semua strategi pengujian harus menggabungkan perencanaan pengujian, design test case, dan kumpulan data resultan serta evaluasi.
01/07/2014
bayuandoro.com
3
Karakteristik Pengujian Dimulai dari pengujian tingkat komponen menuju integrasi. Teknik pengujian yang berbeda sesuai pada titik waktu yang berbeda. Pengujian dilakukan oleh pengembang perangkat lunak dan/atau suatu kelompok pengujian yang independen. Pengujian dan debugging merupakan aktifitas yang berbeda, tetapi debugging harus diakomodasi pada banyak stretegi pengujian.
01/07/2014
bayuandoro.com
4
Strategi Pengujian
Dimulai dari unit testing terhadap source code hingga system testing terhadap spesifikasi kebutuhan.
01/07/2014
bayuandoro.com
5
Strategi Pengujian
Dimulai dari unit testing terhadap source code hingga system testing terhadap spesifikasi kebutuhan.
01/07/2014
bayuandoro.com
6
Langkah Pengujian
01/07/2014
bayuandoro.com
7
Unit Testing
01/07/2014
bayuandoro.com
8
Unit Testing
Checklist untuk pengujian interface – Apakah jumlah parameter input sama dengan jumlah
argumen? – Apakah antara atribut dan parameter argumen sudah cocok? – Apakah antara sistem satuan parameter dan argumen sudah cocok? – Apakah jumlah argumen yang ditransmisikan ke modul yang dipanggil sama dengan atribut parameter?
01/07/2014
bayuandoro.com
9
Unit Testing • Apakah atribut dari argumen yang ditransmisikan ke • • • •
modul yang dipanggil sama dengan atribut parameter? Apakah sistem unit dari argumen yang ditransmisikan ke modul yang dipanggil sama dengan sistem satuan parameter? Apakah jumlah atribut dan urutan argumen ke fungsifungsi built-in sudah benar? Adakah referensi ke parameter yang tidak sesuai dengan poin entri yang ada? Apakah argumen input only diubah?
01/07/2014
bayuandoro.com
10
Unit Testing – Apakah definisi variabel global konsisten dengan modul ? – Apakah batasan yang dilalui merupakan argumen? Test case harus di desain untuk mengungkap kesalahan dalam kategori:
pengetikan yang tidak teratur dan tidak konsisten inisialisasi yang salah atau nilai-nilai default Nama variabel yang tidak benar Tipe data yang tidak konsisten Underflow, overflow dan pengecualian pengalamatan
01/07/2014
bayuandoro.com
11
Integration Testing Regression testing: dilakukan pengujian setiap kali ada modul baru yang diintegrasikan atau ada modul yang berubah. Smoke testing: test daily, untuk proyek jenis kritis-waktu.
01/07/2014
bayuandoro.com
12
Integration testing Pengujian keseluruhan sistem atau sub-
sistem yang terdiri dari komponen yg terintegrasi. Test integrasi menggunakan black-box dengan test case ditentukan dari spesifikasi. Kesulitannya adalah menemukan / melokasikan Penggunaan Incremental integration testing dapat mengurangi masalah tersebut. 01/07/2014
bayuandoro.com
13
Incremental integration testing A
T1
T1
A T1
T2
A
T2 T2
B
B
T3 T3
B
C T4
T3 C
T4 T5
D Test sequence 1 01/07/2014
Test sequence 2 bayuandoro.com
Test sequence 3 14
Pendekatan integration testing Top-down testing
Berawal dari level-atas system dan terintegrasi dengan mengganti masing-masing komponen secara top-down dengan suatu stub (program pendek yg mengenerate input ke sub-system yg diuji).
Bottom-up testing
Integrasi components di level hingga sistem lengkap sudah teruji.
Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua strategi pengujian tsb.
01/07/2014
bayuandoro.com
15
Integration Testing
Top – down integration
01/07/2014
bayuandoro.com
16
Integration Testing
Bottom – up integration
01/07/2014
bayuandoro.com
17
Validasi dan Verifikasi Testing Dua aspek yang dipertimbangkan: Apakah implementasi sudah sesuai dengan spesifikasi? Apakah spesifikasi sesuai dengan kebutuhan user?
01/07/2014
bayuandoro.com
18
Validation Testing Validasi mengacu pada serangkaian aktifitas yang berbeda yang memastikan bahwa perangkat lunak yang dibangun dapat ditelusuri sesuai syarat dari pelanggan. Apakah sistem yang kita kembangkan sudah benar? Pengujian sistem di mana pada waktu diimplementasikan sesuai tidak dengan yang diharapkan
01/07/2014
bayuandoro.com
19
Validation Testing Disebut sukses jika fungsi P/L dapat diterima oleh customer Alpha test: dilakukan di tempat developer oleh customer pada lingkungan yang terkendali. Beta test: dilakukan di tempat customer tanpa melibatkan developer pada lingkungan yang tak terkendali.
01/07/2014
bayuandoro.com
20
Verifikasi Testing Apakah sistem dikembangkan dengan cara yang benar? Apakah Pengujian sistem sudah sesuai dengan spesifikasi? Verifikasi mengacu pada rangkaian aktifitas yang memastikan bahwa perangkatg lunak secara tepat mengimplementasikan suatu fungsi tertentu.
01/07/2014
bayuandoro.com
21
System Testing Menguji sistem berbasis komputer secara menyeluruh, termasuk juga hubungannya dengan sistem yang lain. Diantaranya:
– Recovery testing, jika system failure. – Security testing, jika terjadi serangan. – Stress testing, terhadap jumlah, frekuensi dan volume pekerjaan. – Performance testing, untuk mengukur pemakaian sumber daya. 01/07/2014
bayuandoro.com
22
Debugging Memperbaiki error yang ditemukan pada saat testing (yang sukses). Kaidah dasar sebelum debug:
– Apakah penyebab bug dihasilkan kembali oleh bagian program yang lain? – Apakah bug selanjutnya yang mungkin muncul jika bug diperbaiki? – Apa yang bisa dilakukan untuk mencegah bug terjadi untuk pertama kalinya? 01/07/2014
bayuandoro.com
23