Teknik Informatika S1

dokumen-dokumen yang mirip
PENGUJIAN BERORIENTASI OBJEK

Perancangan Kasus Pengujian

TESTING DAN IMPLEMENTASI SISTEM. WAHYU PRATAMA, S.Kom., MMSI.

Object Oriented Analysis (OOA) dan Object Oriented Design (OOD)

Pengujian Perangkat Lunak Berorientasi Objek. Tim RPL Teknik Informatika

Pengujian Berorientasi Obyek

Teknik Informatika S1

Teknik Informatika S1

Teknik Informatika S1

Teknik Informatika S1

Teknik Informatika S1

Teknik Informatika S1

Dibuat Oleh : 1. Andrey ( )

Nama : Rendi Setiawan Nim :

Object Oriented Analaysis Object Oriented Design

PertemuanI. Object Oriented

Teknik Informatika S1

Teknik Informatika S1

BAB III OBJEK DAN METODOLOGI PENELITIAN. sesuai dengan pendapat Sugiyono (2003:58) mendefinisikan bahwa:

1. Penggunaan Pemodelan

Teknik Informatika S1

Teknik Informatika S1

Metode Coad -Yourdon

Pemrograman Web Berbasis Framework. Pertemuan 13 : Pengembangan Project (Bag. 1) Hasanuddin, S.T., M.Cs. Prodi Teknik Informatika UAD

Teknik Informatika S1

Teknik Informatika S1

PERANCANGAN BERORIENTASI OBJEK

Pengujian Berorientasi Obyek. Minggu ke 6

BAB II LANDASAN TEORI. pembelian dilakukan dengan mengubah bentuk barang. 2003). Menurut Soemarso S.R (1994) kegiatan pembelian dalam perusahaan

4/18/14 Testing dan Audit Perangkat Lunak - Universitas Mercu Buana Yogyakarta

A. Pengujian Perangkat Lunak

Testing dan Implementasi Sistem Informasi

Pengujian Perangkat Lunak

Sistem (3 sks) Black Box Testing (1) Black Box Testing

BAB II LANDASAN TEORI

White Box Testing dan Black Box Testing, Perbedaannya Serta Contohnya.

SOFTWARE TESTING. Ratna Wardani

DAFTAR ISI LEMBAR PENGESAHAN SURAT PERNYATAAN

DASAR REKAYASA PERANGKAT LUNAK

PENGUJIAN PERANGKAT LUNAK DENGAN MENGGUNAKAN METODE WHITE BOX DAN BLACK BOX

OOAD (Object Oriented Analysis and Design) UML part 2 (Activity diagram, Class diagram, Sequence diagram)

BAB II LANDASAN TEORI. terpadu untuk mengembangkan rencana rencana strategis yang diarahkan pada

2. BAB II LANDASAN TEORI. lanjut sehingga terbentuk suatu aplikasi yang sesuai dengan tujuan awal.

Definisi Black Box. pemenuhan sistem atau komponen dengan kebutuhan fungsional tertentu. q Menurut Myers (1979) :

Tugas Rekayasa Perangkat Lunak

Teknik Informatika S1

Teknik Informatika S1

DAFTAR SIMBOL. Yaitu Memperlihatkan Hubungan-hubungan yang terjadi antara actor-aktor SIMBOL NAMA KETERANGAN. Aktor. Use Case.

Teknik Informatika S1

BAB II LANDASAN TEORI

APLIKASI SISTEM INFORMASI PENGOLAHAN DATA PADA DIREKTORAT RESERSE KRIMINAL KHUSUS POLDA SUMBAR

PEMANFAATAN ARDUINO DALAM PENGEMBANGAN SISTEM RUMAH PINTAR BERBASIS MOBILE DAN WEB (Studi Kasus : Penjadwalan Lampu Rumah)

Nama : Rendi Setiawan Nim :

Teknik Informatika S1

PERANCANGAN BERORIENTASI OBJEK

Gambar Use Case Diagram

14. PENGUJIAN PERANGKAT LUNAK Dasar-dasar Pengujian 14.2 Teknik Pengujian 14.3 Strategi Pengujian dan V&V

Review Rekayasa Perangkat Lunak. Nisa ul Hafidhoh

Teknik Informatika S1

BAB 6 METODE PENGUJIAN

SATUAN ACARA PERKULIAHAN(SAP)

TEKNIK PENGUJIAN PERANGKAT LUNAK (Software Testing Techniques)

Teknik Informatika S1

Testing dan Implementasi

BAB 2 LANDASAN TEORI

BAB III LANDASAN TEORI. pertama adalah sistem, dan yang kedua adalah sistem informasi itu sendiri.

