Senin, 08 Agustus 2016

Software Quality Assurance and Software Testing Strategies

Comment on Quality

  • Menyiapkan rencana SQA untuk sebuah proyek.
  • Berpartisipasi dalam pengembangan deskripsi proses software proyek.
  • Review kegiatan software engineering untuk memverifikasi sesuai dengan proses perangkat lunak didefinisikan.
  • Audit produk perangkat lunak untuk memverifikasi apakah sudah sesuai dengan yang didefinisikan sebagai bagian dari proses perangkat lunak.
  • Memastikan bahwa penyimpangan dalam pekerjaan perangkat lunak dan kerja produk didokumentasikan dan ditangani sesuai dengan prosedur terdokumentasi.
  • Mencatat setiap ketidak penyesuaian dan laporan kepada manajemen senior.
SQA Goals
  • Persyaratan kualitas. Kebenaran, kelengkapan, dan konsistensi dari model persyaratan akan memiliki pengaruh yang kuat pada kualitas semua produk.
  • Kualitas desain. Setiap elemen dari model desain harus dinilai oleh tim Software Engineer untuk memastikan bahwa hal itu menunjukkan kualitas tinggi dan desain itu sesuai dengan persyaratan.
  • Kualitas koding. Source code dan produk kerja terkait (misalnya, informasi deskriptif lainnya) harus sesuai dengan standar lokal dan karakteristik pameran yang akan memfasilitasi pemeliharaan.
  • Efektivitas kualitas kontrol. Sebuah tim perangkat lunak harus menerapkan sumber daya yang terbatas dengan cara yang memiliki kemungkinan tertinggi mencapai hasil berkualitas tinggi.

Six Sigma
  • Definisikan requirment customer (tujuan proyek)
  • Menentukan perhitungan kinerja saat ini
  • Analisa kecacatan dan penyebab utamanya
  • Perbaiki masalah dari akarnya
  • Memastikan tidak ada cacat yang sama seperti sebelumnya

Software Realibility adalah ukuran sederhana reabilitas Mean Time Between Failure atau rata - rata kegagalan yang terjadi dalam hitungan waktu (bulan / tahun juga bisa), berikut adalah cara menghitungnya

MTBF = MTTF + MTTR

Software Availability adalah ketersediaan yang harus diberikan oleh software dalam jangka waktu yang ditentukan. Contoh server harus menyala 99,99% selama setahun yang artinya hanya boleh non aktif selama 0,01% dalam waktu setahun karena jika server mati melebihi ketersediaan yang ditentukan perusahaan dapat mengalami kerugian.

Availability = (MTTF/MTBF) * 100%

Software safety adalah kegiatan jaminan kualitas perangkat lunak yang berfokus pada identifikasi dan penilaian potensi bahaya yang dapat mempengaruhi software negatif dan menyebabkan seluruh sistem gagal.

Software Testing adalah proses pengujian program dengan maksud tertentu untuk menemukan kesalahan sebelum diberikan ke end user.

Orang yang melakukan pengetesan awal biasanya developer dan tester yang handal, biasanya developer melakukan test dengan santai karena sudah tau isi program tersebut atau sudah malas karena sudah menyelsaikan programnya. Tester biasanya lebih giat mencari bug yang ada dalam program karena mereka memang dibayar hanya untuk melakukan itu.

Verifikasi adalah melihat apakah cara pembuatan program sudah benar
Validasi adalah melihat apakah hasil dari produk sudah benar

Testing Strategy
  • memulai dengan testing bagian - bagian modul yang kecil kemudian menjadi test keseluruhan (dipakai untuk prosedural)
  • memulai dengan melakukan pengetesan pada class - class yang ada (untuk object oriented)

Strategic Issues
  1. Tentukan requirment produk
  2. Nyatakan tujuan pengujian
  3. Pahami keinginan user
  4. Buat planning
  5. Pakai error handling
  6. Review kembali produk
  7. Buat kasus uji
  8. Kembangkan perbaikan

Macam - macam testing
  • Unit testing biasanya menguji semua modul - modul penting yang ada dalam program
  • Regresion testing melakukan pengujian ulang hal yang telah di tes
  • Smoke testing menguji program atau modul yang telah dibuat pada hari itu juga (bisa juga dilakukan seminggu sekali atau 3hari sekali tidak nunggu program jadi)
  • Integration testing melakukan pengujian antara modul yang saling berhubungan

High Order Testing
  • Validation testing: melakukan test untuk mengetahui apa produk sesuai keinginan customer
  • System testing: melakukan test system keseluruhan
  • Alpha/Beta testing: test alpha dilakukan oleh orang - orang developer, tester atua orang sekitarnya. Test beta telah dilakukan peluncuran program dan end user dapat mencoba program dan memberi komentar jika terjadi kesalahan terhadap program yang digunakan
  • Recovery testing: dilakukan dengan memaksa software untuk gagal
  • Stress testing: test seberapa kuat program menahan user yang banyak
  • Performance testing: test seberapa cepat kinerja program

Cara melakukan Debug

  • Pikirkan - sebelum Anda bertindak untuk memperbaiki
  • Gunakan tools untuk mendapat wawasan baru
  • Jika Anda berada di jalan buntu, dapatkan bantuan dari orang lain
  • Setelah memperbaiki bug, gunakan pengujian regresi untuk mengungkap efeknya

Tidak ada komentar:

Posting Komentar