Boxed-Width Version (true/false)

Selasa, 27 September 2022

thumbnail

Bug Tracking

Bug Tracking 



Bug dapat diartikan sebagai kesalahan dalam kode produk. Bug dapat proses yang salah dari sistem atau software yang  sedang dikembangkan. Maka dari itu, Bug harus dideteksi sebelum produk akhir diberikan kepada user. Tim developer biasanya mengaitkan pelacakan Bug dengan proses pengujian.

       Beberapa metodologi pembuatan software (ex: Waterfall tradisional), memiliki tahapan khusus di setiap proyek ketika tes dilakukan. Pada metodologi ini, biasanya Bug akan di cek pada tahap akhir/product realization. Hal ini menyebabkan kekacauan pada saat tracking Bug karena sangat sulit untuk menemukan dan mengidentifikasi asal/letak Bug yang sebenarnya, sementara produk sudah hampir jadi.

       Selain itu, terdapat, metodologi terkini yaitu agile methodology. Metodologi ini menerapkan tracking Bug sejak awal hingga terjadinya produk yang mungkin dilakukan pertahapan dalam mengembangkan sistem/aplikasi. Jadi, ketika ada kesalahan pada masing-masing tahapan, developer lebih mudah mengetahuinya dan bisa langsung diperbaiki sebelum lanjut ke tahapan selanjutnya.

       Bug Tracking System (Defect Tracking System) merupakan sistem, program atau aplikasi yang memudahkan proses melacak kesalahan pada sistem sehingga memungkinkan anggota tim proyek untuk melaporkan, mengelola, dan menganalisa laporan kesalahan (Bug report). Komponen utama dari sistem pelacakan Bug adalah database yang mencatat fakta mengenai BugBug yang terjadi. Fakta-fakta tersebut dapat berupa waktu terjadinya Bug, tingkat keparahan Bug, perilaku program yang salah, detail terjadinya Bug dan identitas orang yang melaporkan Bug.

       Pada umumnya, Bug Tracking System harus memungkinkan administrator untuk mengonfigurasikan izin pelacakan Bug, mengganti status Bug serta menghapus Bug. Beberapa sistem bahkan akan mengirimkan e-mail kepada pihak yang berkepentingan seperti programmer yang ditugaskan, ketika terjadi penambahan catatan baru menegani Bug atau perubahan status Bug. Pelacakan Bug adalah tahap penting dalam software testing. Biasanya, Bug dilacak dengan bantuan perangkat lunak khusus. Ada banyak aplikasi seperti itu dalam industri perangkat lunak modernSoftware tersebut dirancang untuk memudahkan pekerjaan para software developer.

Berikut merupakan keuntungan Bug Tracking System, yaitu:

  1. Memberikan gambaran umum yang jelas tentang perkembangan Bug (mulai terjadinya Bug hingga perbaikannya atau perubahan status Bug).
  2. Memberikan masukan yang berguna untuk menentukan product road map dan mengetahui efek Bug pada sistem.
  3. Memantau dan membantu proses perbaikan dapat berdasarkan prioritas (disebut juga sebagai backlog) Bug yang ada dapat diperbaiki secepat mungkin sesuai dengan prioritasnya.
  4. Dapat mengelola Bug di seluruh siklusnya.
  5. Menghasilkan laporan awal sampai ke penyelesaian akhir Bug serta produktivitas programmer dalam memperbaiki Bug.

       A local Bug tracker (LBT) adalah program komputer yang digunakan oleh para tim profesional pendukung aplikasi untuk melacak informasi yang spesifik mengenai bug dalam bahasa mereka sendiri (own language) bukan berdasarkan language of the developers.

Hubungan Bug tracking database dan Bug tracking system

Bug Tracking Database merupakan sebuah database dari Bug tracking system yang digunakan untuk melihat pola dan menyediakan informasi yang lebih detil tentang BugBug Tracking Database memberikan informasi baru bagi developer, tester, dan managerBug Tracking Databases yang dirancang dengan baik akan memberikan gambaran histori yang dapat digunakan sebagai referensi di kemudian hari serta menjadi sumber informasi bagi support department. Keuntungan dari adanya Bug Tracking Database, yaitu :

  1. Mengkomunikasikan Bug dengan jelas. Laporan kesalahan yang ditulis dengan bai sesuai standar akan menjelaskan suatu masalah Iebih baik daripada menggunakan email atau catatan biasa.
  2. Memudahan pemantauan dan pencarian Bug yang pernah terjadi dengan melakukan penomoran Bug secara otomatis.
Tools

