Testing: Mock, Stub,Usability, Stress, and Penetration testing

dimas saputra
Dekowarehouse Project
3 min readMay 17, 2018

Pada TDD, terdapat beberapa testing yang sering digunakan. Saat ini akan kita bahas tentang mock and stub, penetration, dan stress testing. Namun kalian tau gasih sebenernya apasih Mock and Stubs itu?

Mock dan Stubs merupakan implementasi ‘dummy’ dari suatu object pada suatu testing. Object yang sama dapat digantikan dengan stub, sedangkan mock bergantung pada testnya. Trus bedanya apatuh?

Stubs can be thought of as inputs to the code under test. When called they behave a certain way — return a fixed value, throw an exception, calculate a return value based on parameters, pull from a sequence of values, etc.

Secara singkat, stub adalah suatu input bagi suatu test yang ingin diketahui behaviornya, seperti value atau exception.

kalo mock apa?

Mocks can be thought of as outputs from the code under test. Under certain circumstances your code should or should not interact with a collaborator or should interact with it in a specific way — pass certain parameters, call multiple times, call methods in a certain order, etc.

Sedangkan Mock adalah output dari code yang sedang ditest, berupa suatu ekspektasi output yang seharusnya dikeluarkan dari fungsi yang dipanggil pada tes.

Perbedaan antara mock dan stub adalah dari tahapan dari suatu test yang dijalankan.

pada mock tahapannya berupa :

  • initialize > set expectations > excercise > verify

sedangkan pada stub biasanya berupa :

  • initialize > excercise > verify

Trus implementasi di dekowarehouse gimana tuh? nah ini contoh penerapannya :

Usability testing

Usability testing adalah suatu metode untuk mengevaluasi seberapa mudah dan nyaman suatu aplikasi digunakan. Untuk melakukan usability testing diperlukan beberapa kehadiran entity selain tim pengembang. Pada Sprint review 2 kemarin kami sudah mempresentasikan hasil pengerjaan kami kepada product owner dan beberapa orang lain selain development team kami.

Dari hasil tersebut kami mendapati berbagai feedback, yang salah satunya adalah di bidang UI/UX. Pada sprint review kemarin kak Aru memberikan masukan tentang User Experience pada halaman comparison yang kami buat. Kak Aru mengatakan bahwa fitur comparison kami masih belum user friendly. Oleh karena itu saya merubah fungsi dari comparison tersebut. Yang tadinya berupa halaman sendiri, akhirnya halaman comparison tersebut kami hilangkan dan kami ubah.

Selain itu kami juga pergi ke kantor dekoruma untuk meminta akses algolia sekaligus meminta feedback dari UI/UX dari tim UI/UX di dekoruma. Dari sana pun kami mendapatkan feedback yang akhirnya dituangkan kedalam Product Backlog Item baru yaitu “memperbaiki UI/UX” yang kemudian dikerjakan oleh Jessi dan Farrah.

Penetration testing

Merupakan sebuah testing yang ingin menguji sebuah computer system untuk melihat kelemahan dari system tersebut untuk dieksploitasi oleh seseorang. Dengan melakukan penetration testing, kita bisa melihat seberapa bagus security dari sebuah aplikasi atau web.

Kenapa melakukan penetration testing? Dengan melakukan penetration testing, kita bisa mencegah apa terjadinya kebocoran data. Selain itu, kita juga bisa melihat bagaimana keamanan sistem atau network dari aplikasi.

Stress testing

Merupakan testing yang ingin melihat seberapa kokoh sebuah aplikasi ketika menerima request atau melakukan task yang melebihi batasannya. Salah satu contoh nya pada web aplikasi adalah dengan menggunakan sebuah bot yang akan mengakses web tersebut secara bersamaan untuk melihat apakah web dapat bertahan menerima banyak request.

Kenapa melakukan stress testing?

  1. Melihat performa dari aplikasi ketika terjadi kegagalan system saat stress testing
  2. Untuk melihat apakah ada data yang hilang ketika terjadi crash
  3. Melihat apakah aplikasi memberikan informasi error yang mudah dipahami ketika crash, atau hanya memberikan informasi random.

Tujuan utamanya adalah ingin melihat apakah system atau aplikasi yang kita lakukan stress testing dapat recover dari stress testing yang kita jalankan.

Naah itulah jenis — jenis test yang sudah kita bahas. Gimana teman — teman? udah kebayangkaan? Kalo gitu sekian yaa sampai ketemu lagii

--

--