15
Iterative Testing Sebagai Pembanding Model Based Testing Untuk Teknik Evaluasi Pengembangan Perangkat Lunak Thomas Edyson Tarigan, S.Kom 1 , DR. Azhari SN, M.T 2 1 Stmik Akakom Yogyakarta, 55198 E-mail : [email protected] 2 Fakultas FMIPA, Universitas Gadjah Mada, Yogyakarta E-mail : [email protected] ABSTRAK Kegiatan pengujian dimulai selama pengembangan sistem dan mencakup semua tahap yang sudah ditentukan oleh masing - masing model pengujian. Beberapa pengembangan sistem, pengujian yang dilakukan setelah fase coding, namun mungkin pada akhirnya akan menyebabkan perangkat lunak tersebut akan menemukan banyak bug, sehingga perangkat lunak tersebut tidak dapat digunakan dengan maksimal. Pada tulisan ini akan dibandingkan model iterative testing dan model based testing untuk melakukan pengujian pada perangkat lunak. yang bertujuan untuk melihat lebih dalam keunggulan dan kelemahan masing – masing model pengujian, sehingga pengembang sistem dapat menentukan model pengujian yang lebih baik untuk model ini. Model based testing memiliki dampak yang signifikan terhadap kualiats pengujian terhadap sistem. Namun banyak industri masih bergantung pada metode pengujian yang bersifat tradisional. keprihatinan terbesar terhadap model based testing adalah kebutuhan pengetahuan formal dan biaya awal yang tinggi untuk memperkenalkan model ini.[1]. Pengujian iteratif dapat diterapkan di seluruh proses pengembangan perangkat lunak. karena perubahan lebih mudah dan lebih murah untuk mengimplementasikan dalam tahap awal pembangunan. Langkah awal dalam proses iteratif adalah untuk mengembangkan prototipe. Prototipe harus dievaluasi oleh kelompok kerja ataupun kelompok yang tidak terkait langsung dengan pengembangan perangkat lunak yang bertujuan untuk agar tidak terjadi bias pendapat. Proses harus diulang sampai masalah pengguna telah berkurang pada tingkat yang memadai. Keyword : Model based testing, Iterative testing dan Pengujian INTISARI Untuk membangun sebuah perangkat lunak salah satu tahapan yang harus dilakukan adalah melakukan perancangan sistem, untuk itu dibutuhkan suatu metode yang akan digunakan untuk melakukan perancangan perangkat lunak yang akan dibangun. Ada beberpa metode yang dapat digunakan untuk melakukan perancangan perangkat lunak, untuk menentukan metode yang digunakan maka banyak parameter yang digunakan untuk melakukan pemilihan metode. Pada tulisan ini akan dibandingkan dua metode yaitu Metode Iterative Testing dengan Model Based Testing untuk melakukan pengujian terhadap perangkat lunak yang akan dibangun. Keyword : Model based testing, Iterative testing dan Pengujian

Evaluasi Pengembangan Perangkat Lunak Thomas Edyson ...jurnal.stmikelrahma.ac.id/assets/file/Thomas Edyson Tarigan, Azhari... · Online test berarti bahwa alat pengujian model langsung

Embed Size (px)

Citation preview

Iterative Testing Sebagai Pembanding Model Based Testing Untuk TeknikEvaluasi Pengembangan Perangkat Lunak

Thomas Edyson Tarigan, S.Kom1, DR. Azhari SN, M.T2

1Stmik Akakom Yogyakarta, 55198E-mail : [email protected]

2Fakultas FMIPA, Universitas Gadjah Mada, YogyakartaE-mail : [email protected]

ABSTRAK