Berikut kita akan simak beberapa tools yang para QA handal harus bisa gunakan, namun sebelum itu, kita akan berikan beberapa fitur dasar setiap tools harus memiliki:

  • Mempermudah mencari secara otomatis maupun manual bugs dan memberikan nama
  • Menentukan bugs mana yang harus di prioritaskan
  • Mempunyai rincian informasi yang cukup jelas untuk dilaporkan oleh tester

Bugzilla

Bug tracker ini tidak hanya open source, namun gratis untuk digunakan. Bugzilla di buat oleh grup browser Mozilla, dan mempunyai berbagai fitur dari Search yang advanced dan bisa mencari keterangan setiap bugs. Lalu ada tool untuk membuat laporan yang komprehensif, Membuat jadwal lengkap, dan chat antar tim.

Shake

Shake adalah software untuk report bug yang bisa di integrasi ke komputer dan juga sebagai aplikasi untuk mobile. Bug tersebut bisa langsung di prioritaskan dan di tag oleh para tester. Bug juga bisa didokumentasikan dengan screenshot dan video untuk kemudahan. Laporan bahkan bisa diberikan saat sedang offline. Tool in juga bisa diintegrasikan ke aplikasi lainnya seperti Zapier, Asana, DevOps, Github, Trello, Slack dan masih banyak lagi.

Redmine

Redmine tidak hanya bisa membantu mencari dan prioritaskan bugs, namun juga bisa digunakan project management. Kita bisa memberikan tugas ke anggota setiap tim kita satu satu. Redmine bisa menampilkan data dengan visual Gantt chart dan mempunyai support berbagai bahasa.

GoodDay

Aplikasi manajemen project dengan template banyak yang bisa melacak bugs.Setiap developer bisa ditugaskan untuk bug mana yang harus di betulkan, memberikan time tracker untuk deadline, juga mempunyai fitur project management yang bisa gunakan tim selain mencari bugs, mencari bottlenecks dan semua ini dalam satu paket.

15 user bisa mengaksesnya secara gratis, unlimited projects, basic support dan 1 GB memori untuk digunakan semua pengguna. Adapun fitur berbayar untuk bisa akses ke semua fitur lengkapnya.

Bugherd

Bugherd adalah aplikasi tracker bug yang digunakan oleh banyak perusahaan dan tim developer, bukan hanya mencari bug tapi Bugherd bisa mengumpulkan dan memberikan feedback bug langsung dari web page browser, CSS Selector data dan Operating System.

Semua bug dan feedback dan berbagai informasi teknis lainnya akan di tatar dan dirapikan ke Task Board serta langsung digabungkan dengan project management tool.

Bugherd memiliki fitur gratis untuk 14 hari.

Mempunyai tools untuk Bug tracking bisa mempercepat untuk mencari dan mempermudah manage bug mana yang harus diprioritaskan dahulu. Terutama jika gratis. Bagi kalian mempunyai atau ingin tahu tips bug tracker lainnya

Minggu, 25 September 2022

thumbnail

Manual Testing dan Automation Testing

 

Perbedaan Manual Testing dan Automated Testing




Mungkin ada yang masih belum mengetahui apa itu Manual testing dan Automated Testing. Saya juga masih belajar untuk lebih mengenal lagi mengenai manual Testing dan Automated Testing, karena jika kita ingin menjadi QA Tester yang baik setidaknya kita mengerti pengertian dan perbedaan dari masing-masing testing tersebut karena kedua testing tersebut memberikan manfaat dan kelemahan tersendiri. Jadi ada sebaiknya kita mengetahui perbedaan dan kapan harus menggunakan salah satunya untuk mendapatkan hasil yang diinginkan.

Sebelum melanjutkan pembicaraan mengenai perbedaan kedua Testing tersebut, alangkah baiknya kita terlebih dahulu mencari tahu apa itu Manual testing dan Automated Testing.

Apa itu Manual Testing?

Manual Testing atau pengujian manual adalah langkah untuk mencari cacat atau bug pada program perangkat lunak, pada metode ini tester/penguji memiliki peran penting sebagai pengguna akhir untuk pengecekan semua fitur aplikasi bekerja dengan benar. Penguji melakukan pengecekan secara manual tanpa menggunakan bantuan dari tools atau scripts, tujuannya adalah untuk memastikan jika aplikasi yang di uji bebas cacat dan aplikasi perangkat lunak dapat bekerja sesuai apa yang diharapkan. Manual testing juga berperan penting saat pengujian visual dimana automation tools tidak dapat melakukan.

