28.10.2008
by nandanjha
Category Information
No Comments →
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
08.10.2008
by Rahul Tewari
Category Information, Testing Concepts
2 Comments →
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
29.09.2008
by nandanjha
Category Conference
No Comments →
“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
22.09.2008
by nandanjha
Category Information
No Comments →
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
22.08.2008
by nandanjha
Category Code
No Comments →
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
10.08.2008
by nandanjha
Category Testing Concepts
2 Comments →
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
02.08.2008
by srihari
Category Information
8 Comments →
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
18.07.2008
by nandanjha
Category Testing Concepts
2 Comments →
The million dollar question which every Manager asks to testing teams is that ‘Whether they have executed all the test cases ? “. If you are a software test practitioner, you would be feeling really frustrated. How on earth, can you ever execute all the ‘Test Cases’ for a particular feature.
Well, there is no silver bullet but there is a way which you can use to get a good enough answer for the above question. Its called ‘Code Coverage’ analysis.
How does it work
There are certain software tools in the market which can be used to do ‘Code Coverage’. One of the popular software is ‘Bullseye’. The process is simple. While building binaries for your software program, configure ‘Bullseye’ with the IDE. When binaries are made, bullseye inserts some of its own signatures. This is called ‘Instrumentation’ of the code.
Read More
07.07.2008
by nandanjha
Category Information, Trivia
No Comments →
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
15.05.2008
by nandanjha
Category Testing Concepts
No Comments →
As Software testers, one of the big responsibility we all share is being acting like a user. While most of us love it and use this for our and user’s advantage its not a very natural thing to do. If it had been, then probably you would be that user and not really a software tester. The only way, we can most truly act like a user when we are testing either a bug-reporting application or a test-case-automation system or like wise. If we happen to be testing these applications then we are in a better situation but In real world, we end up testing banking and insurance application, graphics and document applications, storage management systems and so on. I work in a product based company and my area of testing falls under ‘Consumer Photo Applications’ so even though I click lots of photos and I spend time on them, I am not really someone who would buy a USD 100 software to manage my ever growing library of photos, correct them, share them over e-mail or cut DVDs and so on. So I am not really a true user.

Read More