Anda di halaman 1dari 12

Pengantar: Pembangkitan Data Uji dari Spesifikasi Statechart (Irya Wisnubhadra)

Pengantar: Pembangkitan Data Uji dari Spesifikasi statechart


Irya Wisnubhadra
Program studi Teknik Informatika, Fakultas Teknologi Industri Universitas Atma Jaya Yogyakarta Jl. Babarsari No. ! Yogyakarta ""#$% &'mail( irya)mail.ua*y.a+.id

Abstract
This research focused on generating test case and testing from statechart specification In soft!are industry" most testing is conducted based on source code Testing based on specification is on#y imp#emented informa##y and manua##y that make this testing ineffecti$e To o$ercome this ineffecti$eness prob#em" automatic test case generation and testing is imp#emented Statechart is chosen as specification for test case generation because it pro$ides the o$era## dynamic beha$ior of the system To demonstrate this processes" a prototype that ca##ed S%DT& (State%hart Data Test &enerator) has been de$e#oped S%DT& has the fo##o!ing functions: Interacti$e editor for generating '() notation*based statechart specification (inspired from U())" Data test generator !ith fo##o!ing co$erage criteria: Transition %o$erage" +u## Predicate %o$erage and Transition Pair %o$erage" %,, source code generator that represents statechart in statemachine c#ass %,, test script (test dri$er) generator S%DT& is designed in U()" coded in %,, and imp#emented under (S*D-S and )I.U' operating system /ey!ords: Testing" Test %ase &eneration" Specification" Statechart" %o$erage criteria

1. Latar e!akang ,e*ak ta-un %."/'an 0erangkat lunak mulai banyak dikembangkan ole- manusia untuk membantunya dalam meme+a-kan berbagai ma+am 0ersoalan yang bervariasi dari 0ersoalan kese-arian sam0ai 0ersoalan yang sangat kom0leks. Perangkat lunak dikembangkan dalam bebera0a ta-a0 yaitu ( analisis, 0eran+angan, 0emrograman dan 0engu*ian. Perangkat lunak dalam 0engembangannya -arus diu*i karena 0roses analisis, 0eran+angan dan 0emrogramannya tidak bebas kesala-an. Pengu*ian dilakukan untuk mengeta-ui a0aka- 0erangkat lunak tela- sesuai dengan kebutu-an. Pengu*ian di-ara0kan da0at menemukan kesala-an 0ada 0erangkat lunak. Pada 0engu*ian, untuk da0at menemukan kesala-an 0ada 0erangkat lunak di0erlukan data u*i. 1ata u*i da0at se+ara efektif ditentukan *ika 0roses 0embangkitannya dilakukan se+ara otomatis. Pengu*ian 0erangkat lunak terdiri dari 0engu*ian unit, 0engu*ian integrasi dan 0engu*ian sistem. Pengu*ian sistem adala- 0engu*ian berdasar s0esifikasi 2 kebutu-an 0erangkat lunak. Pengu*ian ini biasanya dilakukan berdasarkan s0esifikasi yang dianalisa se+ara informal dan manual. Pengu*ian ini tidak memiliki metode dan kriteria formal se-ingga -asil 0engu*iannya bisa men*adi tidak konsisten dan ran+u. 1ukungan alat bantu untuk 0engu*ian ini0un *arang ditemukan.

0urna# Tekno#ogi Industri" 1o# 1I .o 2" 0anuari 3443: 56 * 75

