Requirement tidak hanya ditulis oleh pembangun, tapi sebelumnya justru ditulis oleh klien yang memesan software. Klien menuliskan requirement dalam bentuk yang masih abstrak tentang. kebutuhannya. Kemudian requirement tersebut diserahkan kepada tim pembangun. Saat sudah ada persetujuan pembangun pun kemudian menuliskan kemampuan sistem yang bisa dipahami oleh klien, inipun disebut requirement.
Requirement adalah gambaran dari layanan (services) dan batasan bagi sistem yang akan dibangun. Atau requirement adalah pernyataan/gambaran pelayanan yang disediakan oleh sistem, batasan-batasan dari sistem dan bisa juga berupa definisi matematis fungsi-fungsi sistem. Requirement berfungsi ganda yaitu:
Menjadi dasar penawaran suatu kontrak è harus terbuka untuk masukan
Menjadi dasar kontrak è harus didefinisikan secara detil
Proses menemukan, menganalisis, mendokumentasikan dan pengujian layanan-layanan dan batasan tersebut disebut Requirement Engineering.
Pengumpulan requirement
Interviews : Memberi informasi yang terbaik,mahal
Questionnaires: Bagus jika banyak orang terlibat dan tersebar, respon cenderung kurang baik
Observation: Akurat jika dilakukan dengan baik, mahal
Searching :Informasi terbatas, cenderung tidak menampilkan hal-hal yang mungkin jadi masalah
Beberapa macam requirement :
User requirement (kebutuhan pengguna)
ü Pernyataan tentang layanan yang disediakan sistem dan tentang batasan-batasan operasionalnya. Pernyataan ini dapat dilengkapi dengan gambar/diagram yang dapat dimengerti dengan mudah.
System requirement (kebutuhan sistem)
ü Sekumpulan layanan/kemampuan sistem dan batasan-batasannya yang ditulis secara detil. System requirement document sering disebut functional specification (spesifikasi fungsional), harus menjelaskan dengan tepat dan detil. Ini bisa berlaku sebagai kontrak antara klien dan pembangun.
A software design specification (spesifikasi rancangan PL)
ü Gambaran abstrak dari rancangan software yang menjadi dasar bagi perancangan dan implementasi yang lebih detil.
- 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.
TAHAP FASE PEMROGRAMAN
Programmer
menguji modul dengan menetapkan lingkungan yang tepat, menyediakan beberapa
input, membiarkan modul langsung memproses secara logik dan mendapatkan
hasilnya. Beberapa input mungkin tidak sebenarnya, terutama jika modul tersebut
tidak menyediakan input yang sebenarnya.
Modul
seharusnya diuji dalam dua tahap, yaitu :
1. Tahap Pertama disebut pengujian “White
Box”. Programmer harus mengetahui isi di dalam modul dan menyediakan data
pengujian, sehingga masing-masing path logical dalam program dapat dieksekusi.
a. Kelebihan
pengujian “White Box”
1. 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.
2. Ketidaksesuaian
asumsi. Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk di
analisa dan diperbaiki.
b.
Kelemahan pengujian “White Box”
Untuk
perangkat lunak yang tergolong besar, White Box Testing dianggap sebagai
strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar
untuk melakukannya
2. Tahap Kedua atau pengujian “Black
Box” dapat dilakukan. Dalam pengujian ini, programmer mengabaikan bagian
dalam dari modul – data disediakan secara berurut dan dianggap seperti
pemakaian sebenarnya.
a.
Kelebihan black box testing :
1.
Spesifikasi program dapat ditentukan di awal
2.
Dapat digunakan untuk menilai konsistensi program
3.
Testing dilakukan berdasarkan spesifikasi
4.
Tidak perlu melihat kode program secara detail
b.
Kekurangan black box testing :
Bila spesifikasi
program yang dibuat kurang jelas dan ringkas, maka akan sulit membuat
dokumentasi setepat mungkin