Testing Implementasi Sistem. Black Box Testing Equivalence Partitioning & Boundary Value Analysis

BAB II TINJAUAN PUSTAKA. 2.1 Komponen Sumber Daya Manusia dalam Ruang Lingkup Fakultas. Nuraeny (2010) mengemuckakan bahwa Sumber Daya Manusia

BAB III METODOLOGI PENELITIAN. dalam pengumpulan data atau informasi guna memecahkan permasalahan dan

Teknik Informatika S1

BAB II LANDASAN TEORI. Definisi sistem menurut Jogiyanto HM (1995 : 5) adalah sebagai berikut :

BAB V PERANCANGAN MOXIE

TUGAS MAKALAH. Testing dan Implementasi Sistem White Box Testing

BAB II TINJAUAN PUSTAKA

DAFTAR ISTILAH. Activity Diagram

PENGANTAR RUP & UML. Pertemuan 2

BAB II TINJAUAN PUSTAKA. bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan

DESAIN TEST CASE. Tugas ke 11 Rekayasa Perangkat Lunak

RANCANGAN APLIKASI LATIHAN BELAJAR TENSES DENGAN METODE OBJECT ORIENTED DESIGN

BAB II TINJAUAN PUSTAKA

BAB III OBJEK DAN METODE PENELITIAN. Sejarah singkat mengenai berdirinya CV. Jadikom ini diawali oleh ide dari 3

ABSTRAK. Kata kunci : voucher elektronik SMS (Short Message Service)

TEKNIK PENGUJIAN PERANGKAT LUNAK PERTEMUAN 14

PEMODELAN ANALISIS. Di Susun Oleh : Linda Liana Dosen Pengampu : Wahyu Hari Haji M.Kom

BAB IV ANALISIS DAN PERANCANGAN SISTEM. sistem yang telah ada, dimana analisis sistem merupakan proses mempelajari suatu

BAB III OBJEK DAN METODE PENELITIAN. tempat sanggar seni mayang sari di bandung dimana terletak di jalan Moch Toha

DAFTAR ISI. KATA PENGANTAR... i. DAFTAR ISI... iii. DAFTAR GAMBAR... xi. DAFTAR TABEL... xvii. DAFTAR SIMBOL... xx BAB I PENDAHULUAN...

Object Oriented Analysis and Design -Pendahuluan- Nisa ul Hafidhoh

Testing dan Implementasi Sistem

BAB III OBJEK DAN METODE PENELITIAN. untuk mendapatkan data-data yang berkaitan dengan objek penelitian tersebut.

Teknik Informatika S1

TESTING & IMPLEMENTASI SISTEM 4KA. Teknik Pengujian Perangkat Lunak. helen.staff.gunadarma.ac.id

ANALISIS KEBUTUHAN PERANGKAT LUNAK

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

BAB 3 ANALISIS DAN PERANCANGAN PROGRAM. pengembangan sistem yang lazim disebut Waterfall Model. Metode ini terdiri dari enam

BAB II LANDASAN TEORI

REKAYASA PERANGKAT LUNAK. 3 sks Sri Rezeki Candra Nursari reezeki2011.wordpress.com

APLIKASI CHATTING DENGAN FASILITAS FTP DAN IP ADDRESS BLOCKING UNTUK CLIENT-SERVER MULTIPLE CONNECTIONS. Makalah Seminar Tugas Akhir

BAB III LANDASAN TEORI

BAB III OBJEK DAN METODE PENELITIAN. Dalam penelitian ini yang menjadi objek penelitian yaitu Apotek Cibatu

Transkripsi:

Teknik Informatika S1 SOFTWARE QUALITY AND TESTING OO Testing Disusun Oleh: Egia Rosi Subhiyakto, M.Kom, M.CS Teknik Informatika UDINUS egia@dsn.dinus.ac.id +6285640392988

SILABUS MATA KULIAH 8. Perencanaan Pengujian + Tugas Black Box 9. Presentasi Tugas Black Box 10. White Box (1) 11. White Box (2) + Post Test 12. Manajemen Fungsi Testing 13.OO Testing 14. Tool support for testing + Tugas Pengganti Absen

Pengujian Berorientasi Objek Tujuan pengujian tetap yaitu untuk menemukan kesalahan dalam selang waktu yang realistik. Mengubah strategi dan taktik pengujian

Pengujian Berorientasi Objek Ada tiga hal yang harus diperhatikan : Definisi pengujian harus diperluas agar mencakup teknik untuk menemukan kesalahan pada model OOA dan OOD Strategi pengujian unit dan integrasi berubah Perancangan pengujian harus memperhatikan karakteristik dari perangkat lunak berorientasi objek

