Pengertian Test Plan
Test Plan adalah dokumen yang berisi definisi tujuan dan sasaran pengujian dalam lingkup iterasi (atau proyek), item-item yang menjadi target pengujian, pendekatan yang akan diambil, sumber daya yang dibutuhkan dan point untuk diproduksi. Dengan kata lain test plan dapat disebut sebagai perencanaan atau scenario untuk melakukan testing yang akan dilakukan baik oleh expert atau user umum.
Tujuan Membuat Test Plan
Tujuan membuat test plan secara umum adalah untuk memudahkan developer untuk melakukan testing agar testing yang dilakukan menjadi jelas sehingga hasilnya lebih berguna dan efisien.
Pembuatan Test Plan
Pembuatan test plan dapat dibuat dengan mengikuti template pembuatan test plan, namun tidak harus mengacu kepada template test Plan yang ada, walaupun pada garis besar inti bagian dari setiap test plan adalah sama.
Berikut adalah penjelasan mengenai template Test Plan yang dikeluarkan oleh IEEE 829 (Institute of Electrical and Electronics Engineers) :
- Test Plan Identifier
Test Plan Identifier adalah bagian untuk menjelaskan secara singkat mengenai objek yang akan di test. Bisa berupa penjelasan narasi atau berbentuk tabel dengan kategori kategori tertentu. Informasi yang dijelaskan dapat berupa sekilas mengenai subjek testing, nama orang yang bertanggung jawab terhadap testing, penyusun test plan , tanggal dibuat test plan dan tanggal revisi,dll.
- Introduction
Pada bagian introduction dibuat untuk menjelaskan secara narasi, mengenai testing yang akan dilakukan terhadap suatu objek testing. Bagian Introduction dapat dibuat lebih rinci dengan menambahkan sub bab apabila perlu untuk dibuat. Contoh subbab yang dapat dibuat antara lain :
-> Purpose :untuk menjelaskan tujuan testing secara spesifik.
-> Background :latar belakang mengapa testing dilakukan.
-> Scope :Sejauh mana testing dilakukan.
-> Definition and Acronyms : penjelasan mengenai singkatan dan isitlah yang ada di dalam dokumen test plan.
- Test Items
Bagian test item menjelaskan mengenai daftar komponen komponen dalam objek testing yang akan di test satu per satu. Contohnya :
Kemudian
- Features to be tested
Penjelasan dan daftar daftar fitur yang akan ditest di pada saat pelaksanaan testing dimulai. Dapat berupa Tabel Contohnya adalah :
- Features Not to be Tested
Menjelaskan mengenai fitur fitur apa saja yang ada di dalam objek testing namun, fitur tersebut tidak akan di test pada saat pelaksanaan testing dan disertakan penjelasan singkat mengapa fitur tersebut tidak di test pada saat testing.
Contoh :
2. Migrasi Data karena migrasi data dapat dilakukan secara mudah dengan sistem yang telah ada, dll.
- Approach / Test Strategy
Bagian Approach adalah bagian yang digunakan untuk memberi deskirpsi mengenai Cara/approach yang dilakukan untuk melaksanakan testing dan disertakan dengan penjelasan mengenai approach yang digunakan.
Contohnya : Unit Testing menggunakan Black Box Testing dan atau White box testing beserta dengan penjelasan mengenai approach/ pendekatan yang dipakai.-> System testing dengan Performance testing dan Load testing ,dll.
- Item Pass / Fail Criteria
Berisi tentang Kriteria- kriteria yang harus dipenuhi sebelum berlanjut ke fase berikutnya. Dan Kriteria Testing disebut gagal/fail.
Contoh :
1. Jika suatu item di test sebanyak 10 kali dan 9 kali diantaranya berhasil namun ada 1 dimana benar benar gagal maka item tersebut dinyatakan sebagai gagal/ fail.
2. Jika hasil dari suatu item sama dengan hasil yang diharapkan maka item tersebut dinyatakan berhasil/pass.
3. System Crash akan dinyatakan sebagai fail,dsb.
- Suspension Criteria
Berisi tentang Spesifikasi Kriteria- kriteria yang dapat digunakan untuk menghentikan sementara kegiatan testing dan testing tersebut dapat dilanjutkan di waktu lain.
Contoh:
Beberapa individual test cases dapat di suspend, di skip atau dikurangi jika test yang diperlukan(prerequisite test) untuk individual test cases tersebut fail dan memerlukan perbaikan, apabila test cases individual tetap dilakukan meskipun prerequisite test yang diperlukan fail maka hanya akan membuang sumber daya /resources saja.
- TestDeliverables
Adalah List dokumen- dokumen apa saja yang akan dihasilkan setelah testing selesai dilakukan.
contohnya: - Testing Task
Menjelaskan Kegiatan testing beserta dengan pihak yang akan melaksanakan kegiatan/task tersebut.
Contoh:
- Enviromental Needs
Spesifikasi dan Perincian segala sesuatu yang dibutuhkan dan digunakan selama proses testing berjalan, bisa berupa hardware yaitu spesifikasi komputer atau hal lain selain hardware, misalnya izin akses seperti :
-> Membutuhkan akses ke dalam database untuk melaksanakan testing.
-> Membutuhkan akses ke dalam official website.
- Responsibilities
Rincian Pihak pihak yang akan bertanggung jawab terhadap suatu kegiatan task di dalam serangkaian kegiatan testing yang akan dilaksanakan.
- Staffing and Training Needs
Secara garis besar menjelaskan bagaimana melakukan pendekatan untuk menentukan peran para staff di dalam proyek. Dan melakukan training apabila diperlukan untuk testing.
contoh :
Project Manager : Bertanggung jawab untuk mengatur implementasi total dari website.
2. Test Manager : Bertanggung jawab untuk mengembangkan master test plan , review test deliverables, manage test cycle dan melaporkan status kepada test manager.
3. Test Engineer : Bertanggung jawab untuk merancang desain dari test, membuat prosedur testing, membuat test data dan menjalankan test. - Schedule
Ada beberapa tujuan dalam membuat schedule di dalam test plan, antara lain :
Merincikan Tolak ukur waktu pengerjaan Testing.
2. Merincikan event transmittal item.
3. Estimasi waktu yang dibutuhkan untuk setiap task.
4. Menjadwalkan Testing task dan Test Milestone.
5. Merincikan periode pemakaian Testing resources. - Risk and Contingencies
Digunakan untuk memastikan agar hasil testing tetap berkualitas dengan memeriksa beberapa bagian yang tidak termasuk di dalam control pengerjaan software, namun bagian tersebut dapat berdampak langsung terhadap proses.
Contoh :
Sekuritas Layanan Ketika masuk di dalam software masih belum diperhatikan, ketika software sedang dijalankan, belum ada proteksi keamanan oleh software ini sendiri sehingga akan sangat mudah apabila diinjeksi oleh pihak yang tidak bertanggung jawab.