











Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Materi pengenalan testing dan implementasi
Typology: Slides
1 / 19
This page cannot be seen from the preview
Don't miss anything!
Testing Purpose of software testing Testing & Implementation Phases in SDLC The basic of system testing Test Granularity IS THE “WHITE-BOX/BLACK-BOX” MODEL WRONG? Test Phase
Implementasi (implementation) adalah suatu proses yang mengubah sistem lama dengan sistem yang baru. Ada 4 pendekatan dalam mengubah sistem: Melakukan perubahan secara Paralel: Sistem lama dan sistem baru berjalan secara bersamaan sampai kurun waktu tertentu. Melakukan perubahan secara Langsung: Sistem lama dihentikan dan sistem baru mulai berjalan pada titik waktu tertentu. Melakukan perubahan secara Pilot: Menjalankan sistem baru dengan sistem pilot. Melakukan perubahan secara Bertahap: Menjalankan komponen/bagian dari sistem baru dengan tahapan-tahapan.
Pengujian Granularitas (Test Granularity)
Di banyak kesempatan tesing biasanya dilakukan di luar dari tim yang independen, dan yang baik adalah dilakukan dengan tim yang dapat dimanage. Disamping itu pengujian granularitas mengacu kepada tindakan yang dilakukan pada saat pengujian.
Rentang pengujian ini terdiri dari struktural sampai perilaku, seperti yang tertera pada gambar 1.1.
Pengujian granularitas terdiri dari: Pengujian Struktural (structural test/white-box)
Pengujian struktural mencari kesalahan/kegagalan dalam operasi tingkat rendah, seperti pada baris program yang dibuat oleh programmer, skema basis data maupun pada perangkat keras seperti komponen elektronik (kompatibilitas). Pengujian ini berdasarkan kepada bagaimana sistem ini bekerja pada lingkungan yang ditempatinya. Sebagai contoh aplikasi internet banking, pengujian struktural yang dilakukan adalah apakah aplikasi internet banking tersebut dapat berfungsi dengan baik diberbagai jenis browser (IE, Mozilla, Opera, Chrome, dll), skema basis datanya (hubungan antar tabel). Pengujian struktural dapat dilakukan oleh seorang yang ahli dalam bahasa pemograman dan menguasai pengetahuan teknis pengujian struktural. Pengujian Perilaku (behavioral test/black box) Pengujian perilaku digunakan untuk mencari kesalahan/kegagalan dalam operasi tingkat tinggi, yang mencakup kemampuan dari perangkat lunak, operasional/tata laksana, skenario pemakai. Fungsi dari pengujian ini berdasarkan kepada apa yang dapat dilakukan oleh sistem. Untuk melakukan pengujian perilaku seseorang harus mengerti lingkup dari aplikasi, solusi bisnis yang diberikan oleh aplikasi, dan tujuan sistem dibuat. Pengujian perilaku sebaiknya dilakukan oleh penguji yang mengerti merancangan sistem/aplikasi dengan kemampuan yang tinggi, sehingga mereka dapat menemukan kesalahan/kegagalan yang sering terjadi pada rancangan sistem tertentu secara efektif. Selain itu penguji harus mengerti isu-isu teknologi terkini seputar sistem yang sedang dilakukan pengujian, penguji juga mengerti mengenai pengujian perilaku secara khusus, agar dapat menemukan kesalahan/kegagalan dengan tepat. Pengujian perilaku yang baik, seperti pengujian struktural yang baik, terstruktur, menggunakan metoda, dan melakukan pengujian yang berulang-ulang sehingga didapati kelemahan dari sistem dan kegagalan/kesalahan sistem. Pengujian perilaku adalah teknik pengujian yang sering digunakan oleh organisasi pengujian independen. Contoh pengujian perilaku pada aplikasi internet banking, maka pengujian yang dilakukan adalah menjalankan aplikasi, memeriksa apakah semua fungsi pada aplikasi berjalan dengan baik. Pengujian Langsung (live tests) Pengujian langsung (live tests) adalah pengujian sistem yang dilakukan oleh pemakai, tenaga ahli konten, dan pemakai lainnya yang masih berhubungan dengan sistem. Dibeberapa kondisi didapati penguji diminta untuk mencari kekurangan dari sistem yang diuji. Pengujian ini biasa dikenal dengan Beta Testing. Penguji yang biasa melakukan pengujian langsung adalah technical support , business analyst /pemakai, tenaga penjual/pemasar. Pengujian langsung biasa dilakukan oleh vendor-vendor besar pembuat perangkat lunak, untuk mendapatkan masukan-masukan dari para penguji mengenai perangkat lunak yang dibuat.
Pengujian integrasi atau produk, pengujian untuk menemukan kegagalan/kesalahan hubungan atau antarmuka antara beberapa komponen dan group komponen pada sistem yang sedang diuji coba. Pengujian String (String Testing) Tahapan ini jarang dilakukan, pengujian string biasanya menggunakan scripts. Contoh dari pengujian string adalah seperti proses enkripsi dan dekripsi. Pengujian Sistem (System Testing) Pengujian sistem adalah pengujian yang dilakukan terhadap keseluruhan sistem yang telah digabungkan. Seperti unjuk kerja, proses intalasi, dan kesesuaian printer. Pengujian Penerimaan oleh Pemakai (User Acceptance Test) Pengujian ini adalah menguji kesesuaian sistem terhadap kebutuhan pemakai dan dilakukan oleh pemakai itu sendiri. Para vendor-vendor perangkat lunak biasanya menggunakan uji ini, biasa disebut dengan pengujian Beta. Pengujian Pilot (Pilot Test) Pengujian pilot adalan pengujian yang dilakukan oleh sebagian dari pemakai, dan pada lingkungan sebenarnya (lingkungan pemakai). Perangkat lunak/sistem diinstall pada komputer pemakai, dan pemakai menjalankan perangkat lunak sesuai dengan kondisi yang ada.
Keuntungan menggunakan tahapan pengujian adalah: Pengujian struktural menjamin stabilitas dari produk. Pengujian struktural dengan menggunakan pendekatan komponen/per bagian dapat dilakukan pengujian terlebih dahulu. Berdasarkan pendekatan diatas maka dimungkinkan kegagalan/kesalahan dapat ditemukan secara dini. Dapat mengumpulkan matrik yang lebih baik dan dapat menggunakan teknik best-practise dalam pengujian yang dilakukan. Tahapan menyediakan milestones yang nyata sehingga dapat dilakukan pengukuran waktu penyelesaian dari pengujian.
Definisi Kualitas Perangkat Lunak Fitur yang menentukan unjuk kerja dan kepuasan dari produk perangkat lunak. Terbebas dari keluhan pemakai, klaim, pengembalian produk, pembuatan kembali dan kerusakan lainnya. Pemakai dan konsumen akan menjadi wasit terhadap kualitas ketika mereka mengalami ketidakpuasan terhadap produk, dan mereka membuat keluhan, mengembalikan produk, atau menghubungi technical support.
Resiko Perbedaan Pengalaman dari Kualitas (The Perils of Divergent Experiences of Quality) Gambar 1.3 dan 1.4 menjelaskan mengenai 2 jenis dari sistem pengujian, High Fidelity Test System dan Low Fidelity Test System. Dalam gambar 1.3, sistem pengujian A memungkinkan penguji untuk mencakup kualitas resiko produk lebih besar dan cakupannya sesuai dengan pengalaman kualitas dari konsumen A. Sedangkang sistem pengujian B, pada gambar 1.4, cakupan kualitas resiko produk lebih kecil, dan proposi yang dilakukan uji tidak mencakup pengalaman kualitas dari konsumen B.
Gambar 1.5 dibawah ini menjelaskan antara cakupan kualitas resiko dengan cakupan pemakaian konsumen, dimana nilai sistem pengujian yang bagus berada di sisi kanan dari bagan, dimana cakupan pemakaian konsumen tinggi dan cakupan kualitas resiko juga tinggi.
Metode Informal untuk Melakukan Penilaian Kualitas Resiko (Informal Methods for Assesing Quality Risks) The Usual Suspects Untuk daftar kategori kualitas resiko yang utama, diawali dengan menjabarkan proses pengujian ke dalam; pengujian komponen, pengujian integrasi dan pengujian sistem. Pengujian Komponen States Transactions Code coverage Data flow coverage Functionality User interface Mechanical life Signal quality Pengujian Integrasi Component or subsystem interfaces Functionality Capacity and volume Error/disaster handing and recovery Data quality Performance User Interface
Pengujian Sistem Functionality User interface State Transactions Data Quality Operations Capacity and Volume Reliability, availability, and stability Error/disaster handling and recovery Stress Performance Date and time handing Localization Networked and distributed environments Configuration options and compatibility Security Environment Power input, consumption, and output Shock, vibration and drop Installation, cut-over, setup, and initial configuration Documentation and packaging Maintainability Alpha, beta and other live tests Memeriksa dan Melengkapi Daftar (Checking and Completing Your List) Untuk memeriksa dan melengkapi daftar dapat memanfaatkan sumber daya berikut: Peer Review Peer review adalah rekan kerja dalam satu tim yang dapat diminta bantuannya untuk melakukan evaluasi atau memberikan pendapat mengenai daftar yang dibuat. Bersumber dari Internal Pakar dari internal bisa terdiri dari pemasaran, penjualan, help desk, business analyst, dimana mereka biasa berhubungan dengan konsumen dan mengetahui keinginan dari konsumen terhadap produk. Bersumber dari Eksternal Sumber informasi eksternal bisa didapatkan dari majalah-majalah, hasil survey terhadap konsumen. Sehingga bisa didapatkan apa yang menjadi harapan dari konsumen terhadap suatu produk.
Jadwal, Sumber Daya dan Anggaran Gambar 1.7 mengambarkan mengenai hubungan antara Fitur, Jadwal, Biaya dan Kualitas. Tanda panah yang berputar searah jarum jam mengindikasikan perbaikan selama tahapan perencanaan. Perbaikan ini menyeimbangkan antara fitur, jadwal, biaya dan kualitas. Ketika proses implementasi dimulai (tahap pengujian), fitur diatur menjadi lebih kaku, jadwal tidak dapat diubah, dan anggaran meningkat.
Estimasi Sumber Daya dan Merencanakan Anggaran (Estimating Resource and Creating a
Budget)
Berikut ini adalah sumberdaya yang dibutuhkan dalam proses pengujian, dimulai dengan
kategori yang umum:
Staf (Staffs): kategori ini termasuk di dalamnya adalah karyawan tetap, kontraktor dan konsultan. Perangkat Pengujian (Test Tools): adalah perangkat-perangkat yang dibutuhkan dalam proses pengujian, dalam pengujian perangkat lunak, perangkat pengujian yang dibutuhkan antara lain: code coverage analyzers, scripting utilities, GUI test automation system.
Fasilitas dan Pengeluaran Tambahan (Facilities and overhead): yang termasuk dalam kategori ini adalah biaya perjalanan, ruang laboratorium, perangkat komputer dan perangkat jaringan lainnya. Lingkungan Pengujian (Test Environment): ketegori ini termasuk didalamnya perangkat keras, perangkat lunak, contoh rekayasa, dan prototipe eksperimental. Laboratorium Eksternal (External Labs): kategori ini digunakan jika dibutuhkan pengujian lingkungan, kinerja, dan kebutuhan lainnya.
Negosiasi Proyek Pengujian (Negotiating a Livable Test Project)
Pada saat melakukan negosiasi dengan Manajemen mengenai program pengujian yang dilakukan
akan ada beberapa pertanyaan yang muncul:
Manajemen resiko seperti apa yang akan dihadapi? Berapa lama waktu yang dibutuhkan? Berapa besar biaya yang dibutuhkan? Bagaimana dengan pengembalian Investasi?
Ketika bertemu dengan Manajemen, “bahasa” yang dipergunakan adalah “bahasa” Manajemen,
yang mencakup biaya, waktu, resiko dan keuntungan.