PERLUASAN SUDUT PANDANG PENGUJIAN Kesalahan pendefinisian atribut kelas yang ditemukan pada tahap analisis akan menghilangkan pengaruh yang dapat muncul. Contoh : Sebuah kelas dengan sejumlah atribut didefinisikan pada tahap analisis. Sebuah atribut yang tidak berhubungan dan dua operasi yang memanipulasi atribut tersebut terdefinisi. Jika atribut yang tidak berhubungan dihilangkan pada tahap analisis, dapat mengurangi beberapa masalah dan usaha sbb : Pembuatan subclass yang khusus untuk mengakomodasi atribut tersebut. Pembuatan relasi antar kelas yang salah. Kelakuan dari sistem dapat menjadi tidak tepat

PERLUASAN SUDUT PANDANG PENGUJIAN (2) Jika kesalahan tidak ditemukan, masalah yang dapat muncul pada tahap perancangan : penempatan kelas yang tidak tepat pada subsistem perancangan kerja yang tidak perlu model messaging (message connection) yang tidak tepat

PERLUASAN SUDUT PANDANG PENGUJIAN (2) Jika kesalahan tetap ada sampai pada tahap pengkodean akan menghabiskan banyak waktu dan usaha untuk membuat kode dari atribut dan dua operasi yang tidak diperlukan, membuat message untuk komunikasi antar objek

PENGUJIAN MODEL OOA dan OOD Kebenaran dari model OOA dan OOD o Kebenaran dari sintaks : Penggunaan simbol dan aturan pemodelan yang tepat o Kebenaran dari semantik Model yang mewakili dunia nyata, dibutuhkan seorang ahli dalam domain persoalan. Hubungan antar kelas

PENGUJIAN MODEL OOA dan OOD Kekonsistenan dari model OOA dan OOD o hubungan antar entitas dalam model o dapat digunakan model CRC dan object-relationship diagram

PENGUJIAN MODEL OOA dan OOD (2)

STRATEGI PENGUJIAN Strategi: pengujian semua unit program terkecil, pengujian integritas dari modul, dan pengujian keseluruhan sistem Pengujian Unit dalam konteks berorientasi objek Unit terkecil Kelas atau objek Setiap operasi yang diturunkan pada kelas turunan harus diperiksa

STRATEGI PENGUJIAN Pengujian Integritas dalam konteks berorientasi objek Thread-based testing mengintegrasikan sekumpulan kelas suatu input atau kejadian dalam sistem. Setiap thread diintegrasikan dan diuji secara individual. Pengujian regresi diterapkan untuk memastikan tidak ada efek samping yang muncul.

Use-based testing STRATEGI PENGUJIAN (2) Pengujian terhadap setiap independent classes Pengujian terhadap dependent classes sampai keseluruhan sistem terbentuk Cluster testing : salah satu langkah dalam pengujian integritas memeriksa kolaborasi antar kelas pada model CRC dan object relationship

STRATEGI PENGUJIAN (2) Pengujian Validasi dalam Konteks Berorientasi Objek memusatkan pada aksi dari user dan keluaran dari sistem yang dapat dikenali user Use Case membantu untuk menemukan kesalahan pada kebutuhan interaksi user Black Box mengatur pengujian validasi

PERANCANGAN KASUS PENGUJIAN Menurut Berard [BER93] : Setiap kasus uji diidentifikasi secara unik dan diasosiasikan secara eksplisit dengan kelas yang akan diuji. Tujuan pengujian harus dinyatakan Daftar tahapan pengujian harus dibuat untuk setiap pengujian: daftar keadaan dari objek yang diuji daftar pesan dan operasi yang muncul daftar exception yang mungkin muncul saat objek diuji daftar kondisi eksternal informasi tambahan yang membantu dalam memahami pengujian atau mengimplementasikan pengujian.

PERANCANGAN KASUS PENGUJIAN (2) Implikasi Kosep Berorientasi Objek : Enkapsulasi menyebabkan informasi dari status objek yang sedang diuji sulit diperoleh Inheritance menyebabkan perlu dilakukannya pengujian setiap reuse (jika subclass digunakan dalam konteks yang berbeda dengan superclassnya) Multi inheritance menyebabkan penambahan konteks yang harus diuji

PERANCANGAN KASUS PENGUJIAN (2) Applicability Metoda Perancangan Kasus Uji Konvensional White Box pengujian operasi basis path, loop testing, atau data flow untuk memastikan bahwa setiap pernyataan dalam operasi telah diuji Black Box untuk menguji sistem Use case untuk membuat input dalam perancangan black box dan pengujian state-based

