Anda di halaman 1dari 26

ISJ2N2

Pengujian dan
Implementasi Sistem
Team Teaching
S1 Sistem Informasi
2023
Minggu 11
Outline Test Management Bagian 1
1. Test Organization
2. Testing Strategies
3. Test Planning, Control and Monitoring
Test Management
Test Management

Apa itu Test Management?


Planning Execution Test Management adalah sebuah metode untuk
Phase Phase mengorganisasi, merencanakan dan mengendalikan
proses pengujian perangkat lunak (software) atau
Test Test Monitoring and sistem.
Organization Control
Test Management meliputi aktivitas pembuatan rencana
pengujian (test plan), identifikasi kasus pengujian (test
Test Planning Issues Management case), pelaksanaan pengujian (test execution) dan
pelaporan hasil pengujian (test report).

Test Test Report and


Estimation Evaluation

Risk Analysis
Apa Tujuan dari Test
Management?
Test Management memiliki tujuan untuk memastikan
bahwa perangkat lunak (software) atau sistem yang
dibangun memiliki kualitas terbaik (high-quality)
melalui berbagai pengujian standar.

Keuntungan mengimplementasi test management


adalah membantu tim penguji dalam melakukan
pengujian secara efektif dan efisien baik dari segi
waktu dan biaya.
Siapa yang bertanggungjawab
atas Test Management?
Seluruh tim pengujian (testing team) dan pengembang
(developers) memiliki peranan yang penting dalam test
management.

Pada test management, test manager memiliki


tanggungjawab dalam merencanakan dan mengelola
sumber data selama pengujian. Berikut ini adalah beberapa
tanggungjawab test manager:
1. Membentuk dan memimpin tim pengujian
2. Menentukan ruang lingkup pengujian
3. Mengorganisasi dan mengalokasikan sumber daya
untuk pengujian
4. Menerapkan metrik dan pengukuran pengujian
5. Memastikan konsistensi kualitas dari perangkat lunak
atau sistem yang dikembangkan
6. Merencanakan, mengatur dan mengelola semua
proses pengujian
Bagian 1

Test Management

Planning Execution
Phase Phase

Test Test Report


Test Test Test Issues
Risk Analysis Monitoring and
Organization Planning Estimation Management
and Control Evaluation
Test Organization
Tim Pengujian
Independent (Independent
Testing Team) (1)

Pengujian perangkat lunak atau sistem


sebenarnya dapat dilakukan oleh tim
pengembang, tetapi hal ini sangat tidak
disarankan karena proses pengujian tidak akan
objektif.

Pengujian yang dilakukan oleh tim


pengembang dianggap “blind to their own
mistakes” sehingga proses pengujian yang
dilakukan tidak akan efektif.

“Pengujian sebaiknya dilakukan oleh tim


independent”
Tim Pengujian
Independent (Independent
Testing Team) (2)
Beberapa potensi negatif ketika tim pengujian
benar-benar terpisah dengan tim pengembang:
1. Jika tim pengujian terlalu independen dan
terpisah dari tim pengembang, maka
komunikasi antar kedua tim tidak akan terjalin
dengan baik dan kemungkinan besar akan
menimbulkan sesuatu yang tidak perlu, seperti
kesalahan pengujian karena tidak mengerti
konteks pengujian, dsb.
2. Tim pengujian independen bisa jadi tidak
memiliki pengetahuan yang cukup terkait
objek yang akan diuji, sehingga proses
pengujian akan menjadi tidak efektif dan bisa
menimbulkan pembengkakan biaya serta
keterlambatan penyelesaian proyek.
Tim Pengujian
Independent (Independent
Testing Team) (3)
Beberapa potensi negatif ketika tim pengujian
benar-benar terpisah dengan tim pengembang:
3. Tim pengembang menjadi tidak merasa
bertanggungjawab dalam menuliskan kode
program yang berkualitas karena merasa ada
tim penguji yang akan menemukan kesalahan.
Beberapa Bentuk Tim
Pengujian (1)
Berikut ini adalah beberapa bentuk tim pengujian
yang dapat dipilih untuk mengurangi dampak negatif
dari tim pengujian yang terlalu independent:
1. Developer testing (pair-testing). Pengujian
yang dilakukan oleh rekan pengembang.
Pembuat kode program tidak boleh menguji
kode yang dibuat sendiri, melainkan diuji
oleh rekannya.
2. Independent tester. Dalam suatu tim
pengembang, tim ini dibagi menjadi dua
peran, yaitu pengembang dan penguji.
3. Independent testing teams. Membentuk tim
penguji terpisah dimana didalamnya ada satu
perwakilan dari tim pengembang. (semua
anggota masih dalam satu perusahaan yang
sama)
4. Test specialist. Merekrut orang lain (bukan
orang perusahaan) yang memiliki keahlian
khusus untuk melakukan pengujian
perangkat lunak atau sistem.
5. External service providers. Menyerahkan
proses pengujian secara menyeluruh kepada
pihak ketiga.
Test Planning
Aktivitas yang dilakukan pada Test Planning (1)

