Tampilkan postingan dengan label Quality Assurance. Tampilkan semua postingan
Tampilkan postingan dengan label Quality Assurance. Tampilkan semua postingan
, ,

Fundamental Software Testing : Cara membuat Test Case yang Baik dan Benar

 

https://nuventureconnect.com/blog/2021/04/16/fundamentals-of-software-testing/

Pernahkah kamu membuat resep kue? Nah, dalam dunia pemrograman, ada resep khusus untuk menguji aplikasi, namanya test case. Test case ini adalah panduan langkah demi langkah yang digunakan untuk memastikan aplikasi berjalan sesuai harapan.

Setiap test case biasanya berisi:

  • Kondisi Awal: Keadaan aplikasi sebelum diuji.
  • Input: Data yang akan dimasukkan ke dalam aplikasi.
  • Aksi: Langkah-langkah yang harus dilakukan saat pengujian.
  • Hasil yang Diharapkan: Apa yang seharusnya terjadi jika aplikasi berfungsi dengan benar.
  • Kondisi Akhir: Keadaan aplikasi setelah diuji.

Ada berbagai jenis test case, seperti untuk menguji fitur, kinerja, kemudahan penggunaan, dan keamanan aplikasi.

Kenapa Test Case Penting ?

  1. Konsistensi: Memastikan pengujian dilakukan secara seragam.
  2. Keterlibatan: Menjamin semua aspek aplikasi diuji.
  3. Pengulangan: Memungkinkan pengujian diulang untuk memverifikasi perbaikan bug.
  4. Dokumentasi: Menyimpan catatan pengujian untuk referensi.
  5. Deteksi Dini: Menemukan masalah sejak awal pengembangan untuk mengurangi biaya.

Peran Test Case dalam Software Testing Lifecycle (STLC)

  1. Requirement Analysis: Memahami kebutuhan dan persyaratan perangkat lunak.
  2. Test Planning: Menentukan strategi pengujian, jenis pengujian yang akan dilakukan, dan sumber daya yang dibutuhkan.
  3. Test Design: Mendesain kasus uji yang mencakup berbagai skenario penggunaan dan input yang mungkin.
  4. Test Environment Setup: Menyiapkan lingkungan pengujian yang sesuai dengan perangkat lunak yang akan diuji.
  5. Test Execution: Menjalankan kasus uji dan mencatat hasilnya.
  6. Defect Reporting: Melaporkan bug atau masalah yang ditemukan selama pengujian.
  7. Test Closure: Mengevaluasi hasil pengujian, menyusun laporan, dan menutup siklus pengujian.
Sumber : https://www.ibrinfotech.com/blog/know-software-testing-life-cycle-stlc-a-little-better

Selama tahap desain pengujian, QA Engineer atau software Tester akan membuat test case yang detail. Dengan test case yang baik, mereka bisa memastikan bahwa semua fitur aplikasi diuji secara menyeluruh dan tidak ada yang terlewat. Bayangkan kalau kita mau menguji aplikasi belanja online, test case-nya bisa mencakup hal-hal seperti: menambahkan barang ke keranjang, proses pembayaran, hingga pengiriman barang.

Jadi, tahap desain pengujian ini sangat penting karena menjadi dasar untuk seluruh proses pengujian. Dengan perencanaan yang matang, kita bisa menemukan dan memperbaiki bug atau kesalahan dalam aplikasi sebelum dirilis ke pengguna.

Best Practice Untuk Mendesain Test Case Yang Efektif

Ingin membuat test case yang benar-benar bermanfaat? Berikut beberapa tips yang bisa kamu ikuti:
  1. Pastikan test case yang kamu buat mudah dipahami oleh siapa saja.
  2. Berikan setiap test case ID unik agar mudah dilacak.
  3. Tutup semua kemungkinan dengan memasukkan skenario positif (yang diharapkan berjalan lancar) dan negatif (yang seharusnya menghasilkan kesalahan).
  4. Selalu perbarui test case sesuai dengan perubahan kebutuhan atau fitur aplikasi.
  5. Susun test case secara logis agar mudah diakses dan dijalankan selama pengujian.

Template Test Case

Tidak peduli template seperti apa yang kamu buat, pastikan ia mencakup komponen-komponen penting berikut:
  • ID Test Case: Nomor unik untuk setiap test case.
  • Judul/Deskripsi: Gambaran singkat tentang apa yang akan diuji.
  • Kondisi Awal: Persiapan yang diperlukan sebelum menjalankan uji.
  • Langkah-Langkah Uji: Instruksi detail tentang cara melakukan pengujian.
  • Data Uji: Data input spesifik yang dibutuhkan untuk pengujian.
  • Hasil yang Diharapkan: Hasil yang diharapkan setelah menjalankan pengujian.
  • Hasil Aktual: Hasil yang sebenarnya setelah menjalankan pengujian.
  • Status (Passed/Failed): Menunjukkan apakah pengujian berhasil atau gagal berdasarkan hasil yang diharapkan.


Dengan template yang lengkap seperti ini, kamu bisa memastikan bahwa proses pengujianmu terstruktur, mudah dilacak, dan menghasilkan hasil yang akurat.

Kesimpulan

Intinya, Menguasai Desain Test Case itu Penting Banget!

Kalau kamu ingin memastikan aplikasi yang kamu buat itu berkualitas, maka kamu harus benar-benar paham tentang cara membuat test case. Kenapa? Karena test case ini adalah kunci untuk menguji aplikasi secara menyeluruh dan efektif. Dengan test case yang baik, kamu bisa menemukan dan memperbaiki bug atau kesalahan sebelum aplikasi dirilis.
Continue reading Fundamental Software Testing : Cara membuat Test Case yang Baik dan Benar
, ,

Basic Skill yang harus kamu ketahui ketika ingin mengambil posisi Quality Assurance (Software Testing)

https://www.guru99.com/images/what-is-software-testing.png

Apa itu Software Testing?

Bayangin kamu lagi masak mie instan. Sebelum kamu makan, kamu pasti akan ngecek dulu kuahnya udah pas asinnya apa belum, mienya udah matang apa belum, dan lain-lain. Nah, software testing itu kayak gitu, tapi yang dicek bukan mie instan, melainkan sebuah aplikasi atau software.

Jadi, software testing adalah proses memeriksa dan mengevaluasi sebuah software untuk memastikan bahwa software tersebut bekerja sesuai dengan yang diharapkan dan tidak ada kesalahan (bug) di dalamnya. Tujuannya adalah untuk memastikan kualitas software sebelum dirilis ke pengguna.

Mengapa Software Testing itu Penting?

Software testing itu penting banget karena:

  • Mencegah masalah: Kalau software tidak diuji dengan baik, bisa saja ada bug yang menyebabkan aplikasi crash, data hilang, atau bahkan menimbulkan kerugian finansial.
  • Meningkatkan kualitas: Dengan melakukan testing secara menyeluruh, kita bisa memastikan bahwa software yang kita buat memiliki kualitas yang baik, user-friendly, dan dapat diandalkan.
  • Memenuhi kebutuhan pengguna: Software testing membantu kita untuk memastikan bahwa software yang kita buat memenuhi kebutuhan dan ekspektasi pengguna.

