Penanganan Error dan Testing Kode

IKB112312

STMIK EL RAHMA
Oleh : Wahyu Widodo

Penanganan Error dan Testing Kode

POKOK BAHASAN
 Error Handling (Penanganan Error)
 Unit Testing
 Penggunaan Class Benchmarking
 Penggunaan Class Profiller

Error Handling
CodeIgniter menyediakan fungsi –fungsi error reporting menggunakan :
 Show_error
 Show_404
 log_message

show_error($message, $status_code, $heading = 'An Error Was Encountered')


Error tersebut ditampilkan pada :
application/views/errors/html/error_general.php
atau
application/views/errors/cli/error_general.php
Parameters:
 $message (mixed) – Error message
 $status_code (int) – HTTP Response status code
 $heading (string) – Error page heading

$status_code di definisikan di application/config/constants.php

show_404($page = '', $log_error = TRUE)
Parameters:
 $page (string) – URI string
 $log_error (bool) – Whether to log the error
Error 404 ditampilkan di :
application/views/errors/html/error_404.php
atau
application/views/errors/cli/error_404.php


log_message($level, $message)
Parameters:
 $level (string) – Log level: error , debug or info
 $message (string) – Message to log
Terdapat 3 Level :
 ERROR = Sesuatu yang menyebabkan sistem down, atau berhenti
melakukan suatu proses.
 DEBUG = Merupakan sesuatu yang dapat membantu developer untuk
menganalisa/menelusuri error.
 INFO = Informasi umum yang sedang dilakukan oleh sistem/aplikasi.

Contoh Log Error
if ($some_var == '')
{
log_message('error', 'Some variable did not contain a value.');
}
else
{
log_message('debug', 'Some variable was correctly set');
}

log_message('info', 'The purpose of some variable is to provide some value.');

Bagaimana rekomendasi tracking error saat aplikasi sudah live?
 Ubah setingan threshold =1 pada application/config/config.php
 Buat mode write pada folder \application\logs

Unit Testing Class
Apa itu unit testing?
Unit testing is an approach to software development in which tests are
written for each function in your application.
Gambar Tahapan Pengujian Perangkat Lunak

Pengujian
Unit

Pengujian
Integrasi

Pengujian
Sistem


Pengujian
Penerimaan

Mengapa Unit Testing Perlu dilakukan?

Alur dalam Unit Testing :
1 desain kelas/fungsi
2 buat sebuah rangkaian nilai yang ingin dites
3 implementasi kelas/fungsi
4 jalankan rangkaian test
5 perbaiki kesalahan atau error dan kembali ke langkah ke 4

Di CodeIgniter disediakan :
$this->load->library('unit_test');
Contoh paling sederhana :
$test = 1 + 1;
$expected_result = 2;
$test_name = 'Adds one plus one';
$this->unit->run($test, $expected_result, $test_name);


Class Benchmarking
Apa kegunaan class Benchmarking?
 Mengetahui jumlah waktu eksekusi script
 Mengetahui jumlah konsumsi memori
Apa tujuannya ?
 Optimasi kecepatan halaman website

Cara menggunakan Class Benchmarking
Mengetahui jumlah waktu eksekusi

Mengetahui jumlah memory

Penggunaan Class Profiller
1 Buat file Profiler_controller.php kemudian simpan di
application/controller/Profiler_controller.php

2. Buat file test.php kemudian simpan di application/views/test.php

3. Ubah konfigurasi router.php pada application/config/routes.php


4. Tes kode anda lewat browser :