Solution Architect • Professional IT dengan pengalaman lebih dari 20 tahun • Saat ini bekerja di RSM Indonesia sebagai Senior Manager – Technology Consultant Faisal Susanto Find me on strava
follows: 1. 100% automation is possible 🡪 it is not possible and not recommended. 2. Test automation saves a lot of time 🡪 it depends on test automation strategy. 3. Test automation scripts are faster than manual testing 🡪 it is not always true. 4. Test automation eliminates needs for manual efforts 🡪 it is not true because scripts need regular maintenance. 5. It generates more defects than manual testing 🡪 it is not true.
terdiri dari dua jenis yaitu Functional dan non- functional test seperti ditunjukkan pada diagram berikut. Disini kita akan membahas mana saja test yang dapat dilakukan secara otomatis
dan “lupa” bahwa testing akan/sebaiknya dilakukan oleh orang lain sehingga memerlukan dokumentasi selengkap mungkin. Kebutuhan mengenai dokumentasi ini makin terasa dengan semakin globalnya pembuatan software sehingga bisa saja software dibuat oleh tim yang berbeda baik lokasi, kewarganegaraan bahkan benua. Berikut adalah alasan mengapa sebaiknya test case dibuat.
yang sebaiknya ada Test case ini dibuat dalam sebuah table (umumnya menggunakan excel) untuk mempermudah organisasi, distribusi dan juga komunikasi antar tim yang terlibat
/ aplikasi yang akan digunakan dapat memenuhi tingkat performa tertentu yang diminta oleh pengguna. Berikut ditunjukkan beberapa jenis performance testing yang sering dilakukan •Load testing – checks the application’s ability to perform under anticipated user loads. The objective is to identify performance bottlenecks before the software application goes live. •Stress testing – involves testing an application under extreme workloads to see how it handles high traffic or data processing. The objective is to identify the breaking point of an application. •Endurance testing – is done to make sure the software can handle the expected load over a long period of time. •Spike testing – tests the software’s reaction to sudden large spikes in the load generated by users. •Volume testing – Under Volume Testing large no. of. Data is populated in a database and the overall software system’s behavior is monitored. The objective is to check software application’s performance under varying database volumes. •Scalability testing – The objective of scalability testing is to determine the software application’s effectiveness in “scaling up” to support an increase in user load. It helps plan capacity addition to your software system.
Project) adalah komunitas online yang bertujuan meningkatkan keamanan dari aplikasi/software. OWASP banyak direferensikan dan direkomendasikan untuk digunakan oleh professional yang berkecimpung di bidang keamanan.
yang akan digunakan dapat memenuhi tingkat performa tertentu yang diminta oleh pengguna. Berikut ditunjukkan beberapa jenis performance testing yang sering dilakukan. •Load testing – checks the application’s ability to perform under anticipated user loads. The objective is to identify performance bottlenecks before the software application goes live. •Stress testing – involves testing an application under extreme workloads to see how it handles high traffic or data processing. The objective is to identify the breaking point of an application. •Endurance testing – is done to make sure the software can handle the expected load over a long period of time. •Spike testing – tests the software’s reaction to sudden large spikes in the load generated by users. •Volume testing – Under Volume Testing large no. of. Data is populated in a database and the overall software system’s behavior is monitored. The objective is to check software application’s performance under varying database volumes. •Scalability testing – The objective of scalability testing is to determine the software application’s effectiveness in “scaling up” to support an increase in user load. It helps plan capacity addition to your software system.
dan sebaiknya test yang semakin mahal dilakukan setelah test yang lebih murah selesai dilaksanakan secara sukses. Gambar diatas menunjukkan jenis, scope dan tanggung jawab tim yang terlibat dalam melakukan testing.
bagian terkecil dari sebuah aplikasi atau program. Unit test dilakukan oleh developer dan umumnya dilakukan untuk memastikan fungsi/prosedur yang ditulis dapat berfungsi sesuai yang diinginkan. Unit test umumnya tidak dapat dilakukan oleh pengguna/user karena tidak ada GUI. Gambar diatas menunjukkan unit test yang dilakukan menggunakan tools MS Unit Test.
dilakukan untuk memverifikasi Unit/modul yang telah dibuat oleh developer dapat bekerja dengan unit/modul yang telah ada atau dibuat developer lainnya. Tentu saja unit yang akan diuji di integration test telah melewati tahap Unit Test dengan sukses. Tergantung dari skala nya, unit test ini bisa hanya bersifat one time atau end to end. Semakin banyak yang diintegrasikan maka semakin kompleks dan mahal test tersebut.
dari aplikasi seluler atau web apa pun. Bagaimanapun, berinteraksi dengan UI adalah cara pengguna mengakses fungsionalitas inti dari aplikasi apa pun. Proses pengujian UI aplikasi untuk memverifikasi fungsinya dikenal sebagai pengujian UI. Ini mencakup semuanya dengan benar mulai dari memverifikasi logika terkecil, alur kerja UI, navigasi, transisi, perhitungan, memvalidasi semua tombol, dll. Umumnya , tim QA melakukan tes ini secara manual. Namun, munculnya metodologi Agile telah mendorong tim untuk mengadopsi otomatisasi untuk siklus pengujian mereka agar rilis lebih cepat. Kita dapat melakukan UI testing dengan menggunakan selenium. Tentu saja ada produk lain baik open source maupun licensed yang juga dapat digunakan untuk UI testing.
prioritas yang sama dengan pembuatan aplikasi. Kita telah review bersama bahwa Testing, apalagi Automated Testing adalah hal yang cukup kompleks dan memakan sumber daya yang cukup besar. Jika perusahaan anda telah memutuskan untuk melakukan automated testing, maka diperlukan strategi implementasi yang tepat dan investasi secara berkelanjutan. Automated Testing Lifecycle
test yang kita bahas, bagian mana yang akan diotomasikan. Test berikut umumnya cocok untuk dilakukan secara otomatis: • Memakan waktu jika dilakukan manual • Memerlukan test yang banyak • Dilakukan di banyak jenis klien (browser, OS, hardware) • Ada definisi pass/fail yang jelas Test berikut umumnya tidak cocok dilakukan secara otomatis: • Hanya dilakukan 1 x • Berdasarkan persepsi visual • Tidak jelas kriteria pass/fail Automated Testing Lifecycle
automated testing saat ini sering kali digunakan pada fase integration test, baik terbatas maupun end to end. Apakah ini akan dilakukan secara internal, atau saat di tempat pelanggan? Apakah ini dilakukan sebagai permintaan/requirement dari pelanggan? Automated Testing Lifecycle
untuk melakukan investasi pada automated testing. Maka Testing Engineer anda (Sebaiknya dedicated) akan mulai membuat testing environment, test tool dan juga sosialisasi penggunaan test environment dan prosedurnya. Automated Testing Lifecycle
automated testing. Selain dari sisi tools dan performance, ada baiknya juga dilakukan review dari sisi culture dan pelaksanaan dokumentasi misalnya dari test cases yang ada. Automated Testing Lifecycle