Software testing adalah proses menjalankan program atau aplikasi dengan maksud untuk menemukan bug dari suatu perangkat lunak yang telah dibuat.
Tujuan dari pengujian perangkat lunak, yaitu :
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%.
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).
Tahapan dari pengujian perangkat lunak :
1.Unit atau Component Testing.
Terbagi menjadi dua, yaitu unit dan component. Unit testing merupakan proses testing, di mana programmer melakukan pengujian pada bagian basic dari kode program. Misalnya, memeriksa kode program pada event, procedure, dan function. Unit Testing akan meyakinkan bahwa masing-masing unit tersebut sudah berjalan dengan benar.
Pada Unit Testing, programmer memeriksa bagian kode program secara terpisah dari bagian yang lain. programmer dapat langsung melakukan Unit Testing setiap kali sebuah kode unit selesai dibuat. programmer dapat memeriksa kode unit dengan menjalankan baris per baris agar proses yang dilakukan berjalan dengan baik.
2.Integration Testing.
Setelah melakukan Unit/Component Testing, selanjutnya memeriksa bagaimana unit-unit tersebut bekerja sebagai suatu kombinasi, bukan lagi suatu unit individual.
Sebagai contoh, programmer memiliki sebuah proses yang dikerjakan oleh dua function, di mana satu function menggunakan hasil output dari function yang lainnya. Kedua function ini telah berjalan dengan baik secara individu pada Unit Testing.
Pada tahap Integration Testing, programmer memeriksa hasil dari interaksi kedua function tersebut, apakah bekerja sesuai dengan hasil yang diharapkan. programmer juga harus memastikan bahwa seluruh kondisi yang mungkin terjadi dari hasil interaksi antar unit tersebut menghasilkan suatu output yang sesuai dengan apa yang kita inginkan.
3.System Testing.
Mencakup testing aplikasi yang telah selesai dibuat. Karena itu, aplikasi harus terlihat dan berfungsi dengan baik dan benar terhadap end-user atau pengguna akhir. Maka dari itu, testing perlu dilakukan dengan menggunakan data yang menggambarkan data yang digunakan oleh pengguna sesungguhnya terhadap aplikasi. Jika aplikasi dibuat untuk lingkungan yang besar, programmer dapat melakukan testing pada dua komputer yang berbeda. Komputer yang Anda gunakan sebagai komputer testing harus terlebih dahulu dikonfigurasi hanya dengan:
4. Acceptance Testing.
Hampir sama seperti Integration Testing, Acceptance Testing juga meliputi testing keseluruhan aplikasi. Namun, Perbedaannya ada pada siapa yang melakukan pengujian. Pada tahap ini, end-user yang terpilih melakukan testing terhadap fungsi-fungsi aplikasi dan melaporkan permasalahan yang ditemukan.
Testing yang dilakukan merupakan simulasi penggunaan nyata dari aplikasi pada lingkungan yang sebenarnya. Proses ini merupakan salah satu tahap final sebelum pengguna menyetujui dan menerima penerapan sistem aplikasi yang baru. Karena itu pada tahap ini sudah tidak difokuskan untuk mengangkat permasalahan kecil seperti kesalahan pengetikan, ataupun kosmetik aplikasi. kesalahan seperti di atas sudah seharusnya diperbaiki selama Unit/Component Testing dan Integration Testing.
5. RegressionTesting.
Merupakan bagian penting dari masing-masing tahap proses testing. Regression Testing mencakup pengujian ulang terhadap unit, component, proses, atau keseluruhan aplikasi setelah perbaikan suatu kesalahan dilakukan.
Regression Testing memastikan permasalahan yang terjadi telah ditanggulangi, dan tidak terdapat permasalahan baru yang timbul sebagai efek perbaikan tersebut. Selain itu, tahap ini tidak hanya berguna untuk melakukan pengujian aplikasi, tetapi dapat juga digunakan untuk melakukan pemantauan kualitas dari output yang dihasilkan. Sebagai contoh, Regression Testing memantau ukuran file, waktu yang dibutuhkan untuk melakukan suatu tes, waktu yang dibutuhkan untuk melakukan kompilasi, dan lain sebagainya.
Tujuan dari pengujian perangkat lunak, yaitu :
- Untuk menemukan dan memperbaiki bug yang ada pada program yang telah dibuat.
- Mencegah adanya bug pada program
- Untuk mendapatkan perangkat lunak dengan kualitas yang memuaskan keinginan pelanggan/konsumen.
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%.
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).
Tahapan dari pengujian perangkat lunak :
1.Unit atau Component Testing.
Terbagi menjadi dua, yaitu unit dan component. Unit testing merupakan proses testing, di mana programmer melakukan pengujian pada bagian basic dari kode program. Misalnya, memeriksa kode program pada event, procedure, dan function. Unit Testing akan meyakinkan bahwa masing-masing unit tersebut sudah berjalan dengan benar.
Pada Unit Testing, programmer memeriksa bagian kode program secara terpisah dari bagian yang lain. programmer dapat langsung melakukan Unit Testing setiap kali sebuah kode unit selesai dibuat. programmer dapat memeriksa kode unit dengan menjalankan baris per baris agar proses yang dilakukan berjalan dengan baik.
2.Integration Testing.
Setelah melakukan Unit/Component Testing, selanjutnya memeriksa bagaimana unit-unit tersebut bekerja sebagai suatu kombinasi, bukan lagi suatu unit individual.
Sebagai contoh, programmer memiliki sebuah proses yang dikerjakan oleh dua function, di mana satu function menggunakan hasil output dari function yang lainnya. Kedua function ini telah berjalan dengan baik secara individu pada Unit Testing.
Pada tahap Integration Testing, programmer memeriksa hasil dari interaksi kedua function tersebut, apakah bekerja sesuai dengan hasil yang diharapkan. programmer juga harus memastikan bahwa seluruh kondisi yang mungkin terjadi dari hasil interaksi antar unit tersebut menghasilkan suatu output yang sesuai dengan apa yang kita inginkan.
3.System Testing.
Mencakup testing aplikasi yang telah selesai dibuat. Karena itu, aplikasi harus terlihat dan berfungsi dengan baik dan benar terhadap end-user atau pengguna akhir. Maka dari itu, testing perlu dilakukan dengan menggunakan data yang menggambarkan data yang digunakan oleh pengguna sesungguhnya terhadap aplikasi. Jika aplikasi dibuat untuk lingkungan yang besar, programmer dapat melakukan testing pada dua komputer yang berbeda. Komputer yang Anda gunakan sebagai komputer testing harus terlebih dahulu dikonfigurasi hanya dengan:
- Operating system yang dibutuhkan.
- Driver yang diperlukan oleh aplikasi.
- Aplikasi yang dites.
4. Acceptance Testing.
Hampir sama seperti Integration Testing, Acceptance Testing juga meliputi testing keseluruhan aplikasi. Namun, Perbedaannya ada pada siapa yang melakukan pengujian. Pada tahap ini, end-user yang terpilih melakukan testing terhadap fungsi-fungsi aplikasi dan melaporkan permasalahan yang ditemukan.
Testing yang dilakukan merupakan simulasi penggunaan nyata dari aplikasi pada lingkungan yang sebenarnya. Proses ini merupakan salah satu tahap final sebelum pengguna menyetujui dan menerima penerapan sistem aplikasi yang baru. Karena itu pada tahap ini sudah tidak difokuskan untuk mengangkat permasalahan kecil seperti kesalahan pengetikan, ataupun kosmetik aplikasi. kesalahan seperti di atas sudah seharusnya diperbaiki selama Unit/Component Testing dan Integration Testing.
5. RegressionTesting.
Merupakan bagian penting dari masing-masing tahap proses testing. Regression Testing mencakup pengujian ulang terhadap unit, component, proses, atau keseluruhan aplikasi setelah perbaikan suatu kesalahan dilakukan.
Regression Testing memastikan permasalahan yang terjadi telah ditanggulangi, dan tidak terdapat permasalahan baru yang timbul sebagai efek perbaikan tersebut. Selain itu, tahap ini tidak hanya berguna untuk melakukan pengujian aplikasi, tetapi dapat juga digunakan untuk melakukan pemantauan kualitas dari output yang dihasilkan. Sebagai contoh, Regression Testing memantau ukuran file, waktu yang dibutuhkan untuk melakukan suatu tes, waktu yang dibutuhkan untuk melakukan kompilasi, dan lain sebagainya.
Tidak ada komentar:
Posting Komentar
Tolong berkomentar dengan sopan dan baik, Terimakasih.