Creating Unit Test Automatically with PEX

image Unit Test seringkali menjadi kebutuhan utama untuk menjamin mutu dari software. Namun tentunya terkadang hal ini diabaikan oleh developer karena bagi sebagian besar developer hal ini dianggap merepotkan. Teman saya pernah berkata demikian “boro2x nulis unit test, nulis code ajah udah pulang jam 2 pagi”. Mengapa dianggap merepotkan? bukankan hanya perlu menulis beberapa baris kode yang memakai sebuah fungsi? Tentu tidak, menulis unit test yang baik perlu memperhatikan aspek Code Coverage. Code Coverage adalah sebuah istilah yang menentukan berapa presentasi baris kode anda yang telah ditest dengan unit test. Sebagai contoh lihatlah kode sederhana berikut :

public static int CheckTitle(string point)
        {
            switch (point)
            {
                case "Jendral":
                    return 10;
                case "Mayor":
                    return 11;
                case "Kopral":
                    return 12;
                default :
                    return 0;
            }
        }

agar nilai dari code coverage unit test anda mencapai 100% maka tentunya minimal anda harus menuliskan 4 buah unit test yang menguji fungsi CheckTitle tersebut. Mengapa 4? jawabannya adalah karena jumlah percabangan yang ada dalam fungsi tersebut ada 4 buah. Dapat anda bayangkan jika dalam fungsi anda terdapat 100 buah percabangan maka tentunya anda pun harus menuliskan 100 buah unit test hanya untuk menguji fungsi tersebut!!!

image Untuk mengatasi masalah tersebut PEX hadir, PEX akan menguji kode anda yang ingin dikenakan unit test dan secara langsung membuat unit test yang dibutuhkan untuk menjamin bahwa code coverage dari unit test anda mencapai 100%. PEX hadir sebagai add-on dari Visual Studio yang dapat anda download disini.  Setelah anda menginstall PEX maka sebuah entry baru akan hadir di Visual Studio. Cara menggunakannya relatif sederhana anda hanya tinggal memilih fungsi yang ingin anda buat unit testnya dan klik kanan.

image

PEX kemudian akan melakukan explorasi terhadap fungsi tersebut dan menemukan bahwa ada 5 buah variasi input yang diperlukan untuk menguji fungsi tersebut (bonus 1 dari perkiraan awal yaitu masukan yang bertipe null). hasil pengujian PEX dapat dilihat pada sebuah jendela bawaan PEX yang berjudul Pex Exploration Result seperti dibawah ini :

image

Sampai disini kita telah menguji fungsi CheckTitle sebanyak 5 kali dengan PEX. Namun bagaimana jika kita ingin membuat unit testnya? caranya cukup mudah dengan memilih sebuah hasil pengujian dan klik tombol Save

image

Sebuah Wizard yang menjelaskan langkah-langkah yang akan secara otomatis dilakukan oleh PEX akan muncul seperti yang dibawah ini. Ketika anda menekan tombol Apply maka langkah-langkah tersebut akan dieksekusi dan sebuah test project akan dihasilkan dalam solusi anda.

image

Jika anda membuka test project dalam solusi anda maka dapat anda lihat bahwa nilai code coverage pada Code Coverage telah mencapai 100%

image

Sebuah tools yang akan sangat membantu anda dalam membuat unit test bukan? jika ada tertarik untuk mempelajarinya lebih lanjut silahkan cek link ini

 

cheers

Share this post: | | | |
Published Tuesday, June 01, 2010 4:46 PM by ronald

Comments

# Twitter Trackbacks for Creating Unit Test Automatically with PEX - Ronald Rajagukguk [netindonesia.net] on Topsy.com

Pingback from  Twitter Trackbacks for                 Creating Unit Test Automatically with PEX - Ronald Rajagukguk         [netindonesia.net]        on Topsy.com

# re: Creating Unit Test Automatically with PEX

Wednesday, June 02, 2010 11:50 AM by mdedirudianto

Waaah... ini ni yang dicari.

Thanks berat atas infonya mas Ron :)

Salam 1 Jiwa :D

Powered by Community Server (Commercial Edition), by Telligent Systems