Anda di halaman 1dari 36

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

Bagaimanakah tim Anda


menjamin KUALITAS
produk
Perangkat Lunak Anda?

3
Manajemen Kualitas PL

 Sasarannya: Kepuasan Customer


User 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/layanan
untuk memenuhi kebutuhan customer
 Memberikan jaminan ke manajemen bahwa
kualitas telah dicapai dan dipelihara
 Memberikan jaminan ke customer bahwa kualitas
telah tercapai
 Kebijakan Kualitas
 Sasaran dan arah kualitas keseluruhan dari sebuah
organisasi terkait dengan kualitas yang secara
formal 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
EVALUATION OBJECTIVES
of a
GOALS
SOFTWARE QUALITY FUNCTION

Standards Standards

SATISFIED
NEEDS

METHODS PERFORMANCE
Standards

12
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 tim
14
Software Quality Management
Environment

MANAGEMENT

CONTROL CONTROL

INFORMATION

SOFTWARE SOFTWARE
DEVELOPER
QUALITY FUNCTION

15
Ukuran Tim Software Quality
=>4% SAMPLE OF 135 ORGANISATIONS (1983)
=<4%
Software Quality Staff / Development Staff

=< 3%

=< 1%

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.


16
Peran Tim Software Quality

Review
Applications
Provide
T echnical Advice

Review
and Build a
Quality Environment

Develop Standards
and Guidelines
Analyse Development Errors

17
Tugas Tim Software Quality
ROLE CHALLENGE TASKS

Review W hentoabort aproject Evaluate systemsinall phases


Applications Executivemanagement ignorance Provide management withtechnical assessment
User ignorance Ascertainuser requirementsaremet
Audit requirements Ascertainaudit requirementsaremet

Provide Changingtechnology Knowcurrent technology


Technical Useof consultants Act asinternal consultant
Advice Abilitytokeepcurrent technically Act astechnical consultant
Complexityof systems Knowmanysystems

Reviewand Howtoevaluatesoftwareproducts Evaluatesoftwareproducts


Builda Buildaqualityenvironment Counsel management
Quality
Environment

Develop Fewsystemsandprogrammingstandards Helpset standards


Standards Professionalism Evaluate qualityof work
and
Guidelines

Analyse Knowtypeof problems Quantifyproblems


Development Knowcost of problems Identifyproblems
Errors Knowmagnitudeof problems Determinecost of problems

18
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 memberikan
solusi. Pembangun menjelaskan dan ada tanya jawab
yang diatur oleh moderator
 Software Inspections : evaluasi dokumen dan
program sebelum technical review atau testing.
Pemeriksaan oleh rekan dengan checklist hal-hal
yang perlu verifikasi dengan tujuan identifikasi
ketidak sesuaian dengan spek dan standar, dan
mengukur perkembangan.

21
Software Inspections
Without Inspection
No. of Employees
With Inspection
Requirements
Planning Design Coding

Testing

Time

22
Inspection Process

Planning
Follow-up
Overview

Individual Rework
Preparation

Inspection
Meeting
23
Software Inspection Overview

Operation 1 I

Fix short term problems Rework

Error
feedback Analysis

•Learning input for inspectors


Feedback
•What error types to look for
•Better ways to find error types
24
Software Inspection Overview

Operation 1 I Operation 2

Fix short term problems For Special Attentions


Rework
•Error prone modules
Error ranked.
feedback Analysis
•Error types
distributions ranked

•Learning input for inspectors


Feedback
•What error types to look for
•Better ways to find error types Feed forward

25
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.
Fault class Inspection check
Data faults Are all program variables initialised before their values
are used?
Have all constants been named?
Should the lower bound of arrays be 0, 1, or something
else?
Should the upper bound of arrays be equal to the size of
the array or Size -1?
If character strings are used, is a delimiter explicitly
assigned?
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 are
output?
Interface faults Do all function and procedure calls have the correct
number of parameters?
Do formal and actual parameter types match?
Are the parameters in the right order?
If components access shared memory, do they have the
same model of the shared memory structure?
Storage management If a linked structure is modified, have all links been
faults correctly reassigned?
If dynamic storage is used, has space been allocated
correctly?
Is space explicitly de-allocated after it is no longer

Exception
required?
Have all possible error conditions been taken into
Inspection che
management faults account?
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
Technical Reviews

Technically Qualified Team


Evaluates

Suitability for
the intended
use?

Software Product

Rework/Follow-up

•Review Report
•Action Item List
34
Families of Review Methods
Method Family Typical Goals Typical Attributes
Walkthroughs Minimal overhead Little/no preparation
Developer training Informal process
Quick turnaround No measurement
Not FTR!
Technical Requirements elicitation Formal process
Reviews Ambiguity resolution Author presentation
Training Wide range of discussion
Inspections Detect and remove all Formal process
defects efficiently and Checklists
effectively 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

Anda mungkin juga menyukai