• Tidak ada hasil yang ditemukan

Testing dan implementasi dan testing

N/A
N/A
Protected

Academic year: 2018

Membagikan "Testing dan implementasi dan testing "

Copied!
14
0
0

Teks penuh

(1)

Testing dan implementasi

(2)

KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikanrahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan TugasMakalah Testing dan

Implementasi Software. Selama tugas makalah ini banyak kesulitan yang dihadapi, akan tetapiberkat bimbingan, petunjuk serta bantuan dari berbagai pihak. Penulismengucapkan terima kasih kepada : 1. Surono, S.Kom. selaku dosen Testing dan Implementasi. 2. Seluruh pihak yang dengan senang hati mau berbagi ilmu pengetahuan dan informasi melalui media internet dan lainnya. Terima kasih, karena itu sangat membantu sekali dan membuka

cakrawala pengetahuan yang baru bagi penulis. Penulis menyadari bahwa tugas makalah ini masih jauh dari katasempurna. Oleh karena itu, mohon maaf apabila ada

kesalahan-kesalahandalam penyajian tugas ini. Semoga tugas makalah ini dapat memberikanmanfaat dan kontribusi kepada perkembangan ilmu pengetahuan.

Penulis 2

. BAB I

PENGERTIAN DASAR TESTING DAN IMPLEMENTASI1.

1 Latar Belakang

SDLC (Software Development Life Cycle) berarti sebuah siklus hiduppemngembangan perangkat lunak yang terdiri dari beberapa tahapan-tahapanyang sangat penting dalam keberadaan perangkat lunak yang dilihat dari segipengembangannya. Dalam Tahapan SDLC terdiri dari beberapatahapan-tahapan berdasarkan analisa kebutuhan yang ada . Dimulai darianalisa kebutuhan perangkat lunak akan dibuat terlebih dahulu desain darikebutuhan tersebut untuk mempermudah dalam pengerjaannya. Kemudiansegala kebutuhan tersebut di implementasikan dengan dua tahap yaitu tahapanalisa dan tahap evaluasi (User Acceptance Test). Setelah melakukanimplementasi, maka proses tersebut akan dikembalikan kembali ke dalamtahap desain untuk pengembangan kembali perangkat lunak ke versi

yangterbaru.Proses Tahapan SDLC yang paling sering digunakan adalah :

1. Perencanaan: Mempelajari konsep sistem dan permasalahan yang hendak

diselesaikan. apakah sistem baru tersebut realistis dalam masalah pembiayaan, waktu, serta perbedaan dengan sistem yang ada sekarang.

2. Analisis Sistem: Menganalisis konsep sistem, permasalahan dan keperluan yang hendak dibuat.

(3)

4. Kon struksi : Perbaikan terhadap produk yang memiliki kesalahan/kerusakan

5. Implementasi software yang telah diuji dan siap diimplementasikan kedalam sistem pengguna/ sudah siap diterapkan.

6. Maintenance: sistem yang telah diimplemantasikan serta dapat mengikuti perkembangan dan perubahan apapun yang terjadi guna meraih tujuan penggunaannya

1.2 Implementasi Perangkat Lunak

Hasil Rancangan detail yang ditranslasikan ke dalam suatu bahasapemrograman, proses translasi dilanjutkan bila suatu kompiler menerimasource code sebagai masukan dan mengkasilkan object code yang akan diterjemahkan menjadi machine code. Bahasa

pemrograman adalah alat yangdigunakan untuk komunikasi anatara manusia dan komputer Pemilihan bahasa pemrograman didasarkan atas :

1. Lingkup aplikasi

2. Algortima dan kompleksitas

3. Lingkungan pemrograman

4. Performansi

5. Struktur data

6. Pengetahuan pemrogram

7. Ketersediaan komputer

1.3 Testing perangkat lunak

Pengertian Testing perangkat lunak adalah proses menjalankan danmengevaluasi sebuah perangkat lunak secara manual maupun otomatis untukmenguji apakah perangkat lunak sudah memenuhi persyaratan atau belumuntuk menentukan perbedaan antara hasil yang diharapkan dengan hasilsebenarnya.