,ala- satu s0esifikasi yang men*elaskan kebutu-an 0erangkat lunak adala- state+-art. ,tate+-art adala- diagram yang menggambarkan kelakuan sistem se+ara keseluru-an dalam bentuk transisi, status dan e$ent yang memi+u ter*adinya transisi. 3le- karena *arangnya dukungan alat bantu, metode dan kriteria formal 0ada 0engu*ian dan 0embangkitan data u*i berdasar s0esifikasi maka masala- ini men*adi 0emba-asan utama 0ada 0enelitian ini. ,0esifikasi yang di0ili- adala- s0esifikasi state+-art karena state+-art menggambarkan dinamika sistem se+ara keseluru-an. ". Pengembangan Perangkat Lunak Perangkat lunak dikembangkan dengan menggunakan 0aradigma tertentu. Paradigma tersebut disebut 0aradigma rekayasa 0erangkat lunak. Paradigma rekayasa 0erangkat lunak mem0unyai banyak ma+am. Paradigma yang di0akai 0ada 0engembangan 0erangkat lunak di0engaru-i ole- *enis 0erangkat lunak yang akan dikembangkan.Paradigma rekayasa 0erangkat lunak yang 0aling banyak di0akai adala0aradigma !aferfa##, atau c#assic #ife cy#e. Ta-a0an 0engembangan ini kemudian dikembangkan ole- U.,. 1e0artment of 1efense se-ingga men*adi ta-a0 ( %. Ana!isis #ebutuhan $Software Requirement%. Ta-a0 ini adala- ta-a0 analisis semua 0ermasala-an yang akan diselesaikan ole- 0erangkat lunak. 1omain informasi, fungsi yang dibutu-kan, kelakuan, kiner*a dan antar muka 0erangkat lunak ditentukan 0ada ta-a0 ini. #. Perancangan a&a! $Preliminary Design%. Peran+angan a4al 0erangkat lunak berfokus 0ada transformasi kebutu-an 0erangkat lunak ke entitas'entitas yang akan digunakan 0ada ta-a0 0emrograman. Peran+angan dilakukan dengan fokus 0ada em0at atribut 0erangkat lunak ( struktur data, arsitektur 0erangkat lunak, re0resentasi antar muka dan algoritma. !. Perancangan rinci $Detailed Design%. Ta-a0 ini berfokus 0ada 0en*abaran -asil 0eran+angan a4al ke bentuk yang lebi- rin+i. . Pemr'graman $Coding%. Ta-a0 ini adala- ta-a0 0enter*ema-an -asil 0eran+angan rin+i kedalam kode mesin. ". Pengujian Unit $Unit Testing%. Ta-a0 ini adala- ta-a0 a4al 0engu*ian yang dilakukan menemukan kesala-an dengan memberikan masukan tertentu kemudian memeriksa a0aka- -asil suda- sesuai dengan yang di-ara0kan. Pengu*ian unit dilakukan dengan memeriksa setia0 unit 5modul6 0rogram berdasarkan ran+angan rin+i. 7. Pengujian Integrasi $Integration Testing%. Pengu*ian integrasi difokuskan untuk mengu*i integrasi dari modul'modul berdasarkan ran+angan a4al. 8. Pengujian Sistem $System Testing%. Pengu*ian sistem difokuskan 0ada 0engu*ian sistem 0erangkat lunak se+ara keseluru-an. Pengu*ian ini didasarkan 0ada Soft!are 8e9uirement Specification 5,9,6 yang tela- dibuat 0ada ta-a0 analisis 0erangkat lunak. $. Penyerahan( Pr'duksi dan Penggunaan $Delivery, Production and Deployment %. Pengo0erasian 0erangkat lunak setela- selesai dilakukan 0engu*ian sistem. .. Pera&atan dan Pengembangan $ aintenance and !nhancement%. Ta-a0 0era4atan dan 0engembangan dilakukan karena dibutu-kan 0enyem0urnaan atau 0embetulan kesala-an yang ter*adi ketika 0erangkat lunak suda- di0akai. %/. Perencanaan Pengujian Sistem Perangkat Lunak $Software System Test Planning%" Ta-a0 ini adala- ta-a0 0enentuan 0eren+anaan 0engu*ian sistem dan 0endokumentasi' annya. Ta-a0 ini menggunakan ,9, sebagai dasar 0enentuan test p#an %%. Perencanaan Pengujian Integrasi $Integration Test Planning%" Ta-a0 ini adalata-a0 0enentuan 0eren+anaan 0engu*ian integrasi dan 0endokumentasiannya. Peren+anaan 0engu*ian menggunakan ran+angan a4al sebagai dasar 0enentuan test

Pengantar: Pembangkitan Data Uji dari Spesifikasi Statechart (Irya Wisnubhadra)

p#an. Penentuan test p#an meli0uti urutan integrasi modul, data u*i 0engu*ian integrasi dan 0rosedur 0engu*ian integrasi. %#. Perencanaan Pengujian Unit $Unit Test Planning%" Ta-a0 ini adala- ta-a0 0enentuan 0eren+anaan 0engu*ian unit dan 0endokumentasiannya. Peren+anaan 0engu*ian menggunakan ran+angan rin+i sebagai dasar. Test p#an dibuat untuk setia0 unit untuk mengu*i modul se+ara inde0enden dan teliti. ,e+ara diagram ta-a0an diatas da0at digambarkan sebagai berikut (
% ,oft4are re=uirement # Preliminary design ! 1etailed design %/ ,ystem test 0lanning %% Integration test 0lan %# Unit test 0lanning >oding 8 ,ystem testing 7 Integration testing " Unit testing $ 1elivery 0rodu+tion de0loyment

. ?aintenan+e en-an+ement

:ambar %. ,iklus -idu0 0engembangan 0erangkat lunak Pemba-asan utama 0enelitian ini adala- terletak 0ada ta-a0an analisis kebutu-an 0erangkat lunak 5soft!are re9uirement6, system test p#anning dan 0engu*ian sistem yang tam0ak 0ada gambar %, sebagai kotak dengan bayang'bayang dengan nomor %,8, dan %/. Ta-a0an analisis kebutu-an dan 0engu*ian akan di*elaskan 0ada 0a0aran selan*utnya. ".1. Ana!isis #ebutuhan Perangkat Lunak Ta-a0 a4al 0ada 0engembangan 0erangkat lunak adala- analisis kebutu-an 0erangkat lunak. Ta-a0 ini meru0akan ta-a0 0enting 0ada 0engembangan 0erangkat lunak karena -asil analisis 0ada ta-a0 ini akan digunakan 0ada ta-a0 selan*utnya. Proses analisis kebutu-an 0erangkat lunak da0at di*abarkan dalam lima bagian 0enting, yaitu ( 0engenalan masala- 5 prob#em recognition6, evaluasi dan sintesa, 0emodelan 5mode#ing6, 0embuatan s0esifikasi dan re$ie! Analisis kebutu-an meng-asilkan s0esifikasi fungsional dan beha$iora# dari 0erangkat lunak, antarmuka 0erangkat lunak dengan sistem lain, batasan'batasan yang ada dan kekangan' kekangan yang -arus di0enu-i ole- 0erangkat lunak itu sendiri. Analisis kebutu-an 0erangkat lunak meru0akan ta-a0 a4al 0enting yang -arus dilakukan dengan baik. ;esala-an yang ter*adi 0ada ta-a0 analisis ini akan menyebabkan kesala-an yang lebi- besar 0ada ta-a0 selan*utnya. Penyebaran kesala-an ini dengan sendirinya akan membutu-kan biaya yang lebi- besar dalam 0erbaikannya. ".1.1. Spesifikasi ,0esifikasi se+ara lengka0 biasa disebut ,;P< 5 ,0esifikasi ;ebutu-an Perangkat <unak6 atau ,9, 5Soft!are 8e9uirement Specification6. ,0esifikasi meru0akan dokumen -asil ak-ir ta-a0 analisis kebutu-an 0erangkat lunak. ,0esifikasi men*elaskan se+ara lengka0 apa "

