Software Testing Part 2

Setelah tau apa itu software testing dan lain lain nya..kita bakal tau..sebenernya test itu ada macem2 nya ga? Apa test yang cocok dilakukan buat software yang kita kembangin?

Ada apa ajah sih jenis testing:

  • White box testing (proses tes semua bagian konstruksi suatu software dari dalam, mencakup unit-unit tes terkecil)
  • Black box testing (proses tes secara umum dan melihat sisi luarnya saja. Input dan output secara kasat mata)
  • Gray box testing (proses tes yang melibatkan client-server, biasanya dipake untuk tes yang berhubungan ama repositori data)

Terus tingkatan-tingkatan

  • Unit testing

Unit test digunakan untuk mengetes bagian terkecil (unit detail) dari suatu software dan biasanya dikerjakan oleh developer dengan membuat mock object untuk ditesnya. Unit test menjalankan test pada semua function atau method, apabila terjadi error pada tiap unit kode programnya, maka developer akan melakukan refactoring terhadap kodenya.
Untuk teknologi bahasa pemrograman java, unit tes dilakukan dengan menggunakan framework junit.

  • Integrated testing

Integrated testing digunakan untuk mengetes suatu software yang terdiri dari modul-modul yang terintegrasi atau bisa juga terintegrasi dengan suatu database. Contoh tool yang digunakannya adalah DBUnit.

  • Coverage testing

Testing yang dilakukan untuk mengukur kecukupan suatu unit test, apakah unit test yang dibuat telah meng-cover semua unit kode program. Analoginya, coverage test bekerja dengan membandingkan jumlah kode program dengan jumlah unit testnya. Contoh tool yang biasa digunakan cobertura.

  • System testing

Merupakan testing keseluruhan dari suatu software. System testing ini biasanya merunut pada Terdiri dari berbagai jenis tes, yaitu: user interface testing, usability testing, performance testing, compability testing, error handling testing, load testing, volume testing, stress testing, user help testing, security testing, scalability testing, capability testing, sanity testing, regression testing, reliability testing, recovery testing, instalation testing, maintenance testing.

dari semua jenis tes itu, testing yang dilakukan oleh seorang tester hanyalah bagian coverage dan system testing (apabila diperlukan).. sedangkat 2 tingkat sebelumnya, dikerjakan oleh programer bersamaan dengan proses development..

Advertisements

Automated testing menggunakan selenium ide dan selenium core part 2

Seperti yang udah disebuti pada posting sebelumnya..Selenium IDE menghasilkan output yaitu unit test yang menjadi elemen pada Selenium Core..Sebelum itu, kita install dulu Selenium Corenya…Selenium Core bisa didownload di sini. Kemudian ekstrak file nya dan simpan pada folder webapp pada aplikasi server kita.

Setelah siap, kita bisa langsung akses Selenium Core menggunakan web browser dengan mengetikan alamat url . http://localhost:8080/selenium. maka akan tampil halaman seperti berikut:

 

Kita akan gabungkan hasil Selenium IDE yang dipakai oleh Selenium Core. Misal output yang kita simpan dari Selenium IDE berupa HTML, maka file-file HTML tersebut didefinisikan pada test suite. Berikut contoh unit test yang dimasukkan pada test suite:

Unit test yang didefinisikan berwarna merah. Kemudian jalankan Selenium TestRunner-nya yang terdapat pada Selenium Core. Untuk menjalankannya ketikan file test suite yang telah dibuat seperti pada gambar berikut:

 

Seperti halnya pada selenium IDE, untuk setiap test case yang berjalan apabila test-nya berhasil maka test runner akan berwarna hijau, dan sebaliknya apabila terjadi error atau bug maka test runnernya berwarna merah.

 

 

 

Automated testing menggunakan selenium ide dan selenium core

Sesuai yang saya janjikan sebelumnya..saya sedikit bagi2 ilmu selama PKL..
Apa itu automated testing? Knapa kita butuh itu?buat apa sih gunanya?Hahaha..pertanyaan yang pertama muncul mungkin seperti itu..Ok,, sebenernya sih knpa disebut automatis, karena test tersebut akan dilakukan beberapa kali dan pada pengulangannya dilakukan secara otomatis..

Mekanismenya namanya agile test…Apa itu agile test? Agile test disebut juga functional test yaitu software tester berperilaku sebagai end-user dan memeriksa apakah sistemnya dapat berfungsi dengan baik sesuai dengan requirment dari user.

Semua aktifitas saat melakukan test direkam oleh sebuah tools, dimana saat akan melakukan test ulang, bisa secara langsung menjalankan rekaman aktivitas kita, dan tools tersebut akan mengetes ulang secara otomatis…
Tools yang digunakan adalah Selenium IDE dan Selenium Core..
Selenium IDE merupakan integrated tool untuk agile testing. Mekanismenya bekerja dengan merekam semua aktifitas user saat mengakses suatu aplikasi berbasis web. Setiap aktifitas yang terekam masuk ke dalam tiga tag, yaitu Command, Target,dan Value.

  • Command, berisi apa yang akan dilakukan oleh user pada aplikasi, misalnya clickandwait, select, open, dll.
  • Target, berisi tujuan dari command yang kita dilakukan.
  • Value, berisi nilai yang dimasukkan dan diakses saat kita melakukan test.

a. Berikut beberapa fitur yang ada pada Selenium IDE

  • Dapat merekam dan re-play hasil rekaman dengan mudah.
  • Autocomplete untuk Selenium command.
  • Dapat dijalankan selama testing berlangsung.
  • Debug dan set breakpoint.
  • Bisa disimpan dalam file format HTML, Ruby script, Phyton, PHP, Java, dan C#..
  • Mendukung file Selenium-extension.js.
  • Secara otomatis menambahkan title pada setiap halaman.

b. Instalas
Selenium IDE bisa langsung didownload sebagai add-ons (plug in) mozilla firefox atau browser lainnya yang mendukung (bisa dicek disini). Selenium IDE terintegrasi dengan browser dan bisa langsung digunakan dengan menuliskan alamat url yang akan ditest, kemudian klik tombol record.

Ilustrasinya seperti gambar dibawah ini:

Untuk menjalankan dan mengetes kembali secara otomatis hanya meng-klik button play. Berikut contoh nya:

Apabila sukses, test akan berwarna hijau, sedangkan apabila gagal, test akan berwarna merah.

Kemudian tester menjalankan sistem selayaknya end-user, setelah selesai hasilnya bisa disimpan dalam bentuk HTML dan beberapa format yang bisa dipilih seperti terlihat pada ilustrasi berikut:

Hasil output dari Selenium IDE tadi merupakan satu buah unit test. Kemudian beberapa unit test disatukan dalam suatu test suite. test suite akan mengotomatisasi software testing secara keseluruhan. Tools yang digunakan yaitu Selenium Core.