Kegiatan pengujian dimulai selama pengembangan sistem dan mencakup semua tahap yang sudahditentukan oleh masing - masing model pengujian. Beberapa pengembangan sistem, pengujian yangdilakukan setelah fase coding, namun mungkin pada akhirnya akan menyebabkan perangkatlunak tersebut akan menemukan banyak bug, sehingga perangkat lunak tersebut tidak dapatdigunakan dengan maksimal.Pada tulisan ini akan dibandingkan model iterative testing dan model based testing untukmelakukan pengujian pada perangkat lunak. yang bertujuan untuk melihat lebih dalamkeunggulan dan kelemahan masing – masing model pengujian, sehingga pengembang sistem dapatmenentukan model pengujian yang lebih baik untuk model ini.Model based testing memiliki dampak yang signifikan terhadap kualiats pengujian terhadapsistem. Namun banyak industri masih bergantung pada metode pengujian yang bersifat tradisional.keprihatinan terbesar terhadap model based testing adalah kebutuhan pengetahuan formal danbiaya awal yang tinggi untuk memperkenalkan model ini.[1].Pengujian iteratif dapat diterapkan di seluruh proses pengembangan perangkat lunak. karenaperubahan lebih mudah dan lebih murah untuk mengimplementasikan dalam tahap awalpembangunan. Langkah awal dalam proses iteratif adalah untuk mengembangkan prototipe.Prototipe harus dievaluasi oleh kelompok kerja ataupun kelompok yang tidak terkait langsungdengan pengembangan perangkat lunak yang bertujuan untuk agar tidak terjadi bias pendapat.Proses harus diulang sampai masalah pengguna telah berkurang pada tingkat yang memadai.

Keyword : Model based testing, Iterative testing dan Pengujian

INTISARIUntuk membangun sebuah perangkat lunak salah satu tahapan yang harus dilakukanadalah melakukan perancangan sistem, untuk itu dibutuhkan suatu metode yang akandigunakan untuk melakukan perancangan perangkat lunak yang akan dibangun. Adabeberpa metode yang dapat digunakan untuk melakukan perancangan perangkatlunak, untuk menentukan metode yang digunakan maka banyak parameter yangdigunakan untuk melakukan pemilihan metode. Pada tulisan ini akan dibandingkandua metode yaitu Metode Iterative Testing dengan Model Based Testing untukmelakukan pengujian terhadap perangkat lunak yang akan dibangun.

Keyword : Model based testing, Iterative testing dan Pengujian

PENDAHULUAN

Menurut Myers [2], pengujian perangkat lunak adalah proses atau serangkaianproses, yang dirancang untuk memastikan bahwa kode komputer melakukan apayang dirancang untuk melakukan apa yang sudah dirancang dan tidak melakukansesuatu yang tidak diinginkan. Software pengujian menjadi penting untuk perusahaanuntuk menjamin kualitas produk terlepas dari apakah metodologi yang digunakan.Perangkat lunak otomatisasi pengujian adalah salah satu pendekatan utama yangtelah diterapkan untuk mengurangi biaya pengujian dan waktu pengujian danverifikasi hasil pengujian.

Secara umum pengujian bertujuan untuk memberikan informasi kepadastackholder tentang kualitas produk atau jasa yang diuji. Pengujian juga dapatmemberikan pandangan selain itu tujuan lainnya adalah memahami resiko dariimplementasi perangkat lunak tersebut. Pengujian perangkat lunak tidak terbatashanya pada proses eksekusi sebuah program atau aplikasi tetapi juga menemukan bugpada perangkat lunak yang di uji.

Pada 1970-an pertengahan, Goodenough dan Gerhart mengemukakanpertanyaan yang mungkin paling penting dalam pengujian perangkat lunak : Apakriteria uji untuk pengujian perangkat lunak? Sejak itu sejumlah besar cakupan kriteriatelah diajukan dan diselidiki untuk menguji kemampuan mendeteksi kesalahan, seringjuga disebut sebagai "efektivitas".[3]Kegiatan pengujian harus dimulai pada siklus awal pengembangan sistem danmelakukan semua tahapannya. Namun, dalam beberapa buku teks rekayasa perangkatlunak, sistem life cycle pengembangan sistem menunjukkan bahwa pekerjaan ujidilakukan setelah akhir fase coding. [4]Pengujian Iteratif adalah pengujian yang diulangi, atau iterasi beberapa kali. Pengujianiteratif bertujuan untuk meningkatkan kualitas desain yang dirancang.Sedangkan model based testing (MBT) adalah : teknik untuk generate secara otomatispengujian kasus menggunakan model dari spesifikasi kebutuhan dan skenarioperangkat lunak . Untuk menggunakannya, beberapa jenis model perangkat lunakdibuat dalam bentuk model formal (seperti metode formal, UML diagram, dll)tujuannya untuk menggambarkan perilaku perangkat lunak atau perilaku sistem.