0urna# Tekno#ogi Industri" 1o# 1I .o 2" 0anuari 3443: 56 * 75

yang akan diker*akan ole- 0erangkat lunak tan0a men*elaskan bagaimana 0erangkat lunak menger*akannya. ,0esifikasi berisi deskri0si dan informasi lengka0 tentang model fungsional dan model beha$iora# 0erangkat lunak yang akan dikembangkan. ,0esifikasi *uga berisi batasan, kekangan dan lingkungan o0erasi 0erangkat lunak. Termasuk *uga didalamnya adala- 0en*elasan efisiensi, keandalan, keamanan, maintainabi#ity, portabi#ity, $isibi#ity dan standard comp#iance dari 0erangkat lunak. ,0esifikasi dalam organisasi 0engembangan 0erangkat lunak berfungsi sebagai sarana untuk ( %. komunikasi antara 0elanggan5customer6, 0emakai5user6, analis dan 0eran+ang. #. mendukung aktivitas 0engu*ian. !. mengendalikan 0erkembangan 0engembangan 0erangkat lunak. Bentuk s0esifikasi diantaranya adala- F,? dan ,tate+-art. Finite ,tate ?a+-ine 5F,?6 adala- ba-asa s0esifikasi yang menggunakan mesin -i0otesa untuk menggambarkan sistem dalam bentuk state 5status6, input 5masukan6 dan output 5keluaran6. Input adala- masukan ke sistem yang menyebabkan sistem meng-asilkan res0on beru0a output dan 0eruba-an status. ,tate+-art adala- 0engembangan Finite ,tate ?a+-ine5F,?6 yang ditemukan ole- @arel untuk mem0ermuda- 0emodelan sistem rea#*time yang kom0leks. Pengembangan F,? 0ada state+-art adala- adanya kondisi sistem saat transisi berlangsung dan adanya superstate( yaitu kum0ulan status yang mem0unyai transisi bersama.
P
@asil Pengu*ian Program

T
1ata U*i

;om0uter

:ambar #. Pengu*ian Perangkat <unak

,0esifikasi 0erangkat lunak yang banyak di0akai kebanyakan ditulis dengan menggunakan ba-asa natural. @al ini menyebabkan s0esifikasi +enderung untuk men*adi ran+u 5ambigu6, tidak lengka0, tidak konsisten dan sulit untuk di0eli-ara. ;arena masala- tersebut maka mun+ul metode lain dalam 0embuatan s0esifikasi yang disebut dengan metode formal yang meng-asilkan s0esifikasi formal dan standar s0esifikasi dalam bentuk U?<. ".". Pengujian Perangkat Lunak Pengu*ian 0erangkat lunak adala- 0roses untuk men+ari kesala-an 0ada setia0 item 0erangkat lunak, men+atat -asilnya, mengevaluasi setia0 as0ek 0ada setia0 kom0onen 5sistem6 dan mengevaluasi fasilitas'fasilitas dari 0erangkat lunak yang akan dikembangkan . Pengu*ian yang baik tidak -anya ditu*ukan untuk menemukan kesala-an 0ada 0erangkat lunak teta0i *uga untuk da0at ditemukannya data u*i yang da0at menemukan kesala-an se+ara lebiteliti dan +e0at. :ambaran abstrak 0engu*ian 0erangkat lunak da0at diillustrasikan 0ada gambar #. Pengu*ian 0erangkat lunak menggunakan teknik atau metoda tertentu yang disebut dengan met'de pengujian. ?etode tersebut adala- :#ack :o; Testing dan White :o; Testing 7

Pengantar: Pembangkitan Data Uji dari Spesifikasi Statechart (Irya Wisnubhadra)

,elain b#ack bo; testing dan !hite bo; testing terda0at 0endekatan lain dalam metode 0engu*ian, metode tersebut adala- 0engu*ian berdasar kode sumber dan 0engu*ian berdasar s0esifikasi. Pengujian berdasar k'de sumber Pengu*ian berdasar kode sumber 5 source code*based testing6 adala- 0engu*ian yang data u*inya dibangkitkan berdasar kode sumber 0erangkat lunak. Pengu*ian ini adala- 0engu*ian yang 0aling umum digunakan. Pada 0embangkitan data u*i berdasar kode sumber 5source code*based test case generation6, kriteria 0engu*ian di0erlakukan 0ada 0erangkat lunak untuk meng-asilkan re9uirement 0engu*ian. ,ebagai +onto-, *ika kriteria 0engu*ian 0en+abangan digunakan, maka 0embangkitan data u*i -arus melibatkan setia0 0en+abangan 0ada 0rogram. Pengu*ian berdasar kode sumber ini adala- sama dengan !hite*bo; testing, -anya berbeda dalam 0endekatannya sa*a. :ambaran abstrak 0roses 0engu*ian berdasar kode sumber tam0ak 0ada gambar !.
<ctua# -utput ,0esifikasi Program %o$erage %riterion ,0esifikasi =;pected -utput

