Testing dan implementasi

22
1 TUGAS TESTING DAN IMPLEMENTASI SOFTWARE Oleh FATONI 10029032 STMIK DHARMA BAKTI WACANA METRO METRO PUSAT 2011

description

Testing dan implementasi makalah software

Transcript of Testing dan implementasi

Page 1: Testing dan implementasi

1

TUGAS

TESTING DAN IMPLEMENTASI

SOFTWARE

Oleh

FATONI

10029032

STMIK DHARMA BAKTI WACANA METRO

METRO PUSAT

2011

Page 2: Testing dan implementasi

2

KATA PENGANTAR

Puji syukur kami panjatkan kehadirat Allah SWT yang telah memberikan

rahmat dan hidayah-Nya, sehingga penulis dapat menyelesaikan Tugas

Makalah Testing dan Implementasi Software.

Selama tugas makalah ini banyak kesulitan yang dihadapi, akan tetapi

berkat bimbingan, petunjuk serta bantuan dari berbagai pihak. Penulis

mengucapkan 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 kata

sempurna. Oleh karena itu, mohon maaf apabila ada kesalahan-kesalahan

dalam penyajian tugas ini. Semoga tugas makalah ini dapat memberikan

manfaat dan kontribusi kepada perkembangan ilmu pengetahuan.

Penulis

Page 3: Testing dan implementasi

3

BAB I PENGERTIAN DASAR

TESTING DAN IMPLEMENTASI 1.1 Latar Belakang

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. Dalam Tahapan SDLC terdiri dari beberapa

tahapan-tahapan berdasarkan analisa kebutuhan yang ada . Dimulai dari

analisa kebutuhan perangkat lunak akan dibuat terlebih dahulu desain dari

kebutuhan tersebut untuk mempermudah dalam pengerjaannya. Kemudian

segala kebutuhan tersebut di implementasikan dengan dua tahap yaitu tahap

analisa dan tahap evaluasi (User Acceptance Test). Setelah melakukan

implementasi, maka proses tersebut akan dikembalikan kembali ke dalam

tahap desain untuk pengembangan kembali perangkat lunak ke versi yang

terbaru.

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. Desain :

Mendesain sistem teknologi baru untuk permasalahan yang sama.

Page 4: Testing dan implementasi

4

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 bahasa

pemrograman, proses translasi dilanjutkan bila suatu kompiler menerima

source code sebagai masukan dan mengkasilkan object code yang akan

diterjemahkan menjadi machine code. Bahasa pemrograman adalah alat yang

digunakan 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 dan

mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk

menguji apakah perangkat lunak sudah memenuhi persyaratan atau belum

untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil

sebenarnya.

Page 5: Testing dan implementasi

5

1.4 Prinsip pengujian yang harus diperhatikan.

• Dapat dilacak hingga ke persyaratan atau dokumen SRS

• Pengujian harus direncanakan sebelum pelaksanaan pengujian

• Pengujian harus dimulai dari hasl yang kecil, diteruskan ke hal-hal yang

besar.

• 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 Pengujian 1.6.1 Pengujian unit program

Pengujian difokuskan pada unit terkecil dari suatu modul program.

Dilaksanakan dengan menggunakan driver dan stub. Driver adalah suatu

program utama yang berfungsi mengirim atau menerima data kasus uji dan

mencetak hasil dari modul yang diuji. Stub adalah modul yang menggantikan

modul 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-down

integration atau bottom-up integration.

Page 6: Testing dan implementasi

6

1.6.3 Pengujian validasi

Pengujian ini dimulai jika pada tahap integrasi tidak ditemukan kesalahan.

Suatu validasi dikatakan sukses jika perangkat lunak berfungsi pada suatu

cara yang diharapkan oleh pemakai.

1.6.4 Pengujian sistem

Pengujian yang dilakukan sepenuhnya pada sistem berbasis komputer.

� Recovery testing

Pengujian dilakukan dimana sistem diusahakan untuk gagal, kemudian diuji

normalisasinya.

� Security testing

Dilakukan untuk menguji mekanisme proteksi

� Stess testing

Pengujian yang dirancang untuk menghadapkan suatu perangkat lunak

