Friday, January 9, 2009

The right begining of a Testing Career

Some serious Testing
There is a saying that when going gets tough, the tough gets going. In the present turbulent times for most of the business operations, this adage is more adept than ever. And in turn, this imposes an imperative act on everyone in business operations to really look into facts and assess what it takes to be a professional in the chosen field. This will help them to continually add value to their clients in these demanding times.
In this brief note I will present some observations, which I done myself and usually advise my team to pursue. These are my thoughts which are framed over a period of 7 years of testing experience on various projects like mission critical Defense systems, ISVs product validations and serving enterprise clients both at onsite and offshore.
In our software testing fraternity, it is a commonly felt thing that testing is the least technical profession in IT field and an easy way to join the IT band. In my opinion, this is wrongly placed notion about a path one has selected to make it a career option.
Lets understand the basic fact that Software Testing is a technical career path to start with. So QA Analyst should start with understanding of what an IT system is and why the IT systems are in place. This is more pertinent to those who have no background in IT or are from different stream of education other than engineering and B Sc education. This approach will help QA Analysts to shape his/her career in a right way.
IT systems are basically the enabling tools for any core business activity. With Indian IT industry being predominantly a service industry for various IT users across the globe, most of QA engineers start their career in Software Testing without understanding this aspect. The onus of making this understanding to young engineers is on Leads in the teams.
To make a good beginning as career QA Analyst, I suggest the following approach:
- Begin with understanding and gaining hands on experience in one Software development language be it Visual Basic, C++ or Java. This will give a good understanding of the concepts of programming and also understanding of developers view point when it comes to analyzing the application under test.
- After learning a development language, QA engineer should make efforts to understand how an operating system works; the actual hardware and the software application works together to give the desired results/ outputs. A good understanding of one operating system ( UNIX, Linux, Windows, etc) to the level of understanding the shell programming will give a strong base of IT systems’ overall structure.
- IT systems are only to facilitate automation of most of the core business activities, and this means processing of huge volumes of business data. Since testing includes validating the entire application, when considered holistically, a person testing the applications should have a good understanding of DB concepts. A fair understanding of one SQL language (be it Win SQL or Oracle or DB2) to the extent of querying the tables and writing basic stored procedures will help in doing the back end data validation of the IT systems.
A good understanding of the above three components of an IT system will make QA analyst more confident to take up his work as a QA ‘Analyst’ and facilitates the understanding of the application architecture.
In the initial two years of any QA engineer‘s profession, all efforts should be made towards learning/ honing these technical abilities. This will make him more confident while interacting with developers and the Business Analysts. In these two – three years, the tester should not get distracted to all generic things like certifications in CSQA, ISTQB, etc. These are good to have in our profession but not necessary very early in career. Tester should aim for technical certifications. Once the technical fundamentals are strong, we can build on that any other knowledge base based on interest and the opportunities.
For a QA Analyst to grow on to next level, the understanding of statistical concepts is as important as any technical subject as the efforts of any testing is to improve the product quality over different cycles of testing. The analysis of numbers gives a quantitative understanding of the product quality attributes and the trend of the improvement over different cycles of testing. This knowledge of numbers is required to build confidence in the IT system and also to track the impact of testing effort on over all SDLC cycle including the post production maintenance of IT apps.
The above thoughts are only to elicit some serious thinking in getting yourself oriented more towards technical analysis and less towards generic things in the initial phase of your career. This approach will enable place your career path on a strong footing.
It is truly said the adverse times are periods which will force Individuals and organizations to introspect and improve upon themselves. So this is an opportunity to make it happen.
In my next write up I will delve upon the attributes a QA Lead should posses to make QA function of an organization more accountable to overall business results and make an impact on the business results by ensuring that the systems are tested properly and hence business is least affected.
Questions or clarifications may be directed to s_h_mallikarjun@yahoo.com

No comments:

Post a Comment