1ata U*i

:ambar !. Pengu*ian berdasar kode sumber ,0esifikasi 5da0at beru0a s0esifikasi informal atau formal6 digunakan sebagai dasar untuk 0enulisan Program. Program kemudian digunakan untuk membangkitkan 1ata U*i dengan kriteria tertentu. >onto- kriteria 0engu*ian adala- kriteria +aku0an 5 co$erage criterion6 yaitu setia0 0en+abangan -arus diu*i 0aling tidak sekali. &ksekusi 1ata U*i 0ada Program meng-asilkan keluaran aktual yang akan dibandingkan dengan keluaran yang di-ara0kan 5e;pected output6. ;eluaran yang di-ara0kan di-asilkan dari s0esifikasi. %ode*based test case generation menggunakan s0esifikasi untuk membangkitkan kode sumber dan melakukan 0enge+ekan keluaran 0ada 0rogram. Pengujian berdasar spesifikasi Pengu*ian berdasar s0esifikasi 5specification*based testing6 adala- 0engu*ian yang data u*inya dibangkitkan berdasar s0esifikasi 0erangkat lunak. ,0esifikasi 0erangkat lunak selain berfungsi sebagai a+uan teknis 0engembangan 0erangkat lunak, k-ususnya s0esifikasi dalam bentuk formal, *uga meru0akan alat yang da0at digunakan untuk 0engu*ian 0erangkat lunak. ,0esifikasi formal men*elaskan fungsi dari 0erangkat lunak yang terbentuk dalam suatu format tertentu se-ingga dari s0esifikasi ini da0at dilakukan 0roses otomasi untuk 0embangkitan data 0engu*ian. Proses 0embangkitan data u*i berdasar s0esifikasi 0erangkat lunak digunakan untuk menemukan kesala-an dari s0esifikasi 0erangkat lunak sendiri. Jika langka- ini dilakukan maka masala-' masala- yang mun+ul da0at dieliminasi 0ada ta-a0 a4al 0engembangan 0erangkat lunak yang 0ada ak-irnya akan meng-emat 4aktu dan sumber daya yang lain. <ebi- dari itu 0embangkitan data u*i 0ada a4al 0engembangan 0erangkat lunak da0at meningkatkan efektivitas 0eren+anaan dan utilisasi sumber daya. :ambaran abstrak untuk specification*based testing tam0ak 0ada gambar .

0urna# Tekno#ogi Industri" 1o# 1I .o 2" 0anuari 3443: 56 * 75

<ctua# -utput ,0esifikasi Program

%ompare =;pected -utput

,0esifikasi

1ata U*i

:ambar . Pengu*ian berdasar s0esifikasi Pada specification*based testing ,0esifikasi selain digunakan untuk membuat Program *uga digunakan untuk membangkitkan 1ata U*i. 1alam -al ini, s0esifikasi adala- s0esifikasi yang bisa dibangkitkan data u*inya dalam bentuk yang diformalkan. Specification*based testing menggunakan s0esifikasi formal sebagai masukan untuk 0embangkitan data u*inya. Pembangkitan data u*i dilakukan se+ara otomatis. ;arena s0esifikasi formal mem0unyai 0en*elasan yang lengka0, konsisten dan tidak ran+u maka -asil 0embangkitan data u*inya di-ara0kan da0at men+aku0 semua kemungkinan kesala-an dan memenu-i semua kelengka0an dari s0esifikasi. 1ata u*inya kemudian dieksekusi 0ada 0erangkat lunak dan di-ara0kan 0ada ak-irnya 0erangkat lunak yang di-asilkan bersifat andal. ,ala- satu kelebi-an 0embangkitan data u*i berdasar s0esifikasi adala- ba-4a data u*i da0at dibangkitkan 0ada ta-a0 a4al 0engembangan 0erangkat lunak dan sia0 eksekusi sebelum 0rogram selesai dibangun. ,ebagai tamba-an, ketika data u*i dibangkitkan akan ditemukan ketidak'konsistenan dan keran+uan 0ada s0esifikasi, se-ingga s0esifikasi da0at di0erbaiki sebelum 0rogram ditulis. Perbandingan pengujian berdasar spesifikasi dan pengujian berdasar k'de sumber ;edua metode 0engu*ian berdasar s0esifikasi dan 0engu*ian berdasar kode sumber ini mem0unyai karakteristik sendiri'sendiri, keduanya da0at dibandingkan se0erti 0ada tabel %. Tabel % Pembandingan s0e+ifi+ation'based testing dan sour+e +ode'based testing
sumber 0embang'kitan data u*i sudut 0andang 0engu*ian kriteria formal dukungan too#s ta-a0 digunakan Pengu*ian berdasar s0esifikasi s0esifikasi e;terna# $ie!" mengu*i a0a yang diinginkan belum ada *arang 0engu*ian sistem Pengu*ian berdasar kode sumber kode sumber interna# $ie!" mengu*i a0a yang dibangun suda- ada +uku0 banyak 0engu*ian unit

1ua 0endekatan source code*based testing dan specification based testing digunakan 0ada 0engu*ian 0erangkat lunak. ;eduanya bersifat saling melengka0i. Pengu*ian berdasar kode sumber dilakukan 0ada 0engu*ian unit, sedangkan 0engu*ian berdasar s0esifikasi dilakukan 0ada 0engu*ian sistem. Tidak tertutu0 kemungkinan 0engu*ian berdasar s0esifikasi dilakukan 0ada s0esifikasi 0er unit. Per0aduan kedua metode *uga bisa dilakukan dengan +ara membangkitkan data u*i berdasarkan s0esifikasi dan kemudian menggunakan analisis code*based co$erage untuk mengukur kualitas data u*i. Penelitian ini memba-as 0embangkitan data u*i berdasar s0esifikasi k-ususnya s0esifikasi state+-art. $