1.4 Prinsip pengujian yang harus diperhatikan.

• Dapat dilacak hingga ke persyaratan atau dokumen SRS

• Pengujian harus direncanakan sebelum pelaksanaan pengujian

(4)

• Pengujian yang berlebihan tidak akan mungkin dapat dilaksanakan

• Pengujian sebaiknya dilakukan oleh pihak ketiga.

1.5 Tujuan Pengujian

• Menilai apakah perangkat lunak yang dikembangkan telah memenuhi kebutuhan pemakai.

• Menilai apakah tahap pengembangan perangkat lunak telah sesuai dengan metodologi yang digunakan

.• Membuat dokumentasi hasil pengujian yang menginformasikan kesesuaian perangkat lunak yang diuji dengan spesifikasi yang telah ditentukan.

1.6 Strategi Pengujian1

.6.1 Pengujian unit program

Pengujian difokuskan pada unit terkecil dari suatu modul program.Dilaksanakan dengan menggunakan driver dan stub. Driver adalah suatuprogram utama yang berfungsi mengirim atau menerima data kasus uji danmencetak hasil dari modul yang diuji. Stub adalah modul yang menggantikanmodul sub-ordinat dari modul yang diuji.

1.6.2 Pengujian integrasi

Pengujian terhadap unit-unit program yang saling berhubungan (terintegrasi)dengan fokus pada masalah interfacing. Dapat dilaksanakan secara top-downintegration atau bottom-up integration. 5

1.6.3 Pengujian validasi

Pengujian ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan.Suatu validasi dikatakan sukses jika perangkat lunak berfungsi pada suatucara yang diharapkan oleh pemakai.

1.6.4 Pengujian sistem

(5)

BAB II

TAHAP TESTING DAN IMPLEMENTASI

2.1 Tahap-tahap Pengujian

• Memeriksa apakah sistem sudah berlaku dengan benar atau belum saat digunakan oleh user

• Memperkirakan apakah sistem dapat menanggulangi segala kondisi dan data mainstream

.• Memeriksa performansi behaviour dari sistem. Misal berapa lama waktu yang diperlukan sistem untuk mengerjakan suatu tugas yang diberikan.

• Menguji volume, stress dan storage untuk meeriksa performance dibawah kondisi ekstrim seperti jumlah input yang besar, high speed input, jumlah user yang banyak serta

meningkatnya jumlah aktivitas secara tiba-tiba

.• Semua perhitungan diperiksa ketepatannya dengan data dan kondisi yang telah diperkirakan maupun tidak.

• Menguji error handling dan recovery dari sistem seperti memeriksa bahwa akan keluar pesan error yang tepat pada setiap kondisi dan pemulihan yang baik setelah sistem mengalami fatal errror.

• Memeriksa kelayakan tingkat keamanan pada sistem agar user yang tidak berwenang tidak dapat memperoleh akses ke sistem.Tipe-tipe system testing– volume : memfokuskan untuk input yang besar– usability : mengukur reaksi user ( skala 1-10)– performance : mengukur kecepatan pada beberapa keadaan– configurasi : mengkonfogurasi untuk bermacam-macam hardware atau software– compatibility : komplabiliti dengan aplikasi lain ( contoh: mengukur waktu adaptasi)

1. 8. – reliability/availability : mengukur ketahanan pada periode waktu yang lama– security– resource usage : mengukur penggunaan RAM, ruang disk, dll–

installability : di install pada bermacam-macam keadaan (mengukur waktu install)– recoverability : mengukur waktu untuk me-recover– serviceability : mengukur waktu service– load/stress: untuk data extreme dan traffic

(6)

Faktor-faktor pengujian yang dilakukan meliputi :

a. Kebutuhan yang berkaitan dengan metodelogi

b. Pendefinisian spesifikasi fungsional

c. Penentuan spesifikasi kegunaan

d. Penentuan kebutuhan portabilitas

e. Pendefinisian antar muka sistem.

2.3 Pengujian Tahap Perancangan

