Tuesday, September 6, 2011

Unresolved Customer Problems due to minor things !!!

As readers of this blog know that we always talk about Computer Softwares or Hardware. This is more about  Software aspect, where a team of Engineers and testers delivered a software in market. Now this user reaches to tech-support. tech support folks tried all possible things and escalated to engineering team. Story starts here - 

When things are escalated to engineering team,  there are two ways to take it. One is to jump directly that it's not possible and we have seen this working here. Most of the times this kind of comment comes from a tester or quality engineer. Other way is to understand the user problem and try to figure out the missing information which can lead us to probable cause of a problem.

This is one of the thing associated. We shall come back to our first part after knowing other things involved... Let's have a look !

1. Many times user escalations are not taken very seriously unless it comes through higher management. And unfortunately, this is considered as secondary activity in most of the engineering companies. But again, it's not a generic case with all ! Who take is seriously is good !!

2. Many times engineers are not very keen  for working on such user problems, because of nature of problems involved. Most of the times, user report things in very obvious and straight workflows. To investigate such issues, people need patience and right motivation. Even if patience is not there, motivation can work :)

I will keep adding items in list mentioned here. Let's continue on the part where tester takes the case positively and has right motivation to work on it. S/he tries and most probably, problem will not be so easily reproducible. S/he will try to think of relevant things around this and if all fails, s/he need help from developer who coded that particular functionality. 

Now again, attitude towards the problem will matter. Many times developers have tendency of asking a reproducible scenarios before doing anything. In practicality, many time user issues are not so obvious to be reproduced. So idea is to work together and try to figure out probable causes.

Right attitude of engineers with belief in team-work is only thing that can help any software company in long-run. Otherwise, any XYZ company can hire brilliant minds to produce brilliant products. It's always better to have brilliant folks with right attitude !!!

Small things make a big difference in long run and Customer Advocacy one thing, which is really important for long term growth of any organization !!!

Saturday, September 3, 2011

How to REVERSE a Linked-List by writing a C++ program?

 I hope that you are very well aware about Linked-List. Here we are talking about reversing a Linked-List which means that first node should become last node of a Linked-List and Vice-versa...

void Reverse_Linked_List(void)
    {

// When there is no Node in Linked-List
        if(List_head==0)
        return;


//When there is only one Node in the Linked-List
        if(List_head->next==0)
        return;



//When there are only two Nodes in the Linked-List
        if(List_head->next==List_tail)
          {
              List_head->next = 0;
              List_tail->next = List_head;
          }
       else
         {
            List_node* pre = List_head;
            List_node* cur = List_head->next;
            List_node* curnext = List_cur->next;
            List_head->next = 0;
            List_cur-> next = List_head;

for(; curnext!=0; )
{
List_cur->next = pre;
pre = cur;
cur = curnext;
curnext = curnext->next;
}

curnext->next = cur;
}
}

Saturday, July 9, 2011

Community Testing - Another good practice to gain confidence on Quality of your Software !!!


During one of the projects during last year, our testing team was most stressed up with lot of activities. During the mid cycle, all of us in Testing team realized that we have too many bugs to regress and lot of feature testing pending. If we opt for regressing bugs, we have risk of finding new bugs very last in the cycle.
So we had to balance the things, but as all of us know that saying something like following is very easy but practically things can be very different in testing -

- Let's balance bug regression and testing, when there is a cap of having bugs less that 20 in your court. And most of the tester have more than 35 bugs.
- Let's test on these platforms as well, as it's a quickest thing to do.
- Let's test this bug on Win-7 in Japanese language and Standard User etc etc...
- Etc... (I don't want to rude to the Managers or Developers who use such sentences :) )

Another challenge was Integration testing which was planned to start from coming week. This kind of situation can occur in any project which is more buggy in initial stages.
Now when an individual tester starts working on ToTest bugs, it used to become hard to find more time to test new features or functionality.
So Team came up with an idea to have a time slot of 2 hrs everyday when all of the tester will meet in the lab and will be testing their own features. We called it as Community Testing and found various advantages of this:-

1. It helped each QE to do dedicated testing of their features and in turn all of them had good confidence.
2. This Exercise also helped in accelerating Integration testing, as each tester had an opportunity to discuss their overlapping feature areas to make appropriate test scenarios on the run.
3. More productive as it was more disciplined.

Now in our teams, Community Testing has become a part of every Test Plan people enjoy doing it.


*** My Personal View - In every project a stage comes when meetings, bug discussions, investigations, emails start taking too much time and hardly any time to do focused testing of our regular features.
Community testing gives an opportunity to forget about all these things and do focused exercise for gaining confidence. Within few days every tester starts feeling good. While in other scenario, when s/he spend multiple days doing bug regression, meetings etc... they loose confidence and get stressed up.

COMMUNITY TESTING is a rocking concept in my opinion. Share your opinions through comments.

Friday, July 8, 2011

Return on Investment and Payback of TEST AUTOMATION

Of all the reasons, the most relevant and easy to convey to top management is the return out of Automation :-

- Gives consistency to the project by regular feedback in quick way.
- Helps in pushing the boundaries of the software.
- Give more time to testing team for focusing on other aspects of Quality for final release in market.


With this quick recap of all recent articles, we shall we discussing the hurdles for Automation !!! But need to wait for tomorrow...

If you are not able to understand the context of this post, please have a look at http://computersfundamental.blogspot.com/2011/06/why-should-we-automate-our-test.html where it started from the need of Test Automation in a Software Development Team.

Thursday, July 7, 2011

Automated Test-Suites are Great Documentation !!!


Agile Software development approach use examples and tests to guide development. When tests that illustrate examples of desired behavior are automated, they become 'Living' documents of how the system actually works.
It would be already recommendable to add appropriate comments with relevant description to your Automation Scripts. But anyway results out of input values to Automated framework is a good enough proof of documented functionality of a particular Software.

It's very hard to keep static Documentation updated all the time, while in case of automation this problem never occurs.
Automation is a wonderful way to ensuring that we tested our updated code because keeping our results in PASS always need upgradation of our Automation Scripts as per new code changes.



If you are not able to understand the context of this post, please have a look at http://computersfundamental.blogspot.com/2011/06/why-should-we-automate-our-test.html where it started from the need of Test Automation in a Software Development Team.