Anda di halaman 1dari 8

PENGUJIAN PERANGKAT LUNAK DENGAN MENGGUNAKAN MODEL

BEHAVIOUR UML

Waskitho Wibisono, Fajar Baskoro


Teknik Informatika Institut Teknologi Sepuluh Nopember Surabaya
Jl. Raya ITS Gedung T. Informatika, Surabaya 60111 waswib@its-
sby.edu, fajar@its-sby.edu

ABSTRAK
Pengujian perangkat lunak merupakan tahap keempat pada pengembangan perangkat lunak. Pengujian
perangkat lunak dilakukan untuk mencari kesalahan perangkat lunak yang dikembangkan. Tahap analisis,
desain dan implementasi perangkat lunak tidak menjamin bahwa perangkat lunak bebas kesalahan (fault free).
Untuk mengurangi atau menghilangkan kesalahan pada perangkat lunak diperlukan suatu tahap pengujian
untuk menemukan kesalahan-kesalahan yang ada pada perangkat lunak.
UML, Unified Modelling Language sebagai Bahasa Pemodelan Terpadu mempunyai perangkat untuk
memodelkan perangkat lunak memvisualisasikan use case, statis, dan perilaku perangkat lunak di dalam sistem.
Pengujian perangkat lunak dengan menggunakan model behaviour UML dapat mengetahui kualitas
perangkat lunak dalam sistem yang sedang dibangun.

Kata kunci : UML, pengujian, Behaviour.