Bertujuan untuk menguji struktur perangkat lunak yang diturunkan darikebutuhan - Kebutuhan yang bersifat umum dirinci menjadi bentuk yang lebihspesifik .Faktor-faktor pengujian tahap perancangan meliputi :

• Perancangan yang berkaitan dengan kebutuhan

• Kesesuaian perancangan dengan metodologi dan teori.

. • Portabilitas rancangan

• Perancangan yang dirawat •

Kebenaran rancangan berkaitan dengan fungsi dan aliran data.

• Kelengkapan perancangan antar muka.

2.4 Pengujian Tahap Implementasi

Merupakan pengujian unit-unit yang dibuat sebelum diintegrasikan menjadiaplikasi keseluruhan

Faktor-faktor pengujian tahap implementasi meliputi :

• Kendali integritas data

• Kebenaran program

• kemudahan pemakaian

(7)

• Pengembangan prosedur operasi.

2.5 Pengujian Tahap Testing

:untuk menilai apakah spesifikasi program telah ditulis menjadiinstruksi-instruksi yang dapat dijalankan pada mesin. Selain itu, juga untukmenilai apakah instruksi yang ditulis tersebut telah sesuai dengan spesifikasiprogram.

Faktor-faktor pengujian tahap ini meliputi :

• Pengujian fungsional

• Dukungan manual

• Kemudahan operasi.

2.6 Pengujian dengan Kasus Uji

Dilakukan meliputi pengujian unit (berupa prosedur atau fungsi) dan pengujiansistem. Dalam pengujian unit, unit-unit yang diuji meliputi unit-unit yang adadalam sistem.

(8)

BAB III

TEKNIK PENGUJIAN

3.1 Teknik Pengujian

Ada Banyak teknik pengujian yang dapat digunakan untuk menguji perangkatlunak, seperti :

1. Pengujian Black Box

2. Pengujian White Box3

1.1 Pengujian Black Box

Digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yangdirancang. Kebenaran perangkat lunak yang diuji hanya dilihat berdasarkankeluaran yang dihasilkan dari data atau kondisi masukan yang diberikan untukfungsi yang ada tanpa melihat bagaimana proses untuk mendapatkankeluaran tersebut. Dari keluaran yang dihasilkan, kemampuan program dalammemenuhi kebutuhan pemakai dapat diukur sekaligus dapat

diiketahuikesalahan-kesalahannya.

Beberapa jenis kesalahan yang dapat diidentifikasi :

• Fungsi tidak benar atau hilang

• Kesalahan antar muka

• Kesalahan pada struktur data (pengaksesan basis data)

• Kesalahan inisialisasi dan akhir program• Kesalahan performasi.

11. requirements output input events

Contoh Black Box:

(9)

Testing

• Unit Testing

 Pengujian class/object

• Integration Testing

 object integration testing

• System Testing 11

12. Pengujian class/object

• Encapsulated state  Memeriksa interaksi method-method dengan data obyek

• Interaksi antar method  Memeriksa interaksi method-method dari sebuah obyek

• Pewarisan dan polimorfismeB. Unit Testing

• Tahapan testing yang paling awal.

• Tahap selanjutnya terdiri dari integration testing dan system testing

• Biasanya unit didefinisikan sebagai: – Suatu fungsi atau prosedur tunggal yang kohesif – Segmen terkecil dari kode program yang bisa dikompile secara terpisah. – Sebuah fungsi yang pas pada suatu halaman tunggal. – Kode yang bisa ditulis oleh seseorang dalam suatu kurun waktu.

• Definisi yang biasa dipakai yaitu definisi pada point pertama.

• Input untuk proses test planning terdiri dari requirement dan detailed design. Output dari proses test planning adalah unit test plan.

• Tahap selanjutnya adalah akuisisi data input dan output yang berasosiasi dengan masing-masing test. Hasil dari tahap ini dinamakan test set.

• Test di eksekusi.

13. C. Pengujian Method

• Memverifikasi operasi pada nilai normal parameter (sebuah black box test yang berdasarkan pada kebutuhan unit)

