Validate and Verify

There is always one more bug

Best Resource for Software Development. Read stories from real practitioners on various subjects around software development.


Archive for the ‘Information’


Google Labs Juggernaut feels the economic pinch

I wanted to limit the content at this website to software development related stuff, but it was difficut to not share the latest developments at the big brother Google. As we know, Google has this plethora of products which are listed here. Whether its the modest ‘Translate’ or ‘Youtube’ or ‘Picasa’, the offerings are really very rich. While most of the industry is looking at cost cutting, Google with its vast cash chest was seen as someone who would and can sustain for a long time. Well, it seems the finally Google Juggernaut is feeling the pinch.

Here’s a story from the official blog which talks about a reduction of 100 positions from the recruiting organization. Mind you, almost all the external contractors who help Google in recruiting have already been asked to discontinue their services. Read more here.

Reduction in force (RIF) is not a uncommon thing with US based companies but the other news was a bigger one where Google has identified a set of tools/products which would be closed down. This includes ones like stopping uploads to Google Video, Google Catalog Search and more.
Read More

What is SDLC ?

Its a different fun and as well as a challenge to write on something as basic as SDLC. SDLC stands for ‘Software Development Life Cycle’ and is the term which contains the different stages which happen when we develop a software.

I am sure that if you are in software development then this term wont be new for you but I am not sure whether we understand this in simpler terms. So I would explain this in brief with the help of a case-study.

Imagine that we have to develop a website for a ‘Taxi booking’ website. This taxi-booking site would offer its users the services of booking a taxi right from anywhere through internet. A user can just visit the site, fill the necessary information like source, destination, kind of taxi and be done with it. If you have to develop this website, you might get tempted to think that you can do it in jiffy since you know the requirements. Its a very simple problem to solve. Well, not really and that is why the first step in SDLC is the most critical and people who have been around would vouch that if we could do this first step really really well, rest of it is more of execution.
Read More

Quality Center/ Test Director an edge for wing to wing Test Management

I am sure using the word QA would make you think of processes we go by standard definition. But you all would certainly agree that testing and QA are quiet interchangeably used. Working in Software services since start of my career and mostly with onsite and offshore model I have worked in both SDLC and typical third party QA practices where the SDLC is being conducted in a distributed framework (Requirement and Design is done by one company, Coding and Unit testing by another, QA by another and final support is done by some other company). 10 years back I felt a dearth need for an end to end test management tool which would reduce confusion and chaos during the QA\ Testing process. To fulfill this I feel Quality Center is a perfect tool. I have implemented and used Quality Center (earlier called Test Director) in various projects across different organizations.

HP Quality Center is basically a web based test management tool which if used and implemented correctly would help you right from specifying testing requirements, planning tests, executing tests, and tracking defects.
Read More

What is ‘Open Source’ ?

As software developers, you must have encountered this term at least once. Since most of us work for profit-making companies, this phrase ‘Open Source’ sounds like a dangerous word. While many of us may not understand it fully but probably most of us would associate this phrase with ‘free’ or ‘non-commercial’ or a sort-of ‘free tools’, ‘utilities’,'linux’, non-microsoft and many other things. To share honestly even I just discovered that I knew so little about it. So, may be a good enough topic to write on it.

‘Open Source’ at core is about making the ’source code’ open or accessible to all. Since the code is open, it can be modified (with some conditions) and can be re-distributed. It can be a commercial activity (look at vendors who are distributing Linux) and it has been there for a long time.

The above definition is what I could make after reading at many places. If you look at the definition by the organization called Open Source Initiative‘ (OSI) then its much more laced with adjectives and euphoria. Here’s what it says, for your quick reference

“Open source is a development method for software that harnesses the power of distributed peer review and transparency of process. The promise of open source is better quality, higher reliability, more flexibility, lower cost, and an end to predatory vendor lock-in.”

Read More

What is Virtual Lab Automation and why should I care?

My name is Srihari Palangala, and I work at VMLogix as a manager of product marketing. I have spent several years in the software technology industry under various capacities – software development/testing, IT consulting, business development and marketing.

I’m sure readers of this blog are passionate about software testing, verification, validation and the like. I do believe that software testing plays a critical role in ensuring that IT infrastructure operates 24 X 7 and with minimum/no activity disruption. IT is viewed as a core infrastructure today and any adverse impact is directly reflected in the business top and/or bottom lines. Unfortunately, software continues to be somewhat unreliable and this is probably what causes some IT folks to whine! (btw, I’m not endorsing the view in the referenced post). My point is — Solid and reliable IT performance is only possible with sound testing processes and practices.

However, the job of testing has become increasingly difficult over the years – with increasing software complexity, hardware and software platforms, third party applications and so on. The permutations and combinations to test are just mind boggling. This becomes even harder with shrinking IT budgets and globally distributed teams developing software today. I don’t need to belabor the point here, all of you I’m sure resonate with this – since these are your operational challenges on the job!

Read More

Top 10 Software Testing Interview Questions

