& Implementasi Sistem Halaman : 1 dari 8 1. Pendahuluan a. Terminologi b. Jenis-jenis Kesalahan c. Penjaminan Kualitas VS Pengujian d. Technique e. Stages f. Strategies 2. White Box a. Basis Path b. Control Structure c. Statement d. Branch e. State-base 3. Black Box a. Equivalence Class Partitioning b. Boundary Value Analysis c. Comparison 4. Stages a. Component b. Integration c. User /Acceptance 5. Strategies a. Big-Bang b. Top-Down c. Bottom-Up d. Sandwich Compromise 6. Performance a. Stress b. Volume c. Configuration d. Compatibility
e. Security 7. Performance a. Timing b. Environmental c. Quality d. Recovery e. Human Factor 8. Life-Cycle 9. Team & Implementasi Sistem Halaman : 2 dari 8
& Implementasi Sistem Halaman : 3 dari 8 Kode Mata Kuliah Nama Mata Kuliah Beban Kredit Prasyarat : : : : IF048 dan Implementasi Sistem 2 SKS (Inti) - Rekayasa Perangkat Lunak - Pengelolaan Sistem Informasi Strategi : 1. Menjelaskan konsep 2. Memperagakan 3. Studi kasus 4. Praktikum Uraian : Matakuliah ini akan memberikan pemahaman & mengajarkan tentang 1. Terminologi yang dipakai pada lingkup pengujian perangkat lunak 2. Teknik-teknik pengujian perangkat lunak 3. Tahap-tahap pengujian perangkat lunak 4. Strategi pengujian perangkat lunak Media : 1. White board & spidol 2. OHP + Transparansi 3. LCD + Komputer Evaluasi : 1. Tanya jawab 2. Kuiz 3. Paper / Proyek 4. PR Sasaran : Mahasiswa mampu merancang & melakukan pengujian terhadap perangkat lunak Daftar Pustaka : 1. Software Engineering : A Practitioner's Approach, Roger S Pressman, McGraw-Hill, 2002 2. Software Engineering, Ian Sommerville 3. Object Oriented Software Engineering: Conquering Complex and Changing Systems, Bernd Bruegge, Allen Dutoit 4. Software, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 5. Black-Box, xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Minggu 1. Pendahuluan umum tentang Pengujian Perangkat Lunak Memperoleh pandangan umum tentang terminologi, teknik, tahapan & strategi yang dilakukan pada pengujian perangkat lunak 1. Terminologi 2. Jenis-jenis Kesalahan 3. Penjaminan Kualitas VS Pengujian 4. Technique 5. Stages 6. Strategies 2. White Box Mengajarkan teknik pengujian Basis Path 1,3 1,2 1,2,3
& Implementasi Sistem Halaman : 4 dari 8 3. White Box 4. White Box memeriksa struktur program memeriksa struktur program memeriksa struktur program berdasarkan jalur lingkup. Dimulai dengan membuat notasi flow graph, dilanjutkan dengan menghitung tingkat kompleksitas Mc.Cabe untuk dipakai dalam merancang kasus tes yang dapat dipakai dalam pengujian Mengajarkan teknik pengujian yang didasarkan pada struktur kontrol sebuah program. Teknik pertama memeriksa semua kondisi yang ada di dalam sebuah perangkat lunak Teknik dua memeriksa alur data yang mengalir untuk mencari letak penyimpangan yang terjadi Teknik tiga memeriksa semua pengulangan (loop) yang ada, apakah telah berja seperti yang dirancang Mengajarkan teknik pengujian terhadap struktur program berdasarkan perintahperintah yang dituliskan. Teknik pertama menguji semua pilihan perintah yang dipakai di dalam perangkat lunak apakah sudah tepat seperti yang diharapkan. Teknik dua memeriksa semua luaran dari perintah yang berakibat terjadi pencabangan alur proses di dalam sebuah perangkat lunak. Teknik tiga merancang kasus tes yang dirancang dari state chart diagram untuk masing-masing class 1. Flow-Graph Notation 2. Cyclomatic Complexity 3. Deriving Test Cases Control Structure 1. Conditions 2. Data Flow 3. Loop 1. Statement 2. Branch 3. State-base 1,3 1,2 1,2 1,3 1,2 1,2
& Implementasi Sistem Halaman : 5 dari 8 5. Black Box 6. Black Box 7. Black Box 8. Mid Test 9. Stages 10. Stages melihat program sebagai sebuah kotak hitam melihat program sebagai sebuah kotak hitam melihat program sebagai sebuah kotak hitam Tahapan di dalam Pengujian Perangkat Lunak Tahapan di dalam Pengujian Perangkat Lunak Mengajarkan teknik pengujian dengan membagi masukan menjadi dua las yang setara. Kelas yang mewakili lompok data yang benar sebagai masukan, dan las yang mewakili lompok data yang tidak benar. Mengajarkan teknik pengujian yang memakai nilai-nilai masukan yang berada pada batas-batas atas maupun batas bawah dari masukan Mengajarkan teknik pengujian yang dipakai untuk melakukan pembandingan dua atau lebih perangkat lunak yang sama atau mirip, untuk melihat lebihan ataupun kurangan masing-masing perangkat lunak. Mengajarkan tahapan-tahapan pengujian yang dilakukan pada komponen dari sebuah perangkat lunak. Teknik-teknik pengujian apa yang tepat diterapkan pada pengujian terhadap komponen dari program ditingkat unit & juga module. Mengajarkan tahapan-tahapan pengujian yang dilakukan pada saat pengintegrasian. Teknik-teknik pengujian apa yang dapat dipakai untuk menguji antarmuka-antarmuka yang saling terkait saat beberapa sub-system maupun Equivalence Class Partitioning 1,3 1,2 1,4 Boundary Value Analysis 1,3 1,2 1,4 Comparison Component Unit Module Integration Sub-System System
& Implementasi Sistem Halaman : 6 dari 8 11. Stages 12. Strategies 13. Performance Tahapan di dalam Pengujian Perangkat Lunak Strategi di dalam Pengujian Perangkat Lunak umum tentang beberapa jenis pengujian untuk tujuan system dipadukan atau diintegrasikan menjadi satu satuan perangkat lunak Mengajarkan tahapan-tahapan pengujian yang dilakukan pada saat akan diserahkan pada pemakai (user). Pengujian yang dilakukan dilingkungan pengembang & pengujian yang dilakukan dilingkungan pemakai (user) Mengajarkan strategi apa yang dapat dilakukan dalam rangka menerapkan teknik-teknik pengujian. Strategi big-bang menguji seluruhan perangkat lunak sebagai satu satuan. Strategi top-down menguji perangkat lunak dengan melakukan pengujian mulai dari lapis perangkat lunak yang paling atas, terus menurun sampai lapis yang paling bawah. Strategi bottom-up menguji perangkat lunak dengan melakukan pengujian mulai dari lapis perangkat lunak yang paling bawah, terus menaik sampai lapis yang paling atas. Strategi sandwich-compromise penguji perangkat lunak dengan melakukan pengujian mulai dari entry-point tertentu mudian bergerak atas ataupun bawah Mengajarkan & mempernalkan beberapa jenis pengujian yang dapat dipakai, dikaitkan dengan butuhan yang User /Acceptance Alpha Beta Big-Bang Top-Down Bottom-Up Sandwich Compromise Stress Volume Configuration 1,3 1,2 1,3
& Implementasi Sistem Halaman : 7 dari 8 14. Performance yang spesifik umum tentang beberapa jenis pengujian untuk tujuan yang spesifik sifatnya spesifik. Stress testing, memberi beban yang berlebihan pada perangkat lunak untuk menemukan daya tahan yang dapat dicapai. Volume testing, menguji perangkat lunak dengan memberi data yang berlebihan. Configuration, menguji berbagai variasi perangkat lunak diberbagai lingkungan perangkat lunak. Compatibility, menguji sesuaian sebuah perangkat lunak dengan sistem yang sedang dimanfaatkan. Security, pengujian untuk mencoba menembus tingkat amanan sebuah perangkat lunak. Mengajarkan & mempernalkan beberapa jenis pengujian yang dapat dipakai, dikaitkan dengan butuhan yang sifatnya spesifik. Timing, melakukan pengujian terhadap perangkat lunak untuk evaluasi terhadap waktu tanggap dan waktu proses yang dibutuhkan untuk menyelesaikan sebuah tugas. Environmental, adalah menguji toleransi perangkat lunak terhadap suhu, lembaban, gerak dan perpindahan. Quality, menguji realibility, maintainability & tersediaan sebuah perangkat lunak Compatibility Security Timing Environmental Quality Recovery Human Factor
& Implementasi Sistem Halaman : 8 dari 8 15. Life- Cycle & Team umum tentang daur hidup pengujian perangkat lunak & lompok penguji yang dapat dibentuk 16. Evaluasi Mengulang secara selintas semua materi yang telah diberikan Recovery, menguji response dari sebuah sistem terhadap hilangnya data ataupun penyimpangan yang terjadi Human Factor, menguji antarmuka perangkat lunak bersamasama dengan pemakai Menjelaskan bahwa daur hidup pengujian perangkat lunak mempunyai karakteristik tersendiri Menjelaskan lompok penguji perangkat lunak dapat dibentuk dengan berbagai syarat yang berbeda Diharapkan dapat lebih memberi pemahaman tentang teknik, tahapan & strategi di dalam pengujian perangkat lunak Life Cycle Team