Anda di halaman 1dari 20

MODUL

PENGUJIAN PERANGKAT LUNAK


TEORI MC CALLS 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
1

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
2

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

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:

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.

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.

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
7

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

: Modularity

: 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.
8

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 :

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.

10

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

11

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

12

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
13

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.

14

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:

15

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

16

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.

17

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
18

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

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.

20

Anda mungkin juga menyukai