Tulisan ini akan menyajikan proses perbandingan metode pengujianperangkat lunak model iterative testing dengan model based testing yang bertujuanuntuk memperoleh model yang baik dalam menentukan model pengujian dalampengembangan perangkat lunak. adapun cara yang dilakukan adalah dengan merincitentang bagaimana iterative dan model based melakukan proses pengujian. padabagian 2, penjelasan tentang model based testing dan iterative testing. pada bagian 3,menyajikan hasil dan pembahasan dibagian 4, penutup.

PEMBAHASAN

1. Model Based Testing (MBT)Pendekatan utama MBT [5]

Ada tiga pendekatan utama MBT :

a. Online test berarti bahwa alat pengujian model langsung dihubungkan ke sistemyang diuji dan menguji secara dinamis.

b. Offline generation of executable test berarti bahwa alat pengujian model basedmenghasilkan uji kasus sebagai aset yang terbaca oleh komputer yang kemudiandapat digunakan secara otomatis. Aset ini dapat berupa koleksi kelas phytonyang mewujudkan hasil logika pengujian.

c. Offline generation of manually deployable test berarti bahwa alat pengujian model basedmenghasilkan uji kasus sebagai aset yang terbaca oleh manusia yang dapatkemudian digunakan secara manual. Aset ini misalnya berupa dokumen PDFyang menjelaskan langkah – langkah uji yang dihasilkan.

