Boxed-Width Version (true/false)

Rabu, 30 November 2022

thumbnail

Apa sih perbedaan Sanity, Smoke, Regression Testing

Apa Itu Sanity Testing?

Sanity Testing adalah pengujian yang dilakukan terhadap sebuah perangkat lunak dan hanya berfokus pada feature atau fungsi baru atau fungsi yang dilakukan perubahan, baik perubahan itu merupakan perubahan flow bisnis atau perubahan karena ditemukannya kesalahan atau bugs pada perangkat lunak versi sebelumnya.Tujuan dari sanity testing ini tentunya untuk memastikan bahwa bug-bug yang telah di perbaiki pada saat smoke testing sudah selesai diperbaiki dan tidak ada masalah lebih lanjut serta untuk menentukan bahwa fungsi yang diinginkan bekerja seperti yang diharapkan.

Apa Itu Smoke Testing?

Smoke Testing adalah pengujian yang berfokus pada perangkat lunak secara keseluruhan, namun hanya berfokus pada main function, biasanya mengutamakan positif case, namun tidak menutup kemungkinan dilakukan pada negatif case yang sifatnya critical. Tujuan dari smoke testing ini adalah untuk reject aplikasi yang sudah rusak sejak awal development, sehingga tim QA tidak banyak membuang-buang waktu menginstal dan menguji aplikasi perangkat lunak.

Apa Itu Regression Testing?

Regression Testing adalah pengujian terhadap perangkat lunak secara menyeluruh dan sedetail mungkin. Tujuan dari regression testing untuk memastikan bahwa perubahan kode baru seharusnya tidak memiliki efek samping pada fungsi yang ada, sehingga dapat dipastikan bahwa kode lama masih berfungsi setelah perubahan kode terbaru dilakukan.

Masih bingung yah ?

Coba perhatikan dengan melihat diagram dibawah ini :

Tidak ada teks alternatif tersedia untuk gambar ini

Belum kelihatan bedanya...!

Perbedaan antara Sanity Testing dan Smoke Testing, Regression Testing :

Sanity Testing :

1. Sanity Testing dilakukan untuk memeriksa fungsi baru / bug yang telah diperbaiki.

2. Dilakukan oleh QA.

3. Sanity Testing adalah bagian dari penerimaan testing.

4. Sanity Testing biasanya tidak memiliki script dan tidak didokumentasikan.

5. Direncanakan ketika tidak ada cukup waktu untuk pengujian mendalam

Smoke Testing :

1. Smoke Testing dilakukan untuk memastikan bahwa fungsi program bekerja dengan baik.

2. Dilakukan oleh Developer dan QA.

3. Smoke Testing adalah bagian dari pengujian regresi.

4. Smoke Testing biasanya memiliki script dan didokumentasikan.

5. Dilakukan biasanya setiap ada build baru

Regression Testing :

1. Regression Testing dilakukan untuk menguji fungsionalitas semua area yang terpengaruh setelah fungsi/kode baru berubah di build yang ada.     2. Dilakukan oleh QA.    3. Mencakup pengujian terperinci yang menargetkan semua area yang terpengaruh setelah fungsionalitas baru ditambahkan                                                                                                                    4. Dijalankan oleh penguji, sebagian besar melalui automation                                                                 5. Regression Testing adalah serangkaian dari Sanity Testing dan Smoke Testing.                                    6. Biasanya dilakukan, ketika penguji memiliki cukup waktu                                                            Sekian artikel saya tentang Sanity, Smoke, Regression Testing. Semoga bermanfaat! 

Kamis, 24 November 2022

thumbnail

Non Functional Testing

 

  • Documentation Testing
  • Performance Testing
  • Reliability Testing
  • Security Testing

Documentation Testing

Documentation testing membantu memperkirakan upaya pengujian yang diperlukan dan menguji cakupannya. Dokumentasi perangkat lunak termasuk test plantest cases, dan bagian requirements.

  • Instructions → Jika suatu aktivitas tertentu telah mempunyai instruksi yang spesifik maka tester akan mulai membuat scenario test untuk aktivitas tersebut.
  • Examples → Example lebih menjelaskan tentang contoh langkah-langkah yang dilakukan agar menampilkan output yang diharapkan dan input apa saja yang dibutuhkan.
  • Messages → Ketika kita menemukan masalah, misalnya error message, kita harus memverifikasi bahwa dokumentasi untuk pesan itu telah benar.
  • Samples → Sampel terkadang didokumentasikan untuk hal-hal seperti inisialisasi atau mengeset parameter file input.

