Jumat, 16 Juni 2017

Tahap Uji pada Fase Pemrograman



NAMA           : Annisa Mutia
Kelas               : 4KA11
NPM               : 11113140

LANGKAH-LANGKAH PEMROGRAMAN (THE PROGRAMMINGSTEPS)

Langkah 1. Rencana Penggabungan (Plan The Integration)

Menurut akal sehat anda tidak akan dapat membuat semua program sekaligus dan kemudian membuang semuanya – ini memerlukan rangkaian langkah demi langkah. Rencanakan urutan dimana anda akan menggabungkannya. Bab 9 ini merinci beberapa metode untuk menggabungkan bagian-bagian tersebut, tetapi anda harus merencanakan urutan penggabungan ini sekarang, karena anda harus menulis program supaya dapat digabungkan. Ini disebut Rencana Tes Sistem (System Test Plan).
Langkah 2. Mendisain Modul (Design The Module)

            Programmer menerima beberapa tingkatan disain dari fase disain. Tugasnya adalah memecah modul secara rinci ke tingkat yang lebih rendah sampi mencapai keadaan programmer siap untuk melakukan pemrograman. Ini disebut disain modul. Disain modul adalah pendekatan top-down dimulai dengan kotak paling atas, AMST000 dan dipecah ke dalam sub-komponen yang tepat, Dan kemudian modul tersebut dipecah lagi sampai tercapai sebuah tingkatan dimana mulai dapat diprogram.
            Pertanyaan yang bisa diajukan adalah : “Pada tingkatan mana disain sistem berhenti dan disain modul dimulai ?”. Jawabannya adalah “Disain sistem dipecah sampai pada tingkat dimana programmer dapat memulainya”. Tingkatan ini dapat bermacam-macam dari proyek ke proyek dan bahkan dari satu bagian sistem ke bagian lainnya – tergantung pada programmer yang menerima bagian tersebut.
            Adapun pertimbangan lainnya adalah :
• Jika pemecahan modul yang dihasilkan adalah sangat penting yang memerlukan prioritas seperti adanya respon, user-friendly atau konsistensi, perancang bisa melanjutkan ke tingkat yang lebih rendah.
• Tingkat pemecahan dari disain dinyatakan dengan kontrak.
• Jika programmer tidak mengetahui pada waktu disain, pengetahuan programmer tingkat menengah dapat diasumsikan, dan disain dapat diambil alih oleh programmer tingkat menengah yang dapat mengatasinya.

            Tetapi perlu diingat bahwa programmer tidak senang menerima disain yang terlalu rinci, yang programnya adalah menerjemahkan bahasa Inggris yang sederhana, seperti pernyataan-pernyataan secara harafiah ke dalam bahasa pemrograman.




Langkah 3. Telusuri Disain Modul (WalkThrough The Module Design)

            Seperti pada tingkat atas dan menengah dari disain, pertukaran harus dibuat sebaiknya pada tingkat yang paling rendah. Telusuri disain dari masing-masing modul sebelum melakukan pengkodean. Penelusuran ini sangat kecil : hanya programmer yang tepat, supervisor dan mungkin programmer lainnya yang perlu diperhatikan. Kegunaan dari penelusuran disain modul adalah untuk memastikan bahwa disain yang terbaik yang telah dilakukan, semua fungsi telah dialamatkan dan semua bagian telah ditangani.

Langkah 4. Rencana Bagaimana Menguji Modul (Plan How To Test The Module)
           
            Programmer harus menyiapkan rencana pengujian modul dan data pengujian sebelum dikodekan. Rencana pengujian dilakukan setelah kode ditetapkan. Mereka cenderung hanya menguji bagian kode yang paling ‘sulit’. Pimpinan proyek bisa saja melakukan tuntutan pada penelusuran rencana pengujian sepanjang disain modul sedang dilaksanakan. Kerjakan penelusuran ini bersama-sama.