Keahlian Apa yang Dibutuhkan untuk Menjadi Seorang Software Tester?

Untuk menjadi seorang software tester, kamu nggak perlu jadi seorang programmer handal. Tapi, ada beberapa keahlian yang cukup penting, yaitu:

  • Pemahaman dasar tentang software: Kamu perlu mengerti bagaimana sebuah software bekerja, apa itu coding, dan bagaimana cara sebuah aplikasi berinteraksi dengan pengguna.
  • Logika berpikir: Seorang tester harus memiliki logika berpikir yang baik untuk merancang skenario pengujian dan menganalisis hasil pengujian.
  • Detail oriented: Tester harus teliti dan memperhatikan detail karena bug kecil pun bisa berdampak besar pada software.
  • Keterampilan komunikasi: Seorang tester harus bisa berkomunikasi dengan baik dengan tim pengembangan untuk melaporkan hasil pengujian dan memberikan rekomendasi perbaikan.
  • Menguasai tools testing: Ada banyak tools yang bisa digunakan untuk melakukan software testing, seperti JIRA, Selenium, dan TestLink.
  • Siklus Hidup Pengembangan Perangkat Lunak (SDLC): Memahami bagaimana sebuah software dikembangkan dari awal hingga akhir akan membantumu mengerti di mana posisi pengujian dalam proses tersebut.
  • Metodologi Pengujian: Pelajari berbagai macam metode pengujian seperti pengujian fungsional, non-fungsional, pengujian unit, integrasi, sistem, dan acceptance testing.
  • Teknik Pengujian: Dalami teknik-teknik seperti black-box testing, white-box testing, grey-box testing, dan exploratory testing.
  • Bug Tracking: Pelajari cara melapor dan mengelola bug menggunakan tools seperti Jira, Bugzilla, atau Trello.
  • Bahasa Pemrograman: Menguasai setidaknya satu bahasa pemrograman akan sangat membantu, terutama jika kamu ingin melakukan automation testing. Bahasa yang populer untuk testing adalah Python, Java, dan JavaScript.
  • SQL: Kemampuan membaca dan menulis query SQL akan berguna untuk menguji database.
  • Tools Testing: Pelajari berbagai macam tools testing seperti Selenium, Appium, JUnit, TestNG, dan Postman.
  • Version Control: Mengerti Git atau SVN akan membantumu bekerja dalam tim dan mengelola perubahan kode.

Selain itu, ada beberapa soft skill yang juga penting, seperti:

  • Kemampuan beradaptasi: Industri software terus berkembang, jadi seorang tester harus siap belajar hal-hal baru.
  • Problem-solving: Seorang tester seringkali dihadapkan pada masalah yang kompleks, jadi kemampuan untuk memecahkan masalah adalah suatu keharusan.
  • Kerja sama tim: Seorang tester biasanya bekerja dalam tim, jadi kemampuan untuk bekerja sama dengan orang lain sangat penting.
  • Analisis: Kemampuan menganalisis kebutuhan bisnis, spesifikasi, dan desain akan membantumu merancang kasus uji yang efektif.
  • Komunikasi: Kemampuan berkomunikasi dengan baik sangat penting untuk berkolaborasi dengan tim pengembang, product owner, dan stakeholder lainnya.
  • Problem Solving: Seorang tester harus memiliki kemampuan untuk menemukan akar masalah dan mencari solusi yang efektif.
  • Kreativitas: Seorang tester yang kreatif akan mampu menemukan bug yang tidak terduga.

Area Khusus yang Bisa Kamu Dalami

  • Performance Testing: Menguji kinerja sebuah aplikasi untuk memastikan responsivitas dan skalabilitas.
  • Security Testing: Menguji keamanan aplikasi untuk melindungi dari serangan hacker.
  • Usability Testing: Menguji kemudahan penggunaan sebuah aplikasi dari perspektif pengguna.
  • Automation Testing: Mengutomasi proses pengujian untuk meningkatkan efisiensi.
  • Mobile Testing: Menguji aplikasi mobile pada berbagai perangkat dan sistem operasi.

Tips Tambahan

  • Belajar dari pengalaman: Jangan ragu untuk mencoba berbagai proyek pengujian, baik itu proyek pribadi maupun proyek perusahaan.
  • Ikuti komunitas: Bergabunglah dengan komunitas penguji software untuk berbagi pengetahuan dan pengalaman.
  • Baca buku dan artikel: Banyak sumber daya yang bisa kamu gunakan untuk belajar, mulai dari buku, artikel, hingga tutorial online.
  • Sertifikasi: Memperoleh sertifikasi seperti ISTQB bisa meningkatkan kredibilitasmu.

Sumber Belajar

  • Online Courses: Platform seperti Coursera, Udemy, dan edX menawarkan banyak kursus tentang software testing.
  • Tutorial: Cari tutorial di YouTube atau website-website seperti Tutorialspoint atau guru99, atau di blog ini .
  • Dokumentasi Tools: Pelajari dokumentasi resmi dari tools yang kamu gunakan.
  • Blog dan Forum: Ikuti blog dan forum tentang software testing untuk mendapatkan informasi terbaru.

Intinya: Menjadi seorang software tester itu seru karena kamu akan berperan penting dalam memastikan kualitas sebuah produk software. Kamu akan belajar banyak hal baru, dan yang paling penting, kamu akan merasa puas ketika berhasil menemukan dan memperbaiki bug yang ada.

Continue reading Basic Skill yang harus kamu ketahui ketika ingin mengambil posisi Quality Assurance (Software Testing)
, ,

Tips Yang Akan Saya Berikan Ke Diri Saya Jika Saya Dapat Memulai Karir Saya Dari Awal Sebagai Software Tester


Melihat kembali perjalanan saya sebagai tester perangkat lunak, ada banyak pelajaran yang saya pelajari dari pengalaman—beberapa di antaranya saya berharap saya tahu ketika saya pertama kali memulai. Jika saya bisa kembali ke masa lalu dan memberikan nasihat kepada diri saya yang lebih muda, saya akan fokus pada prinsip dan praktik yang akan mempercepat karier saya dan membantu saya menghindari beberapa jebakan umum.

Berikut adalah 7 tips utama yang akan saya berikan kepada diri saya yang dulu (dan kepada tester mana pun yang memulai karier mereka hari ini):

Tester dan Pengembang Adalah Partner, Bukan Lawan.


Pada awal-awal, saya keliru percaya bahwa peran seorang tester adalah untuk menemukan kesalahan dalam pekerjaan pengembang. Pola pikir ini menciptakan ketegangan yang tidak perlu antara tim. Kenyataannya, tester dan pengembang adalah kolaborator yang bekerja menuju tujuan yang sama: memberikan perangkat lunak berkualitas tinggi. Semakin baik komunikasi dan kolaborasi antara kedua kelompok ini, semakin baik produknya.

Apa yang akan saya katakan kepada diri saya sendiri
Fokuslah pada membangun hubungan yang kuat dengan pengembang. Bagikan wawasan lebih awal, bantu memecahkan masalah, dan anggap proses pengujian sebagai upaya bersama untuk meningkatkan kualitas produk secara keseluruhan.


Penting banget buat pahamin apa yang user mau

