Rangkuman Materi Testing & Implementasi
Rangkuman Pertemuan 1
Proses Testing
- Unit testing => Pengujian masing-masing unit komponen program untuk meyakinkan bahwa program sudah beroperasi secara benar.
- Module Testing => Pengujian terhadap koleksi unit-unit komponen yang saling berhubungan.
- Sub-sistem Testing => Pengujian terhadap koleksi modul-modul yang membentuk suatu sub-sistem.
- Sistem Testing => Pengujian terhadap keterhubungan antar sub-sistem.
- Penerimaan Testing
- Pengujian terakhir sebelum sistem dipakai oleh user.
- Melibatkan pengujian dengan data dari pengguna sistem.
- Biasa dikenal sebagai “alpha test”.
Proses Testing
- Component testing
- Pengujian komponen-komponen program
- Biasanya dilakukan oleh component developer
- Integration testing
Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk sub-sistem ataupun system dan dilakukan oleh tim penguji yang independent.
Deskripsi fase-fase utama dalam pengujian.
- Proses testing
Deskripsi fase-fase utama dalam pengujian.
- Pelacakan kebutuhan
Semua kebutuhan user diuji secara individu.
- Item yang diuji
Menspesifikasi komponen sistem yang diuji.
- Jadwal testing
- Prosedur pencatatan hasil dan prosedur
- Kebutuhan akan hardware dan software
- Kendala-kendala
Failures, Faults
- Failure: output yang tidak benar/tidak sesuai ketika sistem dijalankan.
- Fault: kesalahan dalam source code yang mungkin menimbulkan failure ketika code yang fault tersebut dijalankan.
Prioritas Testing
- Hanya test yang lengkap yang dapat meyakinkan sistem terbebas dari kesalahan, tetapi hal ini sangat sulit dilakukan.
- Prioritas dilakukan terhadap pengujian kemampuan sistem, bukan masing-masing komponennya.
- Pengujian untuk situasi yang tipikal lebih penting dibandingkan pengujian terhadap nilai batas.
Test Data dan Kasus Test
- Test data: Input yang direncankan digunakan oleh sistem.
- Test cases: Input yang digunakan untuk menguji sistem dan memprediksi output dari input jika sistem beroperasi sesuai dengan spesifikasi.
Rangkuman Pertemuan 2
Integration Testing
Adalah pengujian keseluruhan sistem atau sub-sistem yang terdiri dari komponen yang terintegrasi. Beberapa pendekatan yang dilakukan yaitu :
- Top-down testing
- Bottom-up testing
Integrasi komponen dari level bawah hingga sistem lengkap sudah teruji. Pada prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua strategi pengujian tersebut.
Interface Testing
Dilakukan jika modul-modul dan sub-sistem terintegrasi dan membentuk sistem yang lebih besar. Tujuannya untuk medeteksi fault terhadap kesalahan interface atau asumsi yang tidak valid. Interface testing terdiri dari beberapa tipe, yaitu :
- Parameter interfaces
- Shared memory interfaces
- Procedural interfaces
- Message passing interfaces
Interface Errors
- Interface misuse
Komponen pemanggil memanggil komponen lainnya dan membuat suatu kesalahan dalam penggunaan interfacenya.
- Interface misunderstanding
Komponen pemanggil salah dalam mengasumsikan behaviour komponen yang dipanggil.
- Timing errors
Komponen yang memanggil dan yang dipanggil beroperasi pada kecepatan yang berbeda.
Petunjuk Melakukan Interface Testing
- Merancang test dimana parameter ke prosedur yang dipanggil berada pada nilai batas extrim
- Test menggunakan null pointer
- Perancangan test sehingga komponen yang di test akan fail.
- Menggunakan stress testing pada message passing
- Pada shared memory systems, variasikan urutan dimana komponen diaktifkan.
Stress testing => Menguji sistem dengan nilai yang melebihi maksimum load. Stressing suatu sistem menyebabkan tidak mudah kerusakan dengan mencek kehilangan service yang tidak diduga ataupun data yang hilang.
Rangkuman Pertemuan 3
Object-oriented testing => Lebih besar dibandingkan pengujian sebuah function sehingga pendekatan white-box testing perlu diperluas. Komponen yang diuji adalah class object yang di instantiate ke object.
Testing Levels
- Testing operations pada objects
- Testing object classes
- Testing clusters cooperating objects
- Testing OO system secara lengkap
Pengujian Class => Menguji terhadap semua operation yang ada dan perubahan atribut-atributnya.
Object Class Testing
Complete test yang menguji class melibatkan
- Testing semua operations suatu object
- Setting dan interrogating semua attribute object
- Menguji object untuk semua keadaan yang mungkin
Cluster Testing
- Cluster testing digunakan untuk test integrasi and testing clusters terhadap cooperating objects.
- Identifikasi clusters menggunakan knowledge operation objects dan system features yang diimplementasikan oleh cluster tersebut
Rangkuman Pertemuan 4
Scenario-based Testing
- Identifikasi skenario dari use-cases dan menambahkannya dengan diagram interaksi yang menunjukkan object-object yang terlibat dalam scenario.
- Lihat contoh scenario berikut ini pada sistem weather station ketika suatu report dibuat.
Testing Workbenches
- Testing merupakan suatu proses yang cukup mahal. Testing workbenches menyediakan tool-tool untuk mereduksi waktu yang dibutuhkan dan total cost pengujian.
- Kebanyakan testing workbenches merupakan open systems karena kebutuhan testing tergantung dari spesifikasi organisasi.
Testing Workbench Adaptation
- Scripts dibuat untuk user interface simulator dan model test data generator.
- Test outputs harus disiapkan secara manual sebagai pembanding.
- Special-purpose file comparators harus dibuat.
Rangkuman Pertemuan 5
Prinsip Pemilihan Bahasa Pemrograman
Memiliki sintaks yang jelas
Memiliki semantik yang jelas
Precedence operator dalam expresi mudah dimengerti
Modular dan Information hiding
- Model Integrasi sub-modul yang dapat di-link oleh beberapa sub-modul lain secara independent.
- Setiap sub-modul yang di-link tersebut menjadikan suatu model abstraksi untuk information hiding.
- Ø Abstraksi
Tersedia fasilitas untuk mendefinisikan tipe data baru sbg abstraksi data, maupun abstraksi algoritma.
- Ø Orthogonal
Hanya ada satu cara dalam mengekspresikan suatu action, tidak bergantung tehadap komponen lain (tipe data composite dan return function sesuai tipe data yang diinginkan).
- Ø Portability
Dapat diinstal proses kompilasi pada beberapa jenis mesin dan OS.
- Ø Structure
- Control flow
- Name scope (bagaimana menggunakan referensi variable) -> pointer
- Typing (static, dynamic)
- Compiler dapat mendeteksi error melalui check yang konsisten.
- Efisiensi
- Seragam dalam penggunaan statement
- Dapat mengantisipasi kondisi exception
- Mampu menangani proses yang concurrent (bersamaan) -> multithread, parallel processing
Kategori Aplikasi
- Paradigma pemrosesan data
- Paradigma komputasi numerik
- Paradigma berorientasi proses
- Paradigma system-programming
- Paradigma proses auto-adaptive
Rangkuman Pertemuan 6
Pengujian Aplikasi Server
Volume Testing
- Menemukan kelemahan sistem selama melakukan pemrosesan data dalam jumlah yang besar dalam periode waktu yang singkat.
- Tujuan: meyakinkan bahwa sistem tetap melakukan pemrosesan data antar batasan fisik dan batasan logik.
Stress Testing
- Tujuan:mengetahui kemampuan sistem dalam melakukan transaksi selama periode waktu puncak proses.
Performance Testing
- Dilakukan secara paralel dengan Volume dan Stress testing untuk mengetahui unjuk kerja sistem (waktu respon, throughput rate) pada beberapa kondisi proses dan konfigurasi.
Data Recovery Testing
- Investigasi akan dampak kehilangan data melalui proses recovery ketika terjadi kegagalan proses.
Data Backup and Restore Testing
- Dilakukan untuk melihat prosedur back-up dan recovery.
- Dilakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses backup dan recovery.
Data Security Testing
- Privilege access terhadap database diujikan pada beberapa user yang tidak memiliki privilege access ke database.
- Shutdown database engine melalui operating system (dengan beberapa perintah OS) yang dapat mematikan aplikasi database.
Test Case
- Untuk White-box testing
Pengujian struktur logik internal
Perintah spesifik yang diujikan:
- SELECT
- OPEN/CLOSE
- COPY-REPLACE
- IF statement
- REPEAT UNTIL – DO-WHILE LOOP
- CALL
- Untuk Black-box testing
- Pengujian fungsional sistem berdasarkan input – output
- Membagi input – output ke dalam beberapa kelas (kelas ekuivalensi pada boundary input).
- Menggunakan input yang tidak sesuai spesifikasi (negatif, di luar range)
Kegiatan Implementasi System
- Menyiapkan Rencana Implementasi
- Rencana Functional Test
- Rencana Data Conversion
- Rencana System Cutover
- Rencana Training User
- Membuat dan Test Networks
- Install Hardware
- Membuat Database Structures Production dan Test Databases
Rangkuman Pertemuan 7
Sistem Acceptance Test
Bertujuan untuk menguji apakah sistem sudah sesuai dengan apa yang tertuang dalam spesifikasi fungisonal sistem (validation),
Terdiri dari dua tahapan: Sebelum pengiriman dan setelah instalasi,
Melibatkan semua aspek sistem: hardware, software aplikasi, environment software, tempat, dan operators.
Test dokumentasi terdiri dari tujuh bagian, diantaranya :
- Test Filosofi
Untuk meyakinkan bahwa sistem sudah memiliki:
- Keamanan dan keselamatan dalam operasional,
- Kehandalan,
- Dapat dirawat secara cost-effective,
- Dapat dimodifikasi untuk menyesuaikan dengan perubahan kebutuhan operasional.
- Test Plan
Merupakan dokumentasi yang menjelaskan jadwal untuk pre-delivery dan site acceptance test.
Jadwal test: urutan Test yang menyatakan kaitan antara test satu dengan yang lainnya dan masing-masing test tersebut sesuai dengan salah satu kebutuhan user.
- Spesifikasi Test
Setiap test yang akan dilakukan harus dispesifikasikan secara detail oleh pengembang dan disetujui oleh user. Spesfikasi tersebut terdiri dari:
- Judul dan referensi tunggal
- Tujuan yang secara spesifik sesuai dengan Functional Requirement
- Lokasi pengujian
- Syarat Pengujian: mis.: nilai marginal input, supplies, dan lingkungan yang digunakan
- Konfiguasi Test: versi dan isu hardware, software, test dan bantuan simulasi
- Spesifikasi input dan output
- Detail prosedur operasional pengujian
- Hasil yang dinginkan dan batasan untuk penerimaan
- Format untuk merekam hasil, details kesalahan dan instruksi untuk melakukan test ulang, perekaman terhadap retensi dan analisis
- Pre-Delivery Test
Dilakukan melalui simulasi terhadap tempat yang implementasi sistem. Syarat utk memulai pengujian: konfiramsi terhadap kebenaran data, dokumen, software aplikasi dan test khusus atau software simulasi, dan ketersediaan lingkungan yang sesuai, pelayanan dan personal yang cocok,
- Test Log
Log semua operasi dan kejadian selama test (yang terencana maupun tidak) termasuk full detail insiden, error, failure, retest, restart.
- Test Summary
lsiting semua kegagalan test (termasuk pengulangan), kejadian yang tidak dapat dijelaskan dan non-conformances terhadap Functional test.
- Site Acceptance Test
Semua pengujian pada pre-delivery sudah dilakukan dan diterima. Hal tambahan yang dilakukan :
- Delivery check: pengecekan terhadap kerusakan HW, SW dan dokumnetasi selama pengiriman,
- Test Hardware: tidak terdapat kerusakan selama pengimpanan dan pengiriman, sudah install dengan baik, beroperasi dengan baik di lingkungan tempat yang akan diinstal (listrik, ruangan, dll).
- Modifikasi pre-delivery test: semua modifikasi sebagai konsekuensi dari masalah yang akan muncul selama pre-delivery test harus dijadikan sebagai test tambahan.
- Pengujian terhadap semua peralatan.
Rangkuman Pertemuan 8
Automated test execution: meminimalkan jumlah kerja manual pada saat pengujiaan sehingga memperoleh nilai coverage yang lebih tinggi. Code coverage adalah metrik yang numerik yang mengukur elemen code (brach, statement, path dan data) yang sudah diujikan. Penggunaan tool pengujian code coverage dapat membantu mempercepat proses pengujian
Use case adalah visualisasi keinginan user yang dibuat dalam bentuk UML(Unified Modeling Language). Dalam pembentukan sebuah test case didasarkan oleh dua hal, yaitu basic flow (sistem berjalan dengan normal) dan alternate flow (alternatif jalannya sistem).
Contoh :
- Flow Normal : Logon -> Select “Create Schedule” -> Obtain Course Information -> Select Course -> Submit Schedule -> Display Completed Course.
- Alternate Flow: Unidentified Student; Quit at anytime; Unfulfilled Prerequisite, Course Full, Schedule Conflict; Course Catalog Unavailable; Course Registration is Closed.
Proses yang dilakukan dalam pembuatan test case sebagai berikut :
- Generate Scenarios
- Identify Test Cases
- Identify Data Values to Test
Rangkuman Pertemuan 9
System Construction/Implementation
- Memverifikasi bahwa pondasi telah diletakkan sehingga konstruksi dapat berjalan dengan sukses
- Merancang dan menulis rutinitas dan modul
- Membuat tipe data dan variabel penamaan
- Memilih struktur kontrol dan mengatur blok pernyataan
- Menemukan dan memperbaiki kesalahan
- Meninjau desain dan kode tingkat rendah anggota tim lainnya dan meminta mereka untuk meninjau Anda
- Memoles kode dengan memformat dan berkomentar dengan hati-hati
- Mengintegrasikan komponen perangkat lunak yang telah dibangun secara terpisah
- Kode tuning untuk membuatnya lebih kecil dan lebih cepat
- Tulisan tangan Perangkat Lunak: Kode Penulisan
- Pertanian Perangkat Lunak: Menumbuhkan Sistem
- Perangkat Lunak Pertanian Tiram: Akresi Sistem
- Konstruksi Perangkat Lunak: Perangkat Lunak Bangunan
PDL (Program Design Language)
- Gunakan pernyataan seperti bahasa Inggris yang secara tepat menggambarkan operasi tertentu
- Hindari elemen sintaksis dari bahasa pemrograman target
- Tulis PDL pada tingkat niat
- Tulis PDL pada level yang cukup rendah sehingga menghasilkan kode hampir otomatis
Benefits of using PDL
- PDL membuat ulasan lebih mudah
- PDL mendukung gagasan perbaikan berulang
- PDL membuat perubahan lebih mudah
- PDL meminimalkan upaya komentar
- PDL lebih mudah dirawat daripada bentuk lain dari dokumentasi desain
Rangkuman Pertemuan 10
Sistem Implementasi
- Training Personal
- Konversi Sistem
- Review post-implementation
- Dokumentasi
- Dukungan lain :
- Teknisi & Administrator yang akan bertugas merawat sistem
- Application user (user pd umumnya)
- General Manager
- Konversi sistem secara langsung
- Konversi paralel
- Konversi Phase- In
- Konversi Pilot
- Dokumentasi Proses
- Dokumentasi Produk
Training
Tipe Training disesuaikan dengan keadaan lingkungan implementasi system.
- Eksternal Training: kursus dari vendor pelatihan
- Internal Training: On the Job Training
- Belajar Sendiri
Memilih Staf yang akan dilatih terdiri dari tiga kelompok user, yaitu :
Pelatihan untuk Administrator:
- Set-up sistem awal
- Rutinitas harian
- Diagnosis kesalahan
- Menulis sistem log
- Trouble shooting
- Penanganan Keamanan
- Melakukan perubahan, penghapusan
- Melakukan Backup
Aplikasi Training
- Set up files
- Proses transaksi
- Validasi data
- Update batch
- Prosedur akhir-hari
- Mencetak laporan
- Pemahaman pesan kesalahan
Konversi Sistem Baru
Disebut juga sbg Cold Turkey yaitu langsung menghentikan sistem lama dan menjalankan sistem baru.
Sistem lama dan sistem baru beroperasi bersamaan untuk periode waktu tertentu.
Sistem baru diimplementasikan secara gradual, sedikit demi sedikit -> memeberikan waktu lebih utk asimilasi prubahan.
Sistem diinstal hanya pada sebagian organisasi (mis. Kantor cabang atau pabrik).
Evaluasi Sistem Baru
Bertujuan untuk mendapatkan cara meningkatkan efisiensi dan efektifitas sistem baru, serta memberikan informasi untuk pengembangan sistem mendatang.
Dokumentasi
Merekam proses pengembangan dan perawatan. Isi dokumentasi proses adalah: perencanaan, jadwal, kualitas proses, standard proses.
Menggambarkan produk yang sedang dikembangkan dari sudut pandang engineer pengembang/perawatan. Yang termasuk dokumentasi produk adalah: user manual, help.
Rangkuman Pertemuan 11
Penyebab error dalam software berbeda dengan hardware.
- Hardware (manufacture, rusak/terlalu lama dipergunakan)
- Software : tidak mendapatkan requirement yang benar; tidak mendapatkan requirement dengan benar, tidak menerjemahkan requirement dalam suatu cara yang jelas sehingga tidak dapat dipahami oleh programmer.
Maintainable Design
- Kunci untuk mengurangi kebutuhan maintenance adalah:
- Menetapkan user requirement lebih akurat selama sistem development
- Menyusun dokumentasi sistem yang lebih baik
- Menggunakan metoda yang lebih efektif untuk mendesign pemrosesan logic dan mengkomunikasikannya ke anggota project team
- Penggunaan tool dan teknik secara lebih baik
- Mengelola proses engineering system dengan efektif
- Bottom Up testing: dimulai dari modul yang paling rendah dan paling kecil dan menuju ke modul yang lebih besar
- Top Down testing: dimulai dari modul yang lebih tinggi dan turun ke modul yang lebih rendah
Program Structure Charts
- Design yang di strukturkan dengan baik akan meningkatkan maintainability system.
- Struktur chart dikembangkan secara top down dan modular.
- Hubungan antar modul bersifat terbatas dan interaksi datanya minimal, sehingga meningkatkan kualitas sistem dan mempermudah maintenance.
- Tujuan struktur charts untuk identifikasi data yang dilewatkan antar masing-masing module yang saling berinteraksi.
Tingkat Testing
- Unit testing:
- Unit program adalah modules atau rutin yang digabung untuk melaksanakan fungsi tertentu.
- Unit testing fokus pada masing-masing modul dan dilakukan secara independen untuk menemukan error.
- System Testing
- Pengujian atas integrasi setiap modul dalam sistem
- Tujuan: menemukan kelemahan sistem dari sisi objektif, spesifikasi dan dokumentasi, termasuk kompatibilitas masing-masing modul.
TUGAS
Tugas 1 Aplikasi Sistem Informasi Laundry (Download)
Tugas 2 Alpha Hasil Black-Box Testing (Download)
Tugas 2 Beta Hasil Black-Box Testing (Download)
Tugas 3 (Download)
SUMBER :
https://ceriamarcelina.wordpress.com/2012/12/25/rangkuman-mata-kuliah-testing-implementasi/