kepada situasi Yang tidak normal.

Page 7: Testing dan implementasi

7

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)

Page 8: Testing dan implementasi

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

2.2 Pengujian Tahap Analisis

ditekankan pada validasi terhadap kebutuhan, untuk menjamin bahwa

kebutuhan telah dispesifikasikan dengan benar. Tujuan pengujian pada tahap

ini adalah untuk mendapatkan kebutuhan yang layak dan untuk memastikan

apakah kebutuhan tersebut sudah dirumuskan dengan baik.

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 dari

kebutuhan - Kebutuhan yang bersifat umum dirinci menjadi bentuk yang lebih

spesifik .

Faktor-faktor pengujian tahap perancangan meliputi :

• Perancangan yang berkaitan dengan kebutuhan

• Kesesuaian perancangan dengan metodologi dan teori.

Page 9: Testing dan implementasi

9

• 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 menjadi

aplikasi keseluruhan. Faktor-faktor pengujian tahap implementasi meliputi :

• Kendali integritas data

• Kebenaran program

• kemudahan pemakaian

• Sifat coupling

• Pengembangan prosedur operasi. 2.5 Pengujian Tahap Testing :

untuk menilai apakah spesifikasi program telah ditulis menjadi

instruksi-instruksi yang dapat dijalankan pada mesin. Selain itu, juga untuk

menilai apakah instruksi yang ditulis tersebut telah sesuai dengan spesifikasi

program. 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 pengujian

sistem. Dalam pengujian unit, unit-unit yang diuji meliputi unit-unit yang ada

dalam sistem. Sedangkan pengujian sistem dilakukan terhadap sistem secara

keseluruhan. Setiap pengujian dilakukan dengan menggunakan berbagai data

masukan, baik data yang valid maupun tidak.

Page 10: Testing dan implementasi

10

BAB III TEKNIK PENGUJIAN

3.1 Teknik Pengujian

Ada Banyak teknik pengujian yang dapat digunakan untuk menguji perangkat

lunak, seperti :

1. Pengujian Black Box

2. Pengujian White Box

3.1.1 Pengujian Black Box

Digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang

dirancang. Kebenaran perangkat lunak yang diuji hanya dilihat berdasarkan

keluaran yang dihasilkan dari data atau kondisi masukan yang diberikan untuk

fungsi yang ada tanpa melihat bagaimana proses untuk mendapatkan

keluaran tersebut. Dari keluaran yang dihasilkan, kemampuan program dalam

memenuhi kebutuhan pemakai dapat diukur sekaligus dapat diiketahui

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

Page 11: Testing dan implementasi

11

Contoh Black Box:

A. Strategi OO Testing

• Unit Testing Pengujian class/object • Integration Testing object integration testing • System Testing

rreeqquuiirreemmeennttss

eevveennttss iinnppuutt

oouuttppuutt

Page 12: Testing dan implementasi

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 polimorfisme

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

Page 13: Testing dan implementasi

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) • Memverifikasi operasi nilai diluar batas nilai parameter (black box) • 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 teruji

• Hal yang diperhatikan yaitu memeriksa semua unit apakah bekerja bersama dengan baik.

• Penguji lebih mengkonsentrasikan pada interaksi unit daripada fungsionalitasnya

Page 14: Testing dan implementasi

14

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 test

G. 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 :

Page 15: Testing dan implementasi

15

Pengujian White Box digunakan untuk mengetahui cara kerja suatu perangkat

lunak secara internal. Pengujian dilakukan untuk menjamin operasi-operasi

internal sesuai dengan spesifikasi yang telah ditetapkan dengan

menggunakan struktur kendali dari prosedur yang dirancang.

Tujuan kita adalah menjamin semua statemen dan kondisi telah

dieksekusi minimal sekali

Pelaksanaan 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:

Page 16: Testing dan implementasi

16

A. Condition Testing Condition Testing bertujuan untuk mengeksekusi semua kondisi lojik dari sebuah 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 expression

Tipe 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 error

Metode condition testing fokus pada pengujian setiap kondisi yang ada pada program, Keuntungan strategi condition testing � Memperkirakan pengujian berdasarkan kondisi adalah hal yang simpel � Cakupan pengujian dapat mengarahkan pada penambahan kasus uji