Paham soal teknis pengujian itu penting, tapi ngerti gimana rasanya jadi pengguna itu juga nggak kalah penting. Kalau kamu tahu pengguna kamu dan gimana cara mereka pakai produk, kamu bakal lebih gampang nemuin masalah yang paling bikin kesel. Terus, kamu juga jadi bisa kasih saran buat bikin produknya makin oke dan sesuai sama kebutuhan pengguna beneran.

Apa yang akan saya katakan kepada diri saya sendiri
Luangin waktu buat kenalan sama pengguna kamu. Cari tahu apa aja masalah yang mereka hadapin dan gimana cara mereka pakai software-nya. Kalau kamu punya pandangan yang fokus ke pengguna gini, hasil pengujian kamu bakal lebih berasa dan berguna.

 

Kuasai Piramida Pengujian: Mulailah dengan Unit, Komponen, dan Tes API

Ketika saya mulai melakukan automation pada pengujian, saya langsung melompat ke otomatisasi UI—dan pada akhirnya mengetahui bahwa pengujian UI dapat rapuh, lambat, dan sulit dipelihara. Piramida pengujian mengajarkan kita bahwa fondasi dari strategi pengujian yang baik adalah pengujian unit, diikuti oleh pengujian komponen/UI dan pengujian API. Jenis pengujian ini lebih cepat, lebih andal, dan lebih mudah dipelihara.

Apa yang akan saya katakan kepada diri saya sendiri: 
Prioritaskan pengujian tingkat rendah seperti pengujian unit dan API sebelum terjun ke otomatisasi UI. Anda akan menangkap masalah lebih awal dan memiliki strategi otomatisasi yang lebih kuat dalam jangka panjang.


Cek Ulang Cara Kerja Kamu Setiap Beberapa Bulan

Dunia teknologi tuh berubah cepet banget. Alat-alat, cara kerja, bahkan kebutuhan tim kamu bisa aja berubah. Makanya, penting banget buat cek ulang cara kerja kamu setiap beberapa bulan. Pikirin deh, apakah cara kerja kamu masih cocok sama tren terbaru, inovasi-inovasi baru, dan tujuan proyek kamu sekarang.

Apa yang akan saya katakan kepada diri saya sendiri
Luangkan waktu setiap beberapa bulan buat ngeliatin cara kerja kamu, alat-alat yang kamu pakai, dan strategi-strategi kamu. Jangan takut buat nampilin perubahan kalau ada cara yang lebih bagus.


 Fokus pada Produktivitas Selain Keahlian Teknis

Meskipun menjadi mahir secara teknis penting, sama pentingnya untuk mengembangkan kebiasaan yang meningkatkan produktivitas. Belajar cara mengatur waktu kamu, memprioritaskan tugas, dan tetap fokus akan membantu kamu memberikan hasil yang lebih baik tanpa kelelahan.

Apa yang akan saya katakan kepada diri saya sendiri: 
Produktivitas bukan hanya tentang melakukan lebih banyak; ini tentang melakukan hal yang benar secara efisien. Temukan alat dan metode yang membantu kamu tetap teratur, fokus, dan produktif.


 Dokumentasi Bukan Beban—Jika Dilakukan dengan Cerdas

Awalnya, saya melihat dokumentasi sebagai hal tambahan, sesuatu yang membosankan yang akan memperlambat pekerjaan pengujian yang sebenarnya. Saya kemudian menyadari bahwa dokumentasi yang cerdas adalah bagian kunci dari pengujian, terutama dalam proyek besar. Pengujian, proses, dan laporan bug yang didokumentasikan dengan baik memastikan kontinuitas dan membuat kolaborasi lebih lancar bagi semua orang yang terlibat.

Apa yang akan saya katakan kepada diri saya sendiri: 
Jangan menghindari dokumentasi. Buat templat, jaga agar tetap ringkas, dan dokumentasikan pengujianmu dengan cara yang mudah diikuti oleh orang lain. Ini bukan hanya untuk diri kamu sendiri—ini untuk seluruh tim.


Jangan Pernah Berhenti Belajar 

Pengujian adalah bidang yang terus berkembang. Alat, kerangka kerja, dan metodologi baru diperkenalkan secara teratur. Menjaga diri tetap mengikuti perkembangan ini bisa sangat melelahkan, tetapi ini perlu untuk tetap relevan di industri ini.

Apa yang akan saya katakan kepada diri saya sendiri: 
Prioritaskan pembelajaran berkelanjutan. Entah itu membaca buku, mengambil kursus online, menghadiri konferensi, atau belajar dari rekan-rekan, selalu luangkan waktu untuk meningkatkan keterampilan dan tetap mengikuti perkembangan.


Jangan Malas Untuk Melakukan Exploratory Testing

Meskipun pengujian terstruktur dan automation itu penting, pengujian eksplorasi adalah tempat kamu dapat menemukan masalah yang tidak dibahas oleh skrip. Ini membantu kamu berpikir di luar kotak dan melihat kasus-kasus lain, masalah kegunaan, atau perilaku tak terduga yang dapat lolos dari pengujian otomatis.

Apa yang akan saya katakan kepada diri saya sendiri: 
Jangan hanya bergantung pada otomatisasi. Gunakan pengujian eksplorasi untuk melengkapi cakupan pengujian kamu dan temukan masalah yang mungkin terlewat oleh pengujian yang disusun skrip.


PENUTUP

Testing Is a Journey, Not a Destination
Pengujian Bukan Hanya Tentang Menemukan Bug—Ini Tentang Menjamin Kualitas, Berkolaborasi dengan Tim, dan Terus Berkembang. Nasihat yang akan saya berikan kepada diri saya yang lebih muda berakar pada keyakinan bahwa pengujian adalah perjalanan yang berkelanjutan, di mana pembelajaran, adaptasi, dan pertumbuhan adalah kunci keberhasilan jangka panjang.

Jika kamu baru memulai sebagai tester, atau bahkan jika kamu berpengalaman dan ingin menyempurnakan pendekatan kamu, ingatlah prinsip-prinsip ini. Fokuslah pada kolaborasi, peningkatan berkelanjutan, dan pendekatan yang berpusat pada pengguna, dan kamu akan berada di jalur yang tepat menuju karier yang sukses dan memuaskan dalam pengujian.

Semoga Tips yang saya bagikan bermanfaat. Terima kasih!
Continue reading Tips Yang Akan Saya Berikan Ke Diri Saya Jika Saya Dapat Memulai Karir Saya Dari Awal Sebagai Software Tester
,

10 Buku Wajib Dibaca Untuk Setiap Software Tester!


Buat kamu yang kerja di bidang uji coba perangkat lunak, belajar itu kayak naik roller coaster, nggak pernah berhenti. Dunia ini kan terus berubah, ada aja metode, alat, sama teknologi baru yang muncul. Jadi, nggak peduli kamu pemula atau udah jadi profesional, buku yang tepat itu kayak guru pribadi yang bisa kasih kamu banyak tips dan trik keren. Kamu bakal tahu cara ngetes yang paling efektif, tren terbaru di industri, dan strategi jitu buat jadi tester yang makin jago.

Aku punya daftar 10 buku wajib untuk kalian baca sebagai software tester. Buku-buku ini bahas semua hal, mulai dari metode agile, pola pengujian, sampai full-stack tester dan automation.

langsung aja cekidott

