CONTOH PAPER SISTEM TESTING DAN IMPLEMENTASI PDF

Title CONTOH PAPER SISTEM TESTING DAN IMPLEMENTASI
Author imran jayadi
Pages 23
File Size 358.1 KB
File Type PDF
Total Downloads 30
Total Views 113

Summary

1 TUGAS PAPER MATAKULIAH SISTEM TESTING DAN IMPLEMENTASI https://www.4shared.com/zip/YuMrNxJHba/TUGAS_PAPER_SISTEM_TESTING_DAN.html Oleh : Nama : IM RAN JAYADI Stambuk : 12.1401.075 Kelas : BK-12 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS INDONESIA TIMUR MAKASSAR 2015/2016 2...


Description

1

TUGAS PAPER MATAKULIAH SISTEM TESTING DAN IMPLEMENTASI https://www.4shared.com/zip/YuMrNxJHba/TUGAS_PAPER_SISTEM_TESTING_DAN.html

Oleh :

Nama

: IMRAN JAYADI

Stambuk

: 12.1401.075

Kelas

: BK-12

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS INDONESIA TIMUR MAKASSAR 2015/2016

2

A.

SDLC

SDLC (Software Development Life Cycle) berarti sebuah siklus hidup pemngembangan perangkat lunak yang terdiri dari beberapa tahapan-tahapan yang sangat

penting

dalam

keberadaan

perangkat

lunak

yang dilihat

dari

segi

pengembangannya, tahapan-tahapan pekerjaan yang dilakukan oleh analis sistem dan programmer dalam membangun sistem informasi. Langkah yang digunakan meliputi : 1. Melakukan survei dan menilai kelayakan proyek pengembangan sistem informasi 2. Mempelajari dan menganalisis sistem informasi yang sedan

g berjalan

3. Menentukan permintaan pemakai sistem informasi 4. Memilih solusi atau pemecahan masalah yang paling baik 5. Menentukan perangkat keras (hardware) dan perangkat lunak (software) 6. Merancang sistem informasi baru 7. Membangun sistem informasi baru 8. Mengkomunikasikan dan mengimplementasikan sistem informasi baru 9. Memelihara dan melakukan perbaikan/peningkatan sistem informasi baru bila diperlukan

3

System Development Lyfe Cycle (SDLC) adalah keseluruhan proses dalam membangun sistem melalui beberapa langkah. Ada beberapa model SDLC. Model yang cukup populer dan banyak digunakan adalah waterfall. Beberapa model lain SDLC misalnya fountain, spiral, rapid, prototyping, incremental, build & fix, dan synchronize & stabilize. Dengan siklus SDLC, proses membangun sistem dibagi menjadi beberapa langkah dan pada sistem yang besar, masing-masing langkah dikerjakan oleh tim yang berbeda. o Kegunaan SDLC Adapun kegunaan utama dari SDLC adalah mengakomodasi beberapa kebutuhan. Kebutuhan-kebutuhan itu biasanya berasal dari kebutuhan pengguna akhir dan juga pengadaan perbaikan sejumlah masalah yang terkait dengan pengembangan perangkat lunak. Kesemua itu dirangkum pada proses SDLC yang dapat berupa penambahan fitur baru (baca : kemampuan penggunaan) baik itu secara modular (baca : instalasi parsial atau update dan upgrade perangkat lunak) maupun dengan proses instalasi baru (baca : penggantian perangkat lunak menyeluruh atau software replacement). Dari proses SDLC juga berapa lama umur sebuah perangkat lunak dapat diperkirakan untuk dipergunakan yang dapat diukur atau disesuaikan dengan kebijakan dukungan (baca : software support) dari pengembang perangkat lunak terkait.

o Implementasi SDLC Secara sederhana proses implementasi SDLC dapat dilihat dari penamaan sebuah perangkat lunak - sebagai contoh berikut :  Sebuah aplikasi contoh “ABCDE” versi 1.0 {alpha|beta|STABLE|i386|x64}, dapat diartikan bahwa aplikasi contoh “ABCDE” tersebut dipublikasikan dalam tahap awal yang ditandai dengan label versi 1.0 atau biasanya disingkat dengan huruf v1.0. Bila dikemudian waktu label versi menjadi versi 1.2 atau v1.2 maka hal tersebut menandakan bahwa perangkat lunak tersebut telah mengalami revisi (baca : perbaikan) dari versi sebelumnya.

4