PERANCANGAN KASUS PENGUJIAN (3) Pengujian Fault-Based : Untuk merancang pengujian yang mempunyai kemungkinan besar untuk menemukan kesalahan yang masuk akal Perancangan awal perlu pengujian ini dalam tahap Analisis Efektivitas pengujian tergantung dari cara pandang penguji dalam melihat kesalahan Pengujian integritas mencari kesalahan yang masuk akal dalam message connection. Ada 3 jenis kesalahan yang dapat muncul dalam konteks ini : hasil yang tidak diharapkan kesalahan penggunaan message/ operasi pemanggilan yang salah

PERANCANGAN KASUS PENGUJIAN (4) Pengaruh OOP pada Pengujian : o beberapa jenis kesalahan menjadi kurang masuk akal o beberapa jenis kesalahan menjadi lebih masuk akal o muncul beberapa tipe kesalahan yang baru Contoh : karena operasi OO biasanya lebih kecil, ada kecenderungan untuk lebih diperlukan adanya integrasi. Dalam hal ini kesalahan integrasi lebih masuk akal.

PERANCANGAN KASUS PENGUJIAN (5) Kasus Pengujian dan Hirarki dari Kelas : Inheritance memerlukan adanya kebutuhan untuk menguji semua kelas turunan memperumit proses pengujian Fungsi B++ harus diuji ulang Fungsi A?

PERANCANGAN KASUS PENGUJIAN (6) Jika fungsi A memanggil fungsi B, dan kelakukan dari B telah berubah, maka A harus diuji ulang walaupun perancangan dan kodenya tidak berubah. Jika fungsi A tidak bergantung pada fungsi B maka fungsi A tidak perlu diuji ulang. B dan B++ dua operasi yang berbeda dengan spesifikasi dan implementasi yang berbeda. Pengujian baru perlu diturunkan hanya untuk kebutuhan fungsi B++ yang tidak dipenuhi oleh pengujian fungsi B. Pengujian untuk B dapat diterapkan pada objek dari kelas B++. Input pengujian mungkin cocok untuk kedua kelas, tapi hasil yang diharapkan dapat berbeda.

PERANCANGAN KASUS PENGUJIAN (7) Perancangan Pengujian Scenario-Based Pengujian Fault-based mengabaikan dua kesalahan utama : Kesalahan spesifikasi Kesalahan interaksi antar subsistem Pengujian scenario-based memusatkan pada apa yang dilakukan oleh user, bukan pada apa yang dilakukan produk. Use cases digunakan untuk menentukan apa yang dilakukan oleh user kemudian menerapkannya sebagai pengujian. Pengujian scenario-based cenderung untuk memeriksa banyak subsistem dalam suatu pengujian tunggal.

PERANCANGAN KASUS PENGUJIAN (8) Contoh perancangan pengujian scenario-based untuk text editor: Use Case : Fix the Final Draft Background : Use case ini menggambarkan urutan event yang muncul 1. Cetak seluruh dokumen 2. Periksa dokumen, ubah halaman tertentu 3. Untuk setiap halaman yang diubah, cetak halaman tersebut 4. Kadang-kadang sederetan halaman dicetak

PERANCANGAN KASUS PENGUJIAN (8) Kebutuhan user : metoda untuk mencetak satu halaman metoda untuk mencetak beberapa halaman berurutan Yang diuji : pengeditan setelah pencetakan Penguji berharap untuk menemukan bahwa fungsi pencetakan menyebabkan kesalahan dalam fungsi pengeditan

PERANCANGAN KASUS PENGUJIAN (9) Testing Surface Structure dan Deep Structure Surface Structure : struktur yang terlihat secara eksternal dari program berorientasi objek struktur yang langsung berhubungan dengan end user. menggunakan daftar semua objek dari semua objek sebagai checklist pengujian. Perancangan kasus uji harus menggunakan objek dan operasinya sebagai petunjuk yang menuntun pada task yang terabaikan

PERANCANGAN KASUS PENGUJIAN (9) Testing Surface Structure dan Deep Structure Deep Structure : detil teknis internal dari program berorientasi objek struktur yang dimengerti dengan memeriksa perancangan dan/atau kode. dirancang untuk memeriksa ketergantungan, kelakukan, dan mekanisme komunikasi yang telah dibuat

METODA PENGUJIAN PADA LEVEL KELAS Random Testing Contoh : Aplikasi perbankan mempunyai kelas account yang dengan operasi : open, setup, deposit, withdraw balance, summarize, creditlimit, dan close. Sejarah hidup minimum dari account adalah operasi : open setup deposit withdraw close Variasi yang mungkin muncul : open setup deposit [ deposit withdraw balance summarize creditlimit ] n withdraw close Kasus uji lain yang mungkin: open setup deposit deposit balance summarize withdraw close