1. The Unicorn Project by Gene Kim

"The Unicorn Project" itu lebih dari sekadar buku tentang pengembangan perangkat lunak — ini adalah petualangan mendalam ke dunia DevOps, praktik modern dalam pembuatan software, dan peningkatan terus-menerus. Buku ini ditulis dalam bentuk cerita, sehingga menarik untuk dibaca oleh tester, pengembang, dan manajer. Buku ini memberikan wawasan tentang bagaimana tester berperan dalam menghasilkan perangkat lunak berkualitas tinggi dan meningkatkan kerja sama antar tim.












2. Full Stack Testing by Gayathri Mohan

Buku 'Full Stack Testing' karya Gayathri Mohan tuh kayak kompas buat kamu yang kerja sebagai tester. Buku ini bantu kamu ngeliat lebih luas soal pengujian aplikasi. Jadi, bukan cuma ngetes tampilan doang (UI), tapi juga dalamannya kayak database dan semua bagian lainnya. Singkatnya, buku ini ajarin kamu cara mikir soal kualitas aplikasi secara menyeluruh. Nah, buat kamu yang lagi kerja sama aplikasi-aplikasi modern kayak microservices, buku ini cocok banget buat jadi panduan.










3. xUnit Test Patterns by Gerard Meszaros

Ini nih buku wajib buat kamu yang lagi kerja sama pengujian otomatis! 'xUnit Test Patterns' ini ngebedah berbagai pola pengujian yang sering banget kita temuin, baik yang bagus maupun yang kurang bagus. Pokoknya, buku ini fokus banget gimana caranya bikin kumpulan tes kamu itu gampang diurus dan awet. Enggak peduli kamu lagi ngetes unit, integrasi, atau ujung ke ujung, buku ini kasih banyak tips praktis buat bikin tes kamu jadi lebih bersih, lebih bisa diandalin, dan lebih efektif.












4. Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin & Janet Gregory

Buku 'Agile Testing' ini wajib banget kamu baca kalau kamu kerja di tim yang pakai metode Agile. Buku ini ngajarin kamu gimana caranya kerja sama sama para developer, pemilik produk, dan anggota tim lainnya buat bikin kualitas produk jadi makin bagus. Isinya tuh kayak panduan praktis buat ngelakuin pengujian ala Agile. Mulai dari cara ngotomatisasi pengujian sampai teknik-teknik eksplorasi, semua ada di sini













5. Continuous Testing for DevOps Professionals by Eran Kinsbruner

Seiring dunia makin ngarah ke DevOps dan rilis yang lebih sering, peran seorang tester juga ikut berubah. Buku 'Continuous Testing for DevOps Professionals' ini ngebahas tuntas soal perubahan cara kerja pengujian yang harus dilakukan biar bisa rilis produk lebih cepat dan sering. Buku ini ngebahas pentingnya otomatisasi, integrasi ke dalam alur kerja CI/CD, dan juga sisi budaya dari pengujian di lingkungan DevOps.













6. Explore It! Reduce Risk and Increase Confidence with Exploratory Testing by Elisabeth Hendrickson


Buku 'Explore It!' ini wajib banget buat kamu yang mau jago ngetes software secara eksploratif. Buku ini bakal ngajarin kamu gimana cara ngeliat software dari sudut pandang risiko, dan menemukan masalah-masalah yang mungkin terlewat kalau cuma ngikutin skrip aja. Buku ini cocok banget buat kamu yang pengen nambah kemampuan nyelesaiin masalah dan berpikir kritis.












7. Lessons Learned in Software Testing by Cem Kaner, James Bach, and Bret Pettichord

Buku 'Lessons Learned in Software Testing' ini kayak buku panduan abadi gitu buat para tester. Isinya tuh kumpulan ilmu-ilmu jitu dari tiga orang ahli pengujian software yang paling dihormati. Buku ini dibagi-bagi jadi bab-bab kecil yang bahasnya tentang berbagai hal soal pengujian, mulai dari cara bikin desain tes, ngejalanin tes, sampai cara ngatur tim pengujian. Pokoknya, buku ini wajib banget kamu punya kalau mau jadi tester yang lebih jago.











8. A Practical Guide to Testing in DevOps by Katrina Clokie

Buku 'A Practical Guide to Testing in DevOps' ini ngebahas tuntas gimana cara nggabungin kegiatan pengujian ke dalam budaya kerja DevOps. Buku ini ngebahas berbagai tantangan dan solusi yang sering muncul kalau kita mau integrasikan pengujian ke dalam proses pengembangan dan pengiriman aplikasi yang terus-menerus. Penulisnya, Clokie, ngasih banyak tips praktis buat kamu yang lagi belajar cara ngetes di lingkungan DevOps. Mulai dari otomatisasi, kerja sama tim, sampai cara membangun budaya pengujian yang bagus.










9. Perfect Software and Other Illusions About Testing by Gerald M. Weinberg

Buku 'Perfect Software' ini ngebahas tuntas tentang apa aja sih yang bener dan enggak bener soal ngetes software. Buku ini cocok banget buat kamu yang pengen ngerti seberapa jauh sih kita bisa ngetes software. Weinberg, penulisnya, ngebahas kenapa kita enggak mungkin bikin software yang sempurna lewat pengujian, dan ngasih tips gimana caranya kita sebagai tester bisa lebih fokus ke hal-hal yang penting, kayak nilai, prioritas, dan risiko.












10. How Google Tests Software by James A. Whittaker, Jason Arbon, and Jeff Carollo

Buku 'How Google Tests Software' ini kayak ngajak kita ngintip gimana sih Google, salah satu perusahaan teknologi terbesar di dunia, ngetes software mereka. Buku ini ngebahas secara detail tentang framework, proses, dan cara berpikir mereka dalam mengotomatiskan pengujian. Pokoknya, buku ini bakal bikin kamu melongo dan ngerti gimana caranya ngetes software yang besar dan kompleks kayak Google.












Penutup

Membaca buku adalah salah satu cara terbaik buat terus update tentang tren terbaru di dunia pengujian software, nambahin ilmu tentang berbagai metode pengujian, dan tetap kompetitif dalam karirmu. 10 buku wajib dibaca ini ngasih kamu pondasi yang kuat sebagai tester, baik kamu pemula yang lagi belajar atau tester berpengalaman yang mau nambahin ilmunya.

Jadi, kalau kamu mau jago ngotomatisasi pengujian, lebih paham tentang cara kerja agile, atau mau tahu gimana masa depan pengujian di era DevOps, buku-buku ini bisa jadi tempat yang bagus buat memulai.
Continue reading 10 Buku Wajib Dibaca Untuk Setiap Software Tester!
, , ,

Berhenti bekerja!! Kamu Manajer sekarang.

Foto oleh Werner Pfennig:
https://www.pexels.com/id-id/foto/laki-laki-pria-lelaki-suami-6950095/

Siapa sih waktu kecil yang nggak punya mimpi ingin jadi dokter, polisi, atau astronaut pas udah dewasa? Pasti waktu kecil ga kepikiran untuk bermimpi ingin jadi manajer perusahaan, kan? Yaa namanya juga hidup kan ga selalu sesuai rencana. Setelah berjuang keras selama ini, akhirnya kamu berhasil jadi manajer! Selamat ya!