o Kebutuhan SDLC Penerapan SDLC yang baik dan benar pada prinsipnya juga membutuhkan biaya baik itu finansial dan non-finansial, baik itu teknis maupun non-teknis yang tidak sedikit. Kesemua hal tersebut wajib diperhitungkan secara cermat agar proses pengembangan perangkat lunak itu sendiri (yang menjadi inti utama dari SDLC) tidak terhambat atau bahkan terbengkalai.

o Limitasi SDLC Kadangkala, perkembangan dan penggunaan teknologi antara perangkat keras dan perangkat lunak, dan sesama perangkat lunak tidak sejalan (lebih cepat atau lebih lambat antara satu dengan lainnya, antara mendukung dan tidak mendukung satu dengan lainnya) - sehingga terkadang hasil proses SDLC yang membutuhkan aplikasi pendukung lainnya (software dependencies) maupun perangkat keras (hardware) yang benar-benar mendukung (perangkat keras baru) agak kesulitan dalam proses penyesuaian (serapan) sehingga dapat menyebabkan proses implementasi SDLC “terkesan” stagnan.

B. SIKLUS PENGEMBANGAN PERANGKAT LUNAK (SWDLC) Pengembangan sistem (sistem development) dapat berarti menyusun sistem yang baru untuk menggantikan sistem yang lama secara keseluruhan atau memperbaiki sistem yang sudah ada. Sistem yang lama perlu diperbaiki atau diganti disebabkan karena beberapa hal, yaitu sebagai berikut : 1. Adanya permasalahan-permasalahan (problems) yang timbul di sistem yang lama. Permasalahan yang timbul dapat berupa :  Ketidakberesan dalam sistem yang lama yang menyebabkan sistem yang lama tidak dapat beroperasi sesuai dengan yang diharapkan.  Pertumbuhan organisasi, yang menyebabkan harus disusunnya sistem yang baru.

2. Untuk meraih kesempatan-kesempatan (opportunities), teknologi informasi telah berkembang dengan cepatnya. Perangkat keras komputer, perangkat lunak dan teknologi komunikasi telah begitu cepat berkembang.

5

3. Adanya instruksi-instruksi (directives), penyusunan sistem yang baru dapat juga terjadi karena adanya instruksi-instruksi dari atas pimpinan ataupun dari luar organisasi. Karena adanya permasalahan, kesempatan atau instruksi, maka sistem yang baru perlu dikembangkan untuk emecahkan permasalahanpermasalahan yang timbul, meraih kesempatan-kesempatan yang ada atau memenuhi instruksi yang diberikan.

Gambar 1. Pengembangan Sistem Informasi

Sistem yang baik adalah sistem yang selalu menyesuaikan dengan perubahan lingkungan yang terjadi disekitarnya atau sistem tersebut harus dinamis menuju pada keadaan

yang

lebih

baik.

6

Gambar 2. Tahapan Perancangan Sistem Informasi

Tahap awal, yaitu tahap perencanaan, menyangkut studi kebutuhan user, studi kelayakan baik secara teknis maupun teknologi serta penjadwalan pengembangan suatu proyek sistem informasi.

Tahap berikutnya adalah tahap analisis, yaitu tahap dimana kita berusaha mengenali segenap permasalahan yang muncul pada pengguna, mengenali komponenkomponen sistem, obyek-obyek, hubungan antar obyek dan sebagainya.

Kemudian tahap ketiga adalah tahap perancangan, yaitu tahap dimana kita mencoba mencari solusi permasalahan yang didapat dari tahap analisis.

Tahap keempat adalah tahap implementasi dimana kita mengimplementasikan perancangan sistem ke situasi yang nyata. Pada tahap ini. Kita mulai dengan pemilihan perangkat keras, penyusunan perangkat lunak aplikasi (pengkodean/coding) apakah sistem yang dibuat sudah sesuai dengan kebutuhan user atau belum.. Jika belum, proses selanjutnya adalah iteratif, yaitu kembali ke tahap-tahap sebelumnya. Disinilah

7

keuntungan metodologi berorientasi obyek mulai terlihat, dimana mulai dari tahap analisis hingga tahap implementasi, kita bisa menggunakan tool yang sama sehingga proses iteratif itu dapat berjalan dengan lebih efektif serta efisien ditinjau dari segi uang dan waktu. Kemudian tahap yang terakhir adalah tahap pemeliharaan / perawatan, dimana kita bisa mulai melakukan pengoperasian sistem dan jika diperlukan dapat melakukan perbaikan-perbaikan kecil. Kemudian jika waktu penggunaan sistem habis, maka kita akan masuk lagi pada tahap perencanaan.

