Boxed-Width Version (true/false)

‏إظهار الرسائل ذات التسميات Quality Assurance. إظهار كافة الرسائل

الخميس، 24 نوفمبر 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

الأربعاء، 23 نوفمبر 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

الأحد، 20 نوفمبر 2022

thumbnail

STLC part 2

 

Software Testing Life Cycle (STLC)

Bagi orang-orang yang bergelut dalam sebuah pengembangan software maka pasti sudah mengetahui tentang yang namanya SDLC, kepanjangan dari Software Development Life Cycle. Namun apakah sudah mengetahui atau pernah mendengar tentang STLC? STLC mungkin sudah tidak asing di telinga Quality Assurance karena memang STLC berfokus pada tahapan testing.

Software Testing Life Cycle (STLC) adalah serangkaian aktivitas sistematis dan terencana yang dilakukan selama melakukan software testing guna memastikan capaian kualitas software terpenuhi. STLC memiliki fase yang setiap fasenya memiliki tujuan dan hasil. Fase STLC mungkin akan memiliki banyak versi, karena menyesuaikan kebutuhan dari perusahaan. Namun, STLC versi apapun pasti memiliki dasar fase STCL yang sama.

Fase yang ada di STLC, yaitu:

Software Testing Life Cycle (STLC)

Requirement Analysis

Mempelajari dan menganalisa kebutuhan dari perspektif pengujian untuk mengidentifikasi apakah kebutuhan dapat dilakukan testing atau tidak. Jika kebutuhan tidak dapat dilakukan testing, maka lakukan komunikasi ke tim agar dapat direncanakan strategi lain untuk mengurangi rabbit hole atau hal yang membuat stuck di akhirTim QA yang masih merasa belum paham akan kebutuhan testing juga dapat berkomunikasi aktif dengan stakeholder terkait (Business Analyst, Project LeaderClient dll) untuk dapat memahami kebutuhan secara detail. Cakupan testing juga dideklarasikan di fase ini.

Entry Criteria

  • Dokumen requirements
  • Arsitektur aplikasi
  • Acceptence criteria

Activities

  • Menyiapkan pertanyaan untuk dijawab oleh stakeholder
  • Mengidentifikasi tipe testing yang perlu dilakukan (FunctionalSecurityPerformance dll)
  • Menjabarkan fokus dan prioritas testing
  • Menyiapkan RTM (Requirements Traceability Matrix)
  • Mengidentifikasi detail environment di mana testing akan dilakukan
  • Melakukan pengecekan kelayakan automasi jika dibutuhkan dan menyiapkan laporan kelayakan automasi

Deliverables

  • Daftar pertanyaan dan jawaban yang sudah terjawab
  • Dokumen RTM (Requirements Traceability Matrix)
  • Laporan kelayakan automasi

Test Planning

Mengidentifikasi aktifitas dan sumber data yang akan digunakan untuk membantu objective dalam testing. Pada fase ini akan ditentukan strategi testing dan juga melakukan estimasi terhadap upaya dan biaya yang akan digunakan, sehingga test planning sering disebut sebagai test strategy.

Entry Criteria

  • Dokumen requirements
  • Laporan ketersediaan automasi
  • Dokumen RTM (Requirements Traceability Matrix)

Activities

  • Menguji perkiraan usaha dan perencanaan sumber daya
  • Memilih alat pendukung testing jika ada
  • Menentukan peran dan kewajiban masing-masing
  • Menentukan kriteria input, output, suspension, resumption
  • Kebutuhan pelatihan (jika dibutuhkan)

Deliverables

  • Dokumen test plan atau test strategy
  • Dokumen perkiraan usaha testing

Test Case Development

Tim QA akan melakukan pembuatan test case secara rinci dan juga menyiapkan test data yang akan digunakaan pada testing nantinya. Setelah test case sudah selesai, maka akan dilakukan review oleh rekan lainnya atau lead test.

Entry Criteria

  • Dokumen requirements
  • Dokumen RTM (Requirements Traceability Matrix) dan test plan
  • Laporan analisis automasi

Activities

  • Menyiapkan dokumentasi test case
  • Menyiapkan script automation test
  • Melakukan review test case dan script test
  • Menyiapkan kembali data yang akan digunakan untuk testing

Deliverables

  • Dokumen test cases
  • Test script
  • Test data yang akan digunakan

Test Environment Setup

Fase ini adalah fase yang tidak bergantung dengan yang lainnya, sehingga dapat dikerjakan bersamaan dengan fase Test Case Development. Fase ini bisa jadi tidak dilakukan oleh tim QA, jika tim developer nantinya yang akan menyiapkan.

Entry Criteria

  • Test plan dan test data
  • Smoke test cases
  • Dokumen desain dan arsitektur sistem
  • Dokumen penyiapan environment

Activities

  • Menganalisa perangkat lunak dan perangkat keras yang dibutuhkan
  • Menyiapkan test environment
  • Melakukan smoke testing

Deliverables

  • Hasil dari smoke testing
  • Environment siap untuk diinputkan dengan test data

Test Execution

Fase ini adalah fase puncaknya yaitu melakukan testing. Pada fase ini akan dilakukan testing berdasarkan test plan dan test case yang sudah disiapkan di fase sebelumnya. Tim QA akan melakukan testing dan menandai tiap case-nya apakah lulus atau gagal.

Entry Criteria

  • Dokumen test plan atau test strategy
  • Test script
  • Test case dan test data
  • Test environment siap digunakan

Activities

  • Mengeksekusi test case sesuai test planning yang sudah dibuat sebelumnya
  • Melakukan dokumentasi dan memberikan tanda pada cases yang berhasil dan gagal
  • Menugaskan perbaikan defect kepada programmer
  • Melakukan testing ulang untuk defect yang sudah diperbaiki
  • Melacak defect untuk dapat ditutup

Deliverables

  • Defect report
  • Test cases yang sudah diperbarui dengan hasil test-nya
  • Melengkapi dokumen RTM dengan status eksekusi

Test Closure

Semua anggota tim QA akan berkumpul bersama untuk melakukan diskusi dan melaporkan hasil pengujian yang sudah dilakukan. Pada diskusi dapat membahas terkait hambatan ketika testing, apa yang dapat ditingkatkan dan lain-lain. Untuk defect yang ditemukan juga dilakukan analisa sesuai dengan priority dan severity-nya.

Entry Criteria

  • Semua test case sudah selesai dieksekusi
  • Laporan eksekusi test case
  • Laporan defect

Activities

  • Mengevaluasi penyelesaian siklus berdasarkan waktu, test scope, biaya, perangkat lunak, kualitas, dan kepentingan tujuan bisnis.
  • Menyiapkan laporan test closure dan metrik pengujian
  • Dokumentasi lesson learn dari proyek tersebut
  • Laporan kualitatif dan kuantitatif kualitas produk kepada konsumen
  • Analisa hasil testing untuk mendistirbusikan defect berdasarkan priority dan severity (baca: Tipe Bug pada Software Testing)

Deliverables

  • Laporan test closure
  • Metriks pengujian

About

يتم التشغيل بواسطة Blogger.

Featured

advertise here

بحث هذه المدونة الإلكترونية

Fans Page

Unordered List

Fanspage

Most Recent Post

    Sample Text

    Text Widget

    نموذج الاتصال

    الاسم

    بريد إلكتروني *

    رسالة *

    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