Tuesday, January 26, 2010

Product vs. Project Testing

Hi, being in the field of software testing, I want to share some of my experiences and knowledge in this domain.
I have the experience of working on software products, and on custom software projects. I have seen some shrewd testers thinking on the differences between a project testing and product testing.

Before we delve into the differences, for a better clarity, I would like to explain what is a software product and a software project.

Software product: A software application that is developed by a company with its own budget. The requirements are driven by market surveys. The developed product is then sold to different customers with licenses.
Example for software products: Tally (by TCS), Acrobad reader/writer (Adobe), Internet Explorer (MS), Finnacle (Infosys), Windows (MS), QTP (HP) etc.

Software project: A software application that is developed by a company with the budget from a customer. In fact, the customer gives order to develop some software that helps him in his business. Here, the requirements come from the customer.
Exampl for software projects: A separate application ordered by a manufacturing company to maintain its office inventory etc. This application is used only by this company and no one else.

With the above insights, we will now discuss the differences.

As an end tester, there will not be much difference in testing either a product or a project. It is test scenarios and test cases, and requirements everywhere.However, here below are some differences between a product and a project, and differences from a testing perspective:

1.For a project, test plan is a must. All the documents related to that are to be prepared. For a product, test plan would have been made long time back. It is at max updated.

2.In project, client has to approve the test plan and test cases, and sign them off. In product it is not necessary.

3.In project, tester directly interacts with the client. In a product, tester interacts with the FD team or business analysts.

4.In project, the dead lines are not flexible. In product testing, dead lines are flexible.

5.In project client hold the authority on the developed code. In product, client doesn't hold the ultimate authority on the code.

6. The budget for development of the project is given by the customer in case of project development. In case of product, the budget is given by the own company.

7.The features in a project are always new. However, in Product, the basic features remain same, and only a few new features will be added, or few existing features will be modified.

8.Because of point #6, more regression testing needs to be done in case of a product, and less in case of a project.

9.Since a product runs for years, test automation saves lot of effort, where as in case of projects, it depends on the duration of the project.

10.Usually, a project complies to a small environment, as specified by the client. So, testing only on the specified environment is sufficient. A product can be installed on a number of OS and other environment parameters, depending on the end user. So, usually, more compatibility testing needs to be done in case of product.

11.A project is used by the specific client for the specific purpose only. Hence tester needs to test only in that end user’s perspective. In case of a product, the same product can be used by a variety of clients. (For example, the same Enterprise Incentive Management application can be used by Pharma clients, Insurance clients etc). So, tester needs to consider all types of potential users and their usage and needs to test accordingly.

12. Licensing comes into picture in case of a product. Thus scenarios related types of license, their registration and expiry etc needs to be tested for a product. Licensing does not exist for a project.

13.Test planning depends on the software development life cycle. Usually, it will be different for a project and a product.

14.Chances are very high to get onsite opportunities for the tester working in a project. Changes are very less in case of a tester working on a product.

15.Economic recession badly hits a software project. The customer may halt or stop the project, in which case, the test engineer may lose the job sometimes. In case of a product, a short term (0-1year) recession may not hit the engineer, as the company keeps adding the new requirements. In fact, the test engineer may get more work, if the company tries to add some innovative requirements to lure the customers into buying their product.

16.In case of a project, competitors do not come into picture, except at the senior level management. In case of a product, the tester also should consider the competitive products while testing. Sometimes, the tester needs to evaluate the performance against competitors' products. Behaviour of the product with the competitors' products coexisting on the same machine needs to be considered. Also, tester needs to check any violation the copyrights.

With the above points, I feel I have given ample information for one to get an idea the differences, though the list is not limited to the above points.

Ravi Landu

Monday, January 25, 2010

Now...nay...later...nay...now....huh! When?

Now...nay...later...nay...now....huh! This would be there in everyone's mind on a variety of tasks....especially more on their life goal. In my case, it is all about entrepreneurship.
When to start walking on my own....in my own way....into my own destination.
Lot many factors determinted...determining and will determine the decision.
NOTE: Though I use the word "I" here, everyone can read it as their own "I", because this is applicable to everyone.

EARLIER I used to think that - I was too young and naive......I should gain some experience, and know the industry....should prove ourselves in this competitive job market....should have some job to get married (otherwise difficult to ge a bride) - were the factors that made me postpone the decision.
In this EARLIER phase, there was no tantalizing activity (now or later) in the brain. I was sure "it is later...not now".

After a few years of work experience - NOW - Well, this is time to move to management position. Why to quit now? Let me learn gain management experience also......I am married now. Have got more responsibilities. Let my wife also get job, so that we will have at least one standard income.....I should buy a home. If i take a loan and quit my job, then how to repay?.... First let me learn and analyse the market......what kind of enterprise? Services or products? Technical or non-technical?....Let me go abroad and gain some forex so that I will have some financial security (no one knows how much of such security is needed?).....Will I succeed or not? What if not?.....Damn this bureaucracy.....What work should I do to establish and improve my enterprise? Oh Man! Why to take such risk when we are comfortable in this position? Can we work hard at this stage of life?....Let me learn more about entrepreneurship.....That requires lots of guts. Do I have that? - were SOME of the factors that make me keep postponing the decision.
However, if carefully observed, in the NOW phase, there is some thinking about taking the decision. Some planning is also being evaluated to lay the path. However, the decision is not made.

LATER phase - I am yet to experience this phase. In fact, I do not want to end up in a situation to list some of the factors for delaying the decision. In many cases I know, when they think at this stage, then they feel it should have been "THEN". This is the worst case...because THEN never comes back.

The above factors are be there in most of the minds. So, Now...nay...Later....finally When? My answer for this is - NOW. It is easier said than done. Why it is not easy? I will keep blogging on this topic in the coming weeks, giving more insight into the factors, decisions, and probably some feasible ways to decide on to arrive at the decision to start up an enterprise.

With so many inspiring souls looking at me, I am sure to march ahead in life, fulfilling my dreams......and realizing priya vadanam.

Ravi Landu

Note: Your feedback is welcome

Tuesday, January 19, 2010

Introduction

Man is yet another animal on this mighty Earth. This man becomes a Human with this character and attitute. I am the one who is on the way to become a Human. Though the literal definition between man and Human is subtle, the path to become Human is tough. Very few could reach this destination. I am the one who is determined to reach this destination....with all the help from you all.
I will try to post here about my journey, the events during this journey and many more.
Keep visiting this blog to keep updated about my whereabouts in life.
This blog is posted especially for those who could not reach me, yet want to reach me.

Dil Se
Ravi Landu