Strategi Pengujian Perangkat Lunak

Slides:



Advertisements
Presentasi serupa
Rekayasa Perangkat Lunak
Advertisements

DASAR-DASAR PENGUJIAN PERANGKAT LUNAK
BAB 8 PENGUJIAN PERANGKAT LUNAK
Implementation & Testing Eri Prasetyo Bahan Kuliah MM Sistem Informasi Sources : -Juha Roning, Marko Laakso, Ari takanen, Oulu university,
Software testing Rizqi Prifsanti ( ).
REKAYASA PERANGKAT LUNAK
Pengujian Sofware – strategi
Pengujian Software - Pelaksanaan
Testing.
Pengujian pada Perangkat Lunak
Teknik Pengujian Perangkat Lunak
PENGUJIAN / TESTING Ana Kurniawati.
TEKNIK PENGUJIAN PERANGKAT LUNAK
Proses Testing System Testing Acceptance Testing
STRATEGI PENGUJIAN PERANGKAT LUNAK
Testing dan Implementasi
Dasar-dasar Pengujian Perangkat Lunak
Object-oriented testing
Strategi Pengujian Perangkat Lunak
Pengujian Perangkat Lunak Shinta P.. Pengujian perangkat lunak : Menjalankan program dengan maksud untuk mengetahui kesalahan (error) program, mengukur.
Methods for Software Engineering CHAPTER 5 Software Project Planning Software engineering: a practitioner’s approach / Roger S. Pressman.—5th ed.
TEKNIK TESTING DAN STRATEGI TESTING
KONSTRUKSI DAN IMPLEMENTASI SISTEM
Systems Development Life Cycle
Integration testing Pengujian keseluruhan system atau sub-system yang terdiri dr komponen yg terintegrasi. Test integrasi menggunakan black-box dengan.
VALIDASI SOFTWARE (Nelly Sofi).
Strategi Pengujian Perangkat Lunak
Tim RPL Teknik Informatika 2017
BAB 1 PENGUJIAN PERANGKAT LUNAK
14. PENGUJIAN PERANGKAT LUNAK
TEKNIK PENGUJIAN PERANGKAT LUNAK
Strategi Pengujian Perangkat Lunak
Rekayasa Perangkat Lunak Metode Pengujian Perangkat Lunak
REKAYASA PERANGKAT LUNAK
TESTING & IMPLEMENTASI SISTEM
Rekayasa Perangkat Lunak
Strategi Pengujian Perangkat Lunak
Rekayasa perangkat lunak (rpl)
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-9)
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-9)
SIKLUS HIDUP PEMBANGUNAN SOFTWARE
Strategi Pengujian Perangkat Lunak & Sistem
Testing dan Implementasi
Dasar – dasar pengujian perangkat lunak
Server Application Testing
Rekayasa Perangkat Lunak Dosen : Citra Noviyasari, S.Si, MT
Dasar-dasar Pengujian Perangkat Lunak
TESTING DAN IMPLEMENTASI SISTEM (Pertemuan Ke-10)
TESTING DAN IMPLEMENTASI SISTEM
Testing dan Implementasi SI220A
Testing dan Implementasi
Validasi dan Verifikasi Software
TEKNIK PENGUJIAN PERANGKAT LUNAK
TEKNIK PENGUJIAN PERANGKAT LUNAK
Dasar-dasar Pengujian Perangkat Lunak
TESTING DAN QA SOFTWARE PERTEMUAN 10 & 11
Testing dan Implementasi
Pengujian Perangkat Lunak
Strategi Pengujian Perangkat Lunak
TEKNIK PENGUJIAN PERANGKAT LUNAK
KONSTRUKSI DAN IMPLEMENTASI SISTEM
Tim RPL Teknik Informatika 2018
Dasar-dasar Pengujian Perangkat Lunak
Strategi Pengujian Perangkat Lunak
Strategi Pengujian Perangkat Lunak
Dasar-dasar Pengujian Perangkat Lunak
Dasar-dasar Pengujian Perangkat Lunak
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Strategi Pengujian Perangkat Lunak
Strategi Pengujian Perangkat Lunak
Transcript presentasi:

Strategi Pengujian Perangkat Lunak Minggu ke 6

Pentingnya pengujian sistem Pengujian perangkat lunak dilakukan untuk menentukan keberadaan, kualitas, dan kemurnian dari atribut-atribut sistem aplikasi. Pengujian dilakukan dengan memanfaatkan tool dan teknik. Semakin baik struktur dari proses pengujian, semakin baik pula hasil pengujiannya

