Web Development

Archive for May 2007

Nice event it was!! My first IT event.

It was 19th, May in Bangalore. I got to know about this event through a mailing list in my company. The topics were Database Refactoring by Pramod Sadalage, Evolutionary Testing by Vivek Prahlad and Domain Specific Languages by Srihari Srinivasan.

Promod introduced us to a proven practices in Agile database world. According to him anything database cannot be afforded to remain a silo in a project. DBA no more works in a closed room. He/she pairs up closely with the developers which helps in knowledge interchange. The DBA is more aware of the business requirements. On change in business requirements he/she can provide insights to the developer regarding solutions form db perspective. This prevents developers from reinventing the wheel, creating new relations etc. if some solution already exists. The DBA moves his mundane tasks like creating database, roles, privileges etc. to generic scripts that can be used by developers to with the help of build tools like ant. Every developer has his/her own database. They share the database schema from a version control system. So they can work from anywhere by just being connected to the version control system. They need not wait for the DBA to complete his work first and then broadcasting the schema changes. CI also comes into picture interacting with the versions system to get the latest schema. So the components in this agile db practice are Developer’s sandbox, versions system and continuous integration system (could be cruise control). Any changes to the database are done through delta scripts. These scripts contain the SQL for making the change and that for reverting these changes. Again a wonderful idea. Easy to navigate or migrate from one database state to history. Best part of it is that the developer will not be bothered to think about what all things he/she has to do to go back to a stable state. All the reverse steps were recorded along with forward ones. Thanks Pramod for those insights!

Vivek talked about functional testing using Selenium. Selenium IDE is a firefox plugin that helps us to run functional tests on web apps. We can get the test cases in many languages like Java, C#, perl, php, python and others. He talked about refactoring common test steps to a function to reduce pain during any changes. Also about patterns like screen objects where in we abstract tests to various screens involved like login screen, invoice screen, listing screen etc. that makes managing testcases easy.

Finally Domain Specific Languages, didn’t get much of it. Seems promising but couldn’t get the why of it. Srihari talked about power users instead of normal users. Power users are people interested in trying out somthing beyond their regular application of knowlege. They need more power to explore new horizons in their domain. Like sales people wanting all the reports in the world instead of looking only into predefined ones. They want to experiment by changing all domain parameters. The biggest challenge here seems to make the language relate quickly to the user.

Not but not the least, I loved the food and hospitality!!