METODA PENGUJIAN PADA LEVEL KELAS(2) Partition Testing mengurangi jumlah kasus uji dengan mengelompokkan input dan output, kasus uji dirancang untuk memeriksa setiap kelompok. Ada beberapa cara : 1. Pembagian berdasarkan status (state-based partitioning) mengelompokkan operasi berdasarkan kemampuan untuk mengubah status dari kelas Contoh pada kelas account : operasi yang mengubah status adalah deposit dan withdraw operasi yang tidak mengubah status adalah balance, summarize, dan creditlimit

METODA PENGUJIAN PADA LEVEL KELAS(2) 2. Pembagian berdasarkan atribut (attribute-based partitioning) mengelompokkan operasi berdasarkan atribut yang digunakan Contoh : operasi yang menggunakan creditlimit, operasi yang mengubah creditlimit operasi yang tidak menggunakan atau mengubah creditlimit.

METODA PENGUJIAN PADA LEVEL KELAS(2) 3. Pembagian berdasarkan kategori (category-based partitioning) mengelompokkan operasi berdasarkan fungsi generik dari setiap operasi Contoh : operasi inisialisasi (open, setup) operasi perhitungan (deposit, withdraw) operasi query (balance, summarize, creditlimit) operasi terminasi (close) dimulai pada saat pengintegrasian sistem OO dapat dilakukan dengan menerapkan metoda acak dan partisi, pengujian scenario-based dan behavioral

Perancangan Kasus Pengujian Antar Kelas Pengujian Multiple Class Kirani dan Tsai [KIR94] menyarankan tahapan sebagai berikut: 1. Untuk setiap kelas client, gunakan daftar operator untuk membuat sederetan pengujian acak. 2. Untuk setiap pesan yang dibangkitkan, tentukan kelas kolaborator dan operator yang berhubungan pada objek server. 3. Untuk setiap operator pada objek server, tentukan pesan yang dikirimkan 4. Untuk setiap pesan, tentukan operator level berikutnya yang dibangkitkan dan masukkan ke dalam urutan pengujian.

Perancangan Kasus Pengujian Antar Kelas (2) Pengujian yang Diperoleh dari Behavior Model State-transition diagram (STD) menyatakan kelakukan dinamik dari kelas. STD dapat digunakan untuk membantu dalam mendapatkan urutan pengujian yang akan memeriksa kelakukan dinamik dari kelas dan kelaskelas yang berkolaborasi dengannya.

Perancangan Kasus Pengujian Antar Kelas (2) Pengujian yang Diperoleh dari Behavior Model Untuk situasi di mana kelakukan kelas menghasilkan suatu kolaborasi dengan satu kelas atau lebih, gunakan multiple STD untuk menelusuri aliran kelakuan dari sistem. Penelusuran status dapat dilakukan dengan menggunakan metoda breadth first kasus uji memeriksa sebuah transisi tunggal dan ketika transisi baru diuji, hanya transisi yang sudah diuji yang boleh digunakan.

TERIMA KASIH

Tugas untuk pengganti absen Kerjakan Tugas pengganti absen yang saya upload di Siadin (Tugas Pengganti Absen.pdf) Ikuti instruksi berikut: Buat kelompok masing-masing 3 orang/ kelompok Kombinasi tugas yang dikerjakan (Akan diacak hari ini): 1. Tes1, Tes3, Tes5, Tes7, Tes12 2. Tes2C, Tes2D, Tes4, Tes6, Tes27 3. Tes4, Tes5, Tes11, Tes27 4. Test12, Tes27, Tes19 5. Algo106 Kerjakan tugas (diketik dan diprint tanpa jilid) dengan menggunakan Basis Path Testing (Step 1-4) Kumpulkan antara tanggal 22-30 Desember 2014 + Absen terakhir

SQT 4804 1. Dedy 3 2. Heri 4 3. Peter 3 4. Setiyo 2 5. Huda 2 6. Monica 5 7. Munawir 5 Note: Bagi yang belum dapat kelompok silahkan buat kelompok sendiri, dan kerjakan No 5

SQT 4803 1. David 2 2. Agus F 2 3. Adhi 5 4. Aan 3 5. Martita 1 6. Septiadi 4 7. Eko Adi 2 8. Deni N 1 9. Pandu 1 10. Haddawi 5 11. Kevin 4 Note: Bagi yang belum dapat kelompok silahkan buat kelompok sendiri, dan kerjakan No 5 12. Setya 4