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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Tujuan utama software testing adalah:

A
  1. mendeteksi defect (bug)
    mengidentifikasi error sebelum software digunakan pengguna, sehingga dapat diperbaiki lebih awal dengan biaya yang lebih rendah
  2. menjamin kualitas (Quality Assurance)
    memberikan keyakinan bahwa software sesuai standar kualitas yang ditetapkan
  3. verifikasi
    memastikan bahwa software telah dibangun dengan benar sesuai spesifikasi teknis (pertanyaan yg dijawab: apakah kita membangun produk dengan benar?)
  4. validasi
    memastikan bahwa software yang dibangun benar-benar memenuhi kebutuhan pengguna (pertanyaan yg dijawab: apakah kita membangun produk yang tepat?)
  5. mengurangi risiko
    menemukan bug lebih awal untuk menghindari kegagalan di tahap produksi yang dapat mengganggu bisnis atau pengguna
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Level testing:

A
  1. unit testing
    menguji unit terkecil dari software, seperti fungsi atau metode secara individual; tujuannya untuk memastikan bahwa setiap unit berfungsi sebagaimana mestinya
  2. integration testing
    menguji bagaimana unit-unit yang telah diuji secara individu berinteraksi satu sama lain
  3. system testing
    menguji keseluruhan sistem secara end-to-end untuk memastikan bahwa semua komponen berfungsi sesuai requirement
  4. acceptance testing
    dilakukan dari perspektif pengguna untuk memverifikasi apakah software memenuhi kebutuhan mereka
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Jenis testing:

A
  1. functional testing
    menguji apakah software berfungsi sesuai dengan spesifikasi yang ditetapkan
  2. non-functional testing
    menguji kualitas atribut software seperti keamanan, dan usability
  3. regression testing
    memastikan bahwa perubahan atau perbaikan kode tidak menyebabkan bug baru atau merusak fungsi yang sudah ada
  4. performance testing
    mengukur performa software dalam kondisi tertentu
  5. usability testing
    memastikan software mudah digunakan oleh pengguna seusai dengan yang diharapkan
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Manfaat dari test automation adalah…

A
  1. increased testing speed
    pengujian otomatis berjalan lebih cepat daripada pengujian manual, menghemat waktu selama proses pengembangan
  2. improved test coverage
    otomatisasi memungkinkan cakupan yang lebih luas dengan pengujian berulang di berbagai skenario
  3. farly defect detection
    pengujian otomatis dapat dijalankan pada setiap kode yang dimasukkan, mendeteksi bug sejak dini sebelum memburuk
  4. consistency and reliability
    otomatisasi mengurangi kesalahan manusia, memastikan hasil pengujian tetap konsistem
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Tantangan test automation:

A
  1. 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

  1. maintenance overhead
    pengujian harus berkembang seiring perubahan kode, memerlukan pembaruan rutin untuk menghindari kemunduran pengujian
  2. not suitable for all test
    pengujian eksplorasi anual tetap penting untuk kegunaan, UX, dan kasus-kasus khusus
How well did you know this?
1
Not at all
2
3
4
5
Perfectly