Mengorganisasi Proyek Pengembangan Perangkat Lumak Perancang dan analis sistem terlibat dalam tim pengembangan perangkat lunak dan harus mengetahui bagaimana program ini dikode dan bagaimana hasil akhirnya. Untuk

itu

diperlukan

keterampilan

pengorganisasian

dalam

tim

proyek.

Pengorganisasian proyek pengembangan perangkat lunak memerlukan komunikasi, integrasi dan koordinasi yang baik. Pengorganisasian tim pemrograman menggunakan pendekatan organisasional.

Pendekatan Organisasional Tiga cara untuk mengorganisasi tim pemrograman, yaitu :  Tim Pengembangan Program ( Program development team)  Tim programmer kepala (chief programmer team)  Tim pemrograman bersama (Egoless programming team)

1. Tim Pengembangan Program ( Program development team) Tim pengembangan program dikelola oleh manajer tim atau seseorang yang terlibat dalam SDLC dari awal, dan didukung oleh perancang, pengkode, dan penguji (Gb.1.4 hal.14 Diktat kuliah) Jika perusahaan menggunakan aturan 40-20-40 (lihat gb.1.5 hal.15 Buku Diktat Pengantar Implementasi) maka orang-orang yang memiliki keterampilan lebih tinggi harus ditugaskan untuk perancangan dan pengujian. Bila rancangan lengkap, jelas dan akurat maka tugas pengkodean akan menjadi proses yang sederhana yang dapat dijalankan oleh setiap orang yang telah kenal dengan sintaks bahasa pemrograman. Konsep ini mendukung terciptanya teknologi CASE.

8

2. Tim programmer kepala (chief programmer team) Tim ini dibentuk dari programmer kepala atau senior yang banyak pengalaman dan pengetahuan pemrograman. Programmer kepala dapat berkomunikasi secara efektif dengan analis dan perancang sistem, pemakai, dan berbagai teknisi. Programmer kepala didukung oleh asisten utama yang bertugas sebagai komunikator dengan orang lain pada tim atau penyampai informasi dari gagasan programmer kepala. Kedua orang tersebut didukung oleh Programmer pendukung/ yunior bertugas membantu programmer kepala dan asisten utama untuk proyek besar yang tidak dapat ditangani sendiri. Para programmer pendukung biasanya mengkode modul-modul tingkat rendah. Tim ini juga didukung oleh pustakawan, administrator, editor, dan klerk program.

3. Tim pemrograman bersama (Egoless programming team) Tim ini terbentuk dari seluruh rekan yang bersama-sama bertanggung jawab atas pengembangan perangkat lunak tanpa supervisi langsung/pimpinan.

Perbedaan pendekatan-pendekatan tersebut : 

Tim pengembangan program mengembangkan aturan 40-20-40 yaitu menekankan pada perancangan dan pengujian.



Tim programmer kepala dan tim pemrograman bersama menekankan pada fungsi pengkodean.

Jumlah interface dan lintasan komunikasi dari pendekatan di atas : 

Tim pengembangan program tersusun atas 2 perancang, 1 pengkode, 2 penguji. Interface dan lintasan komunikasi berada antara perancang dan pengkode, pengkode dan penguji, perancang dan penguji. Interface dan lintasan komunikasi ke manajer tim hanya memberikan rekapitulasi dan informasi kinerja karena manajer tidak terlibat langsung dalam pekerjaan yang sebenarnya. Jadi total interface dan lintasan komunikasi ada lima, dan satu interface manajemen.

9

 Tim programmer kepala terdiri dari lima programmer pendukung mempunyai lima interface dan lintasan komunikasi, dan lebih mungkin memenuhi deadline yang ketat.

 Tim pemrograman bersama terdiri dari lima programmer. Jumlah interface dan lintasan komunikasi = n(n-1)/2= 5(5-1)/2=10

10

Biasanya untuk komunikasi membutuhkan waktu dan mengurangi produktivitas. Segala jenis pekerjaan pengembangan biasanya waktu restart (mulai lagi) setelah setiap interupsi besarnya 30 menit sehingga peluang pemrograman yang bisa dilakukan waktunya sedikit.

Oleh karena itu apabila terdapat lebih dari tiga programmer yang terlibat maka sebaiknya ditetapkan seorang supervisor atau pimpinan.

