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

Slides:



Advertisements
Presentasi serupa
EXCEPTION HANDLING.
Advertisements

Pemrograman Berorientasi Objek (Project)
-PERTEMUAN 5,6 – LARIK (ARRAY)
Pengujian Software - Pelaksanaan
Algoritma dan Struktur Data Daniel Riano Kaparang.
Pemrograman JAVA (TIB09)
Pemrograman Berbasis Obyek Oleh Tita Karlita
Algoritma & Struktur Data Pointer Evangs Mailoa.
Alokasi Memori Yuliana Setiowati.
Pointer Memory Dinamic.
Izzatul Ummah, S.T., M.T. Object Handle Modified from: - many sources (see references) 1.
Algoritma & Struktur Data Linked List Evangs Mailoa.
Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Array of class. Array Class. Pointer of class. Dynamic Memory Management.
07 Advanced Class Features
Dasar-Dasar PHP.
Variable Scope.
Pointer Pointer.
1 Pertemuan 8 Concurrent Versions System 1 Matakuliah: >/ > Tahun: > Versi: >
Array.
1 Pertemuan 6 Hubungan Komponen terhadap Kehandalan Paralel Matakuliah: H0204/ Rekayasa Sistem Komputer Tahun: 2005 Versi: v0 / Revisi 1.
Pertemuan 4 Aplikasi Perhitungan Gaya Dengan Program Komputer
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Pointer.
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Struktur Data List Linear : Linked List (Single Linkedlist)
1 Pertemuan 8 PACKAGE AND CLASSPATH Matakuliah: M0074/PROGRAMMING II Tahun: 2005 Versi: 1/0.
1 Pertemuan 1 Algoritma Matakuliah: T0456 ~ Algoritma dan Metode Object Oriented Programming Tahun: 2005 Versi: 5.
Tenia Wahyuningrum, S.Kom., MT
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
OOP Java Minggu 2b Dasar OOP. Class (1) Deklarasi class : [ *] class { [ *] } Cat : [] = optional, * = repeat 0-N.
POINTER Bag.2 Pertemuan 22 Dibuat oleh : Renni Angreni, S.Kom. Triana Elizabeth, S.Kom.
PERNYATAAN PERULANGAN
1 Pertemuan 8 Model Kehandalan Suatu Sistem Matakuliah: H0204/ Rekayasa Sistem Komputer Tahun: 2005 Versi: v0 / Revisi 1.
1 Pertemuan 5 Teknik Modular Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: >
Pertemuan 6 PEWARISAN AND POLYMORPHISM
Pertemuan 10 Constructor dan Destructor
Pemrograman Komputer dalam analisa Struktur Baja
Kelas A dapat memiliki referensi ke obyek dari kelas- kelas lain sebagai anggota. Kadang-kadang disebut sebagai hubungan “has-a”. Sebagai contoh, sebuah.
Pertemuan 5 Balok Keran dan Balok Konsol
Pertemuan 1 Konsep Dasar Interfacing
Pertemuan 7 Optimasi Pemrograman C
1 Pertemuan 8 Array & Pointer of Class Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan 12 Template Matakuliah: T0044/Pemrograman Berorientasi Obyek Tahun: 2005 Versi: 1.0.
1 Pertemuan > > Matakuliah: >/ > Tahun: > Versi: >
1 Pertemuan 10 Pemrograman Berorientasi Objek Matakuliah: >/ > Tahun: > Versi: >
1 Pertemuan 1 Pengenalan Pemrograman Terstruktur C Matakuliah: H0112 – Pemrograman Bahasa Tingkat Tinggi Tahun: 2005/2006 Versi: xxx/2.
Outline: Class Objek Konstruktor Destruktor Overloading dan Tipe value
JAVA ARRAY.
Pemrograman Visual I Outline: ARRAY Array multidimensi
Matakuliah : H0112 – Pemrograman Bahasa Tingkat Tinggi
Matakuliah : K0074/Kalkulus III Tahun : 2005 Versi : 1/0
Informatique Engineering Ahmad Dahlan University May 17, 2004
IMPLEMENTASI TESTING SOFTWARE
Algoritma dan Struktur Data
STRATEGI TESTING SOFTWARE
Pertemuan 2 Penerjemahan Teks dan Lisan
Pertemuan 3 Variabel/Dinamik Pointer
Pertemuan 5 Review Berbagai Struktur Data
Struktur.
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
Pertemuan 4 ALGORITMA lanjutan….
Pertemuan 4 Modularitas
TESTING DAN IMPLEMENTASI SISTEM
QUIS Algoritma Pemrograman I
STRUKTUR DATA PERTEMUAN 8
Algoritma dan Struktur Data
Pertemuan #1 Introduction
Pertemuan 2 Penerjemahan Teks dan Lisan
Pemrograman Berorientasi Objek
Transcript presentasi:

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

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

3 Outline Materi Sistem Testing Memory Leak White Box Black Box

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 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 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 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 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 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 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 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 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 Contoh Cakupan Analisa Test/Koding Pernyataan Pilihan Cakupan Alur ? ? ? alur test

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 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)