Langkah 5. Kode Setiap Modul (Code Each Module)
           
            Standar pengkodean akan ditetapkan pada saat disain sistem (lihat bagian 7.12). Kita tidak membahas bagaimana membuat program – lihat Referensi 12 (tulisan ini membahas disain sama baiknya dengan pemrograman) dan Referensi 13 untuk lebih jelasnya.
Berikut ini adalah ringkasan dari sebuah program terstruktur, yaitu :
• Jika berukuran kecil. Aturan dasarnya adalah kira-kira 100 baris kode yang dapat dieksekusi dan listingnya tidak lebih dari 2 halaman.
• Satu entry, satu exit.
• Referensi secara keseluruhan sedikit.
• Konstruksi terstruktur yang digunakan : berurutan, IF/THEN/ELSE, CASE, WHILE, UNTIL, CALL (bukan GO TO).

Langkah 6. Menguji Modul (Test The Module)

            Programmer menguji modul dengan menetapkan lingkungan yang tepat, menyediakan beberapa input, membiarkan modul langsung memproses secara logik dan mendapatkan hasilnya. Beberapa input mungkin tidak sebenarnya, terutama jika modul tersebut tidak menyediakan input yang sebenarnya.
            Modul seharusnya diuji dalam dua tahap, yaitu :
Tahap Pertama disebut pengujian “White Box”. Programmer harus mengetahui isi di dalam modul dan menyediakan data pengujian, sehingga masing-masing path logical dalam program dapat dieksekusi.

Tahap Kedua atau pengujian “Black Box” dapat dilakukan. Dalam pengujian ini, programmer mengabaikan bagian dalam dari modul – data disediakan secara berurut dan dianggap seperti pemakaian sebenarnya.


Langkah 7. Menguji Level Terendah dari Integrasi (Test The Lowest Levels Of Integration)

            Jika modul utama memanggil sub-modul, programmer harus menggabungkan dan menguji semua modul secara bersama-sama. Bahkan jika programmer tidak bertanggung jawab untuk menulis sub-modul, programmer harus menguji perintah CALL dan RETURN dari seluruh modul.
Metode terbaik untuk melakukan hal ini adalah membuat sebuah “program stub” (potongan program) sebagai pengganti sub-modul. Potongan program ini dapat terdiri dari empat baris program yang menunjukkan bahwa kontrol sudah diterima dengan baik, tampilkan parameter penerima, jika perlu lakukan pengontrolan kembali dengan beberapa parameter yang tidak sebenarnya.

Langkah 8. Menyimpan Semua Hasil Pengujian; Penggabungan Modul-modul Yang Telah Diuji (Save The Results Of All Tests; Submit Finished Modules To Integration)

            Hasil pengujian digunakan untuk menyusun statistik yang menunjukkan penyebab, cara perbaikan serta biaya-biaya yang dibutuhkan untuk memperbaiki kesalahan-kesalahan program. Pimpinan proyek biasanya menguasai/mengepalai penggabungan ini pada sistem berukuran kecil sampai sedang.
           
            Software seperti CMS (Code Management System) sangat berguna untuk menajemen konfigurasi – menjamin program tetap berjalan sesuai versinya dan mengubah ke source code.

Langkah 9. Memulai Dokumentasi User(Get Started On The User Documentation)

            Apakah programmer bertanggung jawab pada dokumentasi user atau tidak, tahapan ini adalah waktu terbaik untuk menjawabnya. Dokumen-dokumen berikut mungkin harus ditulis :
·         Tuntunan Pemakai (User’s Guide)
·         Tuntunan Pemeliharaan (Maintanance Guide)
·         Tuntunan Operator / Tuntunan Manajer Sistem (Operator’s Guide / System Manager’s Guide)

Estimasi Berdasarkan Sejarah



NAMA           : Annisa Mutia
KELAS          : 4KA11
NPM               : 11113140

