By Charvi Mehra on Wednesday, 20 March 2024
Category: March

Testing Joomla made easy

Charvi Mehra, second year undergrad student at the Cluster Innovation Centre, Delhi University, India, has been contributing to Joomla since 2022, and Joomla was her first open source organization. In this article she describes her work on a project that makes testing new Joomla releases super efficient, easy and, yes, you’re reading this correctly: fun!

The start 

I first got involved with Joomla as a way to take part in Google Summer of Code, but unfortunately, we didn’t make it this year. But the whole process made me realize how much I enjoyed helping and learning this way. At the end of my semester, we were given a choice between completing an internship or embarking on a project. This seemed like the perfect way to continue my involvement with Joomla while also earning the necessary credits. I approached Sigrid Gramlinger, the production department coordinator, for the same. She introduced me to Benjamin Trenkle, my project mentor, and we worked together with Martina Scholz on our project.

The problem and the solution 

Imagine this every six Tuesdays, a fresh Joomla update releases, you download it, set up a testing environment, and spend countless hours clicking through menus, forms, and every corner of the CMS, hoping to find a bug before it goes public. The whole process is crucial, but it can be a brutal time sink.

Don't want to waste time and resources clicking on every single item and testing them all? Here, we made an effort to offer a simple, one-step method for conducting the testing. Our objective was to provide a straightforward and understandable way to handle testing. We introduce to you a one step method that is efficient, effortless, and even enjoyable. It is like your magic wand, but instead of spells, we use technology to test Joomla like a pro.

The features

With the help of our project, you can test a completely new Joomla site or even your own site by using the SQL dump of the backed-up database and the backup zip archive for your Joomla site. You can also run these tests on a backup Joomla live site by providing the site username and password. Our repository handles all of the dependencies, so you don't have to worry about messing with them. The project focuses on revolutionizing the traditional pre-release testing process and automating it for the ease of everyone. All the time-consuming tests are completed with just a few clicks in about a minute. 

How to 

Download or clone this repository:

https://github.com/joomla-projects/release-testing.git 

The setup comprises two folders— one for web servers and another for local mode and a run.sh script. The tests can be found in the System/integration folder. 

To run these tests on your Joomla site, put a zip-archive (excluding the installation folder) and also a sql dump file of an existing site into the folder local/joomla-backup.

You can also run these tests on a backup Joomla live site by providing the site username and password.

If you want to run these tests on a fresh Joomla installation, make sure the local/joomla-backup folder is empty.

Click on the start.exe file to start working on a WSL console.

A detailed guide to start working further based on the use case can be found here.

Under the hood

The Journey

As my entry in the open source world, I have had the honor of contributing to Joomla and interacting with very enthusiastic and helpful developers. Joomla has taught me a lot about open source and helped me start initially. I have to admit that at first, I lacked a lot of confidence. But for me, everything changed when we started having regular meetings with everyone. It was like a confidence boost every time we got together. The people I met were amazing. Everyone was so cooperative and helpful, always ready to jump in and lend a hand whenever I hit a roadblock. And it wasn't just about fixing problems; they genuinely motivated me every step of the way. It's hard to put into words just how much I appreciated that support.

Starting out with Docker felt overwhelming, especially with limited experience in Cypress testing. However, meeting Martina was a turning point. Her patient guidance transformed every challenge into a valuable learning opportunity. She patiently taught me and made every problem a chance to learn. With her help, Docker became easier, and I achieved things I thought were impossible. This journey not only equipped me with a solid understanding of Docker but also instilled a deep appreciation for the power of mentorship and collaboration.

Everything about this experience has been amazing and something that I am proud of. Together we developed and learnt as a team while overcoming obstacles. The cooperative and helpful nature of everyone involved, my mentors and other organization members, played a significant role in my growth. All in all, I think the experience has been wonderful and very fruitful. 

Conclusion

My journey with this project, despite initial challenges, has been incredibly rewarding. I'm incredibly grateful for the opportunity to have interacted and contributed so much. It's a truly special experience that I'll always cherish. From the presentations to the teamwork, I saw a tremendous boost in my confidence from start to finish. The amount I've learned has been invaluable. A heartfelt thank you to everyone who played a part in this, especially Benjamin, Sigrid, and the joomla Community Magazine for the writing opportunity, Philip Walton, Martina (again!), Chrisitane Maier-Stadtherr, Crystal Dionysopoulos, and the entire team.

Leave Comments