Meskipun agak beda dari mimpi masa kecil, tapi jabatan baru ini keren banget kan? Semoga gaji kamu juga naik banyak ya! Nah, sekarang gimana nih rasanya jadi bos baru?

Jadi manajer itu pada dasarnya sama dengan menjadi spesies profesional yang benar-benar baru. Kamu harus cepat-cepat beradaptasi dengan lingkungan kerja yang kadang bikin pusing. Kamu harus lebih disiplin, lebih cerdas secara emosional yang berkembang di lingkungan kerja yang paling tidak bersahabat atau lingkungan yang mungkin hanya kamu lihat dari jauh atau bahkan tidak pernah kamu lihat sama sekali. Tapi tenang aja, pasti kamu bisa kok! Kamu bakal jadi pemimpin yang hebat.

Sebelum kita bahas lebih lanjut soal jadi bos baru, yuk kita rayakan dulu kesuksesan kamu!

Awal mula jadi Manajer, kamu akan merasa sering sakit kepala dan sering Bingung. Tahu kenapa ?

Jadi, Sekarang kamu mendapat promosi. Momen penentu karier yang disertai kekuatan baru. Saya coba ingat tentang kutipan dari Film Spiderman yang terkenal, isi kutipannya apa ya.. hmm.. Ah ya: Kekuatan besar disertai tanggung jawab besar….Dan sakit kepala. Banyak sekali sakit kepala. Saya rasa Paman Ben lupa bilang soal bagian sakit kepala itu, deh.

Mari kita bahas secara spesifik apa yang membuat perubahan ini terasa seberat paku yang seakan ditancapkan di dalam tengkorakmu. karena jika kamu dapat memahami siapa atau apa yang menyebabkan rasa sakit, pasti lebih mudah cara mengatasinya.

#1: Kamu berhadapan dengan politik kantor untuk pertama kalinya

Kamu dulu senang bekerja sendirian. Kamu mungkin hanya fokus pada tugasmu, menjadi teman yang baik, dan berkontribusi pada tim. Pasti pernah ada saat-saat kamu harus berurusan dengan politik kantor yang rumit, tapi itu ga seberapa dibandingkan dengan terus-menerus bermain "permainan" politik yang sekarang ini harus kamu jalani.

Dunia kerja kamu akan terbuka pada kenyataan yang menyedihkan: pekerjaan itu penting, tapi tempat kerja juga sama pentingnya. Setiap keputusan yang kamu ambil akan berdampak pada seluruh departemen, tim, manajer, dan bos-bos. Kamu harus bisa menyeimbangkan kebutuhan bisnis dengan kepribadian masing-masing, semuanya agar semua orang senang. (Spoiler: selamat datang di dunia yang penuh tantangan!)

#2 Kamu tidak pernah dilatih untuk hal seperti ini.

Tidak semudah mengambil jurusan di perguruan tinggi untuk masuk ke "sekolah" manajemen. Tentu, ada program pendidikan yang membantu mengajarkan teori manajemen. Namun, seberapa sering kehidupanmu berjalan sesuai rencana yang sederhana itu?

Tidak hanya itu, perusahaan pada umumnya tidak menyediakan pelatihan sedikit pun bagi para manajer. Kamu akan dilempar ke medan perang, mencoba mencari tahu semuanya dari awal.

Misalnya, tahukah Kamu…:

Bagaimana menjalankan pertemuan 1:1 yang produktif?

Bagaimana memberikan umpan balik yang mendalam?

Bagaimana cara membuat laporan Anda berkembang menjadi profesional yang lebih baik?

Bagaimana mengadvokasi tim Anda dengan memperjuangkan anggaran dan prioritas yang akan mengarah pada keterlibatan dan retensi mereka yang berkelanjutan?

Coba bayangkan, anggap dirimu sedang beruntung, ketika kamu memiliki manajer yang pengertian dan berpengalaman yang mendampingi kamu selama peralihan profesi menjadi Manajer selanjutnya. Nyatanya, Lebih sering, kamu harus mengandalkan penelitian, membaca, dan belajar dengan gagal berulang kali hingga kamu mulai menemukan jawabannya sendiri.

#3 Kamu akan mengecewakan orang lain

Tidak masalah seberapa bijaksana, penuh pertimbangan, atau seberapa hebat kamu menganggap dirimu. Di suatu tempat dalam perjalanan baru kamu ini, kamu akan mengecewakan seseorang. sangat mengecewakan. Saya jamin itu.

  • Mungkin orang itu yang mengajarkan kamu semua yang kamu ketahui semasa menjadi staff dan sekarang kamu harus membuat keputusan sulit memilih orang lain untuk naik jabatan karena kamu melihat potensi yang lebih besar dari dalam diri orang lain.
  • Mungkin itu bos kamu, saat kamu berjuang demi prioritas timmu, tapi akhirnya ditolak. Kemudian, kamu harus menyampaikan kabar buruk itu kepada timmu.
  • Mungkin itu dirimu sendiri. Kita semua berpikir kita akan berbeda karena sudah berada pada peran manajemen, tapi ternyata kita sendiri juga bisa melakukan kesalahan.

Transisi adalah perjalanan emosional yang tidak akan pernah dapat kamu persiapkan sebelumnya. Membaca tentang impostor syndrome adalah satu hal; tapi mengalaminya sendiri itu lain lagi. Kamu akan mulai mempertanyakan diri sendiri.

Kalau kamu merasa lebih baik, itu bukan hanya impostor syndrome. Kamu juga akan sering melakukan kesalahan!

Apa yang tidak boleh dilakukan?

Baiklah, jadi saya telah membahas beberapa alasan mengapa beralih dari kontributor individu menjadi manajer pertama kali adalah karier yang setara dengan menjadi manusia pertama yang mendarat di Mars. Itu sangat mengasyikkan dan kamu merasa seperti pelopor sejati. Namun, itu juga sangat berbahaya, sepi, dan tidak nyaman.

Lantas, Apa yang bisa kamu lakukan dari sini ?

Hal pertama yang harus kamu lakukan adalah kamu harus sadar tentang apa yang kamu bisa hentikan terkait perilaku yang dulu dapat diterima pada saat kamu masih menjadi seorang IC (Individual Contributor), karena sekarang sudah tidak lagi cocok untuk seorang pemimpin yang berkualitas.

#1: Berhentilah percaya bahwa kamu bisa terus melakukan pekerjaan yang sama

Kita semua pernah membuat kesalahan naif ini. Kamu mendapatkan gelar 'Manajer' yang baru, tetapi entah bagaimana masih berpikir bahwa kamu dapat terus melakukan pekerjaan taktis dan tingkat dasar yang sedang dilakukan oleh timmu.

Kamu harusnya tidak bisa seperti itu lagi.

Saya serius. Pada awalnya semua orang mengatakan mereka mengerti hal ini, tetapi mereka tidak benar-benar memahaminya. Berhentilah sejenak, perlahan-lahan dan biarkan hal ini meresap.

Hidupmu sebagai kontributor individu sudah berakhir.

Kamu harus mengubah pola pikirmu untuk membantu timmu bekerja, bukan kamu yang mengerjakan semuanya sendiri. Kamu mungkin pernah menjadi seorang insinyur, desainer, atau analis yang luar biasa. Tetapi sekaranglah saatnya untuk menjadi seorang pelatih, fasilitator, dan pemimpin.