• Memverifikasi operasi pada nilai limit parameter (black box)

(10)

• Memastikan bahwa semua instruksi di eksekusi (statement coverage)

• Cek semua path, termasuk semua cabang (decision coverage)

• Cek semua penggunaan object yang dipanggil

• Memverifikasi penanganan dari semua struktur data

• Memverifikasi penanganan semua file

• Cek terminasi normal dari semua loop ( part of correctness proof)

• Cek terminasi abnormal dari semua loop

• Cek terminasi normal dari semua rekursif

• Cek terminasi abnormal dari semua rekursif

• Memverifikasi penanganan semua kondisi error

• Cek timing dan sinkronisasi • verifikasi semua ketergantungan hardware

D. Class Testing

• Kombinasikan penggunaan method – biasanya 2-5 – pilih rangkaian pertama yang paling umum – masukan rangkaian yang mungkin menyebabkan error

• Fokuskan unit test pada masing-masing atribut – inisialisasi, lalu eksekusi rangkaian method yang dipengaruhinya

• Verifikasi masing-masing invariant class tidak berubah

• Verifikasi object transisi diantara state-state yang ada. – Rencanakan rangkaian

state/transisisi – Set up object dalam inisial state dengan menyeting variable – Sediakan event pertama dan cek transisi yang terjadi

E. Pengujian integrasi object

• Menguji unit yang telah diuji secara tunggal bekerja secara baik pula setelah digabungkan pada sistem

• Mereka akan digabungkan ke dalam suatu grup logis yang koheren untuk diuji kembali( subsistem )

• Saat subsistem tersebut berhasil bekerja dengan baik maka akan dilanjutkan dengan menggabungkannya dengan subsistem yang lain dan seterusnya sampai membentuk suatu sistem utuh yang teruj

(11)

• Penguji lebih mengkonsentrasikan pada interaksi unit daripada fungsionalitasnya 13

F. Merancang dan Melakukan Integration Testing

• Putuskan bagaimana dan dimana untuk menyimpan, menggunakan kembali dan mengkodekan integration test – tunjukan dalam project schedule

• Ekesekusi unit-unit test sebanyak mungin sesuai dengan waktu yang tersedia

• Gunakan test regresi

• Pastikan kebutuhan pembangunan telah dispesifikasikan.

• Gunakan use case yang harus diimplementasikan

• Eksekusi system testG. Tahapan System Testing

• Memeriksa apakah sistem sudah berlaku dengan benar atau belum saat digunakan oleh user. • Memperkirakan apakah sistem dapat menanggulangi segala kondisi dan data mainstream.

• Memeriksa performansi behaviour dari sistem. Misal berapa lama waktu yang diperlukan sistem untuk mengerjakan suatu tugas yang diberikan.

• Menguji volume, stress dan storage untuk meeriksa performance dibawah kondisi ekstrim seperti jumlah input yang besar, high speed input, jumlah user yang banyak serta

meningkatnya jumlah aktivitas secara tiba-tiba.

• Semua perhitungan diperiksa ketepatannya dengan data dan kondisi yang telah diperkirakan maupun tidak.

• Menguji error handling dan recovery dari sistem seperti memeriksa bahwa akan keluar pesan error yang tepat pada setiap kondisi dan pemulihan yang baik setelah sistem mengalami fatal errror.

• Memeriksa kelayakan tingkat keamanan pada sistem agar user yang tidak berwenang tidak dapat memperoleh akses ke sistem.

3.1.2 Pengujian White Box : 14

(12)

Digunakan untuk mengetahui cara kerja suatu perangkatlunak secara internal. Pengujian dilakukan untuk menjamin operasi-operasiinternal sesuai dengan spesifikasi yang telah ditetapkan denganmenggunakan struktur kendali dari prosedur yang dirancang. Tujuan kita adalah menjamin semua statemen dan kondisi telah dieksekusi minimal sekal

iPelaksanaan pengujian white box :

a. 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.

b. Menjalani logical decision pada sisi dan false

