Black Box Testing
Black Box Testing
This method is named so because the software program, in the eyes of the
tester, is like a black box; inside which one cannot see. This method attempts to
find errors in the following categories:
Definition by ISTQB
Example
A tester, without knowledge of the internal structures of a website, tests the web
pages by using a browser; providing inputs (clicks, keystrokes) and verifying the
outputs against the expected outcome.
Levels Applicable To
Black Box Testing method is applicable to the following levels of software
testing:
Integration Testing
System Testing
Acceptance Testing
The higher the level, and hence the bigger and more complex the box, the more
black-box testing method comes into use.
Techniques
Following are some techniques that can be used for designing black box tests.
Advantages
Tests are done from a user’s point of view and will help in exposing
discrepancies in the specifications.
Tester need not know programming languages or how the software has
been implemented.
Tests can be conducted by a body independent from the developers,
allowing for an objective perspective and the avoidance of developer-bias.
Test cases can be designed as soon as the specifications are complete.
Disadvantages
Only a small number of possible inputs can be tested and many program
paths will be left untested.
Without clear specifications, which is the situation in many projects, test
cases will be difficult to design.
Tests can be redundant if the software designer/developer has already run
a test case.
Ever wondered why a soothsayer closes the eyes when foretelling events?
So is almost the case in Black Box Testing.
White Box
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.
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
o 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.
o 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: