modul praktikum ppl

20
1 MODUL PENGUJIAN PERANGKAT LUNAK TEORI MC CALL’S QUALITY FACTOR DAN TESTING Disusun Oleh : TIM Asisten Pengujian Perangkat Lunak PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA YOGYAKARTA 2014/2015

Upload: faizin-uinsk

Post on 24-Dec-2015

70 views

Category:

Documents


8 download

DESCRIPTION

Modul Pengujian Perangkat Lunak

TRANSCRIPT

Page 1: Modul Praktikum PPL

1

MODUL

PENGUJIAN PERANGKAT LUNAK

TEORI MC CALL’S QUALITY FACTOR DAN TESTING

Disusun Oleh :

TIM Asisten

Pengujian Perangkat Lunak

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SUNAN KALIJAGA

YOGYAKARTA

2014/2015

Page 2: Modul Praktikum PPL

2

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Daftar Isi

Judul

Daftar Isi

Software Quality Assurance ......................................................................................................... 3

Product Operations ....................................................................................................................... 5

Modul I Correctnees

Completnees .................................................................................................................. 6

Consistensy .................................................................................................................................. 6

Traceability ........................................................................................................................................................................................... 7

Modul II Reliability

Akurasi ................................................................................................................................................................................................................................................................................................................................................................ 8

Toleransi Kesalahan .................................................................................................................................................................................................................................................................................................................................................. 9

Consistense .................................................................................................................................. 9

Modularitas ........................................................................................................................................................................................... 9

Kesederhanaan ............................................................................................................................................................................................................ 10

Modul III Efisiensi

Concisness ........................................................................................................................................ 11

Execution Efficiency .............................................................................................. 13

Operabilitas ........................................................................................................................................................................................................................................................ 14

Modul IV Integritas

Auditabilitas .................................................................................................................................................................................................................................................................................................................................................................................. 15

Instrumentasi ..................................................................................................................................................................................................................................................................................................................................................................................................................................... 15

Keamanan ............................................................................................................................................... 15

Modul V Usability

Operabilitas ........................................................................................................................................................................................................................................................ 16

Training ....................................................................................................................................... 17

Modul VI

Konsep Validasi dan Verivikasi................................................................................ 18

Test Planning ......................................................................................................................................... 18

Test Management ..................................................................................................................................................................................................................................................................................................................... 19

Metode Black box dan White box ....................................................................................... 20

Alpha dan Beta testing ........................................................................................................................................................................................................................ 20

Page 3: Modul Praktikum PPL

3

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

SOFTWARE QUALITY ASSURANCE

Software Quality Assurance (SQA) diaplikasikan secara menyeluruh pada proses

pengembangan software. SQA meliputi :

1. Analisis, perancangan, pengkodean, dan metode serta peralatan uji coba.

2. Tinjauan ulang teknikal secara formal yang diaplikasikan pada setiap tahapan pengembangan

software.

3. Strategi uji coba dengan banyak tahapan (multitiered).

4. Pengawasan terhadap dokumentasi software dan perubahan yang dialaminya.

5. Suatu prosedur untuk menjamin pemenuhan standar pengembangan software (jika ada).

6. Mekanisme pengukuran dan laporan.

Definisi diatas menjelaskan 3 hal penting, yaitu :

1. Kebutuhan software merupakan pondasi/ dasar dari kualitas yang akan diukur. Sedikitnya

penyesuaian terhadap kebutuhan, maka semakin tidak berkualitas.

2. Standart yang di spesifikasikan mendefinisikan sekumpulan kriteria pengembangan yang memandu

pengembangan software. Jika kriteria tidak disertakan, maka dapat dipastikan hasil akhir akan

berkualitas rendah.

3. Terdapat kebutuhan implisit (implicit requirerments) yang terkadang tidak disebutkan (misalnya,

keinginan untuk kemampuan pemeliharaan yang mudah). Jika software menyesuaikan kepada

kebutuhan eksplisit, tetapi tidak kepada kebutuhan implisit, maka kualitas software akan

dipertanyakan

Faktor-faktor kualitas software (software quality factors)

Faktor-faktor yang dapat mempengaruhi kualitas software dibagi menjadi 2 kategori :

1. Faktor- factor yang dapat diukur secara langsung (misalkan : error).

2. Faktor-faktor yang dapat diukur secara tidak langsung (misalkan : usability dan

maintainability).

Page 4: Modul Praktikum PPL

4

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Gambar 1. Faktor Kualitas Perangkat Lunak McCall

1. Sifat-sifat operasional dari software (Product Operations).

2. Kemampuan software dalam menjalani perubahan (Product Revision).

3. Daya adaptasi atau penyesuaian software terhadap lingkungan baru (Product Transition).

Keterhubungan antara faktor- faktor kualitas software dengan ukuran-ukuran (metric) yang digambarkan

dalam tabel berikut:

Page 5: Modul Praktikum PPL

5

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

PRODUCT OPERATIONS

Sifat-sifat operasional suatu software berkaitan dengan hal-hal yang harus diperhatikan oleh para

perancang dan pengembang yang secara teknis melakukan penciptaan sebuah aplikasi. Hal-hal yang

diukur di sini adalah yang berhubungan dengan teknis analisa, perancangan, dan konstruksi sebuah

software. Faktor-faktor McCall yang berkaitan dengan sifat-sifat operasional software adalah:

1. Correctness – tingkat dimana program memenuhi spesifikasinya dan memenuhi kebutuhan

users.

2. Reliability – sejauh mana suatu software dapat diharapkan untuk melaksanakan fungsinya

dengan ketelitian yang diperlukan.

3. Efficiency – jumlah kode yang diperlukan oleh program untuk melakukan fungsinya.

4. Integrity – tingkat kemampuan pengawasan akses terhadap data atau software oleh orang-orang

tertentu.

5. Usability – usaha yang diperlukan untuk mempelajari, mengoperasikan, menyiapkan input, dan

mengartikan output dari software.

Page 6: Modul Praktikum PPL

6

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Modul I

Correctness

Correctness adalah tingkat dimana program memenuhi spesifikasinya dan memenuhi kebutuhan users.

Cr : Corectness

Ct : Completenes

Cs : Consistency

Tr : Traceability

1. Completeness (Ct) : tingkat dimana implementasi lengkap dari fungsi yang dibutuhkan telah

tercapai.

Contoh :

Gambar 2.

2. Consistency(Cs) : penggunaan perancangan dan teknik dokumentasi dalam satu bentuk diseluruh

proyek pengembangan software.

Page 7: Modul Praktikum PPL

7

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Contoh :

Gambar 3.

Gambar 3.

Gambar 4.

3. Traceability (Tr) : kemampuan penelusuran ulang representasi rancangan atau komponen program

yang sesungguhnya dengan kebutuhan awal (requirements).

Contoh

Gambar 5

Page 8: Modul Praktikum PPL

8

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Modul II

Reliability

Reliability adalah sejauh mana suatu software dapat diharapkan untuk melaksanakan

fungsinya dengan ketelitian yang diperlukan.

Matrik yang dipakai dalam skema pengukuran Reliability adalah sebagai berikut :

1. Accuracy

Ketepatan perhitungan dan control.

2. Consistency

penggunaan perancangan dan teknik dokumentasi dalam satu bentuk diseluruh proyek

pengembangan software.

3. Eror tolerance

Kerusakan yang muncul ketika program menemukan kegagalan atau kesalahan

4. Modularity

Kemandirian fungsionalitas dari suatu komponen program.

5. Simplicity

Tingkatan dimana sebuah program dapat dipahami tanpa kesulitan.

Rumus perhitungan Reliability

Acc : Accuracy

Et : Eror tolerance

Cs : Consistency

M : Modularity

S : Simplicity

1. Accuracy

Pengujian yang dilakukan untuk menentukan atau nilai ketelitian pada komputasi program

dan control. Ini juga menggunakan dengan pendekatan pengujian Black box. Pengujian ini

mengujikan fungsional fitur software apakah sesuai inputan dengan hasil penyimpanannya.

Page 9: Modul Praktikum PPL

9

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Penghitungan

2. Error Tolerance

Pengujian yang dilakukan untuk menentukan nilai toleransi terhadap kesalahan yang terjadi

pada program. Pengujin ini sering juga disebut dengan pengujian validasi karena pengujian

ini menggunakan black box dan di ujikan apakah sebuah form pada software memiliki

validasi pada setiap field

Penghitungan

3. Consistency