c. Mengeksekusi pengulangan (looping) dalam batas-batas yang ditentukan d. Menguji struktur data internal

Contoh Testing White Box: 15

A. Condition TestingCondition Testing

bertujuan untuk mengeksekusi semua kondisi lojik darisebuah modul program Dapat mendefinisikan Relational Expression (E1 op E2) : dimana E1 dan E2 adalah arithmetic expression Simple Condition: variabel boolean atau relational expression, mungkin diawali dengan operator NOT Compound condition: terdiri dari dua atau lebih simple

conditions,operator boolean, dan tanda kurung Boolean Expression: kondisi tanpa relational expressionTipe kesalahan pada sebuah kondisi dapat mencakup: boolean operator error (adanya incorrect/missing/extra boolean operator) boolean variable error boolean parenthesis (tanda kurung) error relational operator error arithmetic expression errorMetode condition testing fokus pada pengujian setiap kondisi yang ada padaprogram, Keuntungan strategi condition testing Memperkirakan pengujian berdasarkan kondisi adalah hal yang simpel Cakupan pengujian dapat mengarahkan pada penambahan kasus uji untuk sebuah

programBeberapa strategi yang termasuk condition testing Branch Testing Domain Testing Branch and Relational Operator Testing – menggunakan kondisi sebagai batasanContoh: C1 = B1 & B2 dimana B1, B2 adalah boolean conditions Batasan kondisi D1, D2 dimana D1 dan D2 dapat bernilai true (t) atau false (f) Cabang dan operator relasi membutuhkan batasan-batasan { (t,t), (f,t), (t,f) } harus dipenuhi untuk eksekusi C1Cakupan batasan-batasan-batasan-batasan menjamin pendekteksian kesalahan pada operatorrelasional (relational operator errors)B. Branch Testing 16

2. 17. Branch testing adalah strategi pengujian berbasis kondisi yang paling simpel,Untuk setiap kondisi percabangan C, maka setiap cabangnya harus

(13)

(Use-Definition Chain) - common chain Salah satu strategi yang simpel adalah Strategi DU Testing Strategi ini menyatakan bahwa setiap DU chain harus dilalui minimal sekali 17

3. 18. D. Loop TestingLoop adalah dasar dari banyak algoritma. Loop dapat

didefinisikan menjadiberikut:Untuk menguji:Simple Loops dengan n kali:1. Abaikan perulangan2. Masuki perulangan sekali3. Masuki perulangan dua kali4. Masuki perulangan m kali dimana m<n.5. Masuki perulangan (n-1), n, dan (n+1) kaliNested Loops1. Mulai dengan perulangan yang ada di dalam, set semua perulangan ke nilai minimum2. Uji sebagai simple loop untuk perulangan yang ada di dalam3. Pengujian dari dalam ke luar4. Lanjutkan sampai semua loop diujiConcatenated Loops1. Jika perulangan independen, gunakan pengujian simple loop2. Jika perulangan tidak saling independen, gunakan nested loops.Unstructured loops1. Jangan diuji – harus didesain ulang 18

4. 19. BAB IV HASIL TESTING4.1 Standar ANSI/IEEE untuk test dokumentasi • introduction • test plan : item dalam test,ruang lingkup, pendekatan, resource, jadwal, personel • test design: item yang ditest, pendekatan, rencana detail • test case :

kumpulan input dan event • test procedures : langkah-langkah untuk menyeting dan mengeksekusi test case • test item transmittal report : item-item dalam test, lokasi fisik dari hasil, orang yang bertanggung jawab untuk transmitting • test log : kronologi record, lokasi fisik dari hasil, nama penguji • test incident report :

dokumentasi dari setiap event yang terjadi selama test, yang membutuhkan investigasi lebih lanjut • test summary report : kesimpulan-kesimpulan dari keseluruhan point-point di atas4.2 Testing Tools • Testing bervolume besar biasanya membutuhkan penggunaan tool-tool otomatis. Jacobson menyarankan bahwa 75% dari test lebih baik dilakukan secara otomatis daripada dilakukan secara manual. • Kemampuan dari tools otomatis system test: – merekam aksi mouse dan keyboard untuk