Didalam dunia perangkat lunak, penggunaan berulang merupakan hal yang biasa. Contohnya ide dan formula yang hampir sama digunakan berulang oleh programmer yang berbeda untuk mengembangkan aplikasi keuangan yang khusus diadaptasikan sesuai kebutuhan dan permintaan masing-masing klien. Oleh karena itu penggunaan berulang suatu obyek merupakan hal yang seharusnya bisa dilakukan. Suatu obyek bisa diambil untuk dimodifikasi berupa penambahan atau pengulangan untuk memecahkan suatu masalah baru. Ada empat prinsip dasar dari pemrograman berorientasi obyek, yaitu :abstraksi, enkapsulasi, modularitas dan hirarki.

Abstraksi : Memfokuskan perhatian pada karakteristik obyek yang paling penting dan paling dominan yang bisa digunakan untuk membedakan obyek tersebut dari obyek lainnya. Dengan abstraksi ini developer bisa menerapkan konsep KIS (Keep It Simple) pada obyek didunia nyata yang memiliki tingkat kerumitan yang tinggi.

Enkapsulasi: Menyembunyikan banyak hal yang terdapat dalam obyek yang tidak perludiketahui oleh obyek lain. Dalam praktek pemrograman enkapsulasi diwujudkan dengan membuat suatu kelas interface yang akan dipanggil oleh obyek lain, sementara didalam obyek yang dipanggil terdapat kelas lain yang mengimplementasikan apa yang terdapat dalam kelas interface. Obyek lain hanya tahu dia perlu memanggil kelas interface tanpa perlu tahu proses apa saja yang dilakukan didalam kelas

11

implementasinya dan untuk menuntaskan proses tersebut perlu berhubungan dengan obyek mana saja. Dengan demikian bila terjadi proses perubahan pada proses implementasi maka obyek pemanggil tidak akan terpengaruhi secara langsung.

Modularitas : Membagi sistem yang rumit menjadi bagian-bagian yang lebih kecil yang bisa mempermudah developer memahami dan mengelola obyek tersebut. Contohnya adalah sistem akademis yang bisa dibagi menjdi kemahasiswaan, daftar mata kuliah, pembayaran uang kuliah, dan lain-lain.

Hirarki : Hirarki berhubungan dengan abstraksi dan modularitas, yaitu pembagian berdasarkan urutan dan pengelompokkan tertentu. Misalnya untuk menentukan obyek mana yang berada pada kelompok yang sama, obyek mana yang merupakan komponen dari obyek yang memiliki hirarki lebih tinggi. Semakin rendah hirarki obyek berarti semakin jauh abstraksi dilakukan terhadap suatu obyek. Ke empat prinsip dasar ini merupakan hal yang mendasari teknologi obyek yang perlu ditanamkan dalam cara berpikir developer berorientasi obyek.

C. PENGUJIAN PERANGKAT LUNAK Pengujian Perangkat Lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain dan pengkodean.

Dasar-dasar Pengujian Perangkat Lunak Pengembang perangkat lunak sesuai dengan sifatnya dasar, mereka adalah manusia pembangun. Pengujian mengharuskan pengembang membuang pemikiran-pemikiran sebelumnya mengenai “kebenaran” perangkat lunak yang baru saja dikembangkan dan mengatasi konflik minat yang terjadi pada saat kesalahan ditemukan.

Sasaran Pengujian 1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.

12

2. Pengujian yang sukses adalah pengujian yang memiliki probabilitas tinggi untuk menemukan dan mengungkapkan semua kesalahan yang belum pernah ditemukan atau diduga sebelumnya. Prinsip Pengujian 1. Semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan. 2. Pengujian harus direncanakan lama sebelum pengujian itu mulai. 3. Pengujian harus mulai “dari yang kecil” dan berkembang menjadi pengujian “yang besar”. Karakteristik yang Membawa Perangkat Lunak Dapat Diuji 1. Operabilitas, yaitu : Semakin baik Dia bekerja, semakin efisien Dia dapat diuji. 2. Obsaikervabilitas, yaitu : “Apa yang Anda lihat adalah apa yang Anda uji”. 3. Kontralabilitas, yaitu : “Semakin baik kita dapat mengontrol perangkat lunak, semakin banyak pengujian yang dapat diotomasisasi dan dioptimalkan”. 4. Dekomposabilitas, yaitu : “Dengan mengontrol ruang lingkup pengujian, kita dapat dengan lebih cepat mengisolasi masalah dan melakukan pengujian kembali secara lebih halus”. 5. Kesederhanaan, yaitu : “Semakin sedikit yang kita uji, semakin cepat kita dapat mengujinya’. 6. Stabilitas, yaitu : “Semakin sedikit perubahan, semakin sedikit pula gangguan dalam pengujian’. 7. Kemampuan untuk dapat dipahami, yaitu : “Semakin banyak informasi yang kita miliki, semakin halus pengujian yang akan dilakukan’.

