Menguji patch Joomla!

From Joomla! Documentation

This page is a translated version of the page Testing Joomla! patches and the translation is 60% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎Ελληνικά • ‎English • ‎español • ‎français • ‎Bahasa Indonesia • ‎Nederlands • ‎português do Brasil • ‎русский • ‎Türkçe

Di semua perangkat lunak ada kesalahan-kesalahan yang harus diperbaiki, ini juga adalah apa yang ada di perangkat lunak Open Source seperti Joomla. Kode sumber Joomla! terletak ditengah-tengah internet, membuatnya dapat diakses semua orang. Disamping adalah suatu kemungkinan untuk melaporkan bug. Bug yang telah dilaporkan akan diselesaikan dan pada akhirnya perlu pengujian. Halaman ini menjelaskan bagaimana Anda dapat berkontribusi ke proyek Joomla! melalui pengujian terhadap solusi-solusi yang diajukan. Anda tidak perlu memiliki pengetahuan dalam pengkodean apapun, yang Anda perlukan adalah sebuah pemasangan Joomla! untuk diuji. Sebuah Panduan Referensi Singkat untuk pengujian tersedia di: Panduan Referensi Singkat Pengujian patch Joomla!

Kode tahapan Joomla!

Kode tahapan Joomla! adalah kode yang paling baru yang sedang dikerjakan. Semua perbaikan bug dan fitur-fitur baru diterapkan ke kode ini.

Kode tahapan Joomla! ada di https://github.com/joomla/joomla-cms, ini adalah kode yang perlu dipasang. Bagaimana hal itu dilakukan dijelaskan sedikit lebih jauh dibawah Menyiapkan pengujian.

Penelusur Isu

Penelusur isu untuk Joomla! ada disini: http://issues.joomla.org

Joomla issue tracker-en.png

Daftar ini menampilkan butir-butir penelusur dari yang baru ke yang lama tapi urutannya dapat diubah dengan menggunakan filter dibawah perangkat Pencarian. Semua butir di dalam penelusur, yang memiliki patch, mempunyai sebuah angka versi disamping judulnya.

  • PR-staging: Ini adalah Joomla 3.4.x
  • PR-3.5.dev: Ini Joomla 3.5

Label-label ini akan berubah nantinya bersama dengan datangnya versi baru dan perginya versi lama.

Status adalah penting dan berikut penjelasannya:

New [Baru] - Ketika sebuah isu dilaporkan maka ia akan menerima status ini. Saat Anda temukan sebuah bug, buatlah sebuah keterangan bagaimana mereproduksinya. Agar orang-orang yang menguji isu tersebut tahu bagaimana menguji patch tersebut.

Confirmed [Dikonfirmasi] - Tim penelusur telah memproduksi isu tersebut. Tim pengkodean sedang mencari sebuah solusi untuknya.

Pending [Ditunda] - Sebuah solusi telah ditemukan untuk isu tersebut. Sebuah patch yang dapat diuji telah dilampirkan. Isu tersebut perlu diuji. Perhatikanlah label yang ada disamping judul, ini menunjukkan versi Joomla mana patch itu diperuntukkan.

Ready to commit [Siap commit] - Patch telah diuji dan kode telah dikirimkan (commit—mengunggah/mengirimkan patch ke repositori).

Closed [Ditutup] - Status ini ditujukan untuk semua isu yang tidak lagi memerlukan tindakan apapun.

Filtering adalah sangat berguna dalam penelusur isu. Memonitor dapat bermanfaat guna menerima notifikasi terhadap sebuah isu yang telah diperbarui.

Pada dasarnya Anda melakukan pengujian isu-isu yang memiliki status "Pending".


Menyiapkan pengujian

Pertama sekali, kode master harus didapatkan dari repositori GitHub Joomla. Terdapat beberapa cara berbeda untuk mengunduh kode master Joomla namun disini kami hanya mendiskusikan opsi pengunduhannya saja.

Buat folder

Pertama-tama, kita perlu membuat sebuah folder, apakah itu di server web lokal maupun di akun hosting yang dapat diakses melalui peramban. Buatlah folder bugtesting dan pergilah ke folder ini melalui Explorer atau Finder.

Unduh Joomla

Pergi ke GitHub Joomla dan klik pada Download Zip

Joomla github-en.png

Ini akan mendapatkan Anda sebuah salinan kode master Joomla di dalam berkas ZIP. Unzip berkas tersebut di tempat sementara, sebuah folder yang bernama joomla-cms-staging akan muncul. Di dalam folder inilah terdapat kode master Joomla. Pergilah ke folder joomla-cms-staging dan salin seluruh konten ke folder bugtesting yang telah Anda buat sebelumnya.

Sekarang Anda dapat memasang Joomla dengan menavigasikannya ke http://localhost/bugtesting bila Anda menggunakan sebuah server web lokal, jika Anda menggunakan sebuah akun hosting, navigasikan ke URL yang sesuai dengan akun hosting. Anda dapat melihat proses pemasangan regular Joomla. Untuk data contoh pilihlah: Test English (GB) sample data [Uji Inggris (GB) data contoh].

Ini penting agar semua orang memakai data yang sama untuk menguji!

Folder pemasangan tidak harus dibuang, dengan begini Anda dapat dengan mudah memasang kembali semuanya bila diperlukan.


Unduh Penguji Patch

Untuk membantu Anda dengan proses pengujian patch, sebuah ekstensi Joomla! bernama Patch Tester (Penguji Patch) telah dikembangkan. Penguji Patch dapat diunduh dari halaman Penguji Patch dan setelah itu dapat dipasang melalui pengelolaan Ekstensi di Joomla.

