IMPLEMENTASI SISTEM
Disusun Oleh
NAMA
NPM
YANA
1111104
ULY ALPARIDA
1211106
MAHARANI
1111106
EYA NOVITASARI
1111120
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
Penulis
BAB I PENGERTIAN
DASAR
TESTING DAN IMPLEMENTASI
(Software
Development
Life
Cycle)
berarti
sebuah
siklus
hidup
Dalam
Tahapan
SDLC
terdiri
dari
beberapa
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
dan mengkasilkan
object
code
yang
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
Pengujian harus dimulai dari hasl yang kecil, diteruskan ke hal-hal yang besar.
Menilai
apakah
perangkat
lunak
yang dikembangkan
telah memenuhi
kebutuhan pemakai.
Menilai
apakah
tahap
pengembangan
perangkat
lunak
telah
sesuai
Membuat
dokumentasi
hasil
pengujian
yang
menginformasikan
yang telah
BAB II
TAHAP TESTING DAN IMPLEMENTASI
2.1 Tahap-tahap Pengujian
Memeriksa apakah sistem sudah berlaku dengan benar atau belum saat
digunakan oleh user.
Memeriksa performansi behaviour dari sistem. Misal berapa lama waktu yang
diperlukan sistem untuk mengerjakan suatu tugas yang diberikan.
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
untuk bermacam-macam
hardware atau
software
compatibility : komplabiliti dengan aplikasi lain ( contoh: mengukur waktu
adaptasi)
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.
Portabilitas rancangan
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.
Kesalahan performasi.
requirements
out
output
put
inpu
nput
events
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.
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
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 tibatiba.
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.
Mengeksekusi
pengulangan
(looping)
dalam
batas-batas
yang
ditentukan
d. Menguji struktur data internal
Contoh Testing White Box:
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)
D. Loop Testing
Loop adalah dasar dari banyak algoritma. Loop dapat didefinisikan menjadi
berikut:
Untuk menguji:
Simple Loops dengan n kali:
1.
2.
3.
4.
5.
Abaikan perulangan
Masuki perulangan sekali
Masuki perulangan dua kali
Masuki perulangan m kali dimana m<n.
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
BAB IV HASIL
TESTING
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.
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.
DAFTAR PUSTAKA
http://www.cetus-links.org/oo_testing.html
http://www.testing.com/writings/1-fault.htm
http://www.rbsc.com/pages/who_who.html