memungkinkan pengulangan pemutaran kembali – jalankan test script secara

berulang-ulang – memungkinkan untuk merekam hasil test • merekam waktu eksekusi • merekam run time error • membuat dan mengatur regression test • menghasilkan test report • menghasilkan test data • merekam penggunaan memory •

mengatur/mengelola test case • analisa keseluruhan 19

5. 20. 4.3 BLACK BOX TESTINGProses pengujian kotak hitam untuk blok aplikasi yang ditunjukkan padaGambar Gambar . Black box testing processPengujian Black Box LangkahPengujian kotak hitam melibatkan pengujian antarmuka eksternal untuk memastikanbahwa kode tersebut memenuhi persyaratan fungsional dan nonfunctional. Berbagailangkah yang terlibat dalam pengujian kotak hitam adalah sebagai berikut: 1. Create test plans. Create prioritized test plans for black box testing. 2. Test the

(14)

test cases to ensure that the application block can be integrated with applications targeted toward locales other than the default locale used for development. 20

6. 21. 4.4 WHITE BOX TESTING Gambar. White box testing processWhite box testing involves the following steps: 1. Create test plans. Identify all white box test scenarios and prioritize them. 2. Profile the application block. This step involves studying the code at run time to understand the resource utilization, time spent by various methods and operations, areas in code that are not accessed, and so on. 3. Test the internal subroutines. This step ensures that the subroutines or the nonpublic interfaces can handle all types of data appropriately. 4. Test loops and conditional statements. This step focuses on testing the loops and conditional statements for accuracy and efficiency for different data inputs. .5 Perform security testing. White box security testing helps you understand possible security loopholes by looking at the way the code handles security. 21

7.

8. 22. DAFTAR PUSTAKA

9. • Britton, Carol dan Doake, Jill, “Object –Oriented System Development: A gentle Introduction” , Singapore: McGraw-Hill, Inc., 2001• Braude, Eric J.,”Software Engineering: An Object Oriented Perspective”, United State of America: John Wiley & Sons,Inc., 2000• Bahrami, Ali, “Object Oriented System Development”, Singapore: McGraw-Hill, Inc., 1999• Pressman, Roger S.,The 5th edition of Software

Engineering: A Practitioners Approach,McGraw-Hill.• Sommerville, Ian, Software Engineering, 6th edition, Pearson Education, 2001•

Referensi

Dokumen terkait

Setelah melakukan penelitian dengan mengumpulkan data-data yang diperlukan dan analisis dengan teori yang telah dipaparkan, yaitu dari hasil penelitian yang dilakukan,

Berdasarkan hasil penelitian tindakan kelas yang telah dipaparkan, maka dapat disimpulkan sebagai berikut; Penerapan model Problem Based Learning(PBL) dapat

Program yang dapat diterapkan yaitu “Mitigasi Bencana Alam Banjir Melalui Program TAJIR (Tanjakan Bebas Banjir) dan TABURI (Pembuatan Lubang Biopori) sebagai Landasan

Guru untuk anak dan remaja dengan kelainan penglihatan dapat memilih kemampuan yang otonom comparatif, sebagai guru dalam intenerant program atau layanan pengetahuan

Variabel yang digunakan dalam penelitian ini adalah variabel independent dan dependent , yang dimana variabel independent adalah komitmen organisasi, partisipasi

Kelompok I terdiri dari 2 varietas (Adira IV dan Adira I) dan 1 klon (BIC 369) berproduksi lebih tinggi dari klon lokal II baik pada lokasi Pleihari maupun KP Banjarbaru..

Oleh karena itu, Islam sebagai agama rahmatan lil’alamin harus bisa mencari solusi hukum dalam menyikapi keberadaan kaum waria ini, hingga statusnya di masyarakat jelas, ia

Skripsi berjudul Hubungan Sikap Siswa Terhadap Kompetensi Profesional Guru Biologi dengan Motivasi Belajar di Kelas XI IPA MA Salafiyah Kabupaten Cirebon oleh Nur