untuk sebuah program Beberapa strategi yang termasuk condition testing

� Branch Testing � Domain Testing � Branch and Relational Operator Testing – menggunakan kondisi

sebagai batasan Contoh: 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 C1 Cakupan batasan-batasan menjamin pendekteksian kesalahan pada operator relasional (relational operator errors) B. Branch Testing

Page 17: Testing dan implementasi

17

Branch testing adalah strategi pengujian berbasis kondisi yang paling simpel, Untuk setiap kondisi percabangan C, maka setiap cabangnya harus dieksekusi minimal sekali (yang bernilai true atau false) C. Data Flow Testing Metode Data Flow testing memilih aliran tes dari program berdasarkan lokasi pendefinisian dan penggunaan variabel dalam program dengan Data flow testing Setiap statemen di dalam program diasumsikan diisi dengan angka yang unik dan diasumsikan tidak ada fungsi yang mengubahnya � Defs( s ) = { x | statemen S berisi pendefinisian X } � Use( s ) = { x | statemen S berisi penggunaan X } � DU Chain (Definition - Use Chain) dari variabel X dengan bentuk {X, S, S’},

dimana S, S’ adalah jumlah statemen, X di dalam Defs(S) dan Defs(S’). Rangkaian yang mungkin lainnya: � DD (Definition-Definition Chain) – harus dihindari � UU (Use-Use Chain) - common chain � UD (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

Page 18: Testing dan implementasi

18

D. Loop Testing Loop adalah dasar dari banyak algoritma. Loop dapat didefinisikan menjadi berikut:

Untuk menguji: Simple Loops dengan n kali: 1. Abaikan perulangan 2. Masuki perulangan sekali 3. Masuki perulangan dua kali 4. Masuki perulangan m kali dimana m<n. 5. Masuki perulangan (n-1), n, dan (n+1) kali Nested Loops 1. Mulai dengan perulangan yang ada di dalam, set semua perulangan ke

nilai minimum 2. Uji sebagai simple loop untuk perulangan yang ada di dalam 3. Pengujian dari dalam ke luar 4. Lanjutkan sampai semua loop diuji Concatenated Loops 1. Jika perulangan independen, gunakan pengujian simple loop 2. Jika perulangan tidak saling independen, gunakan nested loops. Unstructured loops 1. Jangan diuji – harus didesain ulang

Page 19: Testing dan implementasi

19

BAB IV HASIL TESTING

4.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 atas 4.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

Page 20: Testing dan implementasi

20

4.3 BLACK BOX TESTING

Proses pengujian kotak hitam untuk blok aplikasi yang ditunjukkan pada Gambar

Gambar . Black box testing process

Pengujian Black Box Langkah

Pengujian kotak hitam melibatkan pengujian antarmuka eksternal untuk memastikan bahwa kode tersebut memenuhi persyaratan fungsional dan nonfunctional. Berbagai langkah yang terlibat dalam pengujian kotak hitam adalah sebagai berikut:

1. Create test plans. Create prioritized test plans for black box testing.

2. Test the external interfaces. Test the external interfaces for various type of inputs using automated test suites, such as NUnit suites and custom prototype applications.

3. Perform load testing. Load test the application block to analyze the behavior at various load levels. This ensures that it meets all performance objectives that are stated as requirements.

4. Perform stress testing. Stress test the application block to analyze various bottlenecks and to identify any issues visible only under extreme load conditions, such as race conditions and contentions.

5. Perform security testing. Test for possible threats in deployment scenarios. Deploy the application block in a simulated target environment and try to hack the application by exploiting any possible weakness of the application block.

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

Page 21: Testing dan implementasi

21

4.4 WHITE BOX TESTING

Gambar. White box testing process

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

Page 22: Testing dan implementasi

22

DAFTAR PUSTAKA

• 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 Practitioner's Approach,McGraw-Hill.

• Sommerville, Ian, Software Engineering, 6th edition, Pearson Education, 2001

• http://www.cetus-links.org/oo_testing.html

• http://www.testing.com/writings/1-fault.htm

• http://www.rbsc.com/pages/who_who.html