Select Testing
Specify The Draft The Test Customize The
Methods and
Test Object(s) Objectives Testing Process
Techniques

Plan Costing Specify The Specify The


Define Test
and Overall Reporting Required
Metrics
Testing Effort System Infrastructure
Aktivitas yang dilakukan pada Test Planning (2)
1. Specify The Test Object(s)
Mengidentifikasi komponen, modul, interface atau bagian yang akan diuji. Menentukan apa saja
yang akan diuji dan apa saja yang tidak diikutsertakan dalam pengujian.
2. Draft The Test Objectives
Menganalisa, mendefinisikan dan membuat draft untuk pengujian dengan tujuan yang spesifik
seperti pengujian fungsional atau pengujian non fungsional.
3. Customize The Testing Process
Sesuaikan proses pengujian dengan kebijakan perusahaan atau model pengembangan perangkat
lunak yang digunakan (misalnya: waterfall, agile, dsb). Pada aktivitas ini juga test manager akan
menentukan tingkat pengujian seperti unit testing, integration testing atau user testing
4. Selecting Testing Methods and Techniques
Menentukan metode dan teknik pengujian yang tepat untuk berbagai tingkatan pengujian. Pada
aktivitas ini juga menentukan opsi alternatif pengujian yang dapat dilakukan secara otomatis.
Aktivitas yang dilakukan pada Test Planning (3)
5. Specify The Required Infrastructure
Menganalisa dan menentukan kebutuhan yang diperlukan dalam melakukan pengujian. Mulai
dari tools pengujian yang akan digunakan hingga lingkungan pengujian.
6. Define Test Metrics
Menentukan metrik yang akan digunakan dalam proses pengujian mulai dari teknik pengukuran
pengujian, kriteria evaluasi, Batasan pengujian, respon terhadap hasil pengujian dan menentukan
test exit criteria.
7. Specify The Reporting System
Menspesifikasikan dokumen (seperti test schedule, test logs, defect reports, test reports, dsb)
yang harus dibuat selama proses pengujian. Pada aktivitas ini juga harus ditentukan siapa yang
bertanggungjawab untuk membuat dokumen, mempublikasi dokumen, menyajikan dokumen
hingga menyimpan arsip dari semua dokumen. Template dokumen harus tersedia dan memiliki
panduan yang jelas yang menentukan tingkat detail laporan yang harus dibuat.
8. Plan Costing and Overall Testing Effort
Memperkirakan dan mengamankan biaya yang diperlukan untuk melakukan proses pengujian.
Jenis-jenis Strategi Pengujian
Berikut ini adalah jenis-jenis strategi pengujian:
1. Preventative
• Proses pengujian dilakukan sejak awal proyek pengembangan perangkat lunak atau sistem
dimulai
• Test Manager dapat secara aktif menyesuaikan aktivitas pengujian dalam rangka
mengoptimalkan proses pengujian dan meminimalisir biaya pengujian
• Proses pengujian secara aktif dilakukan dengan tujuan: menemukan errors, defect, faults
sesegera mungkin
2. Reactive
• Proses pengujian dilakukan setelah proyek pengembangan perangkat lunak atau sistem
sudah berjalan hingga tahap tertentu.
• Proses pengujian dilakukan berdasarkan kondisi tertentu
Strategi Pengujian di Dunia Nyata (real-world testing
strategy) (1)
Berikut ini adalah strategi pengujian yang banyak digunakan di dunia nyata:
1. Cost-based testing. Strategi pengujian yang dilakukan berdasarkan pertimbangan biaya. Pemilihan
metode dan teknik serta prioritas pengujian ditentukan dengan mempertimbangkan biaya yang
diperlukan untuk melakukan proses pengujian tsb.
2. Risk-based testing. Proses pengujian yang dilakukan dengan melakukan analisis resiko terlebih dahulu.
Proses pengujian dilakukan dengan berfokus pada area yang memiliki resiko paling besar terlebih
dahulu.
3. Model-based testing. Pendekatan ini menggunakan model abstrak dari objek yang akan diuji untuk
menetukan test case, exit criteria dan ruang lingkup pengukuran.
4. Methodical approach. Proses pengujian yang dilakukan dengan menggunakan pendekatan ini,
biasanya sudah terdapat sekumpulan standar yang biasa dilakukan dalam melakukan pengujian.
Biasanya sekumpulan standar ini sudah ditentukan terlebih dahulu oleh perusahaan atau organisasi
untuk memastikan beberapa hal penting yang perlu dipastikan terlebih dahulu (prioritas utama) ketika
akan melakukan pengujian.
5. A reuse-based approach. Proses pengujian berdasarkan standar-standar pengujian yang umum yang
sering digunakan para proyek sejenis.
Strategi Pengujian di Dunia Nyata (real-world testing
strategy) (2)
Berikut ini adalah strategi pengujian yang banyak digunakan di dunia nyata:
6. A Checklist-based approach. Proses pengujian yang dilakukan berdasarkan:
• Daftar defects yang berasal dari siklus pengujian sebelumnya
• Daftar potensial failures dan resiko
• Prioritas kualitas yang diharapkan
7. A Standards-compliant approach. Industri tertentu biasanya memiliki standar pengujian yang
diterima oleh industri-industri lain yang sejenis (industry-wide accepted standards). Pendekatan
ini, proses pengujian mengikuti standar tersebut yang telah diakui dan diterima oleh industry-
industry sejenis.
8. A directed approach. Proses pengujian yang dilakukan berdasarkan petunjuk atau dipandu oleh
testing expert di bidang tertentu.
Test Estimation
Pendekatan untuk Memperkirakan Biaya Pengujian
Terdapat dua pendekatan umum untuk memperkirakan biaya pengujian:
1. Expert-based estimation. Pada pendekatan ini, seluruh biaya pengujian dihitung berdasarkan
perkiraan yang dilakukan oleh expert yang memiliki pengalaman yang layak pada proses
pengujian tertentu.
2. Metrics-based estimation. Pada pendekatan ini, perkiraan biaya pengujian dihitung berdasarkan
proyek yang mirip atau proyek sebelumnya.
Cost of Testing
1. Direct Cost. Biaya yang muncul ketika menggunakan perangkat lunak atau sistem seperti
perhitungan yang salah, kehilangan data, kerusakan hardware, biaya ketika menggunakan
perangkat lunak baru (pelatihan, waktu untuk mempelajari menggunakan)
2. Indirect Cost. Biaya yang muncul ketika pengguna tidak senang saat menggunakan produknya
yang berimbas kepada keterlambatan pelunasan pembayaran proyek, penalty dan biaya
perbaikan.
3. Cost of Defect Correction. Biaya yang muncul untuk melakukan berbagai perbaikan error, failure
dan defect yang ditemukan selama proses pengujian
Risk Analysis
Analisa Resiko (1)
Analisa resiko pada pengujian bertujuan untuk mengetahui dua hal, yaitu:
1. Resiko produk. Resiko produk ini dapat berupa:
• Produk tidak berjalan sesuai dengan fungsi yang diharapkan atau bahkan tidak berfungsi
sama sekali
• Produk tidak memenuhi dari aspek fungsional maupun non-fungsional
• Arsitektur sistem tidak scalable atau tidak mampu menangani ketika terdapat penambahan
pengguna atau fitur.
• Produk memiliki defect yang membahayakan pengguna (Mis: kesalahan pada software
pesawat terbang)
2. Resiko proyek. Pengembangan perangkat lunak atau sistem biasanya merupakan bagian dari
proyek yang lebih besar. Resiko produk yang tidak dikelola dengan baik akan mengakibatkan
resiko proyek yang fatal.
Analisa Resiko (2)
Analisa resiko merupakan bagian dari manajemen resiko yang memiliki tujuan untuk mengelola resiko
yang ada dan meminimalisir dampak resiko yang mungkin terjadi. Pada Manajemen resiko, beberapa
aktivitas berikut dilakukan:
1. Identifikasi dan analisis resiko untuk mengantisipasi potensial resiko lainnya
2. Menentukan prioritas dalam mengangani resiko
3. Mengukur dan merencanakan alternatif solusi dalam mengangani resiko
Referensi
• Firesmith, D. (2013, November 11). Using V Models for Testing. Retrieved
March 30, 2023, from http://insights.sei.cmu.edu/blog/using-v-models-for-
testing/.
• Swain, D. (2023) V model in software testing: What, why, advantages and
disadvantages, Testsigma Blog. Available at: https://testsigma.com/blog/v-
model-in-software-development-life-cycle/#What_is_Verification
(Accessed: April 3, 2023).
• Jorgensen, P. C., & DeVries, B. (2021). Software Testing A Craftman's
Approach (5th ed.). London: CRC Press.
• Kurbel, K. (2010). The making of information systems: Software engineering
and management in a Globalized World. Berlin: Springer.
• Spillner, A., Linz, T., & Spillner, A. (2021). Software testing foundations.
Santa Barbara: Rocky Nook.

Anda mungkin juga menyukai