Web Driver System Test of Joomla! CMS
Automated system tests allow the developer to test the CMS by automatically running Joomla! from a browser, selecting menu options, and evaluating results.
Automated Testing is done by writing code scripts in a programming language which tests the working of other software. Automation is preferred over manual testing because:
- Automated testing saves time and money.
- Automated testing improves accuracy.
- Increase test coverage.
To the Joomla! Community
It was in February when I got in touch with my GSoC mentors. I feel very lucky that I got such great mentors who always helped me and guided me at every moment. I am new to Joomla but because of the efforts of my mentors I learned so much about Joomla in a small period of time.
I heartily thank Mr. Puneet Kala, Mr. Javier Gomez, and Mr. Gunjan Patel, my mentors who supported me and guided me and I hope I don’t break their trust and do my job in the best possible manner. I hope that by my skills and effort I will benefit the Joomla community.
I am thankful to the community for giving me such an opportunity.
Why Selenium Web Driver?
Since I am going to focus on extending our current test suite which already uses a web driver. Selenium web driver is actively developed and maintained. It is more stable and functional and has a better API. Selenium-Webdriver makes direct calls to the browser using each browser’s native support for automation. Comparing it to Selenium RC, web driver test execution is much faster. In Selenium RC you need to start the stand-alone-server separately but in web driver since it has native calls you don't need to think about that.
For more information related to Selenium Web Driver and RC you can also visit http://docs.seleniumhq.org/docs/03_webdriver.jsp
A brief Overview of the project.
Front End: it is that end of the site which is accessible by the user other than the owner.
Back End: it is that part of the site which is accessible only by the site owner and is used to manage the content of the site.
Our main focus this year would be on covering up the front end part of the CMS. I am going to work on increasing the code coverage and also add few of the missing tests for the backend part.
Firstly, I will start the project by dividing it into different phases where each phase has a priority and a certain amount of testing criteria. For example, to finish the front end part which is not yet tested. Similarly I would divide the project and figure out other modules that we are planning to work on. After fixing the existing tests I will work on completing the parts which are not yet tested.
I will also work on sauce integration with Joomla System Test. I will be more focused on investigation, to check the viability to run the automated tests in a cloud environment with SauceLabs.
I will try my best to make the file structure and code structure be user friendly and also proper documentation will be provided with the code line.
Impact of the Project on Joomla Development
After completing the Project I believe we will have a good amount of code coverage and a test suite which is more reliable as compared to the current one.
Every software development group tests its products, yet delivered software may have some defects. Test engineers strive to catch them before the product is released but they might creep in and they often reappear. Automated software testing is the best way to increase the effectiveness, efficiency and coverage of your software testing.
I am a second year undergraduate student pursuing my B.Tech in Information and Communication Technology at Dhirubhai Ambani Institute of ICT, Gandhinagar, India. I love coding and especially like learning new programming languages. I am well versed with C, C++, java, Python, PHP, HTML, and Java Android. I have been coding for 4 years now. I am also a core committee member of Google Student Club of our college.