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.
V-1
V-2
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
V-3
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
1
Manage
Nama File Fisik
Nama File Executable
antarmuka.GXUInterface.java
antarmuka.GXUInterface.class
Create Kasus antarmuka.GXUInterface.java
antarmuka.GXUInterface.class
Kasus Uji 2
Uji 3
antarmuka.GXUInterface.java
antarmuka.GXUInterface.class
Delete Kasus antarmuka.GXUInterface.java
antarmuka.GXUInterface.class
Update Kasus Uji
4
Uji
V-4
No
Antarmuka
5
Konversi
Nama File Fisik
Nama File Executable
antarmuka.GXUInterface.java
antarmuka.GXUInterface.class
antarmuka.GXUInterface.java
antarmuka.GXUInterface.class
Kasus Uji 6
Running Kasus Uji
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.
V-5
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.
V-6
Tabel V-3 Hasil Pengujian
No 1
Use Case GXU-U-01
Identifikasi Kasus Uji UJ-01-001 UJ-01-002 UJ-01-003
Hasil Pengujian Hasil yang didapat semua kasus uji sesuai dengan hasil yang diharapkan
2
3
GXU-U-02
GXU-U-03
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 UJ-03-001 UJ-03-002 UJ-03-003
Hasil yang didapat semua kasus uji sesuai dengan hasil yang diharapkan, kecuali pada kasus uji
UJ-02-025,
didapatkan
hasil
belum
yang sesuai
dengan hasil yang diharapkan karena GXUnit belum mampu mengangani
deklarasi
dan
inisialisasi variabel dengan tipe data
collections
misalnya
Array
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
V-7
No
Use Case
Identifikasi Kasus Uji UJ-06-003
Hasil Pengujian 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.