Software Quality Assurance
-
Upload
bairgamese -
Category
Documents
-
view
216 -
download
0
description
Transcript of Software Quality Assurance
-
Software Quality Assurance
-
Software Proses
Proses Pengembangan PL memiliki sebuah framework proses umum yang terdiri dari:
Framework Activities untuk semua proyek PL Tugas-tugas pekerjaan
project milestones
Hasil pekerjaan PL dan penyelesaian
Poin-poin jaminan kualitas
Umbrella activities terjadi pada seluruh proses Jaminan Kualitas PL (Software Quality Assurance)
Manajemen konfigurasi PL
Metrik atau pengukuran PL
2
-
Proyek PL
3
Bagaimanakah tim Andamenjamin KUALITAS
produk Perangkat Lunak Anda?
-
Manajemen Kualitas PL
Sasarannya: Kepuasan CustomerUser Satisfaction =
Kesesuaian produk +
kualitas baik +
selesai sesuai dengan budget dan jadwal
Bagaimanakah tim Anda mengelola kualitas
pengembangan PL?
4
-
Terminologi Proses Kualitas
Quality Objectives/Tujuan Kualitas
Quality Policy/Kebijakan Kualitas
Quality Management (QM)
Quality System (QS)
Quality Control (QC)
Quality Assurance (QA)
Software Quality Assurance (SQA)
Verification and Validation (V & V)
Total Quality Management (TQM)
Continuous Improvement
5
-
Terminologi Proses Kualitas
Tujuan Kualitas :
Mencapai dan menopang kualitas produk/layananuntuk memenuhi kebutuhan customer
Memberikan jaminan ke manajemen bahwakualitas telah dicapai dan dipelihara
Memberikan jaminan ke customer bahwa kualitastelah tercapai
Kebijakan Kualitas
Sasaran dan arah kualitas keseluruhan dari sebuahorganisasi terkait dengan kualitas yang secaraformal dinyatakan oleh top manajemen
6
-
Terminologi Proses Kualitas
Quality Management (QM)
Adalah aspek fungsi manajemen keseluruhan yang
menentukan dan menerapkan kebijakan kualitas
(ISO9000)
Quality System (QS)
Adalah struktur, tanggung jawab, prosedur, proses
dan sesumber organisasi untuk penerapan
manajemen kualitas (ISO9000)
7
-
Terminologi Proses Kualitas
Quality Control (QC)
Adalah teknik dan aktifitas operasional yang
digunakan untuk memenuhi kebutuhan kualitas
(ISO9000)
Meliputi evaluasi unjuk kerja, membandingkan
tujuan dan tindakan, pengecekan produk
8
-
Terminologi Proses Kualitas
Quality Assurance (QA)
Semua tindakan sistematis dan terencana untuk
menjamin bahwa sebuah produk/layanan akan
memenuhi kebutuhan /memuaskan(ISO9000)
Sekumpulan aktifitas yang dirancang untuk
mengevaluasi proses dimana produk
dikembangkan atau dirakit (IEEE Standards )
Quality assurance meliputi pengecekan proses
9
-
Terminologi Proses Kualitas
Quality Assurance (QA) ...
Tujuan:
Untuk mencegah terjadinya masalah;
Mendeteksi masalah ketika terjadi;
Mengetahui penyebabnya;
Menyelesaikan sampai akar; dan
Mencegah masalah terjadi lagi
10
-
Terminologi Proses Kualitas
Perbedaan QC / QA
QC bekerja dengan produk
Mengukur produk berdasarkan standard
Mengenali kerusakan/cacat
Sebatas pada melihat produk
QA bekerja dengan proses
Sebuah fungsi yang mengatur kualitas
setup QC
Menggunakan hasil QC untuk mengevaluasi dan
meningkatkan proses yang menghasilkan produk
11
-
Terminologi Proses Kualitas
12
Standards
Standards Standards
GOALS
METHODS PERFORMANCE
SATISFIED
NEEDS
of a
SOFTWARE QUALITY FUNCTION
EVALUATION OBJECTIVES
-
Terminologi Proses Kualitas
Verifikasi dan Validasi
Verifikasi: Membangun produk secara BENAR
Verifikasi melibatkan pengujian bahwa apa yang telah dibangun sudah benar.
Validasi: Membangun produk yang tepat
Validasi melibatkan pengecekan bahwa kebutuhan customer telah dipenuhi.
Quality Assurance memastikan bahwa Verification dan Validation mendapat tempat.
13
-
Terminologi Proses Kualitas
Total Quality Management (TQM)
Mengatur kualitas sebuah perusahaan lebih daripada hanya sekedar menerapkan sebuah sistem kualitas ... Hal ini diciptakan oleh adanya pembentukan budaya kualitas yang meresap pada seluruh organisasi
Budaya kualitas:
Dedikasi kpada kepuasan customer
penekanan pada perbaikan yang berkelanjutan
Komunikasi dan kerja tim
Memberdayakan anggota tim
Komitmen dengan managemen tim14
-
Software Quality Management
Environment
15
MANAGEMENT
SOFTWAREDEVELOPER
SOFTWARE
QUALITY FUNCTION
INFORMATION
CONTROL CONTROL
-
Ukuran Tim Software Quality
16
=< 1%
=< 3%
=4%
Software Quality Staff / Development Staff
SAMPLE OF 135 ORGANISATIONS (1983)
Sekitar 3% adalah ideal, yaitu dengan 30-33 pengembang, perlu 1 orang SQA.Jika terdapat 10-15 orang dalam tim, maka satu orang untuk setengah minggu harus bertindak sebagai SQA.
-
Peran Tim Software Quality
17
ReviewApplications
ProvideTechnical Advice
Review and Build a
Quality Environment
Develop Standards and Guidelines
Analyse Development Errors
-
Tugas Tim Software Quality
18
ROLE CHALLENGE TASKS
Review
Applications
When to abort a project
Executive management ignorance
User ignorance
Audit requirements
Evaluate systems in all phases
Provide management with technical assessment
Ascertain user requirements are met
Ascertain audit requirements are met
Provide
Technical
Advice
Changing technology
Use of consultants
Ability to keep current technically
Complexity of systems
Know current technology
Act as internal consultant
Act as technical consultant
Know many systems
Review and
Build a
Quality
Environment
How to evaluate software products
Build a quality environment
Evaluate software products
Counsel management
Develop
Standards
and
Guidelines
Few systems and programming standards
Professionalism
Help set standards
Evaluate quality of work
Analyse
Development
Errors
Know type of problems
Know cost of problems
Know magnitude of problems
Quantify problems
Identify problems
Determine cost of problems
-
Peran Utama Tim Software Quality
Peran utama Tim SQ adalah Review Applications.
Review Applications meliputi:
Verification (membangun dengan benar) and Validation ( membangun produk yang benar)
Software Reviews
Pemantauan pada pengiriman bagian2 produk
Testing
Audit bagian software yang ditentukan
19
-
Apa itu Software Review?
Evaluasi elemen software untuk
memeriksa/mengontrol perbedaan dari hasil
yang direncanakan sampai rekomendasi
perbaikan. ex: Design Review, Code Review
Ada 3 Tipe:
Walkthrough
Software Inspection
Technical Review
20
-
Tiga Tipe Software Review
Walkthrough: Evaluasi pada elemen software tertentu identifikasi kesalahan dan memberikansolusi. Pembangun menjelaskan dan ada tanya jawabyang diatur oleh moderator
Software Inspections : evaluasi dokumen danprogram sebelum technical review atau testing. Pemeriksaan oleh rekan dengan checklist hal-halyang perlu verifikasi dengan tujuan identifikasiketidak sesuaian dengan spek dan standar, danmengukur perkembangan.
21
-
22
Software Inspections
Time
No. of Employees
Planning
Requirements
Design Coding
Testing
Without Inspection
With Inspection
-
23
Inspection Process
Planning
Overview
IndividualPreparation
Rework
Follow-up
InspectionMeeting
-
24
Software Inspection Overview
Operation 1I
Rework
Analysis
Fix short term problems
Error feedback
Learning input for inspectorsWhat error types to look forBetter ways to find error types
Feedback
-
25
Software Inspection Overview
Operation 1 Operation 2I
Rework
Analysis
Fix short term problems
Error feedback
Learning input for inspectorsWhat error types to look forBetter ways to find error types
Error prone modules ranked.Error types distributions ranked
For Special Attentions
Feedback
Feed forward
-
Prosedur Inspeksi
Program yg akan diinspeksi diserahkan kpd team
inspeksi
Kode dan dokumen terkait didistribusikan dlm tahap
peninjauan saat mendeskripsikan apa yg menjadi tujuan
program
Harus berlangsung relatif singkat (tidak lebih dari 2 jam)
Tim tidak boleh menyarankan bgm cacat harus
diperbaiki
Setelah inspeksi, program diubah oleh pembuatnya utk
membetulkan masalah yg ditemukan
Inspeksi ulang tidak mutlak harus dilakukan
-
Team Inspeksi
Tim paling sedikit terdiri dari 4 orang
Pembuat program adalah org yg bertanggung jawab
menghasilkan program yg akan di inspeksi
Inspector adalah orang yg menemukan error, hal-hal
yg tidak terdeteksi dan ketidak konsistenan pd
program
Reader (pembaca) adalah oarng yg menguraikan
program dgn kata-katanya sendiri dlm rapat inspeksi
Moderator adalah org yg menangani proses &
memfasilitasi inspeksi
-
Inspection checklists
(daftar error)
Untuk memandu kegiatan inspeksi
Tergantung bahasa pemrograman yang
digunakan
Contoh : inisialisasi, penamaan constanta,
Examples: Initialisation, Constant naming, loop
termination, dll.
-
Inspection checks
Fault class Inspection check
Data faults Are all program variables initialised before their valuesare used?Have all constants been named?Should the lower bound of arrays be 0, 1, or somethingelse? Should the upper bound of arrays be equal to the size ofthe array or Size -1?If character strings are used, is a delimiter explicitlyassigned?
Control faults For each conditional statement, is the condition correct?Is each loop certain to terminate?Are compound statements correctly bracketed?In case statements, are all possible cases accounted for?
Input/output faults Are all input variables used?Are all output variables assigned a value before they areoutput?
Interface faults Do all function and procedure calls have the correctnumber of parameters?Do formal and actual parameter types match? Are the parameters in the right order? If components access shared memory, do they have thesame model of the shared memory structure?
Storage managementfaults
If a linked structure is modified, have all links beencorrectly reassigned?If dynamic storage is used, has space been allocatedcorrectly?Is space explicitly de-allocated after it is no longerrequired?
Exceptionmanagement faults
Have all possible error conditions been taken intoaccount?
-
Pengukuran Proses Inspeksi
500 statement/jam selama peninjauan
125 source statement/jam saat persiapan
individu
90-125 statements/jam saat rapat
Sehingga Inspeksi adalah proses yang sangat
mahal
-
Tiga Tipe Software Review (cont)
Technical Review : review semua bagian
software untuk membuktikan kesesuaian
dengan spesifikasi, dibangun sesuai standard
dan semua perubahan sudah
diterapkan/dilakukan
31
-
Synchronous Review Process
-
Asynchronous Review Process
-
34
Technical Reviews
Rework/Follow-up
Suitability forthe intendeduse?
Software Product
Review ReportAction Item List
Technically Qualified TeamEvaluates
-
Families of Review MethodsMethod Family Typical Goals Typical Attributes
Walkthroughs Minimal overhead
Developer training
Quick turnaround
Little/no preparation
Informal process
No measurement
Not FTR!
Technical
Reviews
Requirements elicitation
Ambiguity resolution
Training
Formal process
Author presentation
Wide range of discussion
Inspections Detect and remove all
defects efficiently and
effectively
Formal process
Checklists
Measurements
Verify phase
Source: Johnson, P. M. (1996). Introduction to formal technical reviews.
-
Referensi
Ch. 26, Quality Management, Software Engineering: A
Practitioner's Approach, 6/e, Pressman Roger S.,
2005, McGraw-Hill
Romi Satrio Wahono, Teknik Pengukuran Kualitas
Perangkat Lunak,
http://romisatriawahono.net/?p=155
Stephen H. Kan., Software Quality Metrics Overview,
http://www.awprofessional.com/articles/article.asp?
p=30306&rl=1
36