Pengantar: Pembangkitan Data Uji dari Spesifikasi Statechart (Irya Wisnubhadra)

). Pembangkitan data uji dari spesifikasi statechart U*L 1e4asa ini kebutu-an 0erangkat lunak dengan tingkat kom0leksitas tinggi dan kritis +uku0 meningkat. Perangkat lunak tersebut biasanya mem0unyai deskri0si yang *elas, lengka0 dan ba-kan dalam bentuk s0esifikasi formal. Pada kenyataannya deskri0si yang *elas tersebut kebanyakan -anya ada 0ada tingkat 5#e$e#6 unit, sedang 0ada tingkat sistem deskri0si -anya dilakukan se+ara informal. U?< meru0akan notasi 0emodelan yang +uku0 baik untuk men*elaskan 0erangkat lunak 0ada semua tingkat 0engembangan 0erangkat lunak. 1an ini meru0akan 0eluang yang da0at digunakan untuk 0enentuan data u*i. Aalau0un U?< tidak terlalu formal teta0i deskri0si 0ada U?< +uku0 teliti dan lengka0 untuk men*elaskan 0erangkat lunak. ,tate+-art U?< di0ili- sebagai a4al 0embangkitan data u*i berdasar s0esifikasi karena state+-art men*elaskan kelakuan 5beha$ior6 sistem. Pengu*ian kelakuan 0erangkat lunak sebenarnya da0at dilakukan dengan mengu*i setia0 metode 5method6 dari suatu ob*ek, karena kelakuan suatu ob*ek diim0lementasikan dari metodenya. Teta0i 0engu*ian setia0 metode ob*ek -anya mengu*i sebagian kelakuan ob*ek bukan keseluru-an dari sistem. ,tate+-art U?< adala- diagram yang menggambarkan kelakuan sistem se+ara keseluru-an. ;arena menggambarkan kelakuan sistem se+ara keseluru-an maka 0embangkitan data u*i berdasar state+-art 5state ma+-ine6 dan 0engu*ian yang dilakukan dengan data u*i tersebut diangga0 mengu*i keseluru-an sistem. ).1. *esin Status $State *achine% ,tate+-art 0ada U?< dibuat berdasar ,tate ?a+-ine yang digunakan ole- 1avid @arel. ?esin ,tatus 5,tate ma+-ine6 adala- mesin yang menggambarkan atau memodelkan kelakuan dari ob*ek se+ara individual. ?esin ,tatus menggambarkan urutan status dari suatu ob*ek yang -idu0 0ada suatu 4aktu 5#ifetime6 karena res0on dari e$ent. ?esin ,tatus dan kom0onen'kom0onen 0endukungnya se+ara konse0tual da0at di*elaskan sebagai berikut ( %. *esin Status ( mesin yang menggambarkan urutan status 5state6 dari suatu ob*ek yang -idu0 0ada 4aktu -idu0 5#ifetime6 nya karena res0on dari event. #. Status 5state6 ( kondisi atau situasi 0ada saat suatu ob*ek -idu0. ,tatus tersebut bisa keadaan yang ( memenu-i suatu kondisi, melakukan suatu aktivitas, atau menunggu suatu event" Pada state+-art U?< status digambarkan dengan kotak bersudut tum0ul. !. !vent ( s0esifikasi suatu ke*adian 5 occurrence6 yang mem0unyai alokasi ruang dan 4aktu. 1idalam konteks ?esin ,tatus, e$ent adala- ke*adian 5occurrence6 dari suatu 0emi+u 5stimu#us6 yang memi+u suatu transisi status. Pada state+-art U?< e$ent digambarkan 5dituliskan6 sebagai teks yang menyertai transisi. . +ransisi ( adala- -ubungan antara dua status yang menun*ukkan ba-4a ob*ek 0ada 0ada saat status 0ertama akan melakukan suatu aksi tertentu dan masuk ke status kedua *ika suatu e$ent ter*adi dan suatu kondisi tertentu di0enu-i. Pada state+-art U?< transisi digambarkan dengan anak 0ana- berara-, dengan asal anak 0ana- adala- status sumber 5asal6 dan anak 0ana- tu*uan adala- status target 5tu*uan6. ". Akti,itas ( adala- eksekusi suatu fungsi yang non atomic 0ada mesin status. Pada state+-art U?< aktivitas digambarkan 5dituliskan6 sebagai teks yang menyertai e$ent dan transisi. 7. Aksi ( adala- kom0utasi atomik yang di-asilkan dari 0eruba-an status atau mengembalikan suatu nilai. Pada state+-art U?< aktivitas digambarkan 5dituliskan6 sebagai teks yang menyertai e$ent dan transisi.

0urna# Tekno#ogi Industri" 1o# 1I .o 2" 0anuari 3443: 56 * 75

,tatus, e$ent dan transisi karena mem0unyai 0en*elasan yang +uku0 banyak dan masing' masing mem0unyai karakteristik k-usus maka akan di*elaskan lebi- lengka0 0ada sub'bab berikutnya. >onto- mesin status dengan kom0onen lengka0 tam0ak 0ada gambar ". diba4a- ini. ?esin status ini menggambarkan beha$ior sistem 0en*e*ak 5tracking system6 yang mem0unyai bebera0a status, e$ent dan transisi dan aksi.
time e$ent
after (2 seconds) / send c.isAlive

