red = RED self.assertEqualred.delRED, sbintc qdisc del dev eth0
root
class TestHTBunittest.TestCase: HTB tests
def test_classself: classifier = Classifiereth0, 1:1, 1:2, 64Kbit,
1Mbit self.assertEqualclassifier.getClass, sbintc class add
dev eth0 parent 1:1 classid 1:2 htb rate 64Kbit ceil 1Mbit
class TestClientunittest.TestCase: Client tests
def test_clientself: self.client = ClientClient 1,192.168.1.10, 64000,
64000, 512000, 128000,00:FF:00:10:AF:89
self.assertEqualself.client.get_name, Client 1 self.assertEqualself.client.get_ip, 192.168.1.10
self.assertEqualself.client.get_dload, 64000 self.assertEqualself.client.get_uload, 64000
self.assertEqualself.client.get_dmax, 512000 self.assertEqualself.client.get_umax, 128000
self.assertEqualself.client.get_mac, 00:FF:00:10:AF:89
class TestBandwidthConsumptionunittest.TestCase: BandwidthConsumption tests
def test_BConsumptionself: bc = BandwidthConsumption
class TestTCunittest.TestCase: TC tests
def test_TCself: tc = TC
Dan hasil yang didapat setelah mengeksekusi test case di atas adalah sebagai berikut,
.... -----------------------------------------------------------------
----- Ran 6 tests in 0.000s
OK
4.4.2 BlackBox Testing
Pada blackbox testing penulis mencoba melakukan tes terhadap semua fungsionalitas dari aplikasi ini. Berikut beberapa hasil tes yang penulis lakukan
terhadap aplikasi dan hasilnya,
1. Pengujian Set firewall untuk fungsi SNAT atau Masquerade.
Gambar 4.17 pengujian firewall feature
Pengguna mengisi ip public yang digunakan yang nantinya akan digunakan sebagai source NAT. Interface yang berhubungan dengan internet dan
jaringan lokal diatur di sini.
Gambar 4.18 cek firewall
Pengecekan apakah SNAT di iptables berhasil dieksekusi atau tidak. Hasilnya menunjukkan berhasil memberikan satu rule untuk SNAT.
Gambar 4.19 pengujian masquerade
Berbeda dengan yang tadi, di sini dilakukan pengetesan untuk masquerade. Perubahan SNAT secara dinamis dan pengaturan interface. Cara yang
dilakukan hampir sama dengan sebelumnya.
Gambar 4.20 cek masquerade
Terlihat pengaturan sebelumnya berhasil memberikan satu rule ke iptables untuk melakukan masquerade.
2. Pengujian Set Max Download dan Max Upload rate.
Gambar 4.21 pengujian max download dan upload
Di sebelah kanan terdapat pengaturan untuk maksimum dan minimum upload yang diijinkan. Pengaturan ini bergantung pada koneksi internet yang kita
miliki.
Gambar 4.22 cek tc max rate
Pengaturan untuk download berhasil dan menambah rule pada TC dengan HTB qdisc.
Gambar 4.23 cek tc max rate
Pengaturan upload dengan RED qdisc juga berhasil dilakukan di sini. 3.
Pengujian Tambah, Ubah dan Hapus Client.
Gambar 4.24 pengujian tambah node
Di sini dilakukan pengujian untuk menambah client yang ingin diatur alokasi bandwidthnya.
Gambar 4.25 penambahan node
Gambar 4.26 cek tc leaf
Terlihat bertambah satu rule untuk client yang ditambah sebelumnya.
Gambar 4.27 pengubahan node
Client yang sebelumnya telah ditambah, dapat diubah parameternya. Pengujian perubahan parameter dilakukan di sini.
Gambar 4.28 cek perubahan pada leaf
Perubahan parameter berhasil merubah rule pada tc yang ada.
Gambar 4.29 penghapusan node
Perintah hapus dilakukan di sini. Pengujian untuk menghapus rule client dari table dan rule TC.
Gambar 4.30 cek penghapusan pada tc
Terlihat sudah terhapus rule dari client yang dihapus tersebut.
4. Pengujian Tampilkan plot untuk bandwidth rate tiap client.
Gambar 4.33 pengujian tampilan plot
Tabel 4.4 Pengujian black box
Fungsi Status
Set firewall untuk fungsi SNAT atau Masquerade OK
Set Max Download dan Max Upload rate OK
Tambah, Ubah dan Hapus Client OK
Set Upload Rate OK
Tampilkan plot untuk bandwidth rate tiap client OK
4.5. Release
Tahap ini aplikasi sudah dapat diimplementasikan, dan penulis melakukan pengujian implementasi untuk membuktikan apakah aplikasi dapat memenuhi
fungsinya sebagai bandwidth limiting.
4.5.1 Implementation Test
Penulis akan melakukan implementation tes dengan beberapa node yang berhubungan langsung dengan gateway. Berikut topologi jaringan yang digunakan :
Gambar 4.34 Topologi jaringan pengujian
Pengujian akan dilakukan dengan beberapa parameter, di antaranya: 1.
Rate : 64kbps, max rate : 64kbps 2.
Rate : 64kbps, max rate : 128kbps 3.
Rate : 128kbps, max rate : 128kbps 4.
Rate : 128kbps, max rate : 256kbps Berikut hasil dari pengujian alokasi bandwidth untuk tiap node yang melewati
gateway:
1. Pengujian rate : 64kbps, max rate 64kbps
Gambar 4.35 Pengujian node download dan upload 64kbps
2. Pengujian rate : 64kbps, max rate 128kbps
Gambar 4.36 pengujian