Manual tester dapat mengetahui kontras antara button dan background yang lebih terang sehingga membuat user kesulitan mencari button dan memahami tindakan yang perlu diambil. User Interface (UI)feedback adalah hal yang tidak dapat ditemukan menggunakan automated testing.

Manual Testing kelebihan

  • Mendapatakan Visual Feedback. Tools dan Scripts tidak dapat membantu dalam memberikan opini maupun input mengenai tampilan UI.
  • The human element. Bisa mendapatkan feedback dari orang secara langsung sehingga mengetahui apa yang user suka dan tidak suka (Dimana automated tools tidak dapat memberikan feedback).
  • Less expensive in the short-term projects. Jika hanya melakukan tes aplikasi sederhana yang tidak terlalu banyak updates maka manual testing tidak perlu menggunakan tools ataupun software yang mahal.

Manual Testing kekurangan

  • Kurang teliti daripada automantion testing. Kadang adanya human error atau ketidaktelitian, sehingga jika menggunakan automation testing akan mengurangi bug yang akan terlewat.
  • Not reusable. Jika menemukan banyaknya perubahan maka harus melakukan pengecekan secara manual kembali dari awal agar memastikan perubahan baru tidak akan merusak aplikasi yang sudah jadi.
  • Kelelahan terhadap tester. Jika QA tester sudah sangat familiar dengan aplikasi yang selalu dia tes secara terus menerus sehingga membuat QA tester sangat memahami alur dari aplikasi tersebut. Sehingga hal ini akan menyebabkan kelelahan dan kesalahan maka melewatkan beberapa hal dan membuat kesalahan.

Apa itu Automated testing?

Bergantung pada pra-scripted tes yang berjalan secara otomatis, fungsinya untuk membandingkan hasil yang diharapkan dengan hasil yang sebenarnya. Sehingga dapat mengetahui apakah aplikasi berjalan sesuai dengan apa yang diharapkan, menggunakan automated testing dapat dilakukan secara berulang. Sehingga jika hasilnya tidak sama dengan yang diharapkan maka akan mendapatkan bug.

Automated testing kelebihan

  • Dapat menemukan bug lebih banyak dari manual tester. Script dapat mencari lebih dalam, sehinga dapat menemukan bug yang tester tidak dapat temukan.
  • Kecepatan dan efisiensi. Script lebih cepat dari tester, sehingga dapat cepat selesai dalam menemukan bug.
  • Tes yang dapat dilakukan berulang dengan coding yang dapat di update secara berkala. Jika selalu mendapatkan update dan perubahan masing-masing unit/feature, maka tidak perlu menulis ulang scripsts setiap saat dan dapat digunakan kembali pada regression testing.

Automated testing kekurangan

  • Lebih Mahal. Karena menggunakan tools maka pengerjaan menggunakan atuomation testing akan mahal, namun tetap menghemat waktu serta usabilitas.
  • Kurangnya human element. seperti pada info sebelumnya, manual testing memberikan human element untuk dapat melakukan interaksi user dengan aplikasi termasuk secara visual.
  • Tidak adanya feedback mengenai UI. Tanpa adanya human element, maka kita tidak bisa melakukan pengecekan terhadap UI seperti warna, kontras, pemilihan font, dan button sizes.

Kapan kita bisa menggunakan Manual atau Automated Testing?

Untuk menggunakan Manual testing akan baik digunakan pada area ataupun skenario berikut :

  • Exploratory Testing. Sangat membutuhkan pengetahuan seorang tester analitikal/logika skil, kreatifitas, dan intuisi.
  • Usability Testing. Area ini dibutuhkan untuk melakukan pengecekan user-friendly, efisien, ataupun kenyamanan untuk software atau produk untuk end users.
  • Ad-hoc Testing. Skenario ini dilakukan tanpa persiapan atau tidak menuliskan test case, sehingga QA secara acak melakukan tes pada fugnsi di sistem. Dimana tujuannya adalah untuk secara kreatif untuk “Merusak” sistem dan mencari kesalahan.

Untuk menggunakan Automated testing baik digunakan pada area atau skenario berikut :

  • Regression Testing. Automated testing sangat cocok jika banyaknya perubahan pada koding dan abiliti untuk mengerjakan secara tepat waktu.
  • Load Testing. Sangat membutuhkan automated testing untuk load test, seperti penggunaaan untuk tes respon API.
  • Repeated Execution. Untuk tes yang berulang lebih baik menggunakan Automated testing.
  • Perfomance Testing. Pengujian yang membutuhkan simulasi ribuan pengguna sangat membutuhkan Automated testing.