Menurut Kamus Besar Bahasa Indonesia (KBBI) Estimasi adalah perkiraan, penilaian atau pendapat. Estimasi adalah suatu metode dimana kita dapat memperkirakan nilai dari suatu populasi dengan menggunakan nilai dari sampel. Estimator adalah nilai pendugaan/suatu data statistik, sebagai sampel yang digunakan untuk mengisi suatu parameter.
            Jalan keluar dari ketergantungan pada orang dan untuk membuat estimasi lebih khusus, yaitu anda harus mengerti tentang sejarahnya. Tulislah berapa lama masing-masing tugas dapat diselesaikan dan siapa yang bertanggung jawab atas tugas tersebut.
Anda dapat membandingkan tuagas yang akan diestimasik dengan tugas yang sama yang dikerjakan lebih awal, setelah itu mulailah dengan melakukan estimasi.
            Hal ini dimaksudkan agar anda menjabarkan suatu proyek ke dalam beberapa tugas yang biasanya diulang dan mudah untuk dibandingkan.

Perbedaan White Box dan Black Box



NAMA           : Annisa Mutia
KELAS          : 4KA11
NPM               :11113140


·         White Box

Pengertian White Box Testing
White box testing adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar secara 100%.

Pengujian white box: 
·         Untuk mengetahui cara kerja suatu perangkat lunak secara internal.
·         Untuk menjamin operasi-operasi internal sesuai dengan spesifikasi yang telah ditetapkan dengan menggunakan struktur kendali dari prosedur yang dirancang.
Pelaksanaan pengujian white box:
·         Menjamim seluruh independent path dieksekusi paling sedikit satu kali. Independent path adalah jalur dalam program yang menunjukkan paling sedikit satu kumpulan proses ataupun kondisi baru.
·         Menjalani logical decision pada sisi dan false.
·         Mengeksekusi pengulangan (looping) dalam batas-batas yang ditentukan.
·         Menguji struktur data internal.
Berdasarkan konsep pengujian; White box (structural) testing / glass box testing : memeriksa
kalkulasi internal path untuk mengidentifikasi kesalahan.


·         Kelebihan White Box Testing

Kesalahan logika. Digunakan pada sintaks ‘if’ dan pengulangan. Dimana White Box Testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti.
- Ketidaksesuaian asumsi. Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk di analisa dan diperbaiki.
- Kesalahan ketik. Mendeteksi bahasa pemrograman yang bersifat case sensitive.
·         Kelemahan White Box Testing
                      - Untuk perangkat lunak yang tergolong besar, White Box Testing dianggap sebagai strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannya.


·         Black Box
·         Pengertian Black Box Testing
Black box testing adalah pengujian yang dilakukan hanya mengamati hasil eksekusi melalui data uji dan memeriksa fungsional dari perangkat lunak. Jadi dianalogikan seperti kita melihat suatu koatak hitam, kit hanya bisa melihat penampilan luarnya saja, tanpa tau ada apa dibalik bungkus hitam nya. Sama seperti pengujian black box, mengevaluasi hanya dari tampilan luarnya(interface nya) , fungsionalitasnya.tanpa mengetahui apa sesungguhnya yang terjadi dalam proses detilnya (hanya mengetahui input dan output).
·         Kelebihan Black Box
- Dapat memilih subset test secara efektif dan efisien
- Dapat menemukan cacat
- Memaksimalkan testing investmen
·         Kelemahan  Black Box
- Tester tidak pernah yakin apakah PL tersebut benar – benar lulus uji.

Perbedaan White Box & Black Box

White box (Struktural) 
·         Dilakukan oleh penguji yang mengetahui tentang QA.
·         Melakukan testing pada software/program aplikasi menyangkut security dan performance program tersebut (meliputi tes code, desain implementasi, security, data flow, software failure).
·         Dilakukan seiring dengan tahapan pengembangan software atau pada tahap testing. 

Metode BlackBox  (Fungsional) 
·         Dilakukan oleh penguji Independent.
·         Melakukan pengujian berdasarkan apa yang dilihat, hanya fokus terhadap fungsionalitas dan output. Pengujian lebih ditujukan pada desain software sesuai standar dan reaksi apabila terdapat celah-celah bug/vulnerabilitas pada program aplikasi tersebut setelah dilakukan white box testing. 
·         Dilakukan setelah white box testing.