V-1
BAB V
IMPLEMENTASI DAN PENGUJIAN
Pada bab ini dibahas mengenai implementasi dan pengujian perangkat lunak GXUnit.
Pembahasan meliputi lingkungan implementasi, batasan implementasi, implementasi perangkat lunak, implementasi antarmuka, tujuan pengujian, lingkungan pengujian, langkah pengujian, serta hasil pengujian.
5.1 Implementasi
5.1.1 Lingkungan Implementasi
Perangkat lunak GXUnit dikembangkan dalam lingkungan perangkat keras yang memiliki spesifikasi sebagai berikut:
1. Processor Intel Pentium Core 2 T5500 @ 1.66 GHz 2. Memory 1526 MB
3. Harddisk 100 GB
Lingkungan pengembangan tersebut memiliki spesifikasi perangkat lunak sebagai berikut:
1. Sistem Operasi Windows Vista Home Basic 2. Java 2 SDK Standard Edition versi 1.6.0_11 3. Development Tools Netbeans 6.1
Perangkat lunak GXUnit ini memanfaatkan beberapa library tambahan antara lain:
1. Javaparser-1.6.0
Javaparser merupakan library yang berfungsi sebagai parser kode dalam bahasa pemrograman Java. Dalam perangkat lunak GXUnit, library ini digunakan untuk melakukan parsing kode program masukan pengguna sehingga dapat diidentifikasi method apa saja yang ada dalam kode program tersebut.
2. JUnit 3.8.2
JUnit merupakan xUnit Framework untuk pengujian dalam bahasa pemrograman Java. Dalam perangkat lunak GXUnit, JUnit digunakan sebagai framework yang bertugas menjalankan pengujian.
5.1.2 Batasan Implementasi
Implementasi perangkat lunak GXUnit memiliki batasan sebagai berikut:
1. Masukan perangkat lunak dari pengguna berupa kode program Java dan kasus uji XML diasumsikan selalu merupakan file yang benar.
2. Pengaturan classpath JUnit harus dilakukan terlebih dahulu oleh pengguna agar proses running dapat berjalan.
3. Proses running kasus uji dilakukan dengan JUnit 3.8.2 sehingga kasus uji yang dibangkitkan juga sesuai dengan template kasus uji padaJUnit 3.8.2
5.1.3 Implementasi Perangkat Lunak
GXUnit dikembangkan dalam bahasa pemrograman Java dengan menggunakan IDE Netbeans 6.1. Implementasi GXUnit sebagai hasil perancangan dikelompokkan dalam tiga paket, yaitu:
1. Antarmuka
Kelas pada paket ini berperan sebagai antarmuka interaksi antara perangkat lunak dengan pengguna. Pengelompokan paket ini diberi nama antarmuka.
2. Controller
Kelas pada paket ini berperan untuk melakukan segala pemrosesan data masukan pengguna sehingga menghasilkan data keluaran yang diharapkan. Pengelompokan pada paket ini diberi nama controller.
3. Entity
Kelas pada paket ini merupakan kelas yang digunakan sebagai representasi data yang terlibat dalam perangkat lunak antara lain kasus uji, berbagai komponen kasus uji, serta file konfigurasi. Pengelompokan pada paket ini diberi nama entity.
Hasil implementasi kelas dapat dilihat pada Tabel V-1.
Tabel V-1 Daftar Rinci Kelas Implementasi
No Nama Kelas Perancangan Nama Rinci Kelas Implementasi
1. GXUInterface antarmuka.GXUInterface.java
2 TestCaseController controller.TestCaseController.
java
3 XMLCreator controller.XMLCreator.java
4 XMLParser controller.XMLParser.java
No Nama Kelas Perancangan Nama Rinci Kelas Implementasi
5 ConfigParser controller.ConfigParser.java
6 Converter controller.Converter.java
7 CompilerJava controller.CompilerJava.java
8 JUnitRunner controller.JUnitRunner.java
9 CSVController controller.CSVController.java
10 TestCase entity.TestCase.java
11 Variable entity.Variable.java
12 Assertion entity.Assertion.java
13 TestMethod entity.TestMethod.java
14 TestSuite entity.TestSuite.java
15 ConvertedTestCase entity.ConvertedTestCase.java
16 Configuration entity.Configuration.java
5.1.4 Implementasi Antarmuka
Antarmuka hasil perancangan diimplementasikan dengan menggunakan javax.swing. Hasil implementasi antarmuka dapat dilihat pada Tabel V-2.
Tabel V-2 Hasil Implementasi Antarmuka
No Antarmuka Nama File Fisik Nama File Executable
1 Manage Kasus Uji
antarmuka.GXUInterface.java antarmuka.GXUInterface.class
2 Create Kasus Uji
antarmuka.GXUInterface.java antarmuka.GXUInterface.class
3 Update Kasus Uji
antarmuka.GXUInterface.java antarmuka.GXUInterface.class
4 Delete Kasus Uji
antarmuka.GXUInterface.java antarmuka.GXUInterface.class
No Antarmuka Nama File Fisik Nama File Executable
5 Konversi Kasus Uji
antarmuka.GXUInterface.java antarmuka.GXUInterface.class
6 Running Kasus Uji
antarmuka.GXUInterface.java antarmuka.GXUInterface.class
Contoh tampilan implementasi antarmuka dapat dilihat pada Gambar V-1 dan Gambar V-2.
Gambar V-1 Implementasi Antarmuka Create Kasus Uji
Gambar V-2 Implementasi Antarmuka Delete Kasus Uji
Hasil implementasi antarmuka selengkapnya beserta detail setiap komponen antarmuka dapat dilihat pada Lampiran Acuan Teknis Subbab 4.4.
5.2 Pengujian
5.2.1 Tujuan Pengujian
Beberapa hal yang menjadi tujuan pelaksanaan pengujian terhadap perangkat lunak yang dibangun, yaitu:
1. Memeriksa fungsionalitas GXUnit dalam membangkitkan kasus uji XML, menerjemahkannya dalam bahasa pemrograman Java, serta menjalankan kasus uji melalui JUnit.
2. Uji coba penggunaan GXUnit pada pengujian sebuah project perangkat lunak sederhana.
5.2.2 Lingkungan Pengujian
Perangkat keras yang digunakan adalah:
1. Processor Intel Pentium Core 2 T5500 @ 1.66 GHz 2. Memory 1526 MB
3. Harddisk 100 GB
Perangkat lunak yang digunakan adalah:
1. Sistem Operasi Windows Vista Home Basic 2. Java 2 SDK Standard Edition versi 1.6.0_11 3. JUnit versi 3.8.2
5.2.3 Langkah Pengujian
Langkah-langkah dalam melakukan pengujian yaitu:
1. Melakukan setting classpath folder instalasi JUnit 3.8.2 2. Menyiapkan kode program yang akan diuji.
Dalam pengujian GXUnit ini digunakan sebuah project game taman bermain sederhana yang dikembangkan dalam bahasa pemrograman Java.
3. Menjalankan perangkat lunak GXUnit
4. Menjalankan pengujian sesuai dengan daftar use case pada Subbab 4.1.3
5.2.4 Hasil dan Evaluasi Pengujian
Hasil pengujian setiap use case dapat dilihat pada Tabel V-3.
Tabel V-3 Hasil Pengujian
No Use Case Identifikasi Kasus Uji Hasil Pengujian 1 GXU-U-01 UJ-01-001
UJ-01-002 UJ-01-003
Hasil yang didapat semua kasus uji sesuai dengan hasil yang diharapkan
2 GXU-U-02 UJ-02-001 UJ-02-002 UJ-02-003 UJ-02-004 UJ-02-005 UJ-02-006 UJ-02-007 UJ-02-008 UJ-02-009 UJ-02-010 UJ-02-011 UJ-02-012 UJ-02-013 UJ-02-014 UJ-02-015 UJ-02-016 UJ-02-017 UJ-02-018 UJ-02-019 UJ-02-020 UJ-02-021 UJ-02-022 UJ-02-023 UJ-02-024 UJ-02-025 UJ-02-026 UJ-02-027
Hasil yang didapat semua kasus uji sesuai dengan hasil yang diharapkan, kecuali pada kasus uji UJ-02-025, hasil yang didapatkan belum sesuai dengan hasil yang diharapkan karena GXUnit belum mampu mengangani deklarasi dan inisialisasi variabel dengan tipe data collections misalnya Array
3 GXU-U-03 UJ-03-001 UJ-03-002 UJ-03-003
Hasil yang didapat semua kasus uji sesuai dengan hasil yang diharapkan
4 GXU-U-04 UJ-04-001 UJ-04-002 UJ-04-003
Hasil yang didapat semua kasus uji sesuai dengan hasil yang diharapkan
5 GXU-U-05 UJ-05-001 UJ-05-002 UJ-05-003
Hasil yang didapat semua kasus uji sesuai dengan hasil yang diharapkan
6 GXU-U-06 UJ-06-001 UJ-06-002
Hasil yang didapat semua kasus
No Use Case Identifikasi Kasus Uji Hasil Pengujian
UJ-06-003 uji sesuai dengan hasil yang
diharapkan
Hasil dan evaluasi pengujian lebih lengkap dapat dilihat pada Lampiran Acuan Teknis Subbab 6.2. Secara umum, hasil pengujian yang diperoleh adalah sebagai berikut:
1. Perangkat lunak GXUnit mampu menghasilkan keluaran sesuai dengan keluaran yang diharapkan pada pengujian setiap use case, kecuali pada use case CreateKasusUji.
Pada use case ini, kakas belum mampu digunakan untuk melakukan deklarasi dan inisialisasi sebuah variabel dengan tipe Array.
2. Komponen pada antarmuka perangkat lunak sudah mampu berfungsi dengan baik sehingga bisa memudahkan penggunaan.
Berdasarkan hasil pengujian tersebut, dapat disimpulkan bahwa masih ada fitur yang dapat dikembangkan yaitu fitur untuk melakukan deklarasi serta inisialisasi variabel dengan tipe data collections seperti Array. Namun demikian, fungsionalitas utama perangkat lunak GXUnit ini sudah berjalan baik. Jika dilihat dari segi kebutuhan non-fungsional yang dicakup oleh perangkat lunak ini, maka dapat dikatakan bahwa GXUnit ini sudah bisa memenuhi kebutuhan non-fungsional karena semua komponen antarmuka yang bertujuan untuk memudahkan pengguna dalam menggunakan GXUnit ini sudah dapat berjalan dengan baik.