1. PENDAHULUAN Berdasarkan rumusan permasalahan yang ditetapkan
Perangkat lunak dalam pengembangannya harus diatas maka makalah ini dibuat dengan tujuan :
diuji karena proses analisis, perancangan dan 1. Mempelajari kriteria formal yang bisa digunakan
pemrogramannya tidak bebas kesalahan. Pengujian pada pengujian dan pembangkitan data uji
dilakukan untuk mengetahui apakah perangkat lunak berdasar spesifikasi model behaviour UML.
telah sesuai dengan keinginan. Pengujian 2. Mempelajari metode pengujian dan
diharapkan dapat menemukan kesalahan pada pembangkitan data uji berdasar spesifikasi model
perangkat lunak. behaviour UML.
Untuk dapat menemukan kesalahan pada perangkat 3. Membangun perangkat lunak pembangkit data
lunak pengujian memerlukan skenario pengujian. uji berdasar spesifikasi model behaviour UML.
Skenario pengujian secara efektif dibangun dari
model behaviour UML perangkat lunak. 2. PENGUJIAN PERANGKAT
Pengujian perangkat lunak terdiri dari pengujian LUNAK
unit, pengujian integrasi dan pengujian sistem. Pengujian perangkat lunak adalah proses untuk
Pengujian sistem adalah pengujian berdasar mencari kesalahan pada setiap item perangkat lunak,
spesifikasi / kebutuhan perangkat lunak. Pengujianmencatat hasilnya, mengevaluasi setiap aspek pada
ini biasanya dilakukan berdasarkan spesifikasi yang
setiap komponen (sistem) dan mengevaluasi
dianalisa secara informal dan manual. Pengujian ini
fasilitas-fasilitas dari perangkat lunak yang akan
tidak memiliki metode dan kriteria formal sehinggadikembangkan.
hasil pengujiannya bisa menjadi tidak konsisten dan
Glen Myers menyatakan beberapa aturan yang dapat
rancu. Dukungan alat bantu untuk pengujian ini digunakan sebagai penjelasan tentang pengujian
jarang ditemukan. perangkat lunak:
Adapun permasalahan yang dirumuskan adalah : 1. Pengujian merupakan sebuah proses eksekusi
1. Kriteria formal apa saja yang bisa digunakan program dengan tujuan utama untuk mencari
pada pengujian dan pembangkitan data uji kesalahan
berdasar spesifikasi model behaviour UML. 2. Sebuah kasus pengujian dikatakan baik jika
2. Bagaimana pengujian berdasar spesifikasi model
memiliki kemungkinan penemuan kesalahan
behaviour UML dapat dilakukan.
yang tinggi
3. Bagaimana data uji bisa dibangkitkan berdasar
spesifikasi model behaviour UML.. 3. Pengujian yang berhasil adalah pengujian yang
menemukan kesalahan
perangkat lunak tetapi juga untuk dapat
Berdasarkan ketiga pernyataan diatas dapat
ditemukannya data uji yang dapat menemukan
disimpulkan bahwa pengujian yang baik tidak hanya
kesalahan secara lebih teliti dan cepat.
ditujukan untuk menemukan kesalahan pada
Pengujian Perangkat Lunak dengan Menggunakan Model Behaviour UML 43
43 - Waskitho Wibisono & Fajar Baskoro , Volume 1, Nomor 1, Juli 2002 : 43 – 50
Gambaran abstrak pengujian perangkat lunak dapat
Selain black box testing dan white box testing
diillustrasikan program executable P (digambarkan
terdapat pendekatan lain dalam metode pengujian,
dengan disket) dengan himpunan data uji T,
metode tersebut adalah pengujian berdasar kode
dieksekusi pada komputer. Hasil eksekusi itu
sumber dan pengujian berdasar spesifikasi.
kemudian dibandingkan dengan requirement yang
diinginkan dan dievaluasi.
2.2.1. Pengujian berdasar kode sumber
Perhatian utama penguji dalam hal ini adalah Pengujian berdasar kode sumber (source code-based
bagaimana menghasilkan data uji T yang mampu testing) adalah pengujian yang data ujinya
secara efektif menemukan kesalahan (fault) pada dibangkitkan berdasar kode sumber perangkat lunak.
program, memberikan informasi tentang kualitas Pengujian ini adalah pengujian yang paling umum
program dan memenuhi requirement atau kriteria digunakan.
tertentu. Pada pembangkitan data uji berdasar kode sumber
Pengujian perangkat lunak mencakup beberapa hal, (source code-based test case generation), kriteria
yaitu pengujian yang dilakukan dengan pengujian diperlakukan pada perangkat lunak untuk
menggunakan teknik atau metoda tertentu dan menghasilkan requirement pengujian. Sebagai
pengujian berdasarkan strategi pengujian. contoh, jika kriteria pengujian pencabangan
digunakan, maka pembangkitan data uji harus
2.1. Metode Pengujian melibatkan setiap pencabangan pada program.
Metode pengujian adalah cara atau teknik untuk
Pengujian berdasar kode sumber ini adalah sama
menguji perangkat lunak. Metode pengujian
dengan white-box testing, hanya berbeda dalam
berhubungan dengan perancangan data uji yang akan
dieksekusi pada perangkat lunak yang pendekatannya saja. Gambaran abstrak proses
dikembangkan. Metode pengujian diharapkan pengujian berdasar kode sumber tampak pada
mempunyai mekanisme untuk menentukan data uji gambar 2.3. berikut
yang dapat menguji perangkat lunak secara lengkap Spesifikasi (dapat berupa spesifikasi informal atau
(completeness of test) dan mempunyai kemungkinan formal) digunakan sebagai dasar untuk penulisan
tinggi untuk menemukan kesalahan (high likelihood Program. Program kemudian digunakan untuk
for uncovering error) membangkitkan Data Uji dengan kriteria tertentu .
Perangkat Lunak sendiri dapat diuji dengan dua cara Contoh kriteria pengujian adalah kriteria cakupan
yaitu : (coverage criterion) yaitu setiap pencabangan harus
a. Pengujian dilakukan dengan mengeksekusi diuji paling tidak sekali.
data uji dan mengecek apakah fungsional Eksekusi Data Uji pada Program menghasilkan
perangkat lunak bekerja dengan baik. Data uji keluaran aktual yang akan dibandingkan dengan
dibangkitkan dari spesifikasi perangkat lunak, keluaran yang diharapkan (expected output).
yang dalam hal ini menjelaskan fungsional Keluaran yang diharapkan dihasilkan dari
perangkat lunak. Cara pengujian ini disebut spesifikasi. Code-based test case generation
dengan Black Box Testing. menggunakan spesifikasi untuk membangkitkan
b. Pengujian dilakukan dengan mengenakan data kode sumber dan melakukan pengecekan keluaran
uji untuk menguji semua elemen program pada program.
perangkat lunak (data internal, lelaran (loop),
logika keputusan, jalur). Data uji dibangkitkan
2.2.2. Pengujian berdasar spesifikasi
dengan mengetahui struktur internal (kode Pengujian berdasar spesifikasi (specification-based
sumber) dari perangkat lunak. Cara pengujian testing) adalah pengujian yang data ujinya
ini disebut dengan White Box Testing. dibangkitkan berdasar spesifikasi perangkat lunak.
Metode pengujian white-box testing dan black-box Spesifikasi perangkat lunak selain berfungsi sebagai
testing mempunyai banyak jenis dan kriterianya. acuan teknis pengembangan perangkat lunak,
Penjelasan lebih lengkap untuk metode pengujian ini khususnya spesifikasi dalam bentuk formal, juga
dapat dilihat pada lampiran. merupakan alat yang dapat digunakan untuk
pengujian perangkat lunak. Spesifikasi formal
menjelaskan fungsi dari perangkat lunak yang
terbentuk dalam suatu format tertentu sehingga dari
spesifikasi ini dapat dilakukan proses otomasi untuk
pembangkitan data pengujian.
Spesifikasi dapat juga digunakan sebagai basis untuk
pengecekan keluaran untuk mengetahui apakah
Proses pembangkitan data uji berdasar spesifikasi
keluaran dari perangkat lunak sudah sesuai dengan
perangkat lunak digunakan untuk menemukan
yang diinginkan. kesalahan dari spesifikasi perangkat lunak sendiri.
Pengujian Perangkat Lunak dengan Menggunakan Model Behaviour UML 44
44 - Waskitho Wibisono & Fajar Baskoro , Volume 1, Nomor 1, Juli 2002 : 43 – 50
...
Jika langkah ini dilakukan maka masalah-masalah
dari deskripsi perancangan detil perangkat lunak.
yang muncul dapat dieliminasi pada tahap awal
pengembangan perangkat lunak yang pada akhirnya Pada umumnya pengujian ini dilakukan secara
akan menghemat waktu dan sumber daya yang lain. white-box dan source code based testing dengan
Lebih dari itu pembangkitan data uji pada awal melakukan pengecekan jalur khusus pada struktur
pengembangan perangkat lunak dapat meningkatkan kendali modul untuk meyakinkan kelengkapan
efektivitas perencanaan dan utilisasi sumber daya. cakupan dan deteksi maksimum kesalahan.
Gambaran abstrak untuk specification-based testing Adapun hal-hal yang diuji pada pengujian unit ini
tampak pada gambar 2.4. adalah sebagai berikut :
Pada specification-based testing Spesifikasi selain 1. Antarmuka (interface) :
digunakan untuk membuat Program juga digunakan a. Pengujian yang memastikan bahwa
untuk membangkitkan Data Uji. Dalam hal ini, informasi yang berasal dari dan keluar dari
spesifikasi adalah spesifikasi yang bisa dibangkitkan modul yang diuji mengalir dengan benar.
data ujinya dalam bentuk yang diformalkan. b. Pengujian untuk mencari kesalahan pada :
Specification-based testing menggunakan spesifikasi penggunaan parameter pada modul baik
formal sebagai masukan untuk pembangkitan data jumlah maupun tipe datanya, urutan
ujinya. Pembangkitan data uji dilakukan secara parameter, dan perubah global yang
otomatis. digunakan lintas modul.
Karena spesifikasi formal mempunyai penjelasan c. Jika modul menggunakan peralatan I/O
yang lengkap, konsisten dan tidak rancu maka hasil eksternal maka pengujian harus
pembangkitan data ujinya diharapkan dapat ditambahkan untuk mencari kesalahan pada
mencakup semua kemungkinan kesalahan dan : penggunaan atribut, perintah open/close
memenuhi semua kelengkapan dari spesifikasi. dan kondisi end-of-file pada file, I/O error
Data ujinya kemudian dieksekusi pada perangkat handling dan informasi keluaran.
lunak dan diharapkan pada akhirnya perangkat lunak 2. Struktur data lokal :
yang dihasilkan bersifat andal. a. Pengujian yang memastikan bahwa data
Salah satu kelebihan pembangkitan data uji berdasar yang tersimpan selama eksekusi modul
spesifikasi adalah bahwa data uji dapat dibangkitkan terjaga integritasnya
pada tahap awal pengembangan perangkat lunak dan b. Pengujian untuk mencari kesalahan pada :
siap eksekusi sebelum program selesai dibangun. penggunaan tipe data, inisialisasi atau nilai
Sebagai tambahan, ketika data uji dibangkitkan akan default, nama variabel, underflow, overflow
ditemukan ketidak-konsistenan dan kerancuan pada dan addresing exception
spesifikasi, sehingga spesifikasi dapat diperbaiki 3. Kondisi batas :
sebelum program ditulis. a. Pengujian untuk memastikan bahwa modul
beroperasi dengan benar pada batas-batas
2.3. Strategi Pengujian pemrosesan yang ditentukan
Strategi pengujian perangkat lunak merupakan b. Pengujian untuk mencari kesalahan pada :
proses integrasi metode perancangan kasus uji penggunaan struktur data pada batas-batas
kedalam bentuk urutan langkah pengujian perangkat deklarasi, penggunaan perintah
lunak. pengulangan pada batas pengulangannya
Strategi pengujian perangkat lunak dapat dipandang dan penggunaan nilai maksimum dan
sebagai urutan langkah seperti pada pengembangan minimum yang dibolehkan.
perangkat lunak. Strategi pengujian perangkat lunak 4. Jalur-jalur bebas (independent paths) :
secara berurutan adalah pengujian unit (unit testing), a. Pengujian untuk memastikan bahwa semua
integration testing dan system testing. kemungkinan jalur kendali yang mungkin
telah dieksekusi paling tidak satu kali
2.3.1. Pengujian Unit b. Pengujian untuk mencari kesalahan pada :
Pengujian Unit (Unit Testing) adalah pengujian penghitungan (pemrosesan), pembandingan
yang difokuskan pada unit terkecil dari program dan alur kendali.
(modul). Pengujian ini didasarkan pada informasi 5. Jalur penanganan kesalahan :
a. Pengujian yang memastikan kondisi salah
dapat diantisipasi dan ditangani dengan
bersih (antibugging) dan tanpa ada
pemberhentian.
b. Pengujian untuk mencari kesalahan pada :
respon kesalahan, pemberitahuan
sistem sebelum penanganan kesalahan
kesalahan, penanganan kesalahan, kondisi
dilakukan dan respon kesalahan yang tidak
Pengujiankesalahan
Perangkat yang menyebabkan
Lunak intervensi Model Behaviour UML
dengan Menggunakan 45
45 - Waskitho Wibisono & Fajar Baskoro , Volume 1, Nomor 1, Juli 2002 : 43 – 50
...
memberikan informasi cukup untuk
kinerja masing-masing elemen sistem sesuai dengan
mencari sumber kesalahan.
yang dibutuhkan.
Pengujian ini, karena dilakukan dengan metode Pengujian ini juga berfokus pada validasi apakah
white-box, mempunyai kriteria formal dalam perangkat lunak sudah sesuai dengan harapan
pembangkitan data ujinya. Pengujian ini juga telah pemakai.
mempunyai banyak dukungan tool untuk Pengujian ini dilakukan secara black-box dan
pembangkitan data uji secara otomatis. specification-based testing. Urutan pengujian ini
dituangkan dalam perencanaan pengujian (test plan),
2.3.2 Pengujian Integrasi yaitu dengan mendefinisikan prosedur pengujian
Pengujian Integrasi (Integration Testing) adalah yang kemudian dilanjutkan dengan menentukan data
pengujian yang difokuskan pada gabungan unit-unit uji.
atau modul-modul yang membentuk kesatuan Pengujian sistem dirancang untuk meyakinkan
fungsional. Pengujian ini didasarkan pada informasi bahwa :
dari deskripsi perancangan awal perangkat lunak. Semua kebutuhan fungsional perangkat lunak
Pengujian ini dilakukan untuk menemukan terpenuhi
kesalahan antarmuka antar modul. Pengujian ini Kinerja perangkat lunak telah sesuai dengan
umumnya dilakukan oleh pengembang sendiri atau kebutuhan
dilakukan antar pengembang. Pada umumnya Dokumentasi sudah benar
pengujian ini dilakukan secara white-box dan black- Kebutuhan lain (transportability, compatibility,
box. error recovery, maintainability) terpenuhi
Pada pengujian integrasi dikenal istilah integrasi Pengujian sistem untuk perangkat lunak yang dibuat
non-incremental, dan integrasi incremental. secara khusus (customized) disebut dengan
Integrasi non-incremental adalah proses integrasi acceptance test yang dilakukan oleh pemakai
yang menggunakan cara penggabungan langsung dengan melakukan validasi dari spesifikasi
modul-modul yang terlibat. Program kemudian diuji kebutuhan. Pengujian ini biasanya dilakukan oleh
secara keseluruhan. Hal ini bisa menyebabkan pemakai secara informal ataupun secara sistematis
terjadinya kesalahan yang kompleks karena selama perode waktu tertentu agar dapat ditemukan
perkembangan program yang besar. kesalahan kumulatif pada suatu periode waktu.
Sedang integrasi incremental adalah integrasi yang Sedangkan untuk produk perangkat lunak
dilakukan secara bertahap. Pengujian juga dilakukan pengujiannya disebut dengan Alpha Testing dan
per segmen sehingga kesalahan dapat dengan mudah Beta Testing. Pengujian ini dilakukan oleh end user
diisolasi dan diperbaiki. (pemakai akhir). Alpha Testing adalah pengujian
yang dilakukan oleh pemakai pada lingkungan
2.3.3 Pengujian Sistem pengembang, dalam hal ini lingkungan yang
Pengujian sistem adalah pengujian yang dilakukan terkendali. Beta Testing adalah pengujian yang
pada sistem komputer (computer-based system) dilakukan oleh pemakai pada lingkungan pemakai
secara keseluruhan. sendiri, dimana lingkungan perangkat lunak tidak
Pengujian ini umumnya dilakukan oleh pengembang lagi dapat dikendalikan oleh pengembang.
bersamaan dengan pengembang lain, karena Selain dari hal-hal diatas pengujian sistem juga
pengujian yang dilakukan berhubungan dengan meliputi :
elemen lain perangkat lunak. Pengujian ini 1. Pengujian Recovery (Recovery Testing),
dilakukan untuk mengantisipasi masalah-masalah pengujian ini memaksa perangkat lunak untuk
antarmuka dan perancangan jalur penanganan gagal dalam berbagai cara dan mengecek
kesalahan antar sistem pada perangkat lunak. apakah proses recovery dapat dilakukan
Pengujian sistem dilakukan dengan mensimulasikan dengan baik
data salah atau data yang berpotensi salah pada 2. Pengujian Keamanan (Security Testing),
antarmuka perangkat lunak. Pengujian sistem terdiri pengujian ini merupakan pengujian sistem
dari beberapa proses pengujan yang berbeda proteksi yang diaplikasikan pada perangkat
karakteristiknya. Pengujian ini mempunyai tujuan lunak. Perangkat lunak dipenetrasi oleh suatu
utama untuk melakukan validasi sistem secara rangkaian proses yang ilegal.
keseluruhan dan melihat apakah proses integrasi dan 3. Stress Testing, pengujian ini memaksa
perangkat lunak untuk bekerja abnormal baik
dalam kuantitas, frekuensi dan volume
datanya.
Pengujian seharusnya dilakukan pada setiap
4. Pengujian Kinerja (Performance Testing),
proses pengujian. Pengujian ini dilakukan
pengujian ini dilakukan untuk mengecek
dengan mengukur parameter-parameter sistem,
kinerja perangkat lunak pada waktu run-time.
Pengujian Perangkat Lunak dengan Menggunakan Model Behaviour UML 46
46 - Waskitho Wibisono & Fajar Baskoro , Volume 1, Nomor 1, Juli 2002 : 43 – 50
...
seperti utilisasi sumber daya perangkat lunak,
Aktivasi digambarkan dengan persegi panjang.
waktu respon dll.
Aktivasi ini melambangkan kapan objek
Pengujian sistem adalah pengujian berdasar
tersebut aktiv berperan di dalam sistem sampai
spesifikasi kebutuhan perangkat lunak. Pengujian ini
biasanya dilakukan berdasarkan spesifikasi yang objek tersebut pasif kembali.
dianalisa secara informal dan manual. Pengujian ini Model diagram sequence digunakan untuk :
juga tidak memiliki metode dan kriteria formal 1. Memodelkan aliran kontrol / pesan-pesan yang
sehingga hasil pengujiannya bisa menjadi tidak dikirim dan diterima oleh masing-masing object
konsisten dan rancu. Dukungan alat bantu untuk dalam kurun waktu tertentu.
pengujian ini jarang ditemukan. 2. Memodelkan urutan pemrosesan
3. Memodelkan method yang menangani pesan
pada masing-masing object
3. PENGUJIAN DARI SPESIFIKASI Memodelkan pesan/ messages apa saja yang
MODEL BEHAVIOUR UML digunakan untuk berinteraksi oleh masing-masing
3.1. Model Diagram Sequence object
Diagram Sequence digunakan untuk Dewasa ini kebutuhan perangkat lunak dengan
mengambarkan interaksi antar obyek dalam tingkat kompleksitas tinggi dan kritis cukup
berkomunikasi saling mengirim message disusun meningkat. Perangkat lunak tersebut biasanya
berdasarkan urutan waktu. Diagram sequence ini
mempunyai deskripsi yang jelas, lengkap dan
bersama-sama dengan diagram collaboration biasa
bahkan dalam bentuk spesifikasi formal. Pada
disebut juga dengan diagram interaksi, sebab
keduanya berfungsi menggambarkan interaksi antar kenyataannya deskripsi yang jelas tersebut
objek. kebanyakan hanya ada pada tingkat (level) unit,
Diagram sequence disusun , bagian sedang pada tingkat sistem deskripsi hanya
mendatar atas sebagai tempat objek-objek yang dilakukan secara informal.
berinteraksi dan bagian vertikal menggambarkan UML merupakan notasi pemodelan yang cukup baik
urutan waktu objek-objek saling mengirim dan untuk menjelaskan perangkat lunak pada semua
menerima messages. tingkat pengembangan perangkat lunak. Dan ini
Komponen yang membangun diagram sequence merupakan peluang yang dapat digunakan untuk
adalah : penentuan data uji. Walaupun UML tidak terlalu
1. Object formal tetapi deskripsi pada UML cukup teliti dan
Objek digambarkan didalam kotak. Isi kotak lengkap untuk menjelaskan perangkat lunak.
berupa nama objek kemudian diikuti dengan Statechart UML dipilih sebagai awal pembangkitan
type objek. Tipe objek disesuaikan dengan tipe data uji berdasar spesifikasi karena statechart
class yang telah didefinisikan di dalm diagram menjelaskan kelakuan (behavior) sistem.
class. Pengujian kelakuan perangkat lunak sebenarnya
2. Timeline/ Life line dapat dilakukan dengan menguji setiap metode
Timeline digambarkan berupa garis putus-putus (method) dari suatu obyek, karena kelakuan suatu
menempel pada objek secara vertikal dari atas obyek diimplementasikan dari metodenya. Tetapi
ke bawah. pengujian setiap metode obyek hanya menguji
3. Messages sebagian kelakuan obyek bukan keseluruhan dari
Messages berupa operasi yang ada di dalam sistem [10].
objek disertai dengan parameter objek yang
dikirimkan kepada objek lain. 3.2. Model Diagram Collaboration
4. Destroy Collaboration bermakna kerjasama antar bagian
Destroy menggambarkan bahwa pada waktu untuk melaksanakan fungsi tertentu yang
yang telah ditentukan objek yang didefinisikan dibebankan kepada masing-masing bagian objek.
sudah dihilangkan / di destroy keberadaannya di Diagram Collaboration digunakan untuk
memory komputer. mengambarkan susunan organisasi antar objek
5. Aktivasi dalam berinteraksi dan bekerjasama untuk
melaksanakan fungsi yang didefinisikan di dalam
sistem software. Dalam diagram collaboration ini
digambarkan objek apa saja yang bekerja sama dan
message apa yang dikirim dan diterima untuk
berkomunikasi dalam rangka melaksanakan fungsi
yang didefinisikan.
2. Link
Komponen yang membangun diagram collaboration
3. Messages
adalah :
Pengujian
1. Object Perangkat Lunak dengan Menggunakan Model Behaviour UML 47
47 - Waskitho Wibisono & Fajar Baskoro , Volume 1, Nomor 1, Juli 2002 : 43 – 50
...
Kegunaan Diagram Collaboration
menggambarkan kelakuan sistem secara
Diagram Collaboration digunakan untuk :
keseluruhan. Karena menggambarkan kelakuan
1. Memodelkan urutan interaksi antar obyek dalam
bentuk susunan organisasi sistem secara keseluruhan maka pembangkitan data
2. Memodelkan aliran kontrol / pesan-pesan yang uji berdasar statechart (state machine) dianggap
dikirim dan diterima oleh masing-masing menguji keseluruhan sistem. Statechart UML dibuat
object. berdasar State Machine yang digunakan oleh David
3. Memodelkan urutan pemrosesan Harel .
4. Memodelkan method yang menangani pesan Mesin Status (State machine) adalah mesin yang
pada masing-masing object menggambarkan atau memodelkan kelakuan dari
Memodelkan pesan/ messages apa saja yang obyek individual. Mesin Status adalah kelakuan
digunakan untuk berinteraksi oleh masing-masing yang menggambarkan urutan status dari suatu obyek
object yang hidup pada suatu waktu (lifetime) karena
respon dari event.
3.3. Model Diagram Activity Mesin Status dan komponen-komponen
Diagram activity digunakan untuk pendukungnya secara konseptual dapat dijelaskan
mengambarkan urutan kerja masing-masing obyek sebagai berikut :
dalam menyelesaiakan permasalahan tertentu sesuai 1. Mesin Status : suatu behavior (kelakuan) yang
dengan fungsi kerja masing-masing obyek. Diagram menggambarkan urutan status (state) dari suatu
obyek yang hidup pada waktu hidup (lifetime)
activity pada hakekatnya adalah flowchart yang
nya karena respon dari event.
menunjukkan aliran aktivitas ke aktivitas dalam
2. Status (state) : kondisi atau situasi pada saat
memenuhi fungsi layanan yang didefinisikan
suatu obyek hidup yang memenuhi suatu kondisi,
didalam use case.
melakukan suatu aktivitas, atau menunggu suatu
Diagram activity digunakan untuk :
event. Pada statechart UML status digambarkan
1. Memodelkan aliran kerja object / workflow
dengan kotak bersudut tumpul.
2. Memodelkan opersional proses
3. Event : spesifikasi suatu kejadian (occurrence)
yang mempunyai alokasi ruang dan waktu.
3.4. Model Diagram Statechart Didalam kontek Mesin Status, event adalah
Statechart UML adalah diagram yang kejadian (occurrence) dari suatu pemicu
(stimulus) yang memicu suatu transisi status.
Pada statechart UML event digambarkan
(dituliskan) sebagai teks yang menyertai transisi.
4. Transisi : adalah hubungan antara dua status
yang menunjukkan bahwa obyek pada pada saat
status pertama akan melakukan suatu aksi
time event send signal