Kalau kamu tetap mengerjakan semua sendiri, kamu akan kewalahan dan tidak punya waktu untuk fokus pada tugas yang lebih besar sebagai manajer. Tapi, Kalau kamu terlalu ngatur-ngatur kerjaan mereka dan ga ngasih mereka kebebasan buat kerjain tugasnya sendiri, bisa-bisa mereka malah kesel sama kamu. Yang lebih parah lagi, kamu bisa bikin mereka gagal kalau ga pernah bantu mereka buat berkembang dalam karir, ga pernah bela mereka di tim, dan ga pernah nunjukin visi yang jelas buat masa depan tim. Intinya, kamu harus bisa jadi pemimpin yang bisa dipercaya dan ngasih mereka ruang buat berkembang.

Sekali lagi, katakan yang keras bersama-sama :

Hidupmu sebagai kontributor individu telah berakhir.

#2: Stop mikirin kesuksesan itu cuma tentang diri kamu sendiri.

Mungkin kamu selalu jadi karyawan teladan yang kerja keras, gak pernah telat ngumpulin tugas, dan selalu mau ikutan proyek baru. Mungkin kamu percaya kalau itu kunci buat sukses dalam karir. (Dan mungkin itu bener.)

Tapi, sekarang kamu jadi manajer, gaya kerja individualis itu gak bakal berhasil. Pekerjaan kamu bukan lagi tentang seberapa hebat, berbakat, atau rajin kamu. Sekarang, tugas kamu adalah menumbuhkan sifat-sifat itu dalam tim kamu dan bantu mereka jadi yang terbaik, baik secara individu maupun kolektif.

Ke depannya, kontribusi kamu harus lewat orang lain, bukan kamu yang langsung ngasih hasil sendiri.

#3: Berhentilah menyelesaikan setiap masalah sendiri

Kamu kan udah terbiasa kerja sendiri, jadi tiap ada masalah, pasti langsung pengen cepetan diselesain sendiri. Apalagi kalau udah tahu banget caranya dan bisa nemuin solusi keren. Tapi, tahan keinginan itu sebisa mungkin.

Kamu mungkin berpikir kamu dapat membantu dan lebih efisien kalau ngerjain semua masalah sendiri. Tapi sebenarnya, kamu malah bikin tim kamu susah berkembang. Mereka akan jadi:

Intinya mah mereka ga punya kesempatan buat belajar dan ngerasain sendiri gimana caranya ngatasi masalah. Padahal, dengan belajar dari kesalahan, mereka bisa jadi lebih mandiri dan kreatif. Terus, kalau kamu selalu jadi pahlawan penyelamat, nanti mereka malah jadi ketergantungan sama kamu.

Jangan biarkan hal tersebut terjadi.

Ketika masalah muncul, paksa dirimu untuk bertanya daripada memberikan jawaban. Dorong timmu untuk menemukan solusi dan proposal mereka sendiri. Pandu mereka melalui proses menyelidiki akar masalah, mempertimbangkan pendekatan yang berbeda, dan menguraikan implikasi potensial. Sebanyak apapun itu mungkin menyakitkanmu, jangan secara refleks melompat dengan "beginilah cara kita menyelesaikan masalah ini."

Kamu sekarang adalah pelatih di pinggir lapangan yang memberikan perspektif dan kebijaksanaan, bukan pemain bintang.

Apa yang harus dimulai?

Sudah cukup tentang hal-hal yang harus kamu hentikan. Mari kita berikan beberapa saran yang lebih positif dan membangun tentang jenis perilaku yang harus kamu mulai terapkan sebagai manajer baru

#1 Mulai bersikap sangat transparan dan membangun kepercayaan

Salah satu hal terpenting buat jadi pemimpin yang sukses adalah membangun dan menjaga kepercayaan. Kalau ga ada kepercayaan ini, semuanya bisa jadi kacau—pengambilan keputusan jadi ga jelas, orang-orang pasti merasa dibohongi, dan suasana kerja jadi ga nyaman kayak kena virus.

Cara ngatasinya adalah dengan selalu terbuka dalam segala hal. Terus terangin alasan di balik setiap keputusan yang kamu ambil, meskipun ada hal yang belum pasti atau berisiko. Misalnya:

  • Kalau kamu harus pilih antara dua hal penting karena ada arahan dari atasan, jelasin aja alasannya.
  • Kalau kamu ga bisa nambah orang atau anggaran buat tim, jelasin kenapa.
  • Kalau kamu terus-terusan tunda masalah yang penting buat tim, jujur aja alasannya kenapa.

Ingat: orang ga bisa nebak-nebak sendiri—mereka ga punya semua informasi yang kamu punya (dan mereka ga bisa baca pikiran kamu).

Keterbukaan dan kepercayaan bakal bikin tim kamu merasa aman dan punya informasi yang cukup buat kerja maksimal.

#2 Mulai keluar dari zona nyamanmu!

Dulu, sebagai individu, kamu mungkin bisa fokus pada skill dan tugas yang sesuai dengan bakat alami kamu. Kalau kamu introvert, kamu bisa fokus pada kerja solo. Kalau kamu ekstrovert, kamu mungkin suka peran yang melibatkan interaksi dengan orang lain. Kalau kamu suka coding, ya coding. Kalau kamu suka desain visual, kamu bisa desain sepanjang hari.

Tapi, sekarang kamu jadi manajer, jadi semuanya berbeda. Kamu harus bisa mengerjakan banyak tanggung jawab dan disiplin yang berbeda.
  • Mungkin kamu harus belajar berbicara di depan umum untuk mempromosikan kerja tim kamu dan meningkatkan profil mereka.
  • Atau mungkin kamu harus bernegosiasi untuk kontrak, anggaran, atau jumlah karyawan.
  • Mungkin juga kamu harus jadi ahli cerita data untuk mendapatkan dukungan untuk rencana kerja dan visi kamu.
Kamu harus menemukan cara untuk mengembangkan keterampilan baru dan cara mengatasi situasi-situasi yang tidak nyaman yang muncul saat menjadi manajer.

Berikan diri kamu banyak kesempatan untuk berkembang menjadi pemimpin yang seimbang, mampu menciptakan fokus, dan mencapai hasil melalui orang lain.

#3 Mulai jadi pembela dan pendukung tim kamu!

Kamu harus mulai secara aktif membela tim kamu dan berjuang memastikan mereka punya semua sumber daya, dukungan, dan kesempatan yang mereka butuhkan dari organisasi yang lebih besar. Kamu harus berkomitmen untuk selalu berjuang untuk prioritas tim kamu, perkembangan karir mereka, dan kesejahteraan mereka secara keseluruhan.

Ini artinya:

Dengan kata lain, ini berarti kamu harus berani mengambil risiko untuk membela orang-orang yang mengandalkan kamu sebagai pemimpin mereka. Ini membutuhkan perubahan cara berpikir yang berbeda, yaitu memprioritaskan pembelaan tim daripada pencapaian pribadi.

Berjuanglah untuk tim kamu, agar mereka punya ruang dan motivasi untuk memberikan hasil terbaik.