Untuk menggunakan Penguji Patch, sebuah akun GitHub diperlukan, alasan untuk hal ini adalah adanya batasan tegas dalam jumlah permintaan-permintaan anonim yang dapat dibuat melalui Penguji Patch. Anda dapat mendaftarkan akun GitHub di halaman ini.

Mengatur Penguji Patch

Detail akun GitHub dapat dimasukkan ke dalam setelan Penguji Patch. Setelah Penguji Patch terpasang maka pergilah ke Komponen -> Joomla! Penguji Patch dan klik pada Opsi yang ada di sudut kanan atas. Halaman opsi akan muncul dan Anda bisa memasukkan nama pengguna dan sandi GitHub Anda.


Patchtester repo-en.png

On the second tab called GitHub Authentication you can enter your GitHub username and password or token if you use a token.

Patchtester details-en.png

Catatan: Bila Anda telah mengaktifkan Otentikasi Dua Faktor untuk akun GitHub Anda, maka Anda akan perlu untuk membuat sebuah token akses pribadi pada https://github.com/settings/applications dan masukkannya ke dalam kolom token GitHub.

Setelah memasukkan detail akun Anda klik pada Simpan & Tutup. Ketika sudah kembali ke Penguji Patch, klik Retrieve (Dapatkan) data yang ada di sudut kiri atas.

Anda sekarang siap untuk memulai pengujian.

Temukan sebuah isu yang ada di dalam penelusur isu untuk menguji atau gunakan tombol "Merasa beruntung". Pertama sekali, periksalah apakah Anda dapat mereproduksi isu tersebut. Bila Anda dapat mereproduksi isu itu, maka Anda dapat pasang patch-nya.


Memasang Patch

Di Penguji Patch temukanlah isu yang sedang Anda kerjakan berdasarkan (sebagian) judulnya atau ID. Judul suatu penelusur selalu terlihat seperti berikut ini:

[#4308] - Fixed event dispatching inconsistencies leading to incomplete API

Disamping simbol "#" adalah ID dan setelah simbol "-" adalah judulnya.

Setelah patch ditemukan klik pada tombol berwarna biru Apply Patch (Terapkan Patch). Periksalah apakah bug tersebut sudah diperbaiki atau belum serta periksa juga apakah tidak ada bug baru yang diperkenalkan.

Merekam hasil pengujian

Setelah pengujian, tambahkanlah hasil pengujian Anda di dalam ikhtisar pengujian (gunakan tombol "Uji ini"). Sekarang yang perlu Anda lakukan adalah menambahkan komentar bila Anda memiliki informasi tambahan atau pengujian Anda tidak berhasil. Karena Penelusur sekarang menambahkan sebuah komentar secara otomatis bahwa Anda mengujinya.

Juga dicatat adalah lebih baik bila Anda dapat menguji patch di dalam sebuah lingkungan multibahasa (dengan setidaknya ada 3 bahasa konten yang diterbitkan) karena bisa saja terdapat isu-isu yang terpicu bila hanya dalam lingkungan seperti itu.

The new Test This button and how to use it

Pulihkan patch

Setelah sebuah patch diuji maka ia sudah tidak diperlukan lagi dan bisa dibuang dari pemasangan uji Anda, dengan begini Anda selalu menguji dengan sebuah sistem yang bersih. Kembalilah ke Penguji Patch dan klik pada tombol berwarna hijau Revert Patch (Pulihkan Patch). Ini akan membuang patch dan Anda dapat mulai pengujian terhadap isu berikutnya.

Testing patches using Git

Since the Patch Tester cannot be used for all patches to test, sometimes we must use another way. The Patch Tester replaces the complete file and does not only apply the changes of the pull request, so you may not be testing an issue in an isolated state.

To truly test a patch with only the changes made in the patch, we must use Git. The reason is that Git can apply a patch with only the changes in that patch. Git does this using a diff file.

The prerequisites to be able to use the below method are:

  • Joomla is installed using Git
  • cURL is installed

Getting the diff

To get a diff from a pull request is rather easy. Let's say the URL to the pull request is

https://github.com/joomla/joomla-cms/pull/1452

To get the diff, all you need to do is add .diff after the URL, so it becomes

https://github.com/joomla/joomla-cms/pull/1452.diff

Testing the diff

Before you apply the diff, you can first check if the diff can be applied, a sanity check. Go to the root of your Joomla installation and run the following command:

curl https://github.com/joomla/joomla-cms/pull/1452.diff | git apply --check

Applying the diff

After the diff has been tested and there are no errors, the diff can be applied by running the following command:

curl https://github.com/joomla/joomla-cms/pull/1452.diff | git apply

With the diff applied you can run your tests and record your test results as explained above. If needed, you can apply multiple diffs at once as long as they do not overlap each other. In some cases this is needed when there are multiple pull requests that need to be combined to be tested.

Reverting the diff

Once you are done with testing you can cleanup the system by revering the diff with the following command:

curl https://github.com/joomla/joomla-cms/pull/1452.diff | git apply -R

To verify that everything is clean you can run

git status

You should get the notice:
nothing to commit, working directory clean

In case the system is not clean you can get a notice like this:

There are changed files in the working directory

In case you see changed files but you have not made any changes you can cleanup the system with

git reset --hard HEAD

Now all should be clean

Bila Anda menjadi antusias untuk menguji, cobalah. Perlu sedikit usaha untuk mengadakannya namun setelah itu selesai, ini mudah dan menyenangkan! Sebagai tambahannya, Anda melakukan kontribusi terhadap Joomla.


Videos

Learn How to test patch with this video series How to "Patch Test" Joomla! code:

  • Part 1: Introduction

  • Part 2: Neard Web Server setup

  • Part 3: Sample issue testing.

Link

Brian Teeman: A Dummies Guide to Joomla Bug Testing