send action

initia# state
Idle noise

se#f transition

state

trigger#ess transition
Engaging

Searching

fina# state

e$ent trigger !ith parameter


targetAt( p )[is Threat] / t.addTarget Tracking contact

action

condition guard

e$ent trigger

:ambar ". >onto- ?esin ,tatus Tra+king ,ystem Status (State6 ,tatus (State) adala- kondisi atau situasi dari suatu ob*ek. 3b*ek 0ada ke-idu0annya da0at memenu-i bebera0a kondisi, melakukan suatu aktivitas tertentu atau menunggu suatu e$ent. ,uatu ob*ek da0at berada 0ada status tertentu 0ada suatu 4aktu. ,tatus mem0unyai bebera0a bagian yaitu -ama( !ntry#!$it action, Internal transition, Su%states dan Deferred !vent" ,etia0 ob*ek mem0unyai #ifetime. 3b*ek la-ir 0ada saat 0en+i0taan 5 creation6 dan di-ilangkan 0ada saat 0emusna-an 5destruction6. Pada tenggang 4aktu diantaranya 5 #ifetime6 ob*ek berinteraksi dengan ob*ek lain. Interaksi dilakukan dengan mengirimkan message ke ob*ek yang lain atau menerima message dari ob*ek lain. Ada dua status k-usus 0ada mesin status yaitu status a4al 5 initia# state6 dan status ak-ir 5fina# state6 yang *uga tam0ak 0ada gambar ". ,tatus a4al adala- status yang menun*ukkan kondisi a4al atau tem0at a4al 5 defau#t starting p#ace6 suatu mesin status. ,edangkan status ak-ir adala- status 0enutu0 dari mesin status yang menandakan eksekusi mesin status telalengka0. ,tatus a4al digambarkan dengan lingkaran dengan 4arna dasar -itam, sedangkan status ak-ir digambarkan dengan lingkaran dalam dengan 4arna -itam dan lingkaran luar tan0a 4arna dasar. !vent =$ent adala- s0esifikasi suatu ke*adian 5occurrence6 yang mem0unyai alokasi ruang dan 4aktu. 1idalam konteks mesin status, e$ent adala- ke*adian dari stimulus yang memi+u ter*adinya transisi status. =$ent bisa beru0a e;terna# e$ent dan interna#. =;terna# e$ent adala- e$ent yang ada diantara sistem dan aktornya. >onto- dari e;terna# e$ent adala- 0enekanan tombol atau interu0si dari suatu e;terna# de$ice. ,edangkan interna# e$ent adala- event yang mun+ul diantara ob*ek didalam suatu sistem. >onto- dari interna# e$ent adala- o$erf#o! e;ception yang ada 0ada sistem 0eng-itungan.

"/

Pengantar: Pembangkitan Data Uji dari Spesifikasi Statechart (Irya Wisnubhadra)