Installation Testing

Installation testing adalah suatu pengujian yang bertujuan untuk menginstal dan mengatur perangkat lunak baru dengan sukses. Proses pengujian dapat melibatkan proses install/uninstall sepenuhnya, sebagian atau upgrade.

  • Instal versi lengkap dari aplikasi
  • Membuat automate testing
  • Mengecek ketersediaan disk space untuk proses instalasi
  • Menggunakan Distributed Testing Environment
  • Secara otomatis memeriksa file yang diinstal setelah instalasi
  • Mengkonfirmasi perubahan registri setelah instalasi
  • Negative testing dalam installation testing
  • Uninstallation testing

Performance Testing

Performance testing adalah jenis pengujian perangkat lunak yang bertujuan untuk memastikan aplikasi akan bekerja dengan baik di bawah beban kerja yang diharapkan.

  • Load Testing → Jenis performance testing yang dilakukan untuk mengevaluasi perilaku suatu sistem dengan kondisi peningkatan beban kerja.
  • Stress Testing → Jenis performance testing yang dilakukan untuk mengevaluasi perilaku sistem dengan kondisi di luar batas beban kerja yang diantisipasi.
  • Endurance Testing → Jenis performance testing yang dilakukan untuk mengevaluasi perilaku suatu sistem ketika beban kerja yang signifikan diberikan terus menerus.
  • Spike Testing → Jenis performance testing yang dilakukan untuk mengevaluasi perilaku suatu sistem ketika beban tiba-tiba dan secara substansial meningkat.

Reliability Testing

Reliability testing bertujuan untuk memastikan bahwa produk tersebut bebas dari kesalahan dan dapat diandalkan untuk tujuan yang dimaksud. Pengujian ini dilakukan dengan menjalankan aplikasi untuk menemukan kegagalan-kegagalan sebelum sistem di deploy.

  • Feature Testing → Setiap fungsi dalam perangkat lunak harus dijalankan setidaknya satu kali. Selain itu, interaksi antara dua fungsi atau lebih harus dikurangi
  • Regression Testing → Setiap kali ada fungsionalitas baru ditambahkan atau fungsionalitas lama dihapus dalam aplikasi, jadi harus dilakukan regression testing untuk memastikan tidak ada bug baru.
  • Load Testing → Load testing dilakukan untuk menguji apakah aplikasi mendukung beban yang diperlukan tanpa mengalami breakdown. Untuk menemukan breakpoint suatu aplikasi, beban ditingkatkan secara bertahap hingga aplikasi mengalami hung, breakdown, unavailable, dll.
  • Objectives of Reliability Testing → Pembatasan seperti perilaku perangkat lunak dalam kondisi tertentu, tujuan yang layak (feasible objectives), dan batasan waktu (time constraints) berlaku sebelum menentukan objectives of reliability testing.

Security Testing

Security testing adalah jenis pengujian perangkat lunak yang bertujuan untuk memastikan bahwa aplikasi bebas dari loopholesSecurity testing itu tentang menemukan kelemahan sistem yang mungkin mengakibatkan kehilangan informasi.

  • Network Security → Mencari kerentanan dalam infrastruktur jaringan.
  • System Software Security → Mencari kelemahan di berbagai perangkat lunak yang bergantung pada aplikasi.
  • Client-side Application Security → Memastikan bahwa data dari client-side tidak dapat dimanipulasi.
  • Server-side Application Security → Memastikan bahwa kode server dan teknologinya cukup kuat untuk menangkis gangguan apa pun.

source : medium

Rabu, 23 November 2022

thumbnail

Functional Testing

 Selama pembuatan perangkat lunak tentunya kita sering menemukan bug atau error. Sehingga, untuk mengurangi atau menghindari banyaknya bug maka diperlukan pengujian perangkat lunak/software testing. Software testing adalah cara menilai produk perangkat lunak untuk membedakan antara informasi yang diberikan dan hasil yang diharapkan. Selain itu, untuk mengevaluasi karakteristik suatu produk. Pada dasarnya software testing penting dilakukan untuk menjaga kualitas perangkat lunak tersebut. Tetapi, apakah kalian sudah mengetahui jenis-jenis software testing?

  • Unit Testing
  • Integration Testing
  • System Testing
  • Interface Testing
  • Regression Testing
  • User Acceptance Testing

