Showing posts with label Software Testing. Show all posts
Showing posts with label Software Testing. Show all posts

Saturday, April 25, 2009

Career Change Time? Consider Software Testing

Contributed by Mikhail Portnov

The profession of software testing emerged in the early nineties when personal computers became more popular as they became more affordable. The fast-growing population of PC users created new opportunities for software companies as well as strong competition for the consumers business.

The new generation of software users quite naturally expected their applications to work as advertised. At the same time, market forces encouraged the fast release of new software often at the sacrifice of thorough testing. Defective software does not sell.

The software industry soon recognized that, to achieve success, they would have to set quality standards prior to release and create thorough end-user testing procedures in-house.

In 1992, I got my very first job as a Software QA Engineer literally by accident: an old friend introduced me to a small startup company in Newark where he worked at the time. My job there was to identify functionality and performance problems in a client-server database application.

I searched for fellow testers for professional networking; but I found none. I approached over two dozen software developers asking if they knew of anyone who tests software for a living. They had never heard of software testers and could see no use for them since they tested their own software.

I found myself wondering what growth potential, if any, there may be in this career. In particular, I wanted to know how much I could earn as a software tester. I approached our VP of Engineering with this question. He suggested that, if I stay with the company for five years and do really well, I might hope to make up to $40,000 a year.

A small group of developers who had heard this exchange were clearly skeptical. I read the look on their faces, "That'll be the day!"

In May of 1993 the startup I worked for collapsed. In the course of a week, there were five advertisements in the San Jose Mercury News for software QA positions. I sent a resume to each, which resulted in two job interviews the following week and one on-the-spot job offer.

My new employer was a multimedia startup. And guess what - that job paid 25 percent more than my previous one. Three months later I got a raise, which brought me to a $40,000 salary, exactly the projected five-year target thought to be unrealistic. My new employers were exceptionally successful. They sold the company profitably six months later. The new owners restructured the business and I was back in the job market again.

What I discovered in my new job search amazed me. Where I had found only five software quality assurance listings over the course of a week, I was now finding 10-12 listings a day. I had 3-4 interviews a week, sometimes two interviews a day, and received many offers within a month. The market had grown dramatically within a single year and the demand for software testers far exceeded the supply.

I chose the company that offered me strong exposure to automated testing, my passion at the time; but I could not help mulling over the amazing growth in demand for software testers and the equally amazing lack of supply.

In the mid-90s, software testing was still a new profession. Between 1994 and 1997, half of QA graduates of many small and big local QA schools became the first person in their companies specifically hired as software testers.

Today, most software companies have a dedicated quality assurance department with one or more managers and a staff ranging from junior testers to senior quality assurance engineers.

Before the recent recession, starting salary in QA was about $60,000 on average with 2-3 weeks spent on job search. Those who liked to change jobs every year or so as they acquired experience, saw their salaries grow to $90,000-95,000 within two-three years. When the recession hit Silicon Valley job market in 2001, there appeared to be no jobs at all for the inexperienced software tester.

But in the year 2007, the recession was over. On average, an entry level QA job seeker in Silicon Valley would get 2 job interviews a week. It seems to take only 3 or 4 interviews to land an offer. Finding a QA job today seems to be no more difficult than it was in the 90s.

Software QA is a unique job niche in many ways: Maturity is an asset in software testing unlike other IT fields. Maturity is easily marketed as patience, attention to detail, and tolerance for routine tasks, all of which are highly valued in software QA.

Whatever your prior education or work experience, it is likely to be an asset because there is likely to be software that specializes in your field of expertise. If you have experience in education, accounting, banking, publishing, workflow or contact management, sales, client relations, drafting, stock or bond trading, image processing, to name but a few industries, you will find software companies that target your field.

Testing software is basically about finding the discrepancy between the expected behavior of the application and its actual behavior. If you have an accounting background, for example, you are better positioned to understand what the expected behavior of a software application should be and how an accounting department would use it.

Testing is not a difficult concept to learn. We all have some experience testing something. We test new recipes, test-drive cars, double-check our change at the convenience store. In each case we are testing to see that the actual result meets our expected result.

Entry-level jobs in software QA do not require a computer science degree. The field covers a broad spectrum of technical proficiency. The niche is large enough to accommodate you.

We see individuals of all ages transitioning from H1B visas to green cards, for example, becoming two-income families and homeowners, and establishing themselves in their new country.

Software testing is definitely a consideration for college educated people of all the ages and professional background looking for a career change.

About the Author:

Mikhail Portnov has been helping people changing their career path to the Software Testing field since 1994. He is the founder and CEO of Portnov Computer School in Silicon Valley, which has 2000+ successful graduates. Find out how you can change your career in 4-6 month at http: //www.portnov.com

For more information on Software Testing, visit Software Testing Concepts.

Friday, April 24, 2009

Software Testing Trade Offs

Contributed by Grosha N Fabiola

Running software testing projects is far more difficult than people outside of the software testing arena seem to realize. It is not uncommon for senior management, project management and development teams to adversely pressurize the test team to cut corners in order to meet delivery deadlines. Yes, everyone wants to release a quality product, on time and on budget. Believe it or not even the software testing team want to hit the delivery date, with a product that is on budget. Pushing the software testing team to cut corners is not the answer though.

It is easy to see that everyone involved with a development project wants to achieve the same goal and the same successful release, it is just that the test team are more cautious than most. And for good reason; Software testing is difficult! There is no set process that ensures a successful testing project and there are no software testing tools which guarantee a successful release. Yet despite these clearly obvious facts senior managers, project managers and development teams always seem to think it is the software test team that can perform some magical act to bring a project back on schedule when project deliver schedules start to slip. Well they can't!

At least they can't if they continue to act professionally, accurately and effectively. The test team are, without question, the last check point prior to a company potentially releasing a product that destroys the companies reputation. That is no small responsibility to take on.

So why is it that it always falls on the software test team to bring in the schedule when projects start slipping? We'll, that isn't a difficult one to answer although there are a couple of reasons, one of which might surprise you. Firstly as testing commonly falls at the end of the development cycle the software testing component is the only area left where it is even possible to make up time. Secondly, and possibly more interestingly, those who have little knowledge of complexities of software testing (for example project mangers) think that a little less testing will only have a little impact on the quality of the product. How wrong that assumption can be!Releases of products with serious defects usually happen because the software test team are forced to cut corners.

The imprecise nature of software testing, and the pressure to cut corners, means it is very difficult to confidently target the test areas such that you minimize the risk of releasing with serious defects left uncovered. The very fact that we leave some areas of our testing incomplete means we have no idea about what we are leaving uncovered. Software testing tools can help but as in many walks of life it all comes down to a trade offs between quality and time, but with software testing the consequences of getting the trades offs wrong can be disastrous.

Software testing is hard enough already, so why make it even harder and don't use a good and reliable software testing tools like the free, open source one offered by www.softwaretesting.net or www.testmanagement.com.

For more information on Software Testing, visit Software Testing Concepts.