after (2 seconds) / send c.isAlive

initial self transition state


state triggerless transition
final state
noise
Idle Searching Engaging

event trigger with parameter

targetAt( p )[is Threat] / contact


t.addTarget

Tracking

condition event trigger


guard
action

Gambar 1. Contoh Mesin Status


panah adalah status sumber (asal) dan anak
tertentu dan masuk ke status kedua jika suatu
panah tujuan adalah status target (tujuan).
event terjadi dan suatu kondisi tertentu dipenuhi.
5. Aktivitas : adalah eksekusi keluar yang non
Pada statechart UML transisi digambarkan
atomic pada mesin status. Pada statechart UML
dengan anak panah berarah, dengan asal anak
Pengujian Perangkat Lunak dengan Menggunakan Model Behaviour UML 48
48 - Waskitho Wibisono & Fajar Baskoro , Volume 1, Nomor 1, Juli 2002 : 43 – 50
...
aktivitas digambarkan (dituliskan) sebagai teks
Perancangan aspek dinamis pada perangkat lunak
yang menyertai event dan transisi.
digambarkan dengan collaboration dan sequence
6. Aksi : adalah komputasi atomik executable yang
diagram. Diagram ini digunakan untuk
dihasilkan dari perubahan status atau
menggambarkan organisasi obyek dan interaksi
mengembalikan suatu nilai. Pada statechart UML
antar obyek dan menggambarkan urutan-urutan
aktivitas digambarkan (dituliskan) sebagai teks
message serta aliran kendali.
yang menyertai event dan transisi.
Perangkat lunak mempunyai tiga sub program yang
bisa dieksekusi. Program tersebut adalah : Program
State adalah kondisi atau situasi dari suatu obyek.
pembangkit file spesifikasi, Program pembangkit
Obyek pada kehidupannya dapat memenuhi
data uji dengan kriteria Full Predicate Coverage
beberapa kondisi, melakukan suatu aktivitas tertentu
dan Program pembangkit data uji dengan kriteria
atau menungggu suatu Event. Suatu obyek dapat
Transition Pair. Masing-masing program dijelaskan
berada pada status tertentu pada suatu waktu yang
dalam sub bab berikutnya.
terbatas. Program ini adalah program yang bersifat interaktif
yang mempunyai beberapa pertanyaan yang harus
4. PERANCANGAN PERANGKAT diisikan oleh pengguna. Pertanyaan tersebut adalah :
LUNAK 1. Apa deskripsi dari state machine file spesifikasi
Pada perancangan pengujian model behaviour UML yang akan dibangkitkan ? Deskripsi ini diisi
yang digunakan adalah Collaboration Diagram, string yang boleh tidak diisi.
Sequence Diagram, Activity Diagram dan Statechart 2. Berapa jumlah status (state) yang dipunyai
Diagram. state machine ? Jumlah ini harus diisikan nilai
Perancangan perangkat lunak dilakukan dengan digit lebih besar dari 0 dan kurang dari 31.
tahapan sebagai berikut : Status yang bisa ditangani oleh perangkat lunak
1. Perancangan format masukan dan keluaran terbatas untuk 30 status.
2. Perancangan aspek statis perangkat lunak, 3. Status apa saja yang ada state machine ? Semua
yaitu penentuan kelas dan hubungan antar status yang ada pada state machine harus
kelasnya. Penentuan kelas meliputi data dituliskan disini. Status ke-1 diset sebagai
anggota dan fungsi anggota. Hubungan status awal (initial state). boleh ada status yang
antar kelas digambarkan dengan class tidak mempunyai nama
diagram. Kesulitan yang dihadapi pada saat perancangan file
3. Perancangan aspek dinamis, yaitu urutan eksternal untuk keluaran yang dalam hal ini adalah
penghidupan obyek, pemanggilan fungsi spesifikasi uji adalah penentuan apakah file
anggota dan pemusnahan obyek dilakukan eksternal ini berisi spesifikasi uji yang memenuhi
dengan collaboration dan sequence semua kriteria pembangkitan data uji atau berisi
diagram. spesifikasi uji untuk satu kriteria saja.
Pada perancangan aspek statis, penentuan struktur Pemisahan atau tidaknya file eksternal spesifikasi uji
data dari anggota data kelas dilakukan dengan untuk masing-masing kriteria ini berhubungan
mencari representasi paling optimal untuk dengan pekerjaan selanjutnya yaitu otomatisasi
memenuhi spesifikasi kebutuhan perangkat lunak. pembangkitan test script.
Untuk representasi internal dari kelas banyak Ada dua alternatif untuk memecahkan masalah ini :
digunakan multi-list. 1. Penggunaan sebuah file yang mencakup semua
Tumpukan digunakan pada algoritma untuk kriteria pengujian
mengubah ekpresi predikat dari linked-list ke bentuk 2. Penggunaan beberapa file sesuai dengan jumlah
struktur pohon. Struktur tumpukan menggunakan kriteria yang diinginkan.
tipe tumpukan dari pointer yang menunjuk elemen Pemisahan modul dan file eksternal keluaran akan
dari pohon. memudahkan pembuatan laporan dan analisis hasil
pengujian.