Continue reading Berhenti bekerja!! Kamu Manajer sekarang.

Bedanya Severity dan Priority dalam Pengujian | Quality Assurance

 

SEVERITY

    Pertama, kita harus mengerti terlebih dahulu apa itu Severity dan bagaimana cara memutuskannya. maksudnya, seberapa parah temuan dari cacat yang didapatkan.

Severity menentukan sejauh mana bug tertentu dapat membuat dampak pada aplikasi atau sistem. Severity adalah konsep untuk menunjukkan bug pada sistem seberapa kritiskah bug tersebut dan apa dampak bug tersebut pada fungsionalitas seluruh sistem. Tingkat keparahannya adalah parameter yang ditetapkan oleh tester saat ia membuka bug dan terutama dalam kendali tester.

1. Critical atau Stopper (S1)

Bug yang benar-benar menghambat atau menghalangi pengujian produk / fitur adalah bug kritis.

Misalnya: Di penyedia layanan email seperti Yahoo atau Gmail, setelah mengetik nama pengguna dan kata sandi yang benar, sistem crash atau muncul pesan kesalahan, bug ini diklasifikasikan sebagai critical karena bug ini membuat seluruh aplikasi tidak dapat digunakan.

2. Mayor atau Parah (S2)

Setiap fitur utama yang diterapkan yang tidak memenuhi persyaratan / kasus penggunaannya dan berperilaku berbeda dari yang diharapkan, fitur utama tersebut dapat diklasifikasikan sebagai Major Severity. Bug tersebut terjadi ketika fungsi berfungsi terlalu jauh dari harapan atau tidak melakukan apa yang seharusnya dilakukan. Sebagai contoh bug pada login.

Misalnya: Sebagai contoh akun sosmed seperti facebook dan twitter jika terdapat bug dengan perilaku user dapat login menggunakan password yang tidak valid.

Bug tersebut sangat fatal jika user mencoba login dengan akun user yang lain dan memiliki niat jahat.

3. Moderate atau Normal (S3)

Bug Moderate terjadi ketika produk atau aplikasi tidak memenuhi kriteria tertentu atau masih menunjukkan beberapa perilaku yang tidak wajar, namun fungsi secara keseluruhan tidak terpengaruh.

Misalnya: Di penyedia layanan email seperti Yahoo atau Gmail, ada opsi yang disebut “Syarat dan Ketentuan” dan dalam opsi itu akan ada banyak tautan mengenai syarat dan ketentuan situs web ketika satu di antara banyak tautan tidak berfungsi baik, itu disebut Severity Minor karena hanya mempengaruhi fungsi kecil aplikasi dan tidak memiliki dampak besar pada kegunaan aplikasi.

4. Low atau Kecil (S4)

Bug Minor terjadi ketika hampir tidak ada dampak pada fungsi, tetapi masih merupakan bug yang valid yang harus diperbaiki.

Misalnya: Di penyedia layanan email seperti Yahoo atau Gmail, Anda akan melihat “Halaman Lisensi” jika ada kesalahan ejaan atau ketidaksejajaran di halaman, bug ini diklasifikasikan sebagai low.

PRIORITY

Priority menentukan seberapa cepat waktu penyelesaian bug . Jika ada beberapa bug, Priority memutuskan bug mana yang harus diperbaiki dan diverifikasi segera.

Saat membuka bug, tim Tester umumnya menetapkan prioritas pada awalnya saat ia melihat produk dari perspektif pengguna akhir. Sejalan dengan ini, berikut adalah tingkatan yang berbeda:

1. Intermediate (P1)

Ini harus segera diperbaiki dalam waktu 24 jam. Ini umumnya terjadi dalam kasus ketika seluruh fungsionalitas diblokir dan tidak ada pengujian yang dapat dilanjutkan sebagai akibatnya. Atau dalam kasus lain tertentu jika ada kebocoran memori yang signifikan, maka umumnya bug diklasifikasikan sebagai prioritas -1 yang berarti program / fitur tidak dapat digunakan dalam keadaan saat ini.

2. High (P2)

Setelah bug immediate diperbaiki, bug yang memiliki prioritas ini adalah kandidat berikutnya yang harus diperbaiki untuk setiap kegiatan pengujian agar sesuai dengan kriteria “closed”. Biasanya ketika fitur tidak dapat digunakan sebagaimana mestinya karena bug program atau bahwa kode baru harus ditulis, bug mungkin memenuhi syarat untuk prioritas 2.

3. Medium (P3)

Bug dengan prioritas ini harus dipertimbangkan untuk diperbaiki karena dapat juga menangani masalah fungsi yang tidak sesuai harapan. Semisal ada kesalahan pada pesan error yang tampil tidak sesuai dengan yang semestinya, maka kategori priority ini dapat dikualifikasikan sebagai bug dengan tingkat medium (P3).

4. Low (P4)

Bug dengan prioritas rendah menunjukkan bahwa pasti ada masalah, tetapi tidak harus diperbaiki saat itu juga. Namun, ini harus diperbaiki sebelum proses deployement dilakukan. Biasanya, bug ini terjadi pada salah pengetikkan.

Berikut adalah table perbedaan singkat dari Severity dan Priority.


Continue reading Bedanya Severity dan Priority dalam Pengujian | Quality Assurance

Bagaimana cara mengidentifikasi bug dengan benar ?

Sumber: Pixabay.com

Ketika kamu sedang melakukan pengujian pada suatu aplikasi. Lalu tiba-tiba kamu menemukan sesuatu hal yang tidak bekerja sesuai dengan yang semestinya. Apa yang harus kamu lakukan ?

Jawaban yang biasa diberikan oleh beberapa QA adalah saya akan langsung memberitahukan ke developer bahwa ada sesuatu pada aplikasi yang saya test tidak bekerja dengan semestinya. Menurut saya jawaban tersebut sangat-sangat tidak direkomendasikan yah.. Dan beberapa QA lainnya menjawab Saya akan mencoba lagi dengan sample scenario lainnya dan juga saya akan menghapus cache sebelum saya mencobanya lagi. Menurut saya, pasti akan ada bermacam-macam metode yang bisa kita lalukan untuk mengulang supaya mendapatkan error yang sama. Jawaban tersebut bagi saya pun masih kurang bijak sebagai seorang QA.

Lantas bagaimana caranya agar kita bisa mengidentifikasi akar masalah dari error yang kita dapatkan sebelum kita memberitahu soal temuan ini ke tim developer ?
Ada 2 cara untuk melakukannya :
  1. Perlihatkan bukti layar atau screenshot. Dimanakah letak fungsi yang tidak bekerja sesuai dengan yang semestinya itu.
  2. Lakukan debugging secara mandiri. Cari tahu akar masalahnya melalui log yang tersimpan dan infokan kepada tim developer bahwa ditemukannya suatu error dengan melampirkan detail log yang terjadi.
Kira-kira seperti itu sebuah tim development mengharapkan seorang QA bekerja secara default ketika menemukan sebuah bugs pada aplikasi yang dilakukan testing.

Sedikit tips, dari saya…
Kalau teman-teman sedang melakuan pengujian pada website, temen-temen bisa manfaatkan Console log dan Network pada Insepect element di browser yang sedang teman-teman gunakan, untuk melihat apa saja yang missing. Agar ketika melaporkan suatu masalah ke developer, si developer juga bisa lebih cepat dalam menangani bug tersebut karna root cause nya sudah didapatkan.