Atribut--atribut pengujian yang baik : 1. Pengujian yang baik memiliki probabilitas yang tinggi untuk menemukan kesalahan. 2. Pengujian yang baik tidak redudan. 3. Pengujian yang baik seharusnya “jenis terbaik”, 4. Pengujian yang baik tidak boleh terlalu sederhana atau terlalu kompleks.

Tujuan Pengujian :  Menjalankan program untuk menemukan error yang tersembunyi atau yang sebelumnya tidak terduga.

13

Fase Pengujian Ada 2 tingkat yang tersedia pada proses pegujian, yaitu : 1. Konfigurasi perangkat lunak yang mencakup spesifikasi keperluan perangkat lunak, spesifikaasi perancangan, test case dan program sumber 2. Konfigurasi uji coba yang mencakup rencana dan prosedur uji coba, test case dan hasil yang diharapkan

Condition Testing Pengujian yang menjalankan kondisi logis yang terdapat pada modul program.

Data Flow Testing Pengujian dengan metode yang menyeleksi jalur uji program menurut lokasi pendefinisian dan menggunakan variable-variabel program

Loop Testing Pengujian yang berfokus pada validitas dari bentuk loop 1.

simple loop

2.

concatenated loop

3.

nested loop

4.

unstructured loop

D. STRATEGI DAN RENCANA PENGUJIAN Isu-isu utama yang akan diangkat berkaitan dengan pelaksanaan pengujian adalah efektivitas dan efisiensi pengujian. Dengan kata lain, usaha yang terus menerus untuk diarahkan dalam pengurangan persentase kesalahan tidak terdeteksi yang tersisa di perangkat lunak atau sistem yang diuji pada satu sisi, dan untuk kinerja pengujian dengan mnghabiskan sumber daya lebih sedikit di sisi lain.

Perencanaan, perancangan dan pelaksanaan pengujian dilakukan selama proses pengembangan perangkat lunak. Kegiatan ini dibagi secara bertahap, dimulai pada tahap desain dan berakhir ketika perangkat lunak diinstal di lokasi pelanggan.

14

Isu utama bahwa metodologi pengujian harus bersaing adalah:  Standar kualitas perangkat lunak yang diperlukan,  Strategi pengujian perangkat lunak. Keputusan tentang kedua isu ini sangat mendasar dan harus dilakukan sebelum perencanaan dimulai.

Perencanaan pengujian Pengujian yang akan direncanakan meliputi:  Unit pengujian  Integrasi pengujian  Sistem pengujian Sementara menghadapi tes unit dengan unit kecil dari perangkat lunak atau modul, integrasi menghadapi tes dengan beberapa unit yang menggabungkan ke dalam sistem. Sistem tes merujuk ke paket perangkat lunak seluruh / sistem. Adalah tugas perencana untuk mempertimbangkan hal-hal berikut sebelum memulai rencana tes khusus:  Apa yang akan diuji?  Sumber-sumber apa yang digunakan untuk uji kasus?  Siapa yang melakukan pengujian?  Dimana tempat melakukan pengujian?  Kapan harus mengakhiri pengujian?

Apa yang akan diuji? Pendekatan langsung untuk pengujian yang sempurna akan merekomendasikan rencana pengujian perangkat lunak lengkap dan komprehensif yang melakukan uji unit untuk semua unit individu, uji integrasi untuk semua integrasi unit, dan uji sistem untuk menguji paket perangkat lunak secara keseluruhan. Menerapkan rencana secara “langsung” memang memastikan kualitas perangkat lunak yang tinggi tetapi juga memerlukan investasi sumber daya yang luas dan jadwal yang panjang.

Berkaitan dengan itu , pertanyaan-pertanyaan tertentu yang umum akan muncul :

15

Situasi yang berkaitan dengan manfaat dari pendekatan semacam itu. Sebagai contoh:  Apakah dibenarkan untuk melakukan pengujian unit

untuk sebuah modul yang

terdiri dari 98% perangkat lunak yang reuse ?  Apakah pengujian unit wajib dilakukan pada modul sederhana yang menampilkan modul versi 12 dari modul dasar yang digunakan berulang kali oleh tim pengembang selama tiga tahun terakhir?

Hanya dalam kasus yang jarang itu dibenarkan untuk menguji “segalanya”. Biasanya, kelayakan pengujian “segalanya” sangat terbatas. Terlepas dari kinerja dari daftar tes yang ditentukan dalam kontrak atau...


Similar Free PDFs