5. KESIMPULAN
Kesimpulan yang dapat diambil adalah :
Pembangkitan data uji berdasar spesifikasi statechart
ini terbatas untuk transisi enabled dengan change
event, sehingga dapat dikembangkan untuk transisi
selain jenis tersebut.

Pengujian Perangkat Lunak dengan Menggunakan Model Behaviour UML 49


49 - Waskitho Wibisono & Fajar Baskoro , Volume 1, Nomor 1, Juli 2002 : 43 – 50
...
Pembangkitan data uji berdasar spesifikasi ini
terbatas pada spesifikasi statechart, sehingga dapat
dikembangkan untuk spesifikasi yang lain (class
diagram, collaboration diagram dll).

6. DAFTAR PUSTAKA
[1] Bahrami Ali, Object Oriented System
Development,, Singapore, McGraw-Hill
International Edition Singapore, 1999.
[2] Booch, G, Rumbaugh J., Jacobson I., The
Unified Modelling anguage User Guide.
Massachusetts., Addison Wesley Longman Inc,
1999.
[3] Larman C., Appllying UML and Pattern An
Introduction to Object Oriented Analysis and
Design, New Jersey, Prentice Hall PTR, 1998.
[4] Offut, A Jefferson. dan Abdulrazik, Aynur.
Generating test cases from UML specifications. In
Proceeding of the second IEEE International
Conference on Unified Modeling Language
(UML99), pages 416-429, Fort Collins, CO, IEEE
Computer Society Press, October 1999.
[5] Offut, A Jefferson. dan Liu, Shaoying.
Generating test data from SOFL specifications. The
Journal of Systems and Software, 1999.
[6] Offut, A.Jefferson. Xiong, Yiwei. dan Liu,
Shaoying. Criteria for Generating Specification-
based tests. http://www.isse.gmu.edu
[7] Perry, William. Effective Methods for Software
Testing. John Wiley & Sons, Inc., 1995.
[8] Pressman, Roger S., Software Engineering – A
Practitioner’s Approach, New York, McGraw-Hill
Inc., 1997
[9] Valacich J.S. , George J.F. , Hoffer J.A.,
Essentials of System Analysis and Design, New
Jersey, Prentice Hall, 2001.

50 , Volume 1, Nomor 1, Juli 2002 : 43 – 50

Anda mungkin juga menyukai