Software Quality Assurance
(Jaminan Kualitas Perangkat Lunak)
(Jaminan Kualitas Perangkat Lunak)
Berdasarkan gambar diatas, McCall menyediakan beberapa dekripsi yaitu :
1. Correctness (kebenaran), tingkat pemenuhan program terhadap kebutuhan yang dispesifikasikan dan memenuhi tujuan/ misi konsumer
2. Reliability (Keandalan), tingkat kemampuan program yang diharapkan dapat menampilkan fungsi yang dimaksud dengan presisi yang ditetapkan.
3. Efficiency (efisiensi), jumlah sumberdaya yang diproses dan kode yang diperlukan oleh program untuk melaksanakan fungsi tersebut
4. Integrity (Integritas), tingkat kemampuan pengawasan akses terhadap data atau software oleh orang-orang tertentu.
5. Usability, usaha yang diperlukan untuk mempelajari, mengoperasikan, menyiapkan masukan dan mengartikan keluaran oleh program
6. Maintainability, usaha yang diperlukan untuk menetapkan dan memperbaiki kesalahan dalam program.
7. Flexibility, usaha yang diperlukan untuk memodifikasi program operasional
8. Testability, usaha yang diperlukan untuk menguji program untuk memastikan bahwa program melaksanakan fungsi yang ditetapkan
9. Portability, usaha yang diperlukan untuk memindahkan program dari hardware/ lingkungan sistem software tertentu ke yang lainnya.
10. Reusability, tingkat kemampuan program/ bagian dari program yang dapat dipakai ulang dalam aplikasi lainnya, berkaitan dengan paket dan lingkup dari fungsi yang dilakukan oleh program
11. Interoperability, usaha yang diperlukan untuk menggabungkan satu sistem dengan yang lainnya.
Untuk membentuk pengukuran langsung mengenai faktor-faktor kualitas tidaklah mudah. Terdapat beberapa ukuran (metric) yang didefinisikan dan penilaiannya diukur secara objektif. Pengukuran biasanya dalam bentuk checklist dengan menggunakan skala 0-10. McCall menetapkan beberapa pengukuran yang dapat digunakan, diantaranya :
1. Auditability, kemudahan yaitu penyesuaian terhadap standar yang dapat diperiksa.
2. Accuracy, ketepatan perhitungan dan kontrol
3. Communication commonality, tingkatan dimana interface standar, protokol dan bandwidth digunakan
4. Completenesss, tingkatan dimana implementasi lengkap dari fungsi yang dibutuhkan telah tercapai
5. Conciseness, kepadatan program dalam jumlah baris kode
6. Consistency, penggunaan rancangan dan teknik dokumentasi dalam satu bentuk diseluruh proyek pengembangan software
7. Data commonality, penggunaan struktur dan tipe data standar diseluruh program
8. Error tolerance, kerusakan yang muncul ketika program menemukan kesalahan/kegagalan
9. Execution efficiency, performa run-time suatu program
10. Expandability, tingkatan dimana rancangan arsitektural, data atau prosedur dapat dikembangkan
11. Generality, lingkup aplikasi potensial dari suatu komponen program
12. Hardware independece, tingkatan dimana software dipisahkan dari hardware yang mengoperasikannya
13. Instrumentation, tingkatan dimana pengawasan program memiliki operasi tersendiri dan mengidentifikasikesalahan yang terjadi
14. Modularity, kemandirian fungsional dari suatu komponen program
15. Operability, kemudahan pengoperasian program
16. Security, ketersediaan mekanisme yang mengontrol atau menproteksi program dan data
17. Self-documentation, tingkatan dimana kode sumber menyediakan dokumentasi yang berarti
18. Simplicity, tingkatan dimana program dapat dimengerti tanpa kesulitan
19. Software system independence, tingkatan dimana program mandiri terhadap feature bahasa pemrograman nonstandar, karakteristik sistem operasi, dan batasan-batasan lingkungan lainnya
20. Traceability, kemampuan penelusuran ulang kepada kebutuhan mengenai representasi rancangan atau komponen program yang sesungguhnya
21. Training, tingkatan dimana software membantu menerapkan sistem oleh user yang baru.
Software Quality Assurance
Jaminan kualitas merupakan aktivitas mendasar untuk setiap bisnis yang menghasilkan produksi yang digunakan oleh orang lain. Diawal abad ke-20, jaminan kualitas merupakan tanggungjawab yang ditawarkan oleh produsen yang membuat suatu produk. Jaminan kualitas secara formal diperkenalkan pertamakalinya oleh Bell Laboratory pada tahun 1916 dan berkembang cepat serta meluas keseluruh dunia. Disaat ini, setiap perusahaan telah memiliki mekanisme untuk menentukan kualitas dari produknya.
Sejarah jaminan kualitas dalam pengembangan perangkat lunak sejajar/paralel dengan sejarah dalam pembuatan hardware. Diawal tahun 1950 dan 1960 qualitas perangkat lunak merupakan tanggung jawab dari pembuat program. Standar untuk jaminan kualitas perangkat lunak diperkenalkan dalam kontrak pengembangan perangkat lunak militer selama tahun 1970 dan mulai berkembang secara pesat secara komersil.
SQA merupakan pola aksi yang terencana dan sistematis yang dibutuhkan untuk memastikan kualitas suatu software. Lingkup dari SQA dalam software sangat beragam , mencakup : pembuat software, manajer proyek , customer, sales peoples, dan orang-orang yang dilayani dalam SQA. Orang-orang yang melaksanakan SQA harus dapat melihat software dari sudut pandang konsumen.
Aktivitas-aktivitas SQA (SQA Activities)
SQA terdiri dari berbagai jenis aktivitas yang terhubung dengan 7 aktivitas utama, yaitu :
1. Aplikasi metode-metode teknikal (Application of technical methods)
Kualitas software didesain kedalam produk atau sistem. SQA pada kenyataannya dimulai dengan sekumpulan metode teknikal dan tool yang membantu analis untuk mencapai spesifikasi dengan kualitas yang tinggi dan para perancang membangun desain yang berkualitas tinggi.
2. Mengadakan review teknikal formal (conduct of formal technical reviews)
Ketika spesifikasi (atau prototype) dan desain telah dibuat, maka masing-masing harus di perkirakan untuk kualitas. Aktivitas utama yang memenuhi penaksiran kualitas adalah formal technical review (FTR). FTR merupakan pertemuan khusus yang diadakan oleh staff teknikal dengan tujuan untuk menemukan masalah. Dalam berbagai situasi, review merupakan hal yang efektif seperti ujicoba dalam mengungkap kerusakan dalam software.
3. Ujicoba perangkat lunak (software testing)
Ujicoba software mengkombinasikan strategi beberapa tahapan/langkah dengan sejumlah desain metode uji kasus yang membantu memastikan pendeteksian kesalahan yang efektif. Banyak pengembang software menggunakan ujicoba software sebagai jaminan kualitas.
4. Pelaksanaan standar (enforcement of standards)
Tingkatan dimana prosedur dan standar formal diaplikasikan dalam proses pengembangan software sangat bervariasi antara satu perusahaan dengan yang lainnya. Dalam banyak kasus, standar ditentukan oleh konsumen atau pembuat kebijakan. Jika standar disediakan(secara formal tertulis) maka aktivitas SQA harus dilaksanakan untuk memastikan standar-standar tersebut dilakukan.
5. Pengawasan terhadap perubahan (control of change)
Ancaman utama dalam kualitas software adalah perubahan yang dilakukan terhadap sumber. Setiap perubahan yang dilakukan pada software sangat potensial untuk menghasilkan kesalahan atau membuat efek sampingan yang mengakibatkan kesalahan. Proses pengawasan perubahan memberikan kontribusi secara langsung terhadap kualitas software dengan permintaan perubahan yang diformalkan. Pengawasan perubahan diaplikasikan selama pengembangan software dan setelahnya, atau selama tahapan pemeliharaan software.
6. Pengukuran (measurement)
Pengukuran (measurement) merupakan aktivitas yang melengkapi setiap bidang pengembangan. Tujuan utama dari SQA adalah untuk menelusuri kualitas software dan memperkirakn pengaruh dari perubahan secara metodologi maupun prosedur pada peningkatan kualitas software. Untuk itu, ukuran-ukuran software (software metrics) harus dikumpulkan.
7. Penyimpanan catatan dan laporan (record keeping and reporting)
Penyimpanan catatan dan perekaman (record keeping and recording) pada SQA menyediakan prosedur untuk mengumpulkan dan penyebaran informasi SQA. Hasil dari review, audit, pengawasan perubahan, ujicoba, dan aktivitas SQA lainnyaharus menjadi bagian dari record history untuk proyek dan harus disebarkan untuk staff pengembangan untuk pengetahuan.
Tidak ada komentar:
Posting Komentar
(Jaminan Kualitas Perangkat Lunak)