Jadi beberapa hal tersebut yang dapat kita pelajari perbedaan antara 2 testing tersebut dan kapan harus menggunakannya, sesuai ketepatan waktu ataupun mengenai anggaran yang diperlukan.


sumber:medium

Sabtu, 24 September 2022

thumbnail

Mengenal Quality Assurance Engginer

 

Apa Itu QA Engineer?




QA Engineer adalah profesi Quality Assurance yang fokus pada software development life cycle untuk meningkatkan proses pengembangan software dan mencegah cacat dalam produksi, bukan hanya menentukan bagaimana software diuji namun juga memastikan software sesuai dengan standar kualitas dan ekspektasi klien.

Secara umum, QA Engineer merupakan spesialis yang bertujuan untuk membuat produk tanpa cacat dan menjaga kualitasnya mendekati sempurna. IT Talent ini bekerja di seluruh proses software development, termasuk software testing adalah salah satu bidang yang diawasinya.

Dengan kata lain, QA Engineer memastikan tim software development melakukan hal yang benar dengan cara yang tepat, mendukung IT Developer agar mencapai hasil yang mereka harapkan. QA Engineer mengacu pada tugas yang terencana dan sistematis dalam memantau proses yang diawasi untuk menjaga kualitas produk.

Peran QA Engineer Dalam Software Development Project

Seperti yang kita ketahui QA Engineer proaktif memainkan peran penting dalam setiap fase SDLC (Analisis Kebutuhan, Desain, Pengembangan, Pengujian dan Deployment/Dokumentasi). Lingkup pekerjaan QA Enginer mencakup sejumlah tugas, diantaranya sebagai berikut:

Requirement Analysis (Analisis Kebutuhan)

  • Studi kelayakan Persyaratan.
  • Analisis Risiko atau Forecasting.
  • Mitigasi Bug yaitu upaya untuk mengurangi risiko terjadi bug.
  • Mengevaluasi sistem untuk menemukan celah.
  • Memastikan functional requirements sudah tepat dan review gap antar fitur sehingga dapat dianalisis sedini mungkin.
  • Mengelola (mengatur) Environment di SDLC.
  • Siapkan rencana pengujian tingkat yang lebih tinggi termasuk risiko dan alat yang digunakan dalam proyek.
  • Menetapkan metode identifikasi cacat (aplikasi berfungsi secara berbeda dari yang diharapkan user).
  • Identifikasi jenis pengujian yang akan dilakukan dalam proyek.

  • Design


  • 1. Review desain, apakah dapat diuji? Berapa lama waktu yang dibutuhkan untuk menguji?
  • Memastikan arsitektur memenuhi semua checklis NFS (Non-Functional Requirements).
  • Siapkan Data Flow Diagram (DFD) dari proyek dan dokumentasikan. Verifikasi flow secara fungsional.
  • Verifikasi ER diagram, Process diagram, Use Case, dll.
  • Siapkan rencana pengujian low-level termasuk risiko, ruang lingkup, scope, environment, dll.

  • Development

  • Mempertahankan algoritma untuk kebutuhan development.
  • Develop test case sehingga dapat digunakan dalam TDD atau BDD.
  • Persiapan Environment untuk pengujian

    Testing

  • 1. Pastikan pengujian dijalankan sesuai dengan rencana pengujian.
  • Jalankan proses (eksekusi) test case.
  • Testing juga dikenal sebagai defect detection phase, dalam fase ini, temukan cacat dan melaporkannya sedini mungkin.
  • Verifikasi bug yang sudah diperbaiki sebelum rilis
  • Lakukan pengujian berikut dan pastikan tidak ada cacat pada proyek:
    1. 1. Functional Testing
      2. Test Automation
      3. Integration Testing
      4. Regression Testing
      5. Performance Testing
      6. Security Testing
      7. User Acceptance Testing (UAT)

    Deployment/Dokumentasi

  • Siapkan semua Panduan Manual Standar dan pastikan tidak ada yang tertinggal yang dapat menimbulkan masalah dengan implementasi software.
  • Siapkan user guide (manual) produk.   
  • About

    Diberdayakan oleh Blogger.

    Featured

    advertise here

    Cari Blog Ini

    Fans Page

    Unordered List

    Fanspage

    Most Recent Post

      Sample Text

      Text Widget

      Formulir Kontak

      Nama

      Email *

      Pesan *

      About Us

      About Us
      There are many variations of passages of Lorem Ipsum available.

      Ethereum Price

      Monday Tuesday Wednesday
      $402.89 $384.06 $396.34

      Facebook