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.


Comprehension - First step towards Software Testing

The other day I found myself in front of a bunch of fresh from the oven college grads looking up to me for some words of wisdom on Software Testing. I have been taking this class , once a year, to young recruits for some years and I am always in a fix on what to teach. I have my own share of tricks in my bag which I use for these classes but I did something new for the current batch.

It all started with a simple question i.e. What is Software Testing and I got a number of good responses but that led to a thought on what would be a first step to engage with software testing and the answer was very obvious, comprehension. Comprehension of the problem, of the object in scrutiny, of the principle which requires validation, of the hypothesis which would undergo various tests and rounds of rigorous observations before its blessed as a theory and so on. Its comprehension, comprehension and more comprehension.

The goal of Software Testing is to be able to certify a software after identifying and resolving all the defects which you encounter during your engagement with the software as a tester. That engagements would be an enriching one only if you know the subject. Its like knowing the intricacies of a specific musical instrument to play it well rather than just knowing how to play a particular kind of instrument. If you would have noticed that for all rock shows, concerts a lot of time goes in tuning the equipments. Even the masters need to tune the instrument before they begin their performance so as a tester , while its utmost important to know about testing methodologies, practices, tools etc, its far more important to know the software in question.
Read More

Is Google feeling the recession pinch ?

I first thought of doing a good research to back my title but later abandoned it, since once I prep this story with data and figures, it no longer remain novel. This is just a small observation over last one week when I received two e-mails from Google relted to adsense. I dont remember getting many e-mails over the last 2 years, the time I signed up for an adsense account so it came as a little surprise.

Today I logged in my account and noticed that the home page got some UI tweaks as well. So the e-mails + the changes at the adsense page might add up to the theory that Google is investing time adn effort on this business viz. adsense.

Here’s the screen shot of the new home page.

Read More

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

Resume Tips in Bad times

The economy is so uncertain that we dont know whether it has bottomed-out or it can go further down. While in US, folks are looking up to Obama to inject 1 Trillion USD in the right place, read software, back here in India, we had the biggest IT scam. Satyam Software, part of Fab Four of The Great Indian Software Story, has bungled. The last I read was that the new CEO, Ram, is fearing that they might not have enough cash for the 50K workforce. With so many RIF (Reduction in Workforce) across the globe, I came across this great article by Joel, which might be useful for fellow readers at Valify. (Cute little name for Validate and Verify)

Another resume tip - By Joel Spolsky
Are you a software developer applying to a small company?

Here’s a tip from someone who has read thousands of resumes. When you’re applying to a startup, or a software company with less than, say, 100 employees, you may want to highlight the Banging Out Code parts of your experience, while deemphasizing the Middle Management parts of your experience.

When a startup CTO sees a resume that says things like:

* Responsible for $30m line of business
* Architected new ERP platform
* Managed team of 25 developers
* Optimized business processes

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

Test 2008 - Testing Conference

“Test 2008″ is the first testing conference organized by ‘Pure Conferences’. I happen to know the people behind this and these are the same folks who run ‘Pure Testing’, a testing consulting company, so when I got the invite for being there, I was not surprised.


Vipul, founder of Pure Testing, worked with me earlier at Adobe and while I still continue to test more software out here, he has moved on to pursue his dream of making the world better at doing ‘Software Testing’. After reading the invite and the envious list of speakers, I could not stop myself from writing this small post on the conference.

Test 2008 would be held on Oct 15-16 2008 in Delhi and the theme for the first conference is ‘Agility in Testing’. Speakers from around 10 countries, such as USA, UK, France, Sweden, Canada, Italy, Netherlands, including India will deliver keynotes, tutorials and papers during the conference. Apart from this, the organizers are also trying to make Test2008 a ‘green’ conference as far as possible.

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

How to pick a good IDE when you begin programming in C

Most of us have grown up writing programs in C, it was usually Turbo-C or Ansi-C . There used to be black background editors which looked very primitive and most of them wont distinguish a keyword from a variable, we were supposed to compile them to find errors. Its not entirely true that all were using these editors, some of us also used the iconic and cult vi editor, an editor which is more like a rocket-controlled control panel with every conceivable operation possible through a weird combination of keys. Some of us would master the most common and flaunt our prowess but none of those prowess would ever make you a good programmer. Of course, we didn’t know that.

Later you started to have better editors and then IDE viz. ‘Integrated Development Environment’. An IDE is a software which makes it easy for you to create a complex project, having many source (say .c or .cpp) files, headers, libraries and so on. These IDE also usually have a very advanced editor which helps you in writing a program. So if you are writing a .cpp program and you are looking for arguments for a standard function like strcpy() which is defined in strings.h then you wont have to do much, just write the function and you would get options to choose from. Right while you are typing. They also help you in distinguishing language keywords like while/for/if for C from user defined variables, like int i.
Read More

How to create a optimized testbed-configuration matrix

When we code a software, we choose an IDE which typically runs on an OS of a specific locale, having some Service Pack, co-existing with some software and so on. We compile the code and choose relevant targets, the compiler spits a binary and your job as a coder is done. In a complex world, there would be a build system which would get all the relevant files from relevant branches , from a source code control system , compile them and trigger the installer scripts. Installer script would create a package out of it. And its done.

When the package reaches the software tester, he has a big problem to solve. The first question which he has to answer that whether he should install the s/w on a fresh clean OS which has been installed just now, warm and inviting. OR he should rather install it on a dirty OS which has a plethora of software and would be more close to end-user. The answer is simple, do both.

The task doesn’t finish there, now comes the question about

* Which operating system, since it runs on all Windows. So should I install and make a clone of myself so that all of my clones can do simultaneous testing. To give you an example, MS Word runs on Windows and MAC. Within windows, it runs on Windows XP, Windows Vista and Windows 2000 and some other less popular flavors as well. Within Windows XP, it runs on all flavors of XP viz. SE, MCE, Professional. Win 2K has many more flavors and with Win Vista you need to do a MS certification to really say with surety on how many flavors it has. I am yet to talk about ‘Service Packs’.

You ask this question to a non-software-tester group head and he would say ‘Do it on All’.
Read More