Penggunaan perancangan dan teknik dokumentasi dalam satu bentuk diseluruh proyek

pengembangan software.

Penghitungan

4. Modularity

Pengujian ini dilakukan untuk menentukan nilai seberapa independen atau mandirinya

sebuah modul yang menjadi komponen sebuah software. Pendekatan pengujian yang

dilakukan adalah White box dan lebih terstruktur program pada komputasinya.

Contoh :

Page 10: Modul Praktikum PPL

10

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Gambar 6. Contoh perhitungan moduler

Var-out : memanggil

Var-in : dipanggil

Fa = total Fa / modul(var-out)

F1 = total F1 / modul(var-in)

Fa.1 = 3/6

F1.1 = 0/6

Var-out> Var- in = maka semakin dependen modul tersebut terhadap software.

Var-in >= Var- out = maka semakin independen atau mandiri modul tersebut terhadap software.

Fa : F1 = ½ : 0

Maka modul satu memiliki fungsional yang dependent.

5. Simplicity

Pengujian kesederhanaan berpengaruh pada pengujian modularitas pengambilan nilai

kesederhanaan diambil dari nilai modularitas. Hanya ada yang harus di perhatikan oleh analis

semakin kecil nilai var-out maka semakin mudah program atau sistem dipahami.

Page 11: Modul Praktikum PPL

11

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

MODUL III

Efficiency

Pengertian

Banyaknya sumber daya sistem (termasuk cpu, disk, memori, jaringan) dan kode program

yang dibutuhkan suatu perangkat lunak (software) untuk melakukan fungsinya. Pengunaan optimal

dari sumber daya sistem selama eksekusi yang benar.

Matrik yang dipakai dalam skema pengukuran Efficiency adalah sebagai berikut :

1. Concisness – kepadatan program dalam ukuran jumlah baris kode.

2. Execution efficiency – tingkat performa run-time dari program.

3. Operability – Kemudahan pengoperasian program.

Rumus perhitungan Efficiency

1. Concisness

Pengujian dengan cara menghitung kepadatan program dalam jumlah baris kodenya.

Pengujian ini termasuk dalam kategori White Box, karena berhubungan dengan kode- kode pada

program yang di uji. Mencatat total baris kode yang terususun di tiap fungsi (classes) yang ada,

dan berapa fungsi yang saling terhubung dengan fungsi lainnya.

Penghitungan

Contoh :

Menghitung Conciseness dari aplikasi mobile berbasis android. Setelah mendapatkan kode

atau membuka file yang berisi kode-kode dari aplikasi tersebut adalah menganalisis dan

menghitung susunan baris kode yang membentuk aplikasi yang di uji. Di harapkan untuk

memahami struktur Bahasa pemrogramman yang digunakan (Java, PHP, C++, dan lainnya).

Page 12: Modul Praktikum PPL

12

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Gambar 7.

Mengitung jumlah classes yang ada pada file aplikasi tersebut.

Gambar 8.

Menghitung Per Clasess atau per Fungsi

- Jumlah total baris kode

Gambar 9.

Total line of code setiap class

Page 13: Modul Praktikum PPL

13

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

- Jumlah deklarasi classes

Gambar 10

Nilai Per Class

Total Conciseness

2. Execution efficiency

Pengujian dengan menghitung nilai ke efisiensi program dari kinerja run-time nya saat di

gunakan pada device (computer, smartphone, dan lainnya). Penghitungan kinerja run-time

meliputi memori yang digunakan saat sudah dipasang, sampai penggunaan memori (RAM) saat

program tersebut berjalan.

Perhitungan

Contoh :

Menghitung memori penggunaan aplikasi WhatsApp Messenger pada smarthphone

Gambar 11

Page 14: Modul Praktikum PPL

14

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Nilai pengunaan memory Ram

3. Operability

Pengujian dari kemudahan penggunaan / pengoperasian program. Dalam tahap Operability ini

mempergunakan pernyataan-pernyataan yang diberikan pada pengguna program (Kuesioner).

Mengumpulkan informasi yang memungkinkan untuk menganalisis sikap-sikap keyakinan, perilaku

dan karakteristik pengguna terhadap penggunaan program.

Page 15: Modul Praktikum PPL

15

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

MODUL IV

INTEGRITY

