Testing PHPUnit

download Testing PHPUnit

of 32

Transcript of Testing PHPUnit

  • 7/23/2019 Testing PHPUnit

    1/32

    TESTINGFUNGSI VALIDASI INPUTAN STOK BARANG DAN

    PENJUALAN

    (WHITE BOXTESTING MENGGUNAKAN PHPUNIT)

    TUGAS TESTING DAN IMPLEMENTASI SISTEM

    Oleh:

    HIZKIA YESARELA SAHADUTA

    NIM 12!1""1#

    PROGRAM STUDI S1$ TEKNIK INFORMATIKA

    KEMENTERIAN RISTEK DAN PENDIDIKAN TINGGI

    SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

    PPKIA PRADNYA PARAMITA

    MALANG

    2"1#

  • 7/23/2019 Testing PHPUnit

    2/32

    TESTINGFUNGSI VALIDASI INPUTAN STOK BARANG DAN

    PENJUALAN

    (WHITE BOXTESTING MENGGUNAKAN PHPUNIT)

    1 PHPU%&'

    PHPUnit adalah sebuah programmer-oriented testing framework untuk bahasa

    pemrograman php, merupakan bagian dari xUnit untuk unit testing framework di

    buat oleh Sebastian Bergmann5 , official web untuk PHPUnit adalah

    http:phpunit!de, "ersi terbaru adalah phpunit 5!#!$ untuk "ersi stable dan phpunit

    5!% untuk "ersi beta

    Untuk installasi PHPUnit cukup mudah, ada ban&ak cara &ang bisa dilakukan,

    bisa melalui phar, pear atau composer! 'isini han&a akan di (elaskan bagaimana

    instalasi PHPunit di lwindows menggunakan composer

    11 I%'ll& PHPU%&'

    'ownload dan install composer di https:getcomposer!org)omposer-

    Setup!exe , lalu (alankan! *nstaller ototmasi merupakan "ersi composer &ang paling

    terbaru dan setelah kita selesei install secara otomastis pula sudah men-set P+H ,

    sehingga bisa memanggil composer dari setiap direktori komputer menggunakan

    command line !

    Setelah selesei install , (alankan command seperti gambar di bawah ini untuk

    memastikan phpunit sudah bisa kita gunakan! +pabila keluaran dari command &ang

  • 7/23/2019 Testing PHPUnit

    3/32

    diketikan tidak seperti gambar di bawah ini , tutup command line , lalu buka lagi

    command line &ang baru dan ketikan command &ang sama

    2 Me%*l%+% Te'&%,

    'i sini kita akan men(alankan testing dari fungsi "alidasi untuk inputan

    sebuah form barang , dimana inputann&a tidak boleh minus-. dan harus merupakan

    angka!

    21 Me-./' 0l U%'/+ Te'&%, J/-lh S'+

    Pertama , kita membuat sebuah class stok dan simpan dengan nama stok!php!

    'i class ini diletakkan (uga skenario &ang akan di pakai, sebagai berikut :

    *nputan angka lebih dari /. -0 ,e'S'+() (&h34+%:+)

    *nputan minus kurang dari /. -0 ,e'Pe%() (&h34+%:+)

    *nputan huruf -0 ,e'Pe%() (&h34+%:+)

  • 7/23/2019 Testing PHPUnit

    4/32

    'an berikut listing kode programn&a untuk class stok:

    12php

    class stok3pri"ate 4stok6

    pri"ate 4pesan6

    public function inputStok4stok.3

    if4stok 1 / 77 8isnumeric4stok.. 3

    4this-0setPesan9*nputan Stok Salah9.6

    else3

    4this-0stok ; 4stok6

    public function getStok.3

    return 4this-0stok6

    public function setPesan4pesan.3

    4this-0pesan ; 4pesan6

    public function getPesan.3

    return 4this-0pesan6

    20

  • 7/23/2019 Testing PHPUnit

    5/32

    A Skenario :

    *nputan angka lebih dari /. -0 ,e'S'+() (&h34+%:+)

    *nputan minus kurang dari /. -0 ,e'S'+() (&h34+%:%+)

    *nputan huruf -0 ,e'S'+() (&h34+%:%+)

    12php

    include 9stok!php96

    class stoktes extends PHPUnit=rameworkest)ase3

    public function setUp.3

    4this-0ob(Stok ; new stok.6

    public function testBerhasil*nputStok.3

    4this-0ob(Stok-0inputStok5.6

    4stok ; 4this-0ob(Stok-0getStok.6

    4this-0assert>?uals5,4stok.6

    public function [email protected]

    4this-0ob(Stok-0inputStok-5.6

    4stok ; 4this-0ob(Stok-0getStok.6

    4this-0assert>?uals-5,4stok.6

    public function testStokHuruf.3

    4this-0ob(Stok-0inputStok9Aima9.6

    4stok ; 4this-0ob(Stok-0getStok.6

    4this-0assert>?uals9Aima9,4stok.6

  • 7/23/2019 Testing PHPUnit

    6/32

    20

    B Skenario :

    *nputan angka lebih dari /. -0 ,e'Pe%() (&h34+%:%+)

    *nputan minus kurang dari /. -0 ,e'Pe%() (&h34+%:+)

    *nputan huruf -0 ,e'Pe%() (&h34+%:+)

    12php

    include 9stok!php96

    class stoktes extends PHPUnit=rameworkest)ase3

    public function setUp.3

    4this-0ob(Stok ; new stok.6

    public function testBerhasil*nputStok.3

    4this-0ob(Stok-0inputStok5.6

    4pesan ; 4this-0ob(Stok-0getPesan.6

    4this-0assert>?uals9*nputan Stok Salah9,4pesan.6

    public function [email protected]

    4this-0ob(Stok-0inputStok-5.6

    4pesan ; 4this-0ob(Stok-0getPesan.6

    4this-0assert>?uals9*nputan Stok Salah9,4pesan.6

    public function testStokHuruf.3

    4this-0ob(Stok-0inputStok9Aima9.6

    4pesan ; 4this-0ob(Stok-0getPesan.6

    4this-0assert>?uals9*nputan Stok Salah9,4pesan.6

  • 7/23/2019 Testing PHPUnit

    7/32

    20

    0 Skenario :

    *nputan angka lebih dari /. -0 ,e'S'+() (&h34+%:+)

    *nputan minus kurang dari /. -0 ,e'Pe%() (&h34+%:+)

    *nputan huruf -0 ,e'Pe%() (&h34+%:+)

    12php

    include 9stok!php96

    class stoktes extends PHPUnit=rameworkest)ase3

    public function setUp.3

    4this-0ob(Stok ; new stok.6

    public function testBerhasil*nputStok.3

    4this-0ob(Stok-0inputStok5.6

    4stok ; 4this-0ob(Stok-0getStok.6

    4this-0assert>?uals5,4stok.6

    public function [email protected]

    4this-0ob(Stok-0inputStok-5.6

    4pesan ; 4this-0ob(Stok-0getPesan.6

    4this-0assert>?uals9*nputan Stok Salah9,4pesan.6

    public function testStokHuruf.3

    4this-0ob(Stok-0inputStok9Aima9.6

    4pesan ; 4this-0ob(Stok-0getPesan.6

    4this-0assert>?uals9*nputan Stok Salah9,4pesan.6

  • 7/23/2019 Testing PHPUnit

    8/32

    20

  • 7/23/2019 Testing PHPUnit

    9/32

    'an untuk detailn&a seperti gambar berikut :

    B Skenario :

    *nputan angka lebih dari /. -0 ,e'Pe% (&h34+%:%+)

    *nputan minus kurang dari /. -0 ,e'Pe% (&h34+%:+)

    *nputan huruf -0 ,e'Pe% (&h34+%:+)

  • 7/23/2019 Testing PHPUnit

    10/32

    Hasil pengu(ian seperti gambar berikut :

    'an untuk detailn&a seperti gambar berikut :

  • 7/23/2019 Testing PHPUnit

    11/32

    0 Skenario :

    *nputan angka lebih dari /. -0 ,e'S'+ (&h34+%:+)

    *nputan minus kurang dari /. -0 ,e'Pe% (&h34+%:+)

    *nputan huruf -0 ,e'Pe% (&h34+%:+)

    Hasil pengu(ian seperti gambar berikut :

    'an untuk detailn&a seperti gambar berikut :

  • 7/23/2019 Testing PHPUnit

    12/32

    28 Me-./' 0l U%'/+ B3%, 9 I'e- 9 D&+% 9 % Pe%*/l%

    A 0l B3%,

    12php

    class Barang 3

    Cama barang

    D"ar string

    public 4nama6

    Harga barang

    D"ar double

  • 7/23/2019 Testing PHPUnit

    13/32

    public 4harga6

    Dparam string 4nama

    Dparam double 4harga

    public function construct4nama, 4harga. 3

    4this-0nama ; 4nama6

    4this-0harga ; 4harga6

    20

    B 0l I'e-

    12php

    class *tem 3

    @eru(uk pada EBarangE &ang diperdagangkan!

    D"ar Barang

    public 4barang6

    Fumlah &ang diperdagangkan untuk EBarangE ini!

    D"ar int

    public 4(umlah6

  • 7/23/2019 Testing PHPUnit

    14/32

    Harga &ang disepakati untuk transaksi EBarangE ini!

    D"ar double

    public 4harga6

    'iskon untuk item ini!

    D"ar 'iskon

    public 4diskon6

    Dparam Barang 4barang

    Dparam int 4(umlah

    Dparam double 4harga

    public function construct4barang, 4(umlah, 4harga ; CUAA, 4diskon ; CUAA.3

    4this-0barang ; 4barang6

    4this-0(umlah ; 4(umlah6

    4this-0harga ; 4harga2: 4barang-0harga6

    4this-0diskon ; 4diskon2: new 'iskon.6

    @engembalikan total harga untuk *tem ini! Perhitungan dilakukan

    berdasarkan (umlah item harga, kemudian dikurangi diskon!

  • 7/23/2019 Testing PHPUnit

    15/32

    Dreturn double

    public function getotal. 3

    return 4this-0diskon-0setelah'iskon4this-0harga 4this-0(umlah.6

    20

    0 0l D&+%

    12php

    class 'iskon 3

    Sebuah arra& &ang berisi nilai diskon untuk item ini!

    Sebuah item dapat memiliki lebih dari satu diskon, misaln&a

    diskon member dan diskon promosi natal!

    'iskon dalam bentuk angka, misaln&a %5 untuk %5G,

    #/ untuk #/G dan sebagain&a!

    D"ar intI

    public 4arr'iskon6

    Dparam intI 4arr'iskon

    public function construct4arr'iskon ; CUAA. 3

  • 7/23/2019 Testing PHPUnit

    16/32

    if 4arr'iskon ;; CUAA. 3

    4this-0arr'iskon ; I6

    else if isarra&4arr'iskon.. 3

    4this-0arr'iskon ; 4arr'iskon6

    else 3

    4this-0arr'iskon ; 4arr'iskonI6

    @enambah nilai diskon baru, misaln&a #/ untuk #/G dan %5 untuk %5G!

    Bila nilai EdiskonE berupa arra&, maka lebih dari satu nilai akan

    ditambahkan ke nilai diskon saat ini!

    Dparam mixed 4diskon

    public function tambah'iskon4diskon. 3

    4this-0arr'iskonI ; 4diskon6

    @enghitung (umlah diskon untuk sebuah harga! Sebagai contoh,

    diskon #/G untuk #//!/// akan mengembalikan nilai #/!///!

    Dparam double 4harga

    public function (umlah'iskon4harga. 3

    4total ; /6

  • 7/23/2019 Testing PHPUnit

    17/32

    foreach 4this-0arr'iskon as 4diskon. 3

    if 4total;;/. 3

    4total ; 4harga 4diskon#//.6

    4harga -; 4total6

    else 3

    4diskon ; 4harga 4diskon#//.6

    4total J; 4diskon6

    4harga -; 4diskon6

    return 4total6

    @enghitung sebuah harga setelah dikurangi diskon ini!

    Sebagai contoh, diskon #/G untuk #//!/// akan mengembalikan

    nilai K/!///!

    Dparam double 4harga

    public function setelah'iskon4harga. 3

    if count4this-0arr'iskon.;;/. return 4harga6

    4total ; /6

    foreach 4this-0arr'iskon as 4diskon. 3

    if 4total;;/. 3

    4total ; 4harga # - 4diskon#//.6

    else 3

    4total ; # - 4diskon#//.6

  • 7/23/2019 Testing PHPUnit

    18/32

    return 4total6

    20

    D 0l Pe%*/l%

    12php

    class Pen(ualan 3

    Comor untuk faktur pen(ualan ini!

    D"ar string

    public 4nomor6

    anggal &ang terterak di faktur!

    D"ar string

    public 4tanggal6

    +rra& &ang berisi satu atau lebih E*temE untuk faktur ini!

    D"ar *temI

    public 4arr*tem6

    'iskon untuk pen(ualan ini!

  • 7/23/2019 Testing PHPUnit

    19/32

  • 7/23/2019 Testing PHPUnit

    20/32

    public function getotal. 3

    4total ; /6

    foreach 4this-0arr*tem as 4item. 3

    4total J; 4item-0getotal.6

    return 4this-0diskon-0setelah'iskon4total.6

    20

  • 7/23/2019 Testing PHPUnit

    21/32

    public function testambah*tem. 3

    4barang# ; new BarangMBNO-/#M, #///.6

    4barang% ; new BarangMBNO-/%M, %///.6

    4pen(ualan ; new Pen(ualanM*C-/#M, M%/#Q-/#-/#M.6

    4pen(ualan-0tambah*temnew *tem4barang#, 5..6

    4pen(ualan-0tambah*temnew *tem4barang%, 5..6

    4this-0assert)ount%, 4pen(ualan-0arr*tem.6

    4this-0assert>?uals4barang#, 4pen(ualan-0arr*tem/I-0barang.6

    4this-0assert>?uals5, 4pen(ualan-0arr*tem/I-0(umlah.6

    4this-0assert>?uals4barang%, 4pen(ualan-0arr*tem#I-0barang.6

    4this-0assert>?uals5, 4pen(ualan-0arr*tem#I-0(umlah.6

    public function testOetotaltanpa'iskon. 3

    4barang# ; new BarangMBNO-/#M, #/////.6

    4barang% ; new BarangMBNO-/%M, %/////.6

    4pen(ualan ; new Pen(ualanM*C-/#M, M%/#Q-/#-/#M.6

    4pen(ualan-0tambah*temnew *tem4barang#, #/..6

    4pen(ualan-0tambah*temnew *tem4barang%, %/..6

    4this-0assert>?ualsL/////, 4pen(ualan-0getotal..6

    public function testOetotaldengan'iskon. 3

    4barang# ; new BarangMBNO-/#M, #/////.6

  • 7/23/2019 Testing PHPUnit

    22/32

    4barang% ; new BarangMBNO-/%M, %/////.6

    4pen(ualan ; new Pen(ualanM*C-/%M, M%/#Q-/#-/#M, new 'iskon#/..6

    4pen(ualan-0tambah*temnew *tem4barang#, #/..6

    4pen(ualan-0tambah*temnew *tem4barang%, %/..6

    4this-0assert>?ualsR5/////, 4pen(ualan-0getotal..6

    20

    S+e- 2:

    % inputan barang barang# ; #///// , ?t& ; #/. , barang% ; %///// , ?t& ; %/.

    otal harga dengan diskon #/G , expect : R5///// , di coba matches : 5//////

    Source code :

    12php

    include 9barang!php96

    include 9item!php96include 9diskon!php96

    include 9pen(ualan!php96

    class Pen(ualanest extends PHPUnit=rameworkest)ase 3

    protected function setUp. 3

    parent::setUp .6

    protected function tear'own. 3 parent::tear'own .6

    public function testambah*tem. 3

  • 7/23/2019 Testing PHPUnit

    23/32

    4barang# ; new BarangMBNO-/#M, #///.6

    4barang% ; new BarangMBNO-/%M, %///.6

    4pen(ualan ; new Pen(ualanM*C-/#M, M%/#Q-/#-/#M.6

    4pen(ualan-0tambah*temnew *tem4barang#, 5..6

    4pen(ualan-0tambah*temnew *tem4barang%, 5..6

    4this-0assert)ount%, 4pen(ualan-0arr*tem.6

    4this-0assert>?uals4barang#, 4pen(ualan-0arr*tem/I-0barang.6

    4this-0assert>?uals5, 4pen(ualan-0arr*tem/I-0(umlah.6

    4this-0assert>?uals4barang%, 4pen(ualan-0arr*tem#I-0barang.6

    4this-0assert>?uals5, 4pen(ualan-0arr*tem#I-0(umlah.6

    public function testOetotaltanpa'iskon. 3

    4barang# ; new BarangMBNO-/#M, #/////.6

    4barang% ; new BarangMBNO-/%M, %/////.6

    4pen(ualan ; new Pen(ualanM*C-/#M, M%/#Q-/#-/#M.6

    4pen(ualan-0tambah*temnew *tem4barang#, #/..6

    4pen(ualan-0tambah*temnew *tem4barang%, %/..6

    4this-0assert>?uals5//////, 4pen(ualan-0getotal..6

    public function testOetotaldengan'iskon. 3

    4barang# ; new BarangMBNO-/#M, #/////.6

    4barang% ; new BarangMBNO-/%M, %/////.6

  • 7/23/2019 Testing PHPUnit

    24/32

    4pen(ualan ; new Pen(ualanM*C-/%M, M%/#Q-/#-/#M, new 'iskon#/..6

    4pen(ualan-0tambah*temnew *tem4barang#, #/..6

    4pen(ualan-0tambah*temnew *tem4barang%, %/..6

    4this-0assert>?uals5//////, 4pen(ualan-0getotal..6

    20

    S+e- 8:

    % inputan barang barang# ; #///// , ?t& ; #/. , barang% ; %///// , ?t& ; %/.'i inputkan tanpa harga barang, expect : arg missing

    Source code :

    12php

    include 9barang!php96

    include 9item!php96

    include 9diskon!php96

    include 9pen(ualan!php96class Pen(ualanest extends PHPUnit=rameworkest)ase 3

    protected function setUp. 3

    parent::setUp .6

    protected function tear'own. 3

    parent::tear'own .6

    public function testambah*tem. 3

    4barang# ; new BarangMBNO-/#M.6

    4barang% ; new BarangMBNO-/%M.6

  • 7/23/2019 Testing PHPUnit

    25/32

    4pen(ualan ; new Pen(ualanM*C-/#M, M%/#Q-/#-/#M.6

    4pen(ualan-0tambah*temnew *tem4barang#, 5..6

    4pen(ualan-0tambah*temnew *tem4barang%, 5..6

    4this-0assert)ount%, 4pen(ualan-0arr*tem.6

    4this-0assert>?uals4barang#, 4pen(ualan-0arr*tem/I-0barang.6

    4this-0assert>?uals5, 4pen(ualan-0arr*tem/I-0(umlah.6

    4this-0assert>?uals4barang%, 4pen(ualan-0arr*tem#I-0barang.6

    4this-0assert>?uals5, 4pen(ualan-0arr*tem#I-0(umlah.6

    public function testOetotaltanpa'iskon. 3

    4barang# ; new BarangMBNO-/#M, #/////.6

    4barang% ; new BarangMBNO-/%M, %/////.6

    4pen(ualan ; new Pen(ualanM*C-/#M, M%/#Q-/#-/#M.6

    4pen(ualan-0tambah*temnew *tem4barang#, #/..6

    4pen(ualan-0tambah*temnew *tem4barang%, %/..6

    4this-0assert>?uals5//////, 4pen(ualan-0getotal..6

    public function testOetotaldengan'iskon. 3

    4barang# ; new BarangMBNO-/#M, #/////.6

    4barang% ; new BarangMBNO-/%M, %/////.6

    4pen(ualan ; new Pen(ualanM*C-/%M, M%/#Q-/#-/#M, new 'iskon#/..6

    4pen(ualan-0tambah*temnew *tem4barang#, #/..6

  • 7/23/2019 Testing PHPUnit

    26/32

    4pen(ualan-0tambah*temnew *tem4barang%, %/..6

    4this-0assert>?ualsR5/////, 4pen(ualan-0getotal..6

    20

    S+e- :

    +ll true excpectation

    Source code :

    12php

    include 9barang!php96include 9item!php96

    include 9diskon!php96

    include 9pen(ualan!php96

    class Pen(ualanest extends PHPUnit=rameworkest)ase 3

    protected function setUp. 3

    parent::setUp .6

    protected function tear'own. 3

    parent::tear'own .6

    public function testambah*tem. 3 4barang# ; new BarangMBNO-/#M, #///.6

    4barang% ; new BarangMBNO-/%M, %///.6

    4pen(ualan ; new Pen(ualanM*C-/#M, M%/#Q-/#-/#M.6

  • 7/23/2019 Testing PHPUnit

    27/32

    4pen(ualan-0tambah*temnew *tem4barang#, 5..6

    4pen(ualan-0tambah*temnew *tem4barang%, 5..6

    4this-0assert)ount%, 4pen(ualan-0arr*tem.6

    4this-0assert>?uals4barang#, 4pen(ualan-0arr*tem/I-0barang.6

    4this-0assert>?uals5, 4pen(ualan-0arr*tem/I-0(umlah.6

    4this-0assert>?uals4barang%, 4pen(ualan-0arr*tem#I-0barang.6

    4this-0assert>?uals5, 4pen(ualan-0arr*tem#I-0(umlah.6

    public function testOetotaltanpa'iskon. 3

    4barang# ; new BarangMBNO-/#M, #/////.6

    4barang% ; new BarangMBNO-/%M, %/////.6

    4pen(ualan ; new Pen(ualanM*C-/#M, M%/#Q-/#-/#M.6

    4pen(ualan-0tambah*temnew *tem4barang#, #/..6

    4pen(ualan-0tambah*temnew *tem4barang%, %/..6

    4this-0assert>?uals5//////, 4pen(ualan-0getotal..6

    public function testOetotaldengan'iskon. 3

    4barang# ; new BarangMBNO-/#M, #/////.6

    4barang% ; new BarangMBNO-/%M, %/////.6

    4pen(ualan ; new Pen(ualanM*C-/%M, M%/#Q-/#-/#M, new 'iskon#/..6

    4pen(ualan-0tambah*temnew *tem4barang#, #/..6

    4pen(ualan-0tambah*temnew *tem4barang%, %/..6

    4this-0assert>?ualsR5/////, 4pen(ualan-0getotal..6

  • 7/23/2019 Testing PHPUnit

    28/32

    20

    2 Pe%,/*&% Pe%*/l%

    Selan(utn&a adalah mengu(i class &ang sudah kita buat tadi dengan

    menggunakan PHPUnit , buka command line , lalu ketikan perintah

    54h4/%&' 4e%*/l%4h4

    Untuk hasil detail ketikan :

    54h4/%&' 6 'e'7 4e%*/l%'e4h4

    'an berikut hasil pengu(ian dari masing masing skema &ang sudah dibuat :

    S+e- 1:

    % inputan barang barang# ; #///// , ?t& ; #/. , barang% ; %///// , ?t& ; %/.

    otal harga tanpa diskon , matches : 5////// , di coba expect : L/////

    Hasil testing :

  • 7/23/2019 Testing PHPUnit

    29/32

    S+e- 2:

    % inputan barang barang# ; #///// , ?t& ; #/. , barang% ; %///// , ?t& ; %/.

    otal harga dengan diskon #/G , matches : R5///// , di coba expect : 5//////

    Hasil testing :

  • 7/23/2019 Testing PHPUnit

    30/32

    S+e- 8:

    % inputan barang barang# ; #///// , ?t& ; #/. , barang% ; %///// , ?t& ; %/.

    'i inputkan tanpa harga barang, expect : arg missingHasil testing :

    S+e- :

    +ll true excpectation

    Hasil testing :

  • 7/23/2019 Testing PHPUnit

    31/32

    8 Ke&-4/l%

    #. Sebelum melakukan test menggunakan PHPUnit, pastikan dahulu untuk class

    &ang akan diu(i terdapat extends PHPUnit=rameworkest)aseT

    %. Untuk assertionsT ada beberapa tipe sesuai dengan apa &ang digunakan,

    semisal untuk nilai &ang sama maka menggunakan assert>?uals, untuk cek han&a tipe

    data tertentu menggunakan assert)ontainsnl&, untuk cek (umlah data menggunakan

    assert)ount, dan masih ban&ak (enis assertionsT lainn&a!

    $. 'ata &ang tidak mempun&ai assertionsT tetap dapat dilakukan proses testing,

    tetapi akan muncuk peringatan tidak ada test &ang dapat dilakukan!

    R. PHPUnit menghitung waktu untuk loadT data &ang di test dan (uga memor&

    &ang digunakan saat s&ntax tersebut ber(alan! Fika muncul kesalahan, maka muncul

  • 7/23/2019 Testing PHPUnit

    32/32

    (uga apa &ang membuat file tersebut melakukan kesalahan! Fika benar, maka tidak

    muncul satupun peringatan atau pesan kesalahan!

    5. esting menggunakan PHPUnit memungkinkan agar sebuah

    software sudah melewati fase testing di awal, maka problem-problem &ang mungkin

    ter(adi pasca produksi bisa di ketahui se(ak awal, dan ketika ter(adi perubahan maka

    dapat di deteksi efffect dari perubahan tersebut sehingga tidak menimbulkan riffle

    effect, keretakan software fragile., hard code &ang membuat proses de"elopment,

    maintenance software men(adi rumit dan memakan waktu , karena satu persatu setiap

    fungsi , class dapat dites menggunakan method &ang berbeda beda untuk setiap #

    fungsi class!