Tuesday, May 10, 2011

Automating Tasks

Execution of any repetitive tasks manually is error prone; it is also time consuming & monotonous.
This makes utilization of automation in any project of high importance.

Monday, March 28, 2011

Quality First

Quality is an inherent attribute of any successful product, it could be seen in the eyes of delighted customers. To deliver a high quality Product, QA needs to constantly question the product throughout its design & development phase.The more are the questions raised , the more would one understand the product & the higher would be its quality.Some of the most important aspects that enables a tester to point out large number of quality defects in a Product are:-Desire to Chase Quality-Ability to understand & test from customer perspective


Desire to Chase Quality :Being Passionate....
As a tester I believe being passionate towards the entire quality assurance process is of paramount importance. QA needs to clearly understand importance of their role and value their contribution. They are expected to be self motivated & mature enough to realize that quality of a Product is key to its success. One should always consider himself as a benchmark who ensures a quality Product each time he certifies it to be QA pass.


Test Proactively :Think from the customer perspective...
I have observed that at times merely executing TCs is not sufficient. During the course of testing one need be thoughtful about any additional scenarios which are not part of the existing test set, one needs to constantly think intuitively about customer perspective during the test execution so as to come with new test scenarios. Being customer focused & thinking from end user perspective would always be helpful in getting new ideas.
Though Code Coverage is quite useful in identifying the missing scenarios but measuring the same is time consuming and mostly done in the last phases of Product Development (when the code base has stabilized).


Do your Homework: Analyze and understand...
Before jump starting my work any Project, thorough analysis of the Functional Specification & other project documents has always helped me in better test execution. Its really useful to take out time & revisit all the Test Cases, Functional Specs & other relevant documents a day before
the actual test execution starts. This also helps in reducing the number of invalid defects due to improper understanding of any particular feature. Doing so also increases the probability of uncovering the majority of defects during initial phases of testing.
Example: While working on my first project as a QA, I was expected to start testing the Product immediately after joining the team. Being new to the industry and being the sole QA member in team of 6, I solicited help from my Manager. He guided me pretty well and explained me all about the role of QA in SDLC. With limited time available he suggested me to go through the Functional Specification and Requirements Documents properly & then start with test execution (along with test case creation in parallel). I thoroughly revised the documents, highlighted important points and started the test execution. The approach worked well and with in a week of execution I was able to point out lot of defects.



Learning & keeping oneself updated
Having worked as part of QA team for many years, I understand the importance of being aware of all the upcoming changes on the technology side. During the team meetings there are lot of buzz words & jargon's used which are mostly related with the upcoming technological changes. A little reading on a regular basis can ensure that a QA is aware of all technological updates happening in the world, this is recommended and is worth it too.It may not be all the time just related with something new. At times it could be something which might have existed for quite some time and one would not have heard much about it as they never had a chance to work on it.
Example: 3 years back while working on a web based application, I started hearing words like RIA and Silverlight. Out of curiosity, I read all the related information available internally & externally. This ensured that I started understanding all the discussion related to upcoming changes in a better way and was in a position to raise any clarifications related with the same during the meetings.