Unit Testing

Integration Testing

  • Big Bang → Semua atau sebagian besar unit digabungkan dan diuji sekaligus. Pendekatan ini diambil ketika tim tester menerima seluruh perangkat lunak dalam satu bundel.
  • Top Down → Unit tingkat atas diuji terlebih dahulu.
  • Bottom Up → Unit level bawah diuji terlebih dahulu.
  • Sandwich / Hybrid → Kombinasi dari pendekatan Top Down dan Bottom Up.

System Testing

System testing adalah salah satu tingkat dari software testing di mana perangkat lunak yang lengkap dan terintegrasi diuji. Tujuan dari pengujian ini adalah untuk mengevaluasi kepatuhan sistem dengan persyaratan yang ditentukan.

  • System Test Plan → Prepare, Review, Rework, Baseline
  • System Test Cases → Prepare, Review, Rework, Baseline
  • System Test → Perform

Interface Testing

  • Configuration & development → Ketika interface dikonfigurasi, dan begitu pengembangan dimulai, konfigurasi perlu diverifikasi sesuai kebutuhan.
  • Validation → Ketika pengembangan selesai, interface perlu divalidasi dan diverifikasi, ini dapat dilakukan sebagai bagian dari pengujian unit juga.
  • Maintenance → Ketika kita mulai mengembangkan interface, kita perlu memastikan bahwa tidak ada bug apapun dalam kode yang dibuat sehingga diperlukan sebuah pengujian yang harus dijalankan pada interface.

Regression Testing

  • Retest all → Seluruh test case di test suite dieksekusi kembali untuk memastikan bahwa tidak ada bug yang terjadi karena perubahan kode.
  • Regression Test Selection → Dalam metode ini, test case dipilih dari test suite untuk dieksekusi kembali. Tidak seluruh suite dieksekusi ulang. Pemilihan test case dilakukan atas dasar perubahan kode dalam modul.
  • Test Case Prioritization → Test case dengan prioritas tinggi dieksekusi terlebih dahulu daripada prioritas menengah dan rendah. Prioritas test case tergantung pada kekritisan dan dampaknya pada produk.
  • Hybrid → Teknik hybrid adalah kombinasi dari pemilihan regression testing dan priotitas test case. Teknik ini memilih test case yang dieksekusi kembali dengan bergantung pada prioritasnya.

User Acceptance Testing

Acceptance testing adalah salah satu tingkat dari software testing di mana suatu sistem diuji untuk dapat diterima. Tujuan dari pengujian ini adalah untuk mengevaluasi kesesuaian sistem dengan business requirements dan menilai apakah sudah layak untuk delivery.

  • Business Acceptance Testing (BAT) → Ini untuk menilai apakah produk memenuhi tujuan bisnis atau tidak. Ini terutama berfokus pada manfaat bisnis karena kemungkinan kondisi pasar yang dapat berubah.
  • Contract Acceptance Testing (CAT) → Ini adalah kontrak yang menentukan bahwa setelah produk ditayangkan, dalam periode yang telah ditentukan, accepteance test harus dilakukan dan harus melewati semua acceptance use cases.
  • Operational Acceptance Testing (OAT) → Ini untuk menilai kesiapan operasional produk dan merupakan pengujian non-fungsional. Ini terutama mencakup pengujian-pengujian seperti recoverycompatibilitymaintainabilitytechnical support availabilityreliabilityfail-overlocalization, dll.
  • Alpha Testing → Ini untuk menilai produk dalam lingkungan pengembangan/pengujian oleh tim tester khusus yang biasa disebut alpha tester.
  • Beta Testing → Ini untuk menilai produk dengan menunjukkan kepada end-user yang sebenarnya, biasanya disebut beta testers/beta users, di lingkungan mereka. Umpan balik terus menerus dari pengguna dikumpulkan dan dilakukan perbaikan.

resource : medium

About

Diberdayakan oleh Blogger.

Featured

advertise here

Cari Blog Ini

Fans Page

Unordered List

Fanspage

Most Recent Post

    Sample Text

    Text Widget

    Formulir Kontak

    Nama

    Email *

    Pesan *

    About Us

    About Us
    There are many variations of passages of Lorem Ipsum available.

    Ethereum Price

    Monday Tuesday Wednesday
    $402.89 $384.06 $396.34

    Facebook