Konsep kecocokan aplikasi Keefektifan dari aplikasi komputer dalam lingkungan bisnis ditentukan dari tingkat kecocokan aplikasi tersebut dalam lingkungan operasinya. Kecocokan (fit) merupakan suatu konsep yang menekankan pada bagaimana tingkat kegunaan (usable), pembantuan (helpful) dan manfaat dari unjuk kerja aplikasi dalam membantu tugas-tugas pemakai. Semakin baik tingkat bantuan aplikasi kepada pemakai, semakin baik tingkat "kecocokannya "

Konsep kecocokan ini penting dalam aspek desain maupun pengujian. Desain harus bertujuan untuk membangun aplikasi yang "cocok" dengan proses bisnis pemakai dan proses pengujian harus dapat meyakinkan tingkat kecocokan yang dikehendaki dipenuhi. Pengujian yang berkonsentrasi pada struktur dan kebutuhan (requirement) dapat gagal memenuhi aspek kecocokan.

Aspek Kecocokan Data: data yang andal, timelines (tepat waktu), konsisten dan banyak berguna (useful) terkendali dalam aplikasi yang diotomatisasi bagi pemakai. Orang-orang: keahlian, training, kemampuan belajar dan kesenangan untuk menggunakan dan berinteraksi dengan aplikasi yang diotomatisasi. Struktur: pembangunan yang tepat dari sistem aplikasi untuk mengoptimalkan tcknologi dan memenuhi kebutuhan. Aturan-aturan: prosedur-prosedur yang harus dipatuhi dalam pemrosesan data.

Tools vs Teknik Tool merupakan 'kendaraan" untuk melakukan proses pengujian. Tool merupakan sumber bagi penguji, tapi tool sendiri tidak dapat melaksanakan pengujian. Teknik pengujian adalah proses untuk meyakinkan bahwa beberapa aspek dari sistem aplikasi berfungsi dengan baik. Ada sedikit teknik, tapi ada banyak tool. Konsep dari tool dan teknik ini penting dalam proses pengujian. Kombinasi keduanya memungkinkan untuk dilakukannya proses pengujian.

Tools vs Teknik Tool merupakan 'kendaraan" untuk melakukan proses pengujian. Tool merupakan sumber bagi penguji, tapi tool sendiri tidak dapat melaksanakan pengujian. Teknik pengujian adalah proses untuk meyakinkan bahwa beberapa aspek dari sistem aplikasi berfungsi dengan baik. Ada sedikit teknik, tapi ada banyak tool. Konsep dari tool dan teknik ini penting dalam proses pengujian. Kombinasi keduanya memungkinkan untuk dilakukannya proses pengujian.

S/W Testing tools Tools pengujian perangkat lunak dikelompokkan menjadi : Test Management tools Functional Testing Tools Load Testing Tools

Opensource S/W Testing tools

Proprietary S/W Testing tools

Testing Strategies Tools pengujian perangkat lunak dikelompokkan menjadi : Top-Down Bottom-Up Big Bang Sandwich

Proses Testing Unit Testing Module Sub-system System Acceptance User Component Testing Integration Testing User

Proses Testing Unit testing Module Testing Sub-system Testing Pengujian masing-masing unit komponen program untuk meyakinkan bhw sudah beroperasi secara benar Module Testing Pengujian terhadap koleksi unit-unit komponen yang saling berhubungan. Sub-system Testing Pengujian terhadap koleksi module-module yang membentuk suatu sub-system (aplikasi)

Proses Testing System Testing Acceptance Testing Pengujian terhadap integrasi sub-system, yaitu keterhubungan antar sub-system Acceptance Testing Pengujian terakhir sebelum sistem dipakai oleh user. Melibatkan pengujian dengan data dari pengguna sistem. Biasa dikenal sebagai “alpha test” (“beta test” untuk software komersial, dimana pengujian dilakukan oleh potensial customer)

Proses Testing Component testing Integration testing Pengujian komponen-komponen program Biasanya dilakukan oleh component developer (kecuali untuk system kritis) Integration testing Pengujian kelompok komponen-komponen yang terintegrasi untuk membentuk sub-system ataupun system Dilakukan oleh tim penguji yang independent Pengujian berdasarkan spesifikasi sistem

Hirarki pengujian P/L

Hubungan antara rencana pengujian dan proses pengembangan sistem Spesifikasi Kebutuhan Spesifikasi Sistem Perancangan Sistem Detail Perancangan Acceptance Test plan System Integration Test plan Sub-System Integration Test plan Module and Unit code and test System Integration test Sub-System Integration test Acceptance test Service

Pendekatan Strategis ke pengujian perangkat lunak Pengujian Unit Pengujian Integrasi Pengujian Validasi Pengujian Sistem

Pengujian Unit Berfokus pada inti terkecil dari desain perangkat lunak yaitu modul Biasanya berorientasi pada white box MODUL Interface Struktur data lokal Kondisi Batas Jalur independen Jalur penanganan kesalahan Test Case

Pengujian Unit 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?