I have been thinking for a long time to write something on interviews. I usually take an interview every week, if not more and most of the times the candidate loses out. More so because the interview process in my company is really comprehensive, 5+ interviews, and being a small company, in terms of number of employees, we really have to ensure that we are not making a bad call. But this is not my motivation behind this post. My real motivation is something else. There are more then few times, when I personally think that the candidate is losing out because he is not really aware on whats expected out of him. He either goes too deep and hence makes more mistakes, or remain too shallow making the interviewer feel that he doesn’t know the subject. This invariably happens because the candidate doesn’t know on what to focus upon. My goal is to give you a clue on where to focus.

My first source of these ten questions are the hundreds of interviews which I have taken over last many years. This source only constitutes a minor portion, the majority of this list has been drawn from the un-ending conversations we had after we interviewed a candidate. As I mentioned above that we usually have 5+ rounds of interviews and after this all the interviewers get together in a room and discuss. During this discussion everyone shares on what he asked and what did he feel about the response. These discussions have been a great ground of learning for me as you hear from at last 5-6 people on their experience with the candidate. So without any further ado, here my top ten questions for a software testing interview.

Q1 - What is ‘Software Testing’. What do you mean by ‘Validation’ and ‘Verification’.
Q2 - Write a program in ‘C’ to reverse a array of characters without using another array as a temporary variable.
Q3 - Write a ‘Test Plan’ for testing ‘Find’ Box of MS-Word.
Q4 - Test an object, say a bottle opener.
Q5 - Write a program to find a ‘Prime Number’.
Q6 - Design a traffic control system for a junction of four roads.
Q7 - What would be the factors which you will consider to decide whether you should fix a bug or defer the bug, late in the product release cycle.
Q8 - You sent a word document to your friend.MS Word crashes when he tries to open it on his machine. Isolate the bug.
Q9 - Explain a defect/bug lifecycle and write a bug report.
Q10 - Why you think, you can be a good tester.

Read More

Do ‘Bug Hunts’ for those hidden bugs

Software Testing is still more in realm of ‘Arts’ than Science, especially when we are talking about testing software products,  something like MS-Office or  Mercury  WinRunner. Unless you are a part of a highly evolved and organized form of testing, in other words, a defined set of test cases on a defined set of test-bed to be executed, you can safely assume that you wont be able to find all the bugs. Being paid to find bugs and still not able to find all is an oxymoron arrangement and as Test Engineers and Test Managers, we need to live in the reality (of not being able to find all bugs) and still do business (find all bugs).

In this post, I am going to talk about a exercise which lots of organizations are started to get into their test-process as an effective tool for finding bugs, which typically act elusive to the ‘Test Engineer’ who is looking at a specific area. This exercise is called by different names like Bug Hunt, Bug Bash, Focus Day, Bug Harvest and so on. We would refer it as ‘Bug Hunt’, just a personal preference, they all work same / similar.

What is a Bug Hunt ?

A Bug Hunt is an intense bug finding mission over a small period of time, from couple of hours to a day, done by people who are not testing that area or that product as normal day-to-day work or may not be ‘testers’ at all, allows all kinds of bugs (some bugs are feature-requests) to be reported and is done to sort of give one big shake to an area or a product before its being shipped.

Read More

Some Software Testing Websites

So many times, I go out and try searching for some thing or the other and wonder that why I can’t find a good directory of websites which provide information on software testing. So this time, I did few searches and identified few of them and thought of sharing them with all. I have not done any extensive research so I would definitely be missing lot of them but I used Google and if you dont get listed on Google then you have it.

If you do want me to include some more then comment back and I will add it here. I could not find a better way to order them so I used Google’s Page Rank for the home pages of these websites.

1. http://www.stickyminds.com/
2. http://www.testingfaqs.org/
3. http://www.testing.com/
4. http://www.softwareqatest.com/
5. http://www.sqatester.com/

Read More

A Good Bug Report Format

As part of our testing, maximum time is spent around bugs, whether its writing a new bug, verifying a fix, giving more information, contesting the validity, linking similar bugs and so on. All these times we are looking at various pieces of information which are in the bug report.

My experience in testing has made me firmly believe that a good Bug Report is key to high quality software. My personal hypothesis is that if we can tackled this activity well then we are bringing in more efficiency. So lets look at a good bug report format.

Contents of a good bug report

Read More

Bug Life Cycle

Whats the life cycle of a bug or a defect ?

Even though this seems like a simple problem and may not need lot of thinking but its very important to understand it well. Most of the tester spend lots of time around bugs. They report bugs, regress bugs, verify bug fixes, bounce them and so on. From the same yard stick a developer spends lots of them on and around bugs as well, tries to reproduce them, asks and gets more info to repro them, fixes them, tests the fix, comments on the bug for testing recommendation and so on.

Amid all this, dev and tester also fights a lot over bugs :) and possibly all for a good cause viz. Quality. Lot of this fight can be saved or better understood if we really understand the life cycle of a bug. That way if a bug gets marked back to tester for adding more information, that would then look like routine or normal to him rather then taking that as an offensive.

Read More