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 :
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 :