Pengujian Unit 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 fungsi-fungsi built-in sudah benar? Adakah referensi ke parameter yang tidak sesuai dengan poin entri yang ada? Apakah argumen input only diubah?

Pengujian Unit Apakah definisi variabel global konsisten dengan modul ? Apakah batasan yang dilalui merupakan argumen? Test case harus didesain 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

Seberapa baik sistem yang sudah dibangun ? Dua Aspek yang dipertimbangkan: Apakah implementasi sudah sesuai dengan spesifikasi ? Apakah spesifikasi sesuai dengan kebutuhan user ? Validasi “Apakah sistem yang dikembangkan sudah benar?” Pengujian dimana sistem ketika diimplementasikan sesuai dengan yang iharapkan Verifikasi “Apakah sistem dikembangkan dengan cara yang benar ?” Pengujian apakah sistem sudah sesuai dengan spesifikasi

Integration testing Pengujian keseluruhan system atau sub-system yang terdiri dr 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.

Incremental integration testing

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.

Top-down testing

Bottom-up testing

Pendekatan Testing Architectural validation System demonstration Top-down integration testing lebih baik digunakan dalam menemukan error dalam sistem arsitektur. System demonstration Top-down integration testing hanya membatasi pengujian pada awal tahap pengembangan system. Test implementation Seringkali lebih mudah dengan menggunakan bottom-up integration testing

Interface testing Dilakukan kalau module-module dan sub-system terintegrasi dan membentuk sistem yang lebih besar Tujuannya untuk medeteksi fault terhadap kesalahan interface atau asumsi yg tidak valid terntang interface tsb. Sangat penting untuk pengujian terhadap pengembangan sistem dgn menggunakan pendekatan object-oriented yg didefinisikan oleh object-objectnya

Pengujian Validasi Kajian Konfigurasi (audit) Elemen dari proses validasi Memastikan apakah semua elemen konfigurasi perangkat lunak telah dikembangkan dengan tepat

Pengujian Validasi Pengujian Alpha dan Beta Pengujian Alpha Usability labs Usability factors checklist Pengujian Beta

Pengujian Sistem Pengujian Perbaikan Pengujian Keamanan Pengujian Stress Pengujian Kinerja

Pengujian Aplikasi Server Volume Testing Stress Testing Performance Testing Data Recovery Testing Data Backup and Restore Testing Data Security Testing

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 anatar batasan fisik dan batasan logik. Contoh: Mengujikan proses antar server dan antar partisi hardisik pd satu server.

Stress Testing Tujuan: mengetahui kemampuan sistem dalam melakukan transaksi selama periode waktu puncak proses. Contoh periode puncak: ketika penolakan proses login on-line setelah sistem down atau pada kasus batch, pengiriman batch proses dalam jumlah yg besar dilakukan setelah sistem down. Contoh: Melakukan login ke server ketika sejumlah besar workstation melakukan proses menjalankan perintah sql database.

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. Dilakukan pada semua konfigurasi sistem perangkat keras dan lunak. Mis.: pd aplikasi Client-Server diujikan pd kondisi korporate ataupun lingkungan sendiri (LAN vs. WAN, Laptop vs. Desktop) Menguji sistem dengan hubungannya sistem ke lain pada server yg sama. Load Balancing Monitor Network Monitor

Performance testing tools Below is the comprehensive list of most widely used performance testing tools for measuring web application performance and load stress capacity. These load testing tools will ensure your application performance in peak traffic and extreme stress conditions.

Top 15 Performance Testing Tools Apache JMeter NeoLoad LoadRunner LoadUI WebLOAD WAPT Loadster LoadImpact Rational Performance Tester Testing Anywhere OpenSTA QEngine (ManageEngine) Loadstorm CloudTest Httperf

Data Recovery Testing Investigasi dampak kehilangan data melalui proses recovery ketika terjadi kegagalan proses. Penting dilakukan karena data yg disimpan di server dapat dikonfigurasi dengan berbagai cara. Kehilangan Data terjadi akibat kegagalan sistem, hardisk rusak, peghapusan yg tidak sengaja, kecelakaan, virus dan pencuri.

Data Backup and Restore Testing Dilakukan untuk melihat prosedur back-up dan recovery. Diakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses backup dan recovery. Pengujian dilakukan terhadap strategi backup: frekuensi , medium, waktu, mekanisme backup (manual/ otomatis), personal, ? Berapa lama backup akan disimpan. Switching antara live dan backup server ketika terjadi kerusakan (load log transaction pada back-up kemudian melaku 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) yg dapat mematikan aplikasi database.

Debugging Test Case Hasil Eksekusi case of case Pengujian Tambahan Penyebab yang dicurigai Debugging Penyebab yang diidentifikasi Koreksi Pengujian regresi Hasil