Hi telerik fans.
Just a few words to introduce myself. My name is Konstantin Petkov and I am a QA person here, at telerik. I am new to blogging and I will try to turn this place into a resource on creating quality software along with some inside info from telerik’s kitchen.
So, what am I doing here, at telerik?
My main responsibility of course is finding and notifying our developers about any freshly-cooked bugs, so that the dev staff can react immediately and address those issues, leaving you, our customer, happy with all the cool features our controls include in a new release.
Besides all the work related to any problems people may experience with our controls, the work on our bug-tracking/feature system and maintaining its status (damn, there are so many features people want!) , I am also helping our technical writers, working on KB articles and code library projects. Last but not least, you may have seen my responses in our ASP.NET Ajax, Grid and Calendar forums, as I am a member of team1 @telerik and am mostly responsible for these controls. As most of the telerikers do, I am assisting our support people helping our customers to build their sites using r.a.d.controls suite.
Talking about customers, I am still getting amazed about the variety of uses people find for our controls. We have thousands of customers using even just three (Ajax, Grid, Calendar) components. Every single day I review new applications using many of our controls in yet another creative combination. My favorite is the integration with r.a.d.ajax and the RadAjaxManager control in particular in customer applications - r.a.d.ajax is such a popular product!
So, how can all these thousands scenarios get effectively tested? How can the telerik QA team find everything before we push out a new release? Yes, it's hard, but I truly believe it is possible! That's what me and my friends (man, we are not only colleagues!) are getting closer with each new release, month, even a single day. I truly believe we are on the right track and are getting better and better in improving our controls.
Of course, the key to success here is constant automated testing. We can't afford two (or even more) weeks of manual testing before each release! This will most likely kill us!
What we need are a lot of automated tests, covering all the basic functionality as well as many of the custom situations people can fall in. The automated tests of course, need a good and stable tool to build and maintain a huge test suite. We need a client-side oriented tool as a huge part of our features are done in JavaScript and we already rely on NUnit to cover the strictly server-side functionality.
We are on a constant look out for new tools, but the winner for the time being is... Selenium. It already covers our basic needs and can be easily extended to do just about anything we may need. If you don't know what it is and how it works, you can just go ahead and read what people have created and are working on there at openqa.org/Selenium.
I can tell you much about my work since I have started in this great organization, but I wouldn't like to limit this blog to controls, I am personally responsible to. Our QA team members work with Selenium over the whole r.a.d.controls suite and I think we can share a lot of interesting experience about all the stuff we are working on. Here are some specific subjects coming to my mind right now:
1. Selenium and r.a.d.ajax - how we verify that a user action triggers an Ajax request. Does it all do the expected thing?
2. Testing MS AJAX-based code with Selenium.
3. Drag & drop - one of the latest features introduced in Selenium. How do we simulate a drag and drop action while testing r.a.d.treeview? That one is really tricky. ;)
I will be happy to see everyone sharing his/her experience with ASP.NET controls testing in general sprinkled with the occasional Selenium tip. Our QA and Dev team are expert Selenium users too, and they can bring a new perspective to the discussion.