Fundamentals of Software Testing and Test Development Driven Flashcards
(7 cards)
1
Q
Software testing adalah…
A
proses sistematis untuk mengevaluasi kualitas perangkat lunak dengan cara menemukan bug/defect, memverifikasi apakah sistem sudah sesuai spesifikasi, dan memvalidasi bahwa software memenuhi kebutuhan pengguna
2
Q
Tujuan utama software testing adalah:
A
- mendeteksi defect (bug)
mengidentifikasi error sebelum software digunakan pengguna, sehingga dapat diperbaiki lebih awal dengan biaya yang lebih rendah - menjamin kualitas (Quality Assurance)
memberikan keyakinan bahwa software sesuai standar kualitas yang ditetapkan - verifikasi
memastikan bahwa software telah dibangun dengan benar sesuai spesifikasi teknis (pertanyaan yg dijawab: apakah kita membangun produk dengan benar?) - validasi
memastikan bahwa software yang dibangun benar-benar memenuhi kebutuhan pengguna (pertanyaan yg dijawab: apakah kita membangun produk yang tepat?) - mengurangi risiko
menemukan bug lebih awal untuk menghindari kegagalan di tahap produksi yang dapat mengganggu bisnis atau pengguna
3
Q
Level testing:
A
- unit testing
menguji unit terkecil dari software, seperti fungsi atau metode secara individual; tujuannya untuk memastikan bahwa setiap unit berfungsi sebagaimana mestinya - integration testing
menguji bagaimana unit-unit yang telah diuji secara individu berinteraksi satu sama lain - system testing
menguji keseluruhan sistem secara end-to-end untuk memastikan bahwa semua komponen berfungsi sesuai requirement - acceptance testing
dilakukan dari perspektif pengguna untuk memverifikasi apakah software memenuhi kebutuhan mereka
4
Q
Jenis testing:
A
- functional testing
menguji apakah software berfungsi sesuai dengan spesifikasi yang ditetapkan - non-functional testing
menguji kualitas atribut software seperti keamanan, dan usability - regression testing
memastikan bahwa perubahan atau perbaikan kode tidak menyebabkan bug baru atau merusak fungsi yang sudah ada - performance testing
mengukur performa software dalam kondisi tertentu - usability testing
memastikan software mudah digunakan oleh pengguna seusai dengan yang diharapkan
5
Q
Test-Driven Development adalah…
A
teknik membangun software development melalui test, tujuannya untuk memastikan code yang annti dibuat memenuhi requirements dan memastikan code testable dari awal
6
Q
Manfaat dari test automation adalah…
A
- increased testing speed
pengujian otomatis berjalan lebih cepat daripada pengujian manual, menghemat waktu selama proses pengembangan - improved test coverage
otomatisasi memungkinkan cakupan yang lebih luas dengan pengujian berulang di berbagai skenario - farly defect detection
pengujian otomatis dapat dijalankan pada setiap kode yang dimasukkan, mendeteksi bug sejak dini sebelum memburuk - consistency and reliability
otomatisasi mengurangi kesalahan manusia, memastikan hasil pengujian tetap konsistem
7
Q
Tantangan test automation:
A
- initial setup cost:
biaya pengaturan dan pemeliharaan yang tinggi untuk skrip, alat dan kerangka kerja
2.false positive/negative
tes yang dirancang dengan buruk dapat menyebbakan hasil yang menyesatkan
- maintenance overhead
pengujian harus berkembang seiring perubahan kode, memerlukan pembaruan rutin untuk menghindari kemunduran pengujian - not suitable for all test
pengujian eksplorasi anual tetap penting untuk kegunaan, UX, dan kasus-kasus khusus