Ada beberapa langkah untuk implementasi model based testing : [10]1. Membangun sebuah model2. Input dan Output yang diharapkan3. Menjalankan pengujian / test run4. Membandingkan hasil output dengan hasil yang diharapkan.5. Memutuskan tindakan lebih lanjut (apakah akan memodifikasi model,

generate kembali pengujian kasus, menghentikan pengujian, ataumemperkirakan kehandalan perangkat lunak (kualitas).

Untuk implementasi model based testing tersebut digambarkan sebagai berikut :[6]

Gambar 1 : Elemen Model Based Testing

Model adalah salah satu metode automated testing yang melakukan pengujianberdasarkan model-model sistem, bisa Class Diagram, use case diagram, ER diagram.Tetapi source terbesarnya adalah spesifikasi kebutuhan. Karena langkah pertamaMBT adalah membuat model baru yang sudah memiliki seluruh perilaku SUT(System Under Test) dari model-model sistem sebelumnya.Kelebihan MBT sendiri adalah dapat mengenerate test case secara otomatis darimodel yang telah dibuatnya. Dengan kata lain proses pengotomasian terjadi padapraproses pengujian.

Proses umum model based testing akan menghasilkan sebagai berikut :Langkah 1 :

Sebuah model SUT dibangun berdasarkan persyaratan atau spesifikasi dokumen yangada. Model ini mengkodekan perilaku yang dituju dan dapat berada pada berbagaitingkat abstraksi.Langkah 2 :Seleksi kriteria pengujian didefenisikan. Secara umum, sulit untuk mendefinisikan“kasus tes yang baik”. Pengujian kasus yang baik adalah yang kemungkinan akanmampu mendeteksi kegagalan fatal dan dimungkinkan tanpa biaya yang mahal, danitu akan sangat membantu dengan mengidentifikasi kesalahan yang mendasarinya.Langkah 3 :Seleksi kriteria pengujian tersebut ditransformasikan menjadi spesifikasi pengujiankasus. Spesifikasi pengujian kasus dirumuskan dalam bentuk konsep yang dapatdigunakan sebagai seleksi kriteria pengujianLangkah 4 :Setelah model dan spesifikasi pengujian kasus didefinisikan, test suite dihasilkan.Himpunan uji kasus yang memenuhi spesifikasi uji kasus boleh kosong. Biasanya adabanyak uji kasus yang memenuhi itu. Uji generator terjadi maka cenderung memilihbeberapa acak.

2. Iterative TestingIteratif desain adalah metodologi desain berdasarkan proses siklus

prototyping, menguji, menganalisa, dan memperbaiki pekerjaan yang sedang berjalan.Dalam desain iteratif, interaksi dengan sistem yang dirancang digunakan sebagaibentuk penelitian untuk menginformasikan dan berkembang proyek, sebagai versiyang berurutan, atau iterasi dari desain diimplementasikan.[7]

Pengembangan dengan iterative merupakan sebuah pendekatan padapengembangan software yang lebih memusatkan gagasan pengembangan dalambentuk siklus, dari pada melakukan semuanya secara sekaligus. Metode ini tidaksesuai pada semua jenis software namun dapat sangat bermanfaat dan sangatmenguntungkan pada pengaturan tertentu. Merupakan hal yang penting untukdipahami, bahwa pemgembangan iterative bukanlah merupakan sebuahpengembangan yang tidak terencana atau spontan. Faktanya, proses pengembangansoftware terstrukturisasi dengan baik.

Pada pengembangan iterative, memulainya dengan tahapan perencanaanproject, kemudian bergerak pada tahapan pengembangan lainnya dan pada akhirnyamerilis produk.

Sejalan dengan rilis produk, terdapat hasil yang diperoleh dari pengujianproduk (product testing) dan pengujian pada pengguna (user testings). Hasil tersebutakan digabungkan dengan rilis selanjutnya. Dimana rilis software padapengembangan iterative dapat berupa rilis software di tahapan awal pengembangan,bukan rilis produk pada publik.[8]

Pengujian merupakan teknik yang digunakan untuk memvalidasi proses,harus didistribusikan dan dilakukan pada setiap tahap dari siklus pengembanganperangkat lunak.Sistem pengembangan dan desain uji harus dilakukan secara bersamaan. uji desainharus disertakan disetiap tahapan siklus hidup, dan pengukuran harus terjadi padasetiap akhir fase.

Pengembangan proyek dimulai dengan menspesifikasikan dan mengimplementasikanarsitektur / prototype dari perangkat lunak yang telah dirancang sebelumnya.

Komponen perangkat lunak diciptakan dari kebutuhan bisnis yangdiidentifikasi, dan kemudian mengidentifikasi persyaratan lebih lanjut. Proses inikemudian diulang, sampai menghasilkan rancangan terbaik dari perangkat lunakuntuk setiap siklus dari model.

Pada iterative model pengujian yang dilakukan dengan langkah sebagaiberikut :[9]

Gambar 2 : Dasar Model Iterative Testing

Empat proses dasar dari model iteratif adalah:a. Tahap requirement, kebutuhan untuk perangkat lunak dikumpulkan dan

dianalisis. Iterasi akhirnya harus menghasilkan spesifikasi yang lengkap.b. Tahap desain, arsitektur perangkat lunak memenuhi persyaratan yang dirancang,

dalam hal ini dapat berupa desain baru, atau perbaikan dari desain sebelumnya.c. Tahap implementasi, ketika software ini telah selesai pada phase coding, telah

terintegrasi dan telah diuji.d. Tahap review, perangkat lunak dievaluasi, requirement di review, perubahan dan

penambahan requirement pada tahap ini dapat dilakukan.

3. Pengujian SoftwareBerikut ini merupakan gambaran siklus yang digunakan untuk melakukan pengujianpengembangan software.

Gambar 3 : Detail Siklus Pengujian Pengembangan Software

Spesifikasi output dari setiap proses desain sistem adalah dokumen acuan untukperancang sistem dalam melakukan proses desain sistem dari fase berikutnya, danuntuk penguji melakukan proses uji desain dari fase ini.Sebagai contoh, ketika penguji bekerja di unit proses uji desain, programer secarabersamaan melakukan coding modul (unit) program setelah modul spesifikasidiselesaikan. Ketika sebuah modul telah dikodekan dan uji pekerjaan desain selesai,penguji dapat melakukan unit testing pada modul.

4. Perbandingan Model4.1 Iterative TestingRencana uji untuk proyek terdiri dari empat lapisan pengujian utama: Coding,Integrasi, Jaminan Mutu dan Pengujian Penerimaan User. Masing-masing lapisandibangun bertahap untuk memastikan banyaknya kemungkinan kesalahan yang telahditemukan dan diperbaiki.Rincian pengujian dengan model iterative testing adalah sebagai berikut:

Gambar 4 : pengujian dengan model iterative testing

Pada level pengembangan sebaiknya sudah dapat memastikan bahwasetidaknya 50% dari bug yang ada rancangan perangkat lunak sudah dapat dideteksidan dikoreksi sebelum pindah kelevel pengujian berikutnya. Pada level ini yangdilakukan sebaiknya menverifikasi struktur internal, metode yang akan digunakan danmenvalidasi hasil yang diharapkan sudah dilakukan.Integration Testing : pengujian dilakukan oleh perancang sistem, analis sistem dancoding reviwer untuk mengkonstruksi struktur program sambil melakukan pengujianuntuk menemukan kesalahan sehubungan dengan interface.

Untuk pengujian iterative sebaiknya menggunakan integrasi incremental karenaprogram dibangun dan diuji dalam modul – modul kecil sehingga kesalahan lebihmudah diisolasi dan diperbaiki. Dengan demikian apabila ada modul baru yangditambahkan, maka akan menjadi bagian dari pengujian iterative. Hal ini disebabkankarena adanya :

Jalur aliran data baru I/O baru Logika kontrol baru

Pada titik ini diperkirakan sekitar 80% dari bug di sistem dikoreksi tetapi 100%dokumentasi fungsional sudah harus tersedia untuk pengujian.Quality Assurance Testing (QA) : pada tahap ini pengujian keamanan dilakukan. bugyang ditemukan dari pengujian ini diberikan kepada tim pengembangan untukdimasukkan dalam iterasi mendatang. Pada penyelesaian pengujian QA 90% darikerusakan dalam sistem harus diperbaiki.User Acceptance Testing : Setelah sistem telah memuaskan dan lulus pengujian tigatingkat sebelumnya selanjutnya dilakukan untuk Pengujian Penerimaan User. Jenispengujian yang biasanya dilakukan adalah melibatkan pengguna sistem danpengembang sistem dan stackholder, tujuan dari dilakukannya pengujian ini untukmenvalidasi fungsionalitas dari sistem, sebelum sistem diproduksi.

4.2 Model Based Testing (MBT)Untuk melakukan analisis terhadap model based testing pada tulisan ini akan

dilakukan berdasarkan aktifitas model based testing. Adapun aktifitas model basedtesting dapat digambarkan sebagai berikut :

Gambar 5 : Aktifitas Model Based Testing

Permasalahan yang dijadikan kasus untuk pengujian adalah membuatdatabase yang berbasis web. Misalkan ada untuk sebuah form product sepertidibawah ini

SpesifikasiKebutuhan

danskenario

ModelFormal

Hasil Input yangdiharapkan

Pengujianinput

MembuatModel

RunPengujian

Output HasilPengujian

SUT danInfrastruktur

Pengujian

Membandingkan Hasil

PengujianOracle

Hasil Outputyang

diharapkan

Output yangdiharapkan

Pengujian Objectdan cakupan

kriteria

PengujianBerhasil dan

Terjadi Kesalahan

- Perbaiki Model-GenerateKembali

-Stop Pengujian-Perhitungkan

Keandalan

Gambar 6 : Form Halaman Product

Maka dari form diatas selanjutnya pengembang sistem dapat membuat modelberikut :

Gambar 7 : sebagian e-commerce model

Dengan adanya model yang telah dibangun, maka batasan sistem yangdibangun juga harus diperjelas, dan yang pasti umumnya fasilitas CRUDmerupakan bagian yang harus tersedia untuk tiap – tiap entitas.Untuk membangun sebuah form dengan fasilitas CRUD tentu harus ada validasipada form tersebut.

Validasi untuk form dalam pengembangan model merupakan bagian yangpenting, karena ini adalah dasar untuk menghasilkan coding yang dibuat.Sebagai gambaran misalnya ketika form di submit apakah sudah dibisa dipastikaninput yang diberikan oleh user sudah benar? Maka dari itu perlunya dilakukanvalidasi form.Validasi form terdiri dari 3 kategori, yaitu :[11]

a. Single elemenb. Multiple elemenc. Entity association

Single elemen untuk validasi yang terjadi pada form hanya pada elemen saja.Misalnya sebuah textfield tidak boleh kosong atau nilai yang dimasukkan harusbersifat integer dan harus lebih besar dari nol. Model kategori seperti ini harustelah dicapai dan disepakati bersama.Multiple elementsUntuk melakukan validasi yang dapat mengecek bahwa semua atribut telah terisidengan baik dan benar, misalnya setelah user melakukan input data, maka userharus memberikan centang pada checkbox sebagai persetujuan bahwa data yangdiisikan sudah benar.Entity association mengacu pada hubungan kelas yang ada dalam domaintersebut. Misalnya hubungan satu-ke-banyak.

A. Tools Eksekusi PengujianAda beberapa tools yang dapat digunakan untuk melakukan melakukan

pengujian aplikasi web , yang dapat kita gunakan diantaranya : Junit JwebUnit DbUnit Jetty

B. Pengujian KasusSetiap pengujian kasus didefinisikan secara terpisah atau perbagian oleh file

XML, dimana XML berisi informasi yang dibutuhkan untuk melakukan input datayang dibutuhkan. Proses pengujian dilakukan dengan menggunakan oraclesebagai tools pengujian untuk mendapatkan output yang diharapkan. Karena iniadalah aplikasi berbasis web maka inputan akan dilakukan dari browser ditanganioleh Junit, sedangkan input untuk melakukan pengujian akan dilakukan olehJwebUnit. Jadi Oracle berisi database dan HTTP.File XML akan digunakan untuk menguji menyimpan product baru. Elemendataset XML digunakan oleh DBUnit untuk mengatur database. Inputan elemenXML berubah menjadi perintah JBUnit . Html elemen XML digunakan olehJWebUnit untuk memeriksa HTTP respon. Database XML elemen yangdigunakan oleh DBUnit untuk memeriksa keadaan akhir dari database. keadaanakhir tergantung pada pengujian operasi CRUD.

5. Seleksi Kriteria PengujianSeleksi kriteria pengujian membantu pengembang untuk mengontrol pilihan

pengujian.Mark Utting dan Bruno Legeard mengklasifikasikan kriteria seleksi menjadi enambagian :[12]

Struktur model cakupan kriteria Cakupan kriteria data Kesalahan kriteria model Kriteria berbasis kebutuhan Pengujian spesifikasi kasus secara jelas Metode pengujian dengan statistik

Pada seleksi kriteria pengujian ini akan digunakan struktur model cakupan kriteriadan kriteria berbasis kebutuhan, cakupan kriteria data.

Struktur model cakupan kriteria, kebutuhan awal yang harus dipenuhi dalammembangun sistem menggunakan model based testing adalah tersedianya

model, untuk aplikasi berbasis web model dibentuk dari permasalahan yangada dan berdasarkan data inputan dari user dan pengguna sistem. Modeldapat dibentuk misalnya dengan menggunakan UML.

Kriteria berbasis kebutuhan, dalam aplikasi berbasis web kebutuhan dasaryang harus tersedia adalah CRUD, pengujian yang dapat dilakukan misalnyapada button Update, ketika user mengklik button Update maka akanditampilkan secara detail data untuk satu entity yang dapat di update.

Cakupan kriteria data, penanganan data harus jelas, mana saja data yangdianggap perlu, misalnya ketika menginputkan data identitas, semua dataatribut dianggap perlu maka dalam aplikasinya ketika user menginputkan datapada form data dibuat data tidak boleh ada yang kosong.

6. Pengujian Script GeneratorPengujian script generator menggunakan kriteria berbasis kebutuhan, karena

pengujian yang akan dilakukan akan difocuskan pada proses yang mungkin terjadiCRUD. Untuk itu akan dibagi kedalam dua bagian, bagian pertama dikenal pengujianpositif dan bagian kedua dikenal pengujian negatif.Pengujian positif :

C1reate – klik menu pada halaman web, klik tambah data, input data padaform, klik button save

R1ead - klik menu pada halaman web, klik entity, klik button view. U1pdate - klik menu pada halaman web, tentukan entity, klik update button,

ubah nilai data, klik button save. D1elete – klik menu pada halaman web, tentukan entity, klik button hapus,

klik button Ok.Lebih lanjut pengujian positif, kejadian proses lain juga mungkin terjadi,adapun kejadian yang mungkin terjadi ini, dinamakan dengan pengujiannegatif. Pengujian negatif tersebut adalah sebagai berikut :

C2reate - klik menu pada halaman web, klik tambah data, input nilai datayang tidak benar, klik button save.

C3reate - klik menu pada halaman web, klik tambah data, input data padaform, klik button cancel.

R2ead - klik menu pada halaman web, tidak memilih entity, klik button view. U2pdate - klik menu pada halaman web, tidak memilih entity, klik button

update. U3pdate - klik menu pada halaman web, pilih entity, klik button update,

ubah isi form dengan data yang tidak benar, klik button save. U4pdate - klik menu pada halaman web, pilih entity, klik button update,

input data yang benar pada form, klik button cancel. D2elete - klik menu pada halaman web, tidak pilih entity, klik button delete. D3elete - klik menu pada halaman web, pilih entity, klik button cancel.

Dari pengujian script generator diatas akan dihasilkan sebagai berikut :

Pengujian PositifDatabase Html Menampilkan

C1Membuat data baru,tidak merubah data yanglain

List page, list entity baru

R1 Tidak berubah Entity page, nilai entityditampilkan

U1 Berubah untuk recordtertentu

List page, update entitiyditampilkan

D1Delete record tertentu,tidak merubah data yanglain

List page, entitiy dihapusdari list

Pengujian NegatifDatabase Html Menampilkan

C2 Tidak berubah entity, pesan error ditampilkanC3 Tidak berubah List, tidak ada perubahan pada listR2 Tidak berubah List, tidak ada perubahan pada list

U2 Tidak berubah List, tidak ada perubahan padalist, error message ditampilkan

U3 Tidak berubah Entity, error message ditampilkanU4 Tidak berubah List, tidak ada perubahan pada listD2 Tidak berubah List, error message ditampilkanD3 Tidak berubah List, tidak ada perubahan pada list

KESIMPULAN DAN SARAN1. Kesimpulan

Sebagai penutup dari tulisan ini, akan dihasilkan berupa kesimpulan dariperbandingan model iterative testing dengan model based testing, adapunkesimpulannya adalah masing – masing model memiliki kelebihan dan kelemahanuntuk tiap – tiap model.Adapun kelebihan iterative testing dibanding model based testing adalah :a. Lebih kecil kemungkinan untuk terjadi bug dalam sistem yg dirancang, ini

disebabkan proses pengujian dilakukan pada setiap level tahapan dan tidakhanya melibatkan kelompok kerja, juga melibatkan kelompok yang tidakterkait langsung dengan proses pengembangan sistem. Sehingga komunikasiyang baik terjadi antara pengembang sistem dan pengguna sistem.

b. Dengan prototipe kesalahan dan kelalaian dalam pengembangan dapat segeradiketahui.

c. Pengembang sistem dapat bekerja lebih baik dalam menentukan kebutuhanpengguna sistem karena pengguna sistem berperan aktif dalampengembangan sistem sehingga pengembang sistem mengetahui apa yangdiharapkan pengguna sistem.

Sebaliknya iterative testing juga memiliki kelemahan, adapun kelemahannya :a. Setiap iterasi bergantung prototipe sebelumnya, solusi final umumnya terjadi

apabila ada perbedaan nyata pada prototipe sebelumnya.b. Proyek mungkin tidak akan pernah selesai karena akan lebih sering fokus

pada perubahan protipe, akibatnya dokumentasi, sistem backup dan recovery,sistem performance dan security akan lebih terlupakan sehingga berdampakterhadap pemeliharaan sistem menjadi lebih sulit.

c. Pengembang sistem kadang membuat implementasi yang sembarangan.

Kelebihan model based testing adalah :a. Ditinjau dari sisi biaya lebih memungkinkan untuk mengurangi beban biaya

dan waktu pengembangan sistem.b. Menggunakan model reuse, pada komponen yang sudah mewakili kebutuhan

umum.

Kelemahan model based testing adalah:a. Model ini bersifat iteratif atau berulang-ulang prosesnya.·b. Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.

2 SaranModel itetative testing sebaik tidak digunakan untuk pengembangan sistem yang skalaukuran proyek yang cukup besar karena waktu yang tidak terencana dan biaya lebihmahal, lebih sulit dalam perawatan sistem.

DAFTAR PUSTAKA[1] C. Torens, L. Ebrecht, K. Lemmer “Starting Model-Based Testing based on Existing

Test Cases used for Model Creation (periodical style),” IEEE International Conferenceon Computer And Information Technology, 11th 2011.

[2] Myers, G.J.: “The Art of Software Testing. Ed. John Wiley & Sons, Inc.,“ Hoboken,New Jersey. (2004).

[3] Atul Gupta · Pankaj Jalote “An approach for experimentally evaluating effectiveness andefficiency of coverage criteria for software testing” Published online: 8 January 2008 Int JSoftw PP.145–160.

[4] B.Y. Tsai*, S. Stobart, N. Parrington and B.Thompson “Iterative Design andTesting within the Software Development Life Cycle” School of Computing andInformation Systems, University of Sunderland, , (1997) pp.295–309, SoftwareQuality Journal 6.

[5] Bhaswati Sadhukhan “Model Based Testing Practices (periodical style-Accepted forPublication),” Idea, Approach & Solution, Global Business Services (GBS),IBM(I) Pvt. Ltd, Kolkata, India.

[6] I. Schieferdecker, C. E. Vector “Model-Based Testing” IEEE Software Publishedby the IEEE Computer Society pp.14-18, 2012.

[7] E. Zimmerman, Play as Research: “The Iterative Design Process” Final Draft: July 8,2003.

[8] http://www.snyders.us/qa-iterative.htm[9] B. Campbell,Dr. G. Ray “Managing Iterative Testing in an Agile DevelopmentProject”

Version 1.3 April 9, 2002.[10] A. C. D. Neto, R. Subramanyan, M. Vieira and G. H. Travassos “Characterization

of Model-based Software - Testing Approaches ”, Seimens Corporate Research,August-2007.

[11] E. Escott, P. Strooper, P. King, and I. J. Hayes, “Model-DrivenWeb FormValidation with UML and OCL,” in Proceedings of the 7th Model-Driven WebEngineering Workshop, 2011.

[12] M. Utting, B. Legeard “Practical Model-Based Testing: A Tools Approach” [KindleEdition], 1 edition, November 27, 2006.