Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

1 Pertemuan 6 Unit Testing Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: >

Presentasi serupa


Presentasi berjudul: "1 Pertemuan 6 Unit Testing Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: >"— Transcript presentasi:

1 1 Pertemuan 6 Unit Testing Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: >

2 2 Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Menggunakan debugger pada pemrograman C

3 3 Outline Materi Sistem Testing Memory Leak White Box Black Box

4 4 Manakah pernyataan Sistem Testing yang benar berikut ini: a) Sebelum menambahkan komponen software pada suatu sistem, maka software tersebut harus sudah ditest terlebih dahulu. b) Komponen program yang berbeda dapat ditest dengan cara yang berbeda pula. c) Tingkatan Testing program adalah beta test dan alpha test.   Sistem Testing

5 5 d) Modul testing berfungsi mengcek apakah modul tersebut sudah benar, terlepas dari modul lain yang berinteraksi dengan-nya. e) Dependensi Dalam Modul tidak perlu ditest. 

6 6 Apa itu Kebocoran Memori (Memory Leak)? Apa itu? –Alokasi memori tanpa dilepas setelah selesai digunakan. Mengapa buruk? –Menurunkan perfoma/kinerja –Menyebabkan komputer hang/crashed Solusi? –Mencari tahu dimana memori tersebut mengalami kebocoran.

7 7 C/C++ memory leak Dalam C/C++, Anda dapat mengalokasikan ruang untuk objek atau variabel secara dinamis pada saat program berjalan. Setelah selesai menggunakannya, maka Anda perlu melepas memori yang dikonsumsi oleh objek/variabel tersebut, terutama sebelum pointer objek/variabel ybs, keluar dari Lingkup (Scope)-nya.

8 8 Contoh Memory leak Ketika sebuah variabel dibuat dengan deklarasi biasa, yaitu tanpa new, maka memori yang dialokasikan terletak pada “Stack”. –{ – int i = 3; // memory for i and obj – MyObject obj; // allocated on the stack –... –} –Kapan Anda menghapusnya? Ketika variabel tsb keluar dari “Scope”, alokasi memorinya secara otomatis terhapus (“popped off the stack”). // i and obj go out of scope, // memory freed

9 9 Contoh Memory leak Untuk alokasi memori secara dinamis, Anda perlu membuat pointer MyClass* ptr; ptr sendiri adalah sebuah variabel dalam stack. Kemudian, Anda membuat objek: ptr = new MyClass( constructor args ); Perintah diatas menghasilkan suatu objek (ditunjuk oleh ptr) dari blok memori yang disebut dengan “heap”. Ketika objek keluar dari “Scope”, ptr dihapus dari stack, tetapi memori pada objek tersebut tetap berada pada “heap”. { MyClass* ptr = new MyClass(); //creates object….. … } // ptr goes out of scope here -- memory leak!

10 10 Contoh Memory leak Untuk menghindari kebocoran memori, Anda perlu mendealokasi memori objek tersebut, sebelum objek keluar dari “Scope” { MyClass* ptr = new MyClass(); // creates an object MyClass* a = new MyClass[n]; // array of objects... delete ptr; // deletes the object pointed to by ptr delete [] a; // brackets needed for array of objects } Untuk setiap new, maka seharusnya ada sebuah delete. Untuk setiap new dengan tanda kurung [], maka seharusnya ada sebuah delete []

11 11 Cakupan Test/Koding Kondisi Awal –Software product under development –Test suite Test / Code coverage provides a measure of how well test suite actually tests the product.

12 12 Cakupan Analisa Test/Code Cakupan Analisa adalah alat ukur untuk menentukan seberapa banyak koding tertentu telah di-test. Cakupan Analisa dapat mengidentifikasi struktur koding yang tidak pernah dieksekusi –Perlu penambahan alur test baru? –Hapus koding yang tidak digunakan!

13 13 Contoh Cakupan Analisa Test/Koding Pernyataan Pilihan Cakupan Alur ? ? ? 1 2 4 alur test

14 14 Cantata++ running under Symbian – Nokia Series 60 Contoh Testing Software Cantata++ Customers Nuclear Reactor Control - Thales Train Control - Alcatel Medical Systems – GE Medical Airbus A340 – Ultra Electronics EFA Typhoon – BAe Systems International Space Station – Dutch Space

15 15 Topik Minggu Depan Optimasi Pemrograman C Tugas: Mahasiswa mencoba fungsi debugger pada bahasa C untuk Studi Kasus: Konversi data Digital ke data Analog – buku pustaka no:2 halaman 85)


Download ppt "1 Pertemuan 6 Unit Testing Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: >"

Presentasi serupa


Iklan oleh Google