Integritas merupakan suatu tingkat kemampuan pengawasan akses terhadap data atau software

oleh orang-orang tertentu.

Integritas perangkat lunak pada McCall lebih menekankan kepada keamanan sebuah

perangkat lunak. Pihak developer harus mampu melihat kebutuhan akan hak akses perangkat lunak

tersebut pada setiap penggunanya.

Metriks Integritas

Metrik yang digunakan dalam faktor kualitas Integritas antara lain Auditabilitas, Instrumentasi, dan

Keamanan. Formula perhitungan Integritas suatu perangkat lunak adalah sebagai berikut:

1. Auditabilitas

Penyesuaian / keselarasan terhadap standar yang dapat diperiksa. Auditabilitas

merupakan pengujian software dengan cara melihat desain sistemnya. Formula penghitungan

Auditabilitas adalah :

2. Instrumentasi

Tingkatan dimana pengawasan program memiliki operasi tersendiri dan

mengidentifikasi kesalahan yang terjadi. Sehingga program dapat mengenal, mengidentifikasi

dan menangani error yang terjadi, misalnya validasi pada suatu form. Formula penghitungan

Instrumentasi adalah :

3. Keamanan

Merupakan ketersediaan mekanisme yang mengontrol atau melindungi program atau

data. Mekanisme security misalnya mengecek apakah pihak tersebut pihak sebenarnya,

ataupun memberikan hak akses sesuai dengan hak nya.

Formula penghitungan Keamanan adalah:

Page 16: Modul Praktikum PPL

16

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

MODUL V

USABILITY

Usability adalah usaha yang diperlukan untuk mempelajari, mengoperasikan, menyiapkan input,

dan mengartikan output dari software. Pengujian ini lebih ke penilaian user akhir sebagai

pengimplementasi sitem atau software di lapangan. Sehingga analis mengetahui seberapa besar

kepuasan pengguna pada penerapan software atau sistem tersebut. Pada sub factor ini memiliki dua

metriks penilaian yaitu :

1. Operability :Kemudahan pengoperasian program. Penilaian ini di ambil berdasarkan observasi

melalui kuesioner analis. Penghitungan nilai kuesioner sesuai penghitungan statistika. Di

utamakan pengambilan hipotesa awal dan pengecekan dengan hipotesa akhir.

Contoh :

Gambar 11 . Contoh

tabel kuesioner

Page 17: Modul Praktikum PPL

17

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

2. Training : tingkatan dimana software memungkinkan pemakai baru / user untuk mengaplikasikan

system.

Nilainya dapat kita hitung sebagai berikut :

Contoh :

Gambar 12.

Contoh tabel pengujian training

Untuk yang penilaian total sub factor usability adalah

Nb : untuk analis perlu diperhatikan setiap subfactor memiliki nilai yag berdiri sendiri sehingga

tidak perlu menjumlahkan kelima sub factor untuk mendapatkan nilai factor produk operasi.

Page 18: Modul Praktikum PPL

18

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

MODUL VI

KONSEP VALIDASI DAN VERIVIKASI

Pengujian memiliki dua nilai utama yang menjadi kriteria penting dalam penggunaan aplikasi

atau software, yaitu : validitas dan verivikasi. Meliputi dua kriteria analis harus memahami apa yang

dimaksud dengan dua hal tersebut.

a. Validitas adalah sebuah kriteria yang dilakukan dengan cara pengujian fungsional

software, dan menghasilkan nilai baik atau tidak software tersebut apabila digunakan.

b. Verivikasi adalah sebuah kriteria yang digunakan untuk menentukan kebenaran secara

source code, sehingga analis mengetahua apakah ter jadi debugging.

Pada konsep validasi dan verivikasi ini terdapat dua metode pengujian software,yaitu :

a. Metode pengujian statis : metode pengujian yang dilakukan terhadap source code.

Metode ini sering juga di sebut verivikasi kebenaran source code. Contoh

penggunaan metode ini pada debugging dan trasing.

b. Metode pengujian dinamis : metode pengujian ini sering di lakukan pada sistem.

Metode ini juga sering disebut validitas karena ini menguji kebenaran fungsionalitas

sistem atau software. Contoh uji validasi.

TEST PLAN

Perencanaan pengujian adalah hal penting untuk memulai sebuah pengujian. Perencanaan

