TESTING DAN IMPLEMENTASI
INDRA
KURNIAWAN
NPM
: 2013020077
Proses Testing
1.
Unit testing => Pengujian masing-masing unit komponen program untuk
meyakinkan bahwa program sudah beroperasi secara benar.
2.
Module Testing => Pengujian terhadap koleksi unit-unit komponen yang
saling berhubungan.
3.
Sub-sistem Testing => Pengujian terhadap koleksi modul-modul yang
membentuk suatu sub-sistem.
4.
Sistem Testing => Pengujian terhadap keterhubungan antar sub-sistem.
1. Penerimaan
Testing
2. Pengujian
terakhir sebelum sistem dipakai oleh user.
3. Melibatkan
pengujian dengan data dari pengguna sistem.
4. Biasa
dikenal sebagai “alpha test”.
Proses
Testing
1. Component
testing
2. Pengujian
komponen-komponen program
3. Biasanya
dilakukan oleh component developer
1. Integration
testing
Pengujian
kelompok komponen-komponen yang terintegrasi untuk membentuk sub-sistem ataupun
system dan dilakukan oleh tim penguji yang independent.
1. Proses
testing
Deskripsi
fase-fase utama dalam pengujian.
1. Pelacakan
kebutuhan
Semua
kebutuhan user diuji secara individu.
1. Item
yang diuji
Menspesifikasi
komponen sistem yang diuji.
1. Jadual
testing
2. Prosedur
pencatatan hasil dan prosedur
3. Kebutuhan
akan hardware dan software
4. Kendala-kendala
Failures,
Faults
1. Failure:
output yang tidak benar/tidak sesuai ketika sistem dijalankan.
2. Fault:
kesalahan dalam source code yang mungkin menimbulkan failure ketika code yang
fault tersebut dijalankan.
Prioritas
Testing
1.
Hanya test yang lengkap yang dapat meyakinkan sistem terbebas dari kesalahan,
tetapi hal ini sangat sulit dilakukan.
2.
Prioritas dilakukan terhadap pengujian kemampuan sistem, bukan masing-masing
komponennya.
3.
Pengujian untuk situasi yang tipikal lebih penting dibandingkan pengujian
terhadap nilai batas.
Test
Data dan Kasus Test
-
Test data: Input yang
direncankan digunakan oleh sistem.
-
Test cases: Input yang digunakan untuk
menguji sistem dan memprediksi output dari input jika sistem beroperasi sesuai
dengan spesifikasi.
Integration
Testing
Adalah
pengujian keseluruhan sistem atau sub-sistem yang terdiri dari komponen yang
terintegrasi. Beberapa pendekatan yang dilakukan yaitu :
1. Top-down
testing
Berawal
dari level atas sistem dan terintegrasi dengan mengganti masing-masing komponen
secara top-down dengan suatu stub (program pendek yang mengenerate input ke
sub-sistem yang diuji).
1. Bottom-up
testing
Integrasi
komponen dari level bawah hingga sistem lengkap sudah teruji.
Pada
prakteknya, kebanyakan test integrasi menggunakan kombinasi kedua strategi
pengujian tersebut.
Interface
Testing
Dilakukan
jika modul-modul dan sub-sistem terintegrasi dan membentuk sistem yang lebih
besar. Tujuannya untuk medeteksi fault terhadap kesalahan interface atau asumsi
yang tidak valid. Interface testing terdiri dari beberapa tipe, yaitu :
-
Parameter interfaces
-
Shared memory interfaces
-
Procedural interfaces
-
Message passing interfaces
Interface
Errors
-
Interface misuse
Komponen
pemanggil memanggil komponen lainnya dan membuat suatu kesalahan dalam
penggunaan interfacenya.
-
Interface misunderstanding
Komponen
pemanggil salah dalam mengasumsikan behaviour komponen yang dipanggil.
-
Timing errors
Komponen
yang memanggil dan yang dipanggil beroperasi pada kecepatan yang berbeda.
Petunjuk
Melakukan Interface Testing
-
Merancang test dimana parameter ke prosedur
yang dipanggil berada pada nilai batas extrim
-
Test menggunakan null pointer
-
Perancangan test sehingga komponen yang di
test akan fail.
-
Menggunakan stress testing pada message
passing
-
Pada shared memory systems, variasikan urutan
dimana komponen diaktifkan.
Stress
testing => Menguji sistem dengan nilai yang melebihi
maksimum load. Stressing suatu sistem menyebabkan tidak mudah kerusakan dengan
mencek kehilangan service yang tidak diduga ataupun data yang hilang.
Object-oriented testing
=> Lebih besar dibandingkan pengujian sebuah function sehingga
pendekatan white-box testing perlu diperluas. Komponen yang diuji adalah
class object yang di instantiate ke object.
Testing
Levels
-
Testing operations pada objects
-
Testing object classes
-
Testing clusters cooperating objects
-
Testing OO system secara lengkap
Pengujian
Class => Menguji terhadap semua operation yang ada dan
perubahan atribut-atributnya.
Object
Class Testing
1.
Complete test yang menguji class melibatkan
-
Testing semua operations suatu object
-
Setting dan interrogating semua attribute
object
-
Menguji object untuk semua keadaan yang
mungkin
2.
Inheritance akan mengakibatkan sulitnya
perancangan object class tests seperti information yang diuji sulit
dilokalisasi.
Cluster
Testing
· Cluster
testing digunakan untuk test integrasi and testing clusters terhadap
cooperating objects.
· Identifikasi
clusters menggunakan knowledge operation objects dan system features yang
diimplementasikan oleh cluster tersebut
Scenario-based
Testing
-
Identifikasi skenario dari use-cases dan
menambahkannya dengan diagram interaksi yang menunjukkan object-object yang
terlibat dalam scenario.
-
Lihat contoh scenario berikut ini pada sistem
weather station ketika suatu report dibuat.
Testing
Workbenches
-
Testing merupakan suatu proses yang cukup
mahal. Testing workbenches menyediakan tool-tool untuk mereduksi waktu yang
dibutuhkan dan total cost pengujian.
-
Kebanyakan testing workbenches merupakan open
systems karena kebutuhan testing tergantung dari spesifikasi organisasi.
Testing
Workbench Adaptation
-
Scripts dibuat untuk user interface simulator
dan model test data generator.
-
Test outputs harus disiapkan secara manual
sebagai pembanding.
-
Special-purpose file comparators harus dibuat.
Prinsip
Pemilihan Bahasa Pemrograman
Memiliki
sintaks yang jelas
Memiliki
semantik yang jelas
Precedence
operator dalam expresi mudah dimengerti
Modular
dan Information hiding
· §
Model Integrasi sub-modul yang dapat di-link oleh beberapa sub-modul lain
secara independent.
· §
Setiap sub-modul yang di-link tersebut menjadikan suatu model abstraksi untuk
information hiding.
· Ø
Abstraksi
Tersedia
fasilitas untuk mendefinisikan tipe data baru sbg abstraksi data, maupun
abstraksi algoritma.
· Ø
Orthogonal
Hanya
ada satu cara dalam mengekspresikan suatu action, tidak bergantung tehadap
komponen lain (tipe data composite dan return function sesuai tipe data yang
diinginkan).
· Ø
Portability
Dapat
diinstal proses kompilasi pada beberapa jenis mesin dan OS.
· Ø
Structure
· Control
flow
· Name
scope (bagaimana menggunakan referensi variable) -> pointer
· Typing
(static, dynamic)
oØ Compiler dapat mendeteksi error melalui
check yang konsisten.
oØ Efisiensi
oØ Seragam dalam penggunaan statement
oØ Dapat mengantisipasi kondisi exception
oØ Mampu menangani proses yang concurrent
(bersamaan) -> multithread, parallel processing
Kategori
Aplikasi
-
Paradigma pemrosesan data
-
Paradigma komputasi numeric
-
Paradigma berorientasi proses
-
Paradigma system-programming
-
Paradigma proses auto-adaptive
Pengujian
Aplikasi Server
Volume
Testing
· Ø
Menemukan kelemahan sistem selama melakukan pemrosesan data dalam jumlah yang
besar dalam periode waktu yang singkat.
· Ø
Tujuan: meyakinkan bahwa sistem tetap melakukan pemrosesan data antar batasan
fisik dan batasan logik.
Stress
Testing
· Ø
Tujuan:mengetahui kemampuan sistem dalam melakukan transaksi selama periode
waktu puncak proses.
Performance
Testing
· Ø
Dilakukan secara paralel dengan Volume dan Stress testing untuk mengetahui
unjuk kerja sistem (waktu respon, throughput rate) pada beberapa kondisi proses
dan konfigurasi.
Data
Recovery Testing
· Ø
Investigasi akan dampak kehilangan data melalui proses recovery ketika terjadi
kegagalan proses.
Data
Backup and Restore Testing
· Ø
Dilakukan untuk melihat prosedur back-up dan recovery.
· Ø
Dilakukan dengan mensimulasikan beberapa kesalahan untuk menguji proses backup
dan recovery.
Data
Security Testing
· Ø
Privilege access terhadap database diujikan pada beberapa user yang tidak
memiliki privilege access ke database.
· Ø
Shutdown database engine melalui operating system (dengan beberapa perintah OS)
yang dapat mematikan aplikasi database.
Test
Case
-
Untuk White-box testing
-
Pengujian struktur logik internal
-
Perintah spesifik yang diujikan:
-
SELECT
-
OPEN/CLOSE
-
COPY-REPLACE
-
IF statement
-
REPEAT UNTIL – DO-WHILE LOOP
-
CALL
-
Untuk Black-box testing
-
Pengujian fungsional sistem berdasarkan input
– output
-
Membagi input – output ke dalam beberapa
kelas (kelas ekuivalensi pada boundary input).
-
Menggunakan input yang tidak sesuai
spesifikasi (negatif, di luar range)
Kegiatan
Implementasi System
-
Menyiapkan Rencana Implementasi
-
Rencana Functional Test
-
Rencana Data Conversion
-
Rencana System Cutover
-
Rencana Training User
-
Membuat dan Test Networks
-
Install Hardware
-
Membuat Database Structures Production dan
Test Databases
Sistem
Acceptance Test
-
Bertujuan untuk menguji apakah sistem sudah
sesuai dengan apa yang tertuang dalam spesifikasi fungisonal sistem
(validation),
-
Terdiri dari dua tahapan: Sebelum pengiriman
dan setelah instalasi,
-
Melibatkan semua aspek sistem: hardware,
software aplikasi, environment software, tempat, dan operators.
-
Test dokumentasi terdiri dari tujuh bagian,
diantaranya :
1. Test Filosofi
Untuk
meyakinkan bahwa sistem sudah memiliki:
–
Keamanan dan keselamatan dalam operasional,
–
Kehandalan,
–
Dapat dirawat secara cost-effective,
–
Dapat dimodifikasi untuk menyesuaikan dengan
perubahan kebutuhan operasional.
2. Test Plan
Merupakan
dokumentasi yang menjelaskan jadwal untuk pre-delivery dan site acceptance test.
Jadwal
test: urutan Test yang menyatakan kaitan antara test satu dengan yang lainnya
dan masing-masing test tersebut sesuai dengan salah satu kebutuhan user.
3. Spesifikasi Test
Setiap
test yang akan dilakukan harus dispesifikasikan secara detail oleh pengembang
dan disetujui oleh user. Spesfikasi tersebut terdiri dari:
–
Judul dan referensi tunggal
–
Tujuan yang secara spesifik sesuai dengan
Functional Requirement
–
Lokasi pengujian
–
Syarat Pengujian: mis.: nilai marginal input,
supplies, dan lingkungan yang digunakan
–
Konfiguasi Test: versi dan isu hardware,
software, test dan bantuan simulasi
–
Spesifikasi input dan output
–
Detail prosedur operasional pengujian
–
Hasil yang dinginkan dan batasan untuk
penerimaan
–
Format untuk merekam hasil, details kesalahan
dan instruksi untuk melakukan test ulang, perekaman terhadap retensi dan
analisis
4. Pre-Delivery Test
Dilakukan
melalui simulasi terhadap tempat yang implementasi sistem. Syarat utk memulai
pengujian: konfiramsi terhadap kebenaran data, dokumen, software aplikasi dan
test khusus atau software simulasi, dan ketersediaan lingkungan yang sesuai,
pelayanan dan personal yang cocok,
5. Test Log
Log
semua operasi dan kejadian selama test (yang terencana maupun tidak) termasuk
full detail insiden, error, failure, retest, restart.
6. Test Summary
lsiting
semua kegagalan test (termasuk pengulangan), kejadian yang tidak dapat
dijelaskan dan non-conformances terhadap Functional test.
7. Site Acceptance Test
Semua
pengujian pada pre-delivery sudah dilakukan dan diterima. Hal tambahan yang
dilakukan :
–
Delivery check: pengecekan terhadap kerusakan
HW, SW dan dokumnetasi selama pengiriman,
–
Test Hardware: tidak terdapat kerusakan
selama pengimpanan dan pengiriman, sudah install dengan baik, beroperasi dengan
baik di lingkungan tempat yang akan diinstal (listrik, ruangan, dll).
–
Modifikasi pre-delivery test: semua
modifikasi sebagai konsekuensi dari masalah yang akan muncul selama
pre-delivery test harus dijadikan sebagai test tambahan.
–
Pengujian terhadap semua peralatan.
Automated test execution:
meminimalkan jumlah kerja manual pada saat pengujiaan sehingga memperoleh nilai
coverage yang lebih tinggi. Code coverage adalah metrik yang numerik yang
mengukur elemen code (brach, statement, path dan data) yang sudah diujikan.
Penggunaan tool pengujian code coverage dapat membantu mempercepat proses
pengujian
Use
case adalah visualisasi keinginan user yang dibuat dalam bentuk UML(Unified
Modeling Language). Dalam pembentukan sebuah test case didasarkan oleh dua hal,
yaitu basic flow (sistem berjalan dengan normal) dan alternate flow (alternatif
jalannya sistem).
Contoh
:
· Flow
Normal : Logon -> Select “Create Schedule” -> Obtain Course Information
-> Select Course -> Submit Schedule -> Display Completed Course.
· Alternate
Flow: Unidentified Student; Quit at anytime; Unfulfilled Prerequisite, Course
Full, Schedule Conflict; Course Catalog Unavailable; Course Registration
is Closed.
Proses
yang dilakukan dalam pembuatan test case sebagai berikut :
1. Generate
Scenarios
2. Identify
Test Cases
3. Identify
Data Values to Test
Sistem
Implementasi
· Training Personal
· Konversi Sistem
· Review post-implementation
· Dokumentasi
· Dukungan lain
Training
Tipe
Training disesuaikan dengan keadaan lingkungan implementasi system.
Eksternal
Training: kursus dari vendor pelatihan
Internal
Training: On the Job Training
Belajar
Sendiri
Memilih
Staf yang akan dilatih terdiri dari tiga kelompok user, yaitu :
1. Teknisi
& Administrator yang akan bertugas merawat sistem
2. Application
user (user pd umumnya)
3. General
Manager
Pelatihan
untuk Administrator:
–
Set-up sistem awal
–
Rutinitas harian
–
Diagnosis kesalahan
–
Menulis sistem log
–
Trouble shooting
–
Penanganan Keamanan
–
Melakukan perubahan, penghapusan
–
Melakukan Backup
Aplikasi
Training
–
Set up files
–
Proses transaksi
–
Validasi data
–
Update batch
–
Prosedur akhir-hari
–
Mencetak laporan
–
Pemahaman pesan kesalahan
Konversi
Sistem Baru
1. Konversi sistem secara
langsung
Disebut
juga sbg Cold Turkey yaitu langsung menghentikan sistem lama dan
menjalankan sistem baru.
2. Konversi paralel
Sistem
lama dan sistem baru beroperasi bersamaan untuk periode waktu tertentu.
3. Konversi Phase- In
Sistem
baru diimplementasikan secara gradual, sedikit demi sedikit -> memeberikan
waktu lebih utk asimilasi prubahan.
4. Konversi Pilot
Sistem
diinstal hanya pada sebagian organisasi (mis. Kantor cabang atau pabrik).
Evaluasi
Sistem Baru
Bertujuan
untuk mendapatkan cara meningkatkan efisiensi dan efektifitas sistem baru,
serta memberikan informasi untuk pengembangan sistem mendatang.
Dokumentasi
1. Dokumentasi
Proses
Merekam
proses pengembangan dan perawatan. Isi dokumentasi proses adalah: perencanaan,
jadwal, kualitas proses, standard proses.
1. Dokumentasi
Produk
Menggambarkan
produk yang sedang dikembangkan dari sudut pandang engineer
pengembang/perawatan. Yang termasuk dokumentasi produk adalah: user manual,
help.
Penyebab
error dalam software berbeda dengan hardware.
–
Hardware (manufacture, rusak/terlalu lama dipergunakan)
–
Software : tidak mendapatkan requirement yang benar; tidak mendapatkan
requirement dengan benar, tidak menerjemahkan requirement dalam suatu cara yang
jelas sehingga tidak dapat dipahami oleh programmer.
Maintainable
Design
· Kunci
untuk mengurangi kebutuhan maintenance adalah:
· Menetapkan
user requirement lebih akurat selama sistem development
· Menyusun
dokumentasi sistem yang lebih baik
· Menggunakan
metoda yang lebih efektif untuk mendesign pemrosesan logic dan mengkomunikasikannya
ke anggota project team
· Penggunaan
tool dan teknik secara lebih baik
· Mengelola
proses engineering system dengan efektif
Program
Structure Charts
–
Design yang di strukturkan dengan baik akan
meningkatkan maintainability system.
–
Struktur chart dikembangkan secara top down
dan modular.
–
Hubungan antar modul bersifat terbatas dan
interaksi datanya minimal, sehingga meningkatkan kualitas sistem dan
mempermudah maintenance.
–
Tujuan struktur charts untuk identifikasi
data yang dilewatkan antar masing-masing module yang saling berinteraksi.
Tingkat
Testing
1.
Unit testing:
–
Unit program adalah modules atau rutin yang digabung untuk melaksanakan fungsi
tertentu.
–
Unit testing fokus pada masing-masing modul dan dilakukan secara independen
untuk menemukan error.
· Bottom
Up testing: dimulai dari modul yang paling rendah dan paling kecil dan menuju
ke modul yang lebih besar
· Top
Down testing: dimulai dari modul yang lebih tinggi dan turun ke modul yang
lebih rendah
2.
System Testing
–
Pengujian atas integrasi setiap modul dalam sistem
–
Tujuan: menemukan kelemahan sistem dari sisi objektif, spesifikasi dan
dokumentasi, termasuk kompatibilitas masing-masing modul.
WHITE BOX TESTING DAN BLACK BOX TESTING
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
dilakukan berdasarkan bagaimana suatu software menghasilkan output dari input .
Pengujian ini dilakukan berdasarkan kode program.
Disebut
juga struktural testing atau glass box testing
Teknik
pengujian :
1.
Menggambarkan
kode program ke dalam graph yaitu node & edge.
Jika
berhubungan bernilai 1, bila tidak bernilai nol.
Dalam
pengujian ini akan diperoleh hasil :
*
Kemungkinan source code yang dieksekusi
*
Waktu yang dibutuhkan
*
Memori yang digunakan
*
Sumber daya yang digunakan
2. Basic
path, yaitu pengukuran kompleksitas kode program dan pendefinisian alur
yang akan dieksekusi.
Digambarkan
sequence, if, atau while nya
Uji
coba basis path adalah teknik uji coba white box yg diusulkan Tom McCabe.
Metode ini memungkinkan perancang test case mendapatkan ukuran kekompleksan
logical dari perancangan prosedural dan menggunkan ukuran ini sbg petunjuk
untuk mendefinisikan basis set dari jalur pengerjaan. Test case yg didapat
digunakan untuk mengerjakan basis set yg menjamin pengerjaan setiap perintah
minimal satu kali selama uji coba.
3. Data
flow testing, untuk mendeteksi penyalahgunaan data dalam sebuah
program.
4.
Cyclomatic Complexity
Cyclomatic Complexity merupakan suatu sistem pengukuran yang menyediakan ukuran kuantitatif dari kompleksitas logika suatu program. Pada Basis Path Testing, hasil dari cyclomatic complexity digunakan untuk menentukan banyaknya independent paths. Independent path adalah sebuah kondisi pada program yang menghubungkan node awal dengan node akhir.
Cyclomatic Complexity merupakan suatu sistem pengukuran yang menyediakan ukuran kuantitatif dari kompleksitas logika suatu program. Pada Basis Path Testing, hasil dari cyclomatic complexity digunakan untuk menentukan banyaknya independent paths. Independent path adalah sebuah kondisi pada program yang menghubungkan node awal dengan node akhir.
Terdapat
2 persamaan yang digunakan, yaitu:
V(G)=
E - N + 2 atau V(G)= P + 1
Keterangan:
V(G)=
cyclomatic complexity untuk flow graph G
E=Jumlah
edge(panah)
N=Jumlah
node(lingkaran)
P=Jumlah
predicate node
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.
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).
Black
Box pengujian adalah metode pengujian perangkat lunak yang menguji
fungsionalitas aplikasi yang bertentangan dengan struktur internal atau kerja
(lihat pengujian white-box). Pengetahuan khusus dari kode aplikasi / struktur
internal dan pengetahuan pemrograman pada umumnya tidak diperlukan. Uji kasus
dibangun di sekitar spesifikasi dan persyaratan, yakni, aplikasi apa yang
seharusnya dilakukan. Menggunakan deskripsi eksternal perangkat lunak, termasuk
spesifikasi, persyaratan, dan desain untuk menurunkan uji kasus. Tes ini dapat
menjadi fungsional atau non-fungsional, meskipun biasanya fungsional. Perancang
uji memilih input yang valid dan tidak valid dan menentukan output yang benar.
Tidak ada pengetahuan tentang struktur internal benda uji itu.
Metode
uji dapat diterapkan pada semua tingkat pengujian perangkat lunak: unit,
integrasi, fungsional, sistem dan penerimaan. Ini biasanya terdiri dari
kebanyakan jika tidak semua pengujian pada tingkat yang lebih tinggi, tetapi
juga bisa mendominasi unit testing juga.
Pengujian
pada Black Box berusaha menemukan kesalahan seperti:
· Fungsi-fungsi
yang tidak benar atau hilang
· Kesalahan
interface
· Kesalahan
dalam struktur data atau akses database eksternal
· Kesalahan
kinerja
· Inisialisasi
dan kesalahan terminasi
Teknik
khas Black Box Testing desain meliputi:
1. DECISION TABLE
Decision
Tablel adalah cara yang tepat belum kompak untuk model logika rumit, seperti
diagram alur dan jika-then-else dan switch-laporan kasus, kondisi mengaitkan
dengan tindakan untuk melakukan, tetapi dalam banyak kasus melakukannya dengan
cara yang lebih elegan.
Pada
tahun 1960-an dan 1970-an berbagai “Decision Table Based“ bahasa seperti
Filetab sangat populer untuk pemrograman bisnis.
2. ALL-PAIRS TESTING
All-pairs
testing atau pairwise testing adalah metode pengujian perangkat lunak
kombinatorial bahwa, untuk setiap pasangan parameter masukan ke sistem
(biasanya, sebuah algoritma perangkat lunak), tes semua kombinasi yang mungkin
diskrit parameter tersebut. Menggunakan vektor uji dipilih dengan cermat, hal
ini dapat dilakukan jauh lebih cepat daripada pencarian lengkap semua kombinasi
dari semua parameter, dengan “parallelizing“ pengujian pasangan parameter.
Jumlah tes biasanya O (nm), dimana n dan m adalah jumlah kemungkinan untuk
masing-masing dua parameter dengan pilihan yang paling.
Alasan
di balik semua-All-pairs testing ini: yang sederhana dalam sebuah program
umumnya dipicu oleh parameter masukan tunggal. Kategori paling sederhana
berikutnya bug terdiri dari mereka bergantung pada interaksi antara pasangan
parameter, yang bisa ditangkap dengan menguji semua-pasangan. yang melibatkan
interaksi antara tiga atau lebih parameter secara progresif kurang umum [2],
sementara pada saat yang sama waktu semakin lebih mahal untuk mencari oleh
pengujian mendalam, yang sebagai batas pengujian lengkap semua input yang
mungkin.
Banyak
metode pengujian menganggap semua-pasang pengujian sistem atau subsistem
sebagai kompromi biaya-manfaat yang wajar antara sering komputasi tidak layak
tingkat tinggi metode pengujian kombinatorial, dan metode yang kurang lengkap
yang gagal untuk menjalankan semua pasangan yang mungkin dari parameter. Karena
tidak ada teknik pengujian dapat menemukan semua bug, semua-pasangan pengujian
biasanya digunakan bersama dengan berbagai teknik jaminan mutu seperti unit
testing, eksekusi simbolik, pengujian bulu halus, dan memeriksa kode.
3. STATE TRANSITION TABLE
Dalam
teori automata dan logika sekuensial, state transition table adalah tabel yang
menunjukkan apa yang negara (atau negara dalam kasus robot terbatas
nondeterministic) suatu semiautomaton terbatas atau mesin finite state akan
pindah ke, berdasarkan kondisi saat ini dan masukan lainnya. Sebuah tabel
negara pada dasarnya adalah sebuah tabel kebenaran di mana beberapa input
adalah kondisi saat ini, dan output termasuk negara berikutnya, bersama dengan
keluaran lain.
state
transition table adalah salah satu dari banyak cara untuk menentukan mesin
negara, cara lain menjadi diagram negara, dan persamaan karakteristik.
4. EQUIVALENCE PARTITIONING
Equivalence
partitioning adalah pengujian perangkat lunak teknik yang membagi data masukan
dari unit perangkat lunak menjadi beberapa partisi data dari mana test case
dapat diturunkan. Pada prinsipnya, uji kasus dirancang untuk menutupi setiap
partisi minimal sekali. Teknik ini mencoba untuk mendefinisikan kasus uji yang
mengungkap kelas kesalahan, sehingga mengurangi jumlah kasus uji yang harus
dikembangkan.
Dalam
kasus yang jarang Equivalence partitioning juga diterapkan pada output dari
komponen perangkat lunak, biasanya itu diterapkan pada masukan dari komponen
diuji. Partisi ekivalen biasanya berasal dari spesifikasi persyaratan untuk
atribut masukan yang mempengaruhi pengolahan benda uji. Sebuah masukan telah
rentang tertentu yang rentang sah dan lainnya yang tidak valid. Data yang tidak
valid di sini tidak berarti bahwa data tidak benar, itu berarti bahwa data ini
terletak diluar dari partisi tertentu. Hal ini mungkin lebih tepat dijelaskan
oleh contoh fungsi yang mengambil sebuah parameter “bulan“. Jangkauan bulan
adalah 1 sampai 12, mewakili Januari-Desember. Jangkauan ini disebut partisi.
Dalam contoh ini ada dua partisi lebih lanjut rentang tidak valid. Partisi
pertama akan menjadi tidak valid <= 0 dan partisi tidak valid kedua akan
menjadi> = 13.
5. BOUNDRY VALUES ANALYSIS
Boundary
value analysis merupakan suatu teknik pengujian perangkat lunak di mana tes
dirancang untuk mencakup perwakilan dari nilai-nilai batas. Nilai-nilai di tepi
sebuah partisi kesetaraan atau sebesar nilai terkecil di kedua sisi tepi. Nilai
dapat berupa rentang masukan atau keluaran dari komponen perangkat lunak.
Karena batas-batas tersebut adalah lokasi umum untuk kesalahan yang
mengakibatkan kesalahan perangkat lunak mereka sering dilakukan dalam
kasus-kasus uji.
Dokumentasi komponen software, mencangkup pemeriksaan dokumen dari software itu sendiri, yaitu :
* Flowchart yang dibuat
* Deskripsi input yang digunakan
* Deskripsi output yang digunakan
* Deskripsi output yang dihasilkan
* Kesesuaian penulisan (akurasi)
* Kontrol/kendali terhadap sistem yang dibuat
Dokumentasi komponen software, mencangkup pemeriksaan dokumen dari software itu sendiri, yaitu :
* Flowchart yang dibuat
* Deskripsi input yang digunakan
* Deskripsi output yang digunakan
* Deskripsi output yang dihasilkan
* Kesesuaian penulisan (akurasi)
* Kontrol/kendali terhadap sistem yang dibuat
Strategi
Black Box System, meliputi :
* Batasan nilai untuk testing, meliputi beberapa nilai, yaitu
- Nilai minimum variabel input
- Nilai di atas nilai minimum
- Nilai normal
- Nilai di bawah nilai maksimum
- Nilai maksimum
* Equivalent Class Testing, yaitu mengelompokkan input yang direpresentasikan sebagai hasil yang valid atau invalid. Contoh :
Rekruitasi pegawai berdasarkan pengalaman kerja :
<1thn : diterima, part time
1-3 thn : diterima, sebagai tenaga kerja profesional
>4 thn : diterima, sebagai pegawai tetap
* Batasan nilai untuk testing, meliputi beberapa nilai, yaitu
- Nilai minimum variabel input
- Nilai di atas nilai minimum
- Nilai normal
- Nilai di bawah nilai maksimum
- Nilai maksimum
* Equivalent Class Testing, yaitu mengelompokkan input yang direpresentasikan sebagai hasil yang valid atau invalid. Contoh :
Rekruitasi pegawai berdasarkan pengalaman kerja :
<1thn : diterima, part time
1-3 thn : diterima, sebagai tenaga kerja profesional
>4 thn : diterima, sebagai pegawai tetap
Kesalahan yang dapat terdeteksi melalui testing ini ialah :
* kebenaran dokumentasi
* akses basis data
* hasil akhir program
Kelebihan black box testing :
* Spesifikasi program dapat ditentukan di awal
* Dapat digunakan untuk menilai konsistensi program
* Testing dilakukan berdasarkan spesifikasi
* Tidak perlu melihat kode program secara detail
Kekurangan black box testing :
* Bila spesifikasi program yang dibuat kurang jelas dan ringkas, maka akan sulit membuat dokumentasi setepat mungkin
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.
https://ceriamarcelina.wordpress.com/2012/12/25/rangkuman-mata-kuliah-testing-implementasi/
http://tkjpnup.blogspot.com/2013/12/black-box-testing-dan-white-box-testing.html




Assalamualaikum
BalasHapusApa kabar sdr Indra?