=$ent yang dimodelkan U?< terdiri dari *enis, yaitu ( Signa#" %a##" Time dan %hange e$ent Signa#" %a## dan Time =$ent tidak diba-as di tulisan ini. Change !vent %hange =$ent adala- e$ent yang mere0resentasikan 0eruba-an status karena 0emenu-an suatu kondisi. Pada U?< 0enggunaan change =$ent adala- dengan key4ord 4-en diikuti oleeks0resi Boolean. &ks0resi tersebut bisa beru0a 4aktu absolut 5se0erti ( 4-en time B %%(".6 atau eks0resi kontinyu 5se0erti ( 4-en altitude C %///6.
When(11:49PM)/SelfTest

change e$ent

Idle

:ambar 7. >-ange &vent +ransisi Transisi adala- re#ationship atau -ubungan antara dua status yang menun*ukkan ba-4a suatu ob*ek 0ada status a4al akan melakukan aksi tertentu dan memasuki status kedua. Transisi akan ter*adi *ika suatu e$ent ter*adi dan *ika kondisi yang ditentukan di0enu-i. Jika suatu 0eruba-an status ter*adi maka dikatakan ba-4a transisi ter*adi. Jika suatu transisi ter*adi maka status sebelum transisi disebut status sumber dan status setela- transisi ter*adi disebut status tu*uan. ,intaks U?< untuk transisi adala- ( event 5arguments6 D+onditionE F target.send&vent 5arguments62 o0eration5arguments6 Transisi mem0unyai lima bagian ( %. Status sumber 5Source State6 ( ,tatus sumber adala- status a4al dari suatu transisi. Jika suatu ob*ek ada 0ada status sumber, outgoing transition akan ter*adi *ika ob*ek menerima e$ent trigger dan guard condition nya di0enu-i. #. !vent trigger ( =$ent trigger adala- e$ent 0emi+u, yaitu e$ent yang *ika diterima ole- ob*ek 0ada status sumber akan memi+u transisi ter*adi, *ika guard condition nya di0enu-i !. &uard Condition ( &ks0resi boolean yang akan dievaluasi *ika transisi e$ent diterima. Jika ek0resi bernilai true maka transisi akan ter*adi, *ika eks0resi bernilai false transisi tidak akan ter*adi. . Aksi ( kom0utasi atomik yang e;ecutab#e yang se+ara langsung beker*a 0ada ob*ek yang mem0unyai mesin status dan yang se+ara tidak langsung beker*a 0ada ob*ek lain yang $isib#e 0ada ob*ek tersebut. ". Status +ujuan $Target State %( ,tatus tu*uan adala- status ak-ir suatu transisi. ,tatus ini adala- staus aktif *ika suatu transisi tela- lengka0 ter*adi. U?< membagi transisi ke dalam " kategori yaitu ( high*#e$e# transition" compound transition" interna# transition" comp#etion transition dan enab#ed transition >igh #e$e# transition, adala- transisi yang ter*adi 0ada composite state. %omposite state adalastatus yang terdiri dari bebera0a substatus yang bisa konkuren. Jika composite state di0i+u maka status akan keluar dari composite state dan masuk ke status tertentu. %ompound transition adala- transisi yang ter*adi dari suatu kum0ulan status sumber ke kum0ulan status tu*uan. Interna# transition (se#f transition) adala- transisi yang dieksekusi tan0a keluar dari status yang didefinisikan atau transisi yang masuk kembali ke status a4al.

"%

0urna# Tekno#ogi Industri" 1o# 1I .o 2" 0anuari 3443: 56 * 75

%omp#etion transition (trigger#ess transition) adala- transisi yang ter*adi tan0a 0emi+u eks0lisit. Transisi ini ter*adi ole- comp#etion e$ent yang ter*adi se+ara im0lisit. =nab#ed transition adala- transisi yang ter*adi karena di0i+u ole- suatu event. Transisi ini berasal dari status yang aktif. Transisi ini ter*adi *ika 0aling tidak ada satu *alur dari status sumber ke status tu*uan. 1ari ins0irasi s0esifikasi state+-art dengan U?<, suatu 0rototy0e 0erangkat lunak ,>1T: dibuat. ,>1T: mem0unyai fungsi diantaranya yaitu sebagai 0embangkit data u*i dari s0esifikasi state+-art yang dituliskan dengan notasi G?< 5&Htensible ?arku0 <anguange6. 1ata U*i dibangkitkan dengan kriteria tertentu yang akan diba-as 0ada tulisan yang lain. .. /'nt'h kasus pembangkitan data uji >onto- kasus berikut adala- +onto- 0embangkitan data u*i berdasar s0esifikasi state+-art 0ada kasus cruise control 0ada sistem automobi#e. ,tate+-art cruise contro# 0ada sistem automobi#e adala- sebagai berikut (
T T# 3FF T% INA>TII& T%/ 3I&99I1&

T! T" I T%# T%% I T%#

>9UI,&

T.

T8 I T$

:ambar 8. ,tate+-art >ruise >ontrol &Ham0le ,istem cruise contro# mem0unyai status yaitu ( 3FF 5initia# state6 INA>TII& >9UI,& 3I&99I1& ,istem ini mem0unyai kondisi lingkungan yang mem0engaru-i sistem yaitu ( Ignited ( menun*ukkan ba-4a sistem automobil sedang dinyalakan. 8unning ( menun*ukkan ba-4a sistem automobil sedang ber*alan. Toofast ( menun*ukkan ba-4a sistem automobil terlalu ken+ang untuk dikendalikan. :rake ( 0edal rem 0ada sistem automobil sedang ditekan. <cti$ate ( menun*ukkan cruise contro# #e$e# diset sedang aktif. Deacti$ate ( menun*ukkan cruise contro# #e$e# diset sedang takaktif. 8esume ( menun*ukkan cruise contro# #e$e# diset resume. Tabel transisi sistem dengan sintaks U?<da0at dili-at se0erti 0ada tabel #. ,intaks U?< untuk transisi adala- ( e,ent $arguments% 0c'nditi'n1 2 target.send3,ent $arguments%4 'perati'n$arguments% 1ari tabel diatas tam0ak ba-4a >ruise >ontrol mem0unyai %# transisi. &vent dituliskan dengan kata 4-en, sedangkan +ondition 5guard condition6 dituliskan dalam kurung kotak. ,uatu transisi dengan event 4-en5P6D>E akan ter*adi *ika event P ter*adi dan kondisi > di0enu-i. ?aka P kemudian disebut dengan event 0emi+u 5triggering e$ent6. "#

Pengantar: Pembangkitan Data Uji dari Spesifikasi Statechart (Irya Wisnubhadra)

&vent yang ditangani 0embangkitan data u*inya adala- change e$ent dengan enab#ed transition. 1ari s0esifikasi ini kemudian bebera0a kriteria dan metode dilakukan untuk melakukan 0embangkitan data u*i se+ara otomatis. 1ata u*i -asil 0embangkitan, digunakan untuk mengu*i 0erangkat lunak a0aka- tela- sesuai dengan yang diinginkan 0ada s0esifikasi. Tabel #. Tabel transisi sistem +ruise +ontrol 5dengan notasi U?<6
Id T% T# T! T T" T7 T8 T$ T. T%/ T%% T%# ,tatus ,umber 3FF INA>TII& INA>TII& >9UI,& >9UI,& >9UI,& >9UI,& >9UI,& 3I&99I1& 3I&99I1& 3I&99I1& 3I&99I1& =$ent 4-en5Ignited6 4-en5not ignited6 4-en5a+tivate6Dignited and running and not brakeE 4-en5not ignited6 4-en5running6DignitedE 4-en5not toofast6DignitedE 4-en5not brake6Dignited and running and not toofastE 4-en5dea+tivate6DignitedE 4-en 5not ignited6 4-en 5not running6DignitedE 4-en 5a+tivate6Dignited and running and not brakeE 4-en 5resume6 Dignited and running and not brakeE ,tatus Tu*uan INA>TII& 3FF >9UI,& 3FF INA>TII& INA>TII& 3I&99I1& 3I&99I1& 3FF INA>TII& >9UI,& >9UI,&

5. Penutup 1ari 0en*elasan diatas da0at disim0ulkan ba-4a %. ,0esifikasi ;ebutu-an Perangkat <unak 5,;P<6 yang di-asilkan 0ada ta-a0 analisis 0erangkat lunak da0at digunakan sebagai dasar 0embangkitan data u*i untuk 0engu*ian. #. ,0esifikasi yang banyak digunakan 0ada industri 0erangkat lunak adala- s0esifikasi U?<. !. ,0esifikasi state+-art 0ada U?< da0at digunakan sebagai dasar 0embangkitan data u*i untuk 0engu*ian sistem 0erangkat lunak karena state+-art men*elaskan kelakuan sistem se+ara keseluru-an. . Pembangkitan data u*i berdasarkan s0esifikasi tidak mem0unyai kriteria formal. ". Pengu*ian sistem biasanya dilakukan berdasarkan s0esifikasi yang dianalisa se+ara informal dan manual. 7. 1ukungan alat bantu otomatisasi 0embangkitan data u*i 0ada 0engu*ian sistem *arang ditemukan. Tulisan ini akan dilan*utkan dengan tulisan lain yang men*elaskan 0roses otomasi 0embangkitan data u*i berdasar s0esifikasi dan 0embuatan 0rototy0e 0erangkat lunak ,>1T: 5,tate+-art 1ata Test :enerator6. ,0esifikasi yang digunakan adala- s0esifikasi yang ditulis dalam notasi G?< 5eGtensible ?arku0 <anguage6. 6. Daftar Pustaka Boo+-, :rady. 9umbaug-, James., dan Ja+obson, Ivar. The Unified (ode#ing )anguage User &uide. Addison Aesley, %.... BalJer, 9., dan N. :oodman. Princip#es of &ood Specification and their Imp#ications for Specification )anguages In ,oft4are ,0e+ifi+ation Te+-ni=ues 5N.:e-ani dan A.1. ?+gettri+k, eds.6, Addison'Aesley, 00. #"'!., %.$7. >-i, U.@. +orma# Specification of User Interfaces : < %omparison and =$a#uation of +our <;iomatic <pproaches I&&& Transa+tions on ,oft4are &ngineering %%, 00. 78%'$", Agustus %.$". >-ilenski, J.J., dan ?iller, ,.P. <pp#icabi#ity of modified condition?decision co$erage to soft!are testing ,oft4are &ngineering Journal, 00 %.!'#//, ,e0tember %.. . 1avis, Alan ?. Soft!are 8e9uirements @ -bjects" +unctions and State Prenti+e'@all In+, %..!. "!

0urna# Tekno#ogi Industri" 1o# 1I .o 2" 0anuari 3443: 56 * 75

&riksson, @ans'&rik., dan Penker, ?agnus. U() Too#kit Jo-n Ailey K ,ons, In+., %..$. Jones, >. Soft!are De$e#opment : < 8igorous <pproach &ngle4ood >liffs, N.J. ( Prenti+e'@all International, %.$/. ?yers,:., The <rt of Soft!are Testing Ailey, %.8.. Neu-old, &., dan T.3ln-off. The 1ienna De$e#opment (ethod and Its Use for Specification of 8e#ationa# Data :ase System In I+IPSAB4" Amsterdam ( Nort-'@olland, 00. " L %7, %.$/. 3ffut, A Jefferson. dan AbdulraJik, Aynur. &enerating test cases from U() specifications . In Pro+eeding of t-e se+ond I&&& International >onferen+e on Unified ?odeling <anguage 5U?<..6, 0ages %7' #., Fort >ollins, >3, I&&& >om0uter ,o+iety Press, 3+tober %.... 3ffut, A Jefferson. dan <iu, ,-aoying. &enerating test data from S-+) specifications. T-e Journal of ,ystems and ,oft4are, %.... 3ffut, A.Jefferson. Giong, Yi4ei. dan <iu, ,-aoying. %riteria for &enerating Specification* based tests. -tt0(22444.isse.gmu.edu Pressman, 9oger ,. Soft!are =ngineering @ < PractitionerAs <pproach ?+:ra4'@ill, In+., %..8. Perry, Ailliam. =ffecti$e (ethods for Soft!are Testing Jo-n Ailey K ,ons, In+., %..". 9oy+e, A. (anaging the de$e#opment of )arge Soft!are System In I&&& A&,>3N, August %.8/. 00. %'.. 9e0rinted in Nint- I&&& International >onferen+e on ,oft4are &ngineering, Aas-ington 1.>. ( >om0uter ,o+iety Press of Institute of &le+tri+al and &le+troni+s &ngineers, 00. !#$'!$, %.$8. 9T>A >ommittee ,>'%78. Soft!are consideration in airborne systems and e9uipment certification ,event- draft to 13'%8$A2&1 %#A, July %..#. ,0ivey, J.?., Understanding C: < Specification )anguage and Its +orma# Semantics >ambridge University Press, %.$$. U.,. 1e0artment of 1efense. (i#itary Standard : Defense System Soft!are De$e#opment 131' ,T1'#%78. Aas-ington, 1.>. , June %.$".

"

Anda mungkin juga menyukai