pengujian digunakan agar analis memiliki gambaran apa saja dan bagaimana sistematika pengujian

yang akan dilakukan. Terdapat tiga bagian penting yang ada pada pengujian yaitu :

a. Perencanaan pengujian, perencanaan dilakukan untuk menentukan hal yg di ujikan

spesifikasi waktu , menentukan penjadwalan aktifitas pengujian, dan pengenalan tentang

sistem yang akan di uji.

b. Spesifikasi pengujian, spesifikasi pengujian adalah tahap analis menspesifikasikan sistem

yang akan di ujikan sehingga lebih dapat tertata dengan baik pengujiannya. Spesifikasi

pengujian di bagi mennjadi 3 bagian yaitu : test desain spesifikasi, test case spesifikasi, dan

test prosedur spesifikasi. Test desain spesifikasi adalah desain pengujian yang di buat untuk

membuat analis lebih menjelaskan menu utama pada sistem. Kasus spesifikasi pengujian, ini

dilakukan analis untuk menjabarkan tentang menu dan sub menu pada sistem sehingga

analis menguji lebih spesifik sehingga semua fitur dalam sistem teruji dengan baik. Dan

Page 19: Modul Praktikum PPL

19

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

yang terakhir prosedur pengujian adalah prosedur yang berbentuk susunan prosedur atau

pertanyaan mengenai fitur pada sistem.

c. Test report, atau laporan pengujian. Pada laporan pengujian terdapat laporan hasil pengujian

dan laporan yang insiden yang terjadi atau kendala yang dihadapi saat pengujian.

Perencanaan pengujian hal yang wajib dilakukan seorang analis sebelum memasuki tahap

eksekusi pengujiannya. Kita dapat menjabarkan sebagai berikut :

Gambar 13.

Bagan penjabaran test plan

TEST MANAGEMENT

Manajemen pengujian memiliki banyak kriteria yang di perhitungkan, yaitu :

1. Review dari sistem yang di uji.

2. Masalah apa saja yang mungkin terdapat dan berakibat mengganggu kualitas software.

3. Karakteristik sistem yang terdapat pada software modern.

4. Pembuatan kasus untuk sistematika pengujian.

5. Dalam manajemen pengujian perlu memperhatikan prinsip-prinsip aktivitas pengujian.

6. Masalah yang terjadi pada saat pengujian.

7. Manajemen pengujian digunakan juga untuk mendapatkan ruanglingkup yang tepat dalam

pengujian.

8. Selain itu mendapatkan perencanaan pengujian yang tepat untuk pengujian software.

9. Serta menyediakan layanan nilai tambah pengujian.

Page 20: Modul Praktikum PPL

20

Modul Mata Kuliah Pengujian Perangkat Lunak

Disusun Oleh : Tim Asisten Pengujian Perangkat Lunak 2014/ 2015

Pengujian black box dan white box

Pengujian white box sering juga di sebut pengujian glass box. Karena konsep pengujiananya

transparan pengujiannya, karena yang di uji adalah source code dari sistem tersebut. Pengujian

berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua

statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua

kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik

(matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan

memastikan cakupan.

Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian

loop menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk

menguji loop dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk

mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu

program.

Sedangkan untuk pengujian black-box berfokus pada domain informasi dari perangkat

lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara

yang memberikan cakupan pengujian yang mendalam. Black box berusaha menemukan kesalahan

dalam kategori sebagai berikut :

1. Fungsi – fungsi yang tidak benar atau hilang.

2. Kesalahan interface.

3. Kesalahan dalam struktur data atau akses data base eksternal.

4. Kesalahan kinerja.

5. Inisialisasi dan kesalahan terminasi.

Alpha dan Beta Testing

Pengujian alpha testing adalah pengujian yang dilakukan pada sisi pengembang oleh seorang

software tester. Perangkat lunak digunakan di dalam setting yang natural dengan pengembang melalui

pemakai dan merekam semua kesalahan pada masa pengujian. Pengujian alpha dilakukan pada sebuah

lingkungan yang terkontrol.

Pengujian beta testing adalah pengujian pada satu atau lebih pelanggan yang di uji oleh end

user software. Pengembang biasanya tidak dilibatkan sehingga pengujian tanpa control dan pengujian

secara langsung dari perangkat lunak terhadap end user.