A new concept, new speakers and a new topic
We are happy to announce the Pune PHP’ers meet-up group was back with a bang! Geared towards sharing new things in the world of PHP, the “HaPHPyers” (as we fondly call them) tackled what is known as Test Driven Development, an approach unknown to many of our attendees.
We built upon many of the things learned from the first Pune PHP’ers meet-up and challenged ourselves to bring forth another highly informative session to the group. There were many topics we had in mind for this meet-up, but the moment we stumbled upon the concept of TDD (Test Driven Development), we knew that it would be a topic to produce applicable benefits.
“Whenever you are tempted to type something into a print statement or a debugger expression, write it as a test instead.” - Martin Fowler
Test Driven Development is a technique for building software that guides software development by writing tests. Our attendees, a variety of developers from startups and freshers, were hoping to learn something new and innovative as well as something that fits into their workflow.
“Before this meet-up I was completely unaware of the concept behind test driven development. Vijay presented in a way that allowed me to envision how this will work on the day-to-day.” - Roshan Patil, a Pune PHP member.
To clear the confusion and properly introduce TDD, we kicked off with a talk by Vijay Kumbhar, VP for Engineering at Webonise. His presentation was titled “Insights about PHP - Test Driven Development with PHP.” (And you can review the entire thing below!)
We approached the topic by answering the questions we knew people were thinking. Vijay shared the benefits of using a TDD approach while building applications and explained how it reduces time and effort (in the long run) while providing a product of superior quality with minimal bugs. He also discussed the psychology behind TDD, how every developer should have an objective and what that objective should be.
Vijay also highlighted the differences between using the traditional method of development vs. using Test Driven Development. He pointed out that when an issue or bug is found in an application made using the conventional method, more energy is required to fix it (code has to be dissected in and out). In other words, complete manual intervention is necessary, which equals more attention and energy from the team. Using the TDD Mantra - Red, Green, Refactor - the feedback cycle will be shortened, the quality of the code will be promoted and defects/bugs will be caught earlier on in the process ultimately save a lot of time and money.
Worried TDD won’t scale up to large-scale projects? It will. Kent Beck, (the father of TDD) worked on a pure TDD project developed in Smalltalk. His hard work resulted in 250,000 lines of functional code and 250,000 lines of test code. There were nearly 4,000 test cases that ran in under 20 minutes. While this may sound overwhelming, it’s the success behind developing large-scale projects through TDD.
Madhavi Ghadge-Kumbhar and Hrishikesh Ravekar, Webonise Senior Software Engineers, also spoke on “Unit Testing in PHP.”
During the meeting, they shared the many aspects of Unit testing and ran through the practical implementation of TDD. They also demonstrated simple code modules and guided the audience through writing PHP tests. An interesting discussion came up about the choice of libraries suitable for this approach and the process of unit testing on different frameworks like CakePHP and Yii. (Shoot us a comment and we can go more in depth!)
Although we didn’t have enough time to cover everything we wanted to about TDD, and while the weather was a bit on the rough side, the meeting was still a success! Thanks for the continuous support of the group and the meaningful feedback for all of our events. Our continued motivation to deliver important and valued information will hopefully grow our events bigger and better. Keen on joining the Pune PHP meetup group? Check us out here!
Uphold quality! We will leave you with a quote from Vijay Kumbhar’s presentation:
“If it’s worth building, it’s worth testing. If its not worth testing, why are you wasting your time working on it?” - Scott Ambler