Untuk membuat bug secara detail, formatnya sebagai berikut :

  1. buat Repro Steps (Langkah-langkah untuk mengulang bug)
  2. cantumkan sample data yang terkendala
  3. Hasil yang diharapkan ketika step dilakukan
  4. Hasil yang terjadi (error yang didapat)
  5. Timestamp (Optional, untuk mempermudah tim dev utk mencari Log berdasarkan kurun waktu)
  6. Screenshot

Continue reading Bagaimana cara mengidentifikasi bug dengan benar ?

Pekerjaan sebagai Quality Assurance yang sebenarnya bukan cuma ngetest

QA
Seorang yang menjabat sebagai Leader QA dan seorang HR, untuk merekrut seorang QA yang benar-benar tahu posisinya sebagai QA memang tidak mudah dan terbilang sulit. Tidak jarang yang direkrut adalah orang-orang yang hanya dipercayakan bahwa dia bisa “nge-test” suatu aplikasi.. iya hanya itu..

Nah, Sebenarnya, QA yang benar itu sepertu apa ?

Berikut adalah beberapa point yang saya Highlight sebagai Software Quality Assurance dalam kurun waktu 3 tahun lebih.

QA dan developer mengerjakan proyek yang sama dengan “tujuan” yang sama. Untuk mendapatkan produk yang berkualitas

QA bukan musuh bagi programmer. QA tidak bertujuan untuk “Merusak Produk” lalu menggosok kedua tangan sembari tertawa jahat. QA tidak akan bersuka cita ketika menemukan masalah, bugs, cacat dan error!

QA akan mengeksplorasi aplikasi untuk mendapatkan status kualitas produk. Agar bermanfaat bagi proyek, QA harus bertindak seolah-olah sebagai Konsumen atau User. Kemudian, perihal Bug, Bug bukanlah produk yang dapat dirilis. Bug tidak membawa manfaat. Hanya kegiatan yang bertujuan untuk mencapai tujuan bersama untuk mendapatkan produk berkualitas yang membawa manfaat.

Dan untuk bisa mencapai hal itu, seorang QA harus dapat :
  1. Mengerti tujuan pada proyek yang dikerjakan
  2. Memperhitungkan kondisi eksternal (Prioritas, Tenggat waktu, Tujuan, Tugas yang memiliki kepentingan lebih tinggi)
  3. Dapat mengetahui APA yang perlu dilakukan SEKARANG untuk dapat membantu pengerjaan proyek mencapai tujuannya.
Jika pengujian tidak efisien dan bug yang ditemukan terlambat, Maka akan ada semakin banyak bug yang akan ditemukan di lain waktu: lokalisasi bug yang buruk akan memperhambat pengerjaan dari developer apalagi kalau seorang QA tidak memberikan tingkat prioritas dan tingkat keparahan dari bug yang ditemukan.

Selain itu, umumnya seorang QA berpikir seperti :“Bagaimanapun aku harus bisa menemukan banyak bugs dan langsung melaporkan itu ke developer” , Jika QA yang benar-benar tahu bahwa dia seorang QA, maka ia akan berpikir: “Apa yang dibutuhkan proyek sekarang, dalam format apa dan dengan prioritas apa?”

Seorang QA harus tau bagaimana merancang Test Desain (Design Test)

Seorang QA harus mengetahui bagaimana merancang sebuah test desain. untuk melakukan ini, harus diketahui terlebih dahulu paling tidak analisis testnya. Tergantung pada kondisinya, pengujian dapat dilakukan secara eksploratif atau sesuai dengan Acceptance Criteria. Pengujian juga tidak boleh dilakukan tanpa berpikir “apa yang akan terjadi jika saya menekan tombol ini”, Tentunya harus sesuai dengan hasil analisis: apa yang perlu diuji, dalam prioritas apa dan bagaimana metode yang paling efisien dalam melakukan hal itu ?

Think First, Then Test!

Seorang QA harus Ahli dalam hal komunikasi 

Siapa lagi dong, kalo bukan QA yang harus menanggung kabar buruk kepada developer nya ? Hal terburuk yang dapat dilakukan oleh seorang QA adalah ketika menemukan sebuah bug dan memberi tahu kepada developer “Wah, Aplikasi nya rusak!”.

Seorang QA membutuhkan lebih dari sekedar menemukan bug. QA perlu melakukan segalanya agar sebisa mungkin dapat mempermudah developer serta dapat mempersingkat waktu bagi developer dalam memperbaikinya. Mungkin dengan menambahkan detail screenshot, waktu, sample data, detail device yang digunakan atau history log pada saat terjadinya bug. Setiap developer, dalam proses pengembangan software tidak luput dari yang namanya melakukan kesalahan. Maka dari itu, dengan adanya tim QA dalam proses pengujian, akan membantu sebuah proyek menjadi lebih baik dengan menemukan suatu kelemahan pada proyek yang dikerjakan. Seorang QA tidak bertujuan untuk menyinggung developer, mencari kesalahan developer ataupun menusuk hidungnya dengan 2 jari dan menyeret dia ke dalam bug yang kita temui.

Catatan : Terkadang ada situasi di mana developer tidak dapat memperbaiki bug yang kita temukan. Pada situasi ini, kamu bisa diskusikan case tersebut dengan Project Manager dan bersama-sama untuk mencari solusi terhadap bug tersebut.

Seorang QA harus mempunyai kemampuan analisis yang baik

Seorang QA engineers dengan latar belakang jurusan IT biasanya memiliki pemikiran analitis yang terlatih. Yang mungkin dimiliki atau tidak dimiliki oleh QA engineers dengan latar belakang yang lainnya.

Dalam hal keterampilan dan tools yang digunakan, seorang QA akan menggunakan tools serta keterampilannya sesuai dengan proyek apa yang sedang dikerjakan. Bagaimanapun, hal ini akan berguna jika kamu memahami prinsip dari client-server architecture, version control systems, serta punya pemahaman dengan database dan log. Penting sekali untuk memahami cara kerja aplikasi yang dikerjakan dan juga cara kerja API. Pengetahuan dasar mengenai SQL, HTML, serta kemampuan untuk membaca bahasa pemrograman dasar seperti Java, C atau Python. Pada awalnya, pengetahuan ini akan cukup secara efektif membantu kamu dalam melakukan pengujian serta menemukan akar penyebab bug. Ditambah lagi kalau kamu sudah bisa melakukan Automation Test menggunakan tools Automation.

Kesimpulan

Jadi, apakah kamu sudah siap menjadi seorang QA atau kamu adalah seorang lulusan baru yang sedang mempertimbangkan QA sebagai karir selanjutnya ?

Saya harap pemikiran saya dapat membantu kamu untuk bisa mengevaluasi diri sendiri dan memutuskan apakah bidang ini cocok untuk kamu.

Love your job, learn and you will become the leader in your field!

Jika kamu berfikir bahwa artikel ini menarik dan cukup membantu, jangan lupa untuk share artikel ini ke teman-temanmu.

Continue reading Pekerjaan sebagai Quality Assurance yang sebenarnya bukan cuma ngetest