Software Quality Assurance

download Software Quality Assurance

of 36

description

Quality Assurance SOFT

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