TESTING (REVIEW)


Menurut Standar ANSI/IEEE 1059: Testing adalah proses menganalisa suatu entitas software untuk mendeteksi perbedaan antara kondisi yang ada dengan kondisi yang diinginkan (defects errors / bugs) dan mengevaluasi fitur-fitur dari entitas software.

Terdapat 6 kunci prinsip testing yaitu:

a) Testing yang komplit tidak mungkin.

b) Testing merupakan pekerjaan yang kreatif dan sulit.

c) Alasan yang penting diadakannya testing adalah untuk mencegah terjadinya errors.

d) Testing berbasis pada resiko.

e) Testing harus direncanakan.

f) Testing membutuhkan independensi.

Testing adalah tahapan yang sangat penting didalam proses pembuatan program karena testing atau aktifitas untuk menjaimin kualitas program dapat dilakukan selama proses pembuatan program.

Terdapat 2 tahapan testing yang dilakukan:

PRE IMPLEMENTATION TESTING

Pre implementation testing tidak dilakukan oleh programmer atau tim testing, tetapi dilakukan oleh tim reviewer yang terdiri dari project manager, klien atau pembangun sistem.

POST IMPLEMENTATION TESTING

Tahap ini dilakukan langsung pada sebuah program. Terdapat dua teknik testing pada tahap post implementation testing yaitu:

i. White Box

White Box Testing adalah teknik pengujian perangkat lunak di mana struktur internal, desain dan pengkodean perangkat lunak diuji untuk memverifikasi aliran input-output dan untuk meningkatkan desain, kegunaan dan keamanan.

ii. Black Box

Black Box Testing adalah metode pengujian perangkat lunak di mana struktur internal / desain / implementasi dari item yang diuji tidak diketahui oleh penguji.

Tipe-tipe testing:

1. Volume : Memfokuskan untuk input yang besar

2. Usability : Mengukur reaksi user (Skala 1 : 10)

3. Performance : Mengukur kecepatan pada beberapa keadaan

4. Konfigurasi : Mengkonfigurasi untuk bermacam – macam hadware atau software

5. Compatibility : komplabiliti dengan aplikasi lain (mengukur watu adaptasi)

6. Relibiality / availability : mengukur ketahanan pada priode waku yang lama

7. Security

8. Resource Usage : Mengukur penggunaan RAM, Ruang Disk, Dan lainnya

9. Installabiltiy : di install pada bermacam – macam keadaan (mengukur waktu install)

10. Recoverabilty : mengukur waktu untuk me-recover

11. Serviceability ; mengukur waktu service

12. Load / stress : untuk data extreame dan traffic.

Terdapat 3 tahap dalam testing yaitu unit testing, integration testing, dan system testing

Unit Testing

Pengujian unit adalah metodologi pengujian perangkat lunak yang melibatkan pengujian setiap unit kode sumber untuk memeriksa apakah cocok untuk digunakan atau tidak. Dengan kata lain, ini adalah komponen terkecil yang mungkin untuk diuji. Karena kecil, unit ini mudah untuk merancang, melaksanakan, merekam, dan menganalisis hasil pengujian.

Integration Testing

Integration testing adalah fase dalam pengujian perangkat lunak di mana modul perangkat lunak individu digabungkan dan diuji sebagai satu kelompok. Pengujian integrasi dilakukan untuk mengevaluasi kesesuaian suatu sistem atau komponen dengan persyaratan fungsional yang ditentukan.

System Testing

System testing adalah pengujian yang dilakukan pada sistem terintegrasi lengkap untuk mengevaluasi kesesuaian sistem dengan persyaratan yang ditentukan. Pengujian sistem mengambil, sebagai masukan, semua komponen terintegrasi yang telah lulus pengujian integrasi.

Terdapat beberapa tipe testing lainnya seperti regression testing, user acceptance testing, beta testing, release testing. Bukan hanya tim tester dan programmer yang melakukan testing, testing juga dapat dilakukan oleh beta tester, costumer, maintainer, dan lainnya.

Standard ANSI/IEEE untuk test dokumentasi adalah introduction, test plan, test design, test case, test procedures, test item transmittal report, test log, test incident report, test summary report.

Bagian – bagian yang dilakukan testing:

Bagian Statment / Statment Coverage

Bagian Percabangan / Branch Coverage

Bagian Kondisi / Condition Coverage

TESTING TOOLS

Testing bervolume besar biasanya membutuhkan penggunaan tool-tool otomatis, JACOBSON menyarankan bahwa 75% dari test lebih baik dilakukan secara otomatis dari pada dilakukan secara manual. Beberapa kegunaan testing tools yaitu:

1. Merekam aksi mouse dan keyboard untuk memungkinkan pengulangan pemutaran kembali

2. Jalankan test script secara berulang-ulang

3. Memungkinkan untuk merekam hasil test

4. Merekam hasil test

5. Merekam run time error

6. Membuat dan mengatur regression test

7. Menghasilkan test report

8. Menghasilkan test data

9. Merekam penggunaan memory

10. Mengatur / mengelola test case

11. Analisa keseluruhan.



Comments