|
January
2002 Feature Article
|
|
Testing: A Growing Opportunity The South African testing market has reached a key point. Numerous corporates are experiencing the need for testing services, and the demand for experienced testers is currently exceeding the supply. In terms of South Africa's testing skill demand profile, we trail Europe and the United States by what seems to be a little over two years. ComputerWorld ran an article on their website early in 2001 titled "America's 10 most wanted" . On this site quality assurance tester was reported as the tenth most demanded position in IT. Local South African midsize and larger corporates are scrambling to establish or gird-up the testing function. What's driving the demand for testing? One factor is the cost of failure. This was graphically illustrated during prime time news in the past six weeks. A large software initiative (over 100 million rands) made the local news for floundering ("the program keeps crashing"). A second company tackled the software, and an additional 70 or so million rands later, progressed the result to, "it still does not work". The customer was than said to be looking for ways to recover monies spent IT departments and the business are reaching a point where they suspect there must be a better way, and they are right. Testing due process is the minimum that serious CEOs, managers, testers, and IT departments must demand to avoid lengthy litigation, development disappointments, spiralling expenses and questionable quality. Resource-related testing myths Myth 1: Testing is only an end of life-cycle process This myth derives itself from an early (ancient) concept of software testing that perceives a continuum of specify, design, code, and then test. This progression is often further summarised as build and test. Believe it or not, this thinking still exists, even among some of the larger corporates within the country! In reality, perhaps about 80% of testing effort should occur before the completed code is executed. The very processes of test planning, creating detailed test cases and drafting procedures often eliminate requirements defects, design problems and other flaws prior to the code having to execute. This earlier testing work is thinking work and surpasses the monkey-test view where the just-bash-a-few-keys-and-see-if-it-crashes mentality prevails. The truth is that there are different levels of testing skill, and these can be built into a career path. To get an idea of these levels read Myth 2. Myth 2: Anyone can do the testing This myth is particularly dangerous as it is half-true, and therefore more credible. The truth is, anyone can do some testing, just as we all can do some medical aid, attach a plaster, administer cough-mixture etc. However, don't expect me to do an appendectomy or brain surgery, or even a blood pressure reading for you unless I get further training, and even then I think I'll stick to software testing and outsource the medical thing. Many IT departments are calling in resources which are trained in various testing specialties so that they can concentrate on implementing their business processes rather than learn all the aspects of the (huge) discipline of testing. Testing specialties include test automation, load testing, usability testing, testing methodology, software inspections, industry or application expertise, test metrics, test management, white box testing, security testing and others. Typical job levels within testing would be candidate tester, tester, test analyst, test manager or test specialist, test consultant or executive. Testers are distinguished from test analysts, in that the analysts are more commonly involved with tasks at a higher level of abstraction, such as test process design, test planning, and test case design. Testers may be involved with test case design and test procedure construction, and interaction with the actual software systems. Don't make the mistake of assigning only junior resources onto product testing, unless you have a low view of your products importance. Jack Welsh, CEO of General Electric describes in his autobiography, how he put a policy in place to ensure that only the best people would be placed behind the important Six Sigma quality initiative in the company. Myth 3: Testing increases development costs If testing is used as a final and only filter on a software product then this is no myth, testing will increase the development costs. If systematic and effective testing is applied throughout the software development life cycle, then the long term as well as the short term (first-delivery) project costs are likely to be reduced. |
Which skills and personal characteristics are recommended for software testers? For a general (all-purpose tester), mathematics is a good indicator. Test analysts can only prepare tests for equations for which they can master the mathematics. Programming skills and computer architectural and design element knowledge are all bonus skills for the tester. Industry and product specific knowledge are also big pluses for any tester. Testers must be team players, and must display good people skills. For example they must be able to report defects to developers without making them feel down on the one hand, and yet must correctly gauge defect importance and ensure that the developers will attend to important defects. A common scenario is for developers to persuade everybody that the defect is a necessary feature, or quite workable, but I have seen too many of these cases backfire with multiple users requesting repair of the very thing that was already brought to light by the tester, and initially rejected as not being a problem, by the developers. Practical ways persons can prepare themselves for a career in testing: The list below is not exhaustive but should provide enough seed thoughts or tips to get you started on the way to a career in testing.
How can companies best acquire testing skills? There are basically at least five sources of tester or testing skills in the market: 1. Cross-train persons from other jobs into testing: This works particularly well where business persons move into testing roles within the same business or industry. Persons with either management experience outside of testing, or general IT experience may also be considered for cross-training. It is strongly recommended that all persons who are to be involved with testing be exposed to test training. This training should outline the big picture of testing, detail practical testing techniques, include planning, discuss the major testing types and present an element of project team inter-relationships. Testers who are being cross-trained should be placed in a mentored position until their experience grows to meet the job requirements. 2. Grow new testers from school or tertiary institutions: These candidates should be given test training and then placed in a mentored position until their experience grows to meet the job requirements. 3. Recruit or use existing experienced testers: This buying-in is the fastest way to acquire testing skills and experience. To be successful here, your IT team must themselves have a good working knowledge of testing, in order to ensure the correct selection of candidates. A common mistake is to leave this recruitment too late. A further problem presents itself with the right-sizing of the team, as the volume of testing and level and type of testing skill can vary considerably over the software development life cycle. 4. Use contracted testing resources: This solution saves the initial recruitment costs, and if short-term or flexi-hour contracts are agreed, may be the best way to balance testing needs with resources. 5. Outsource all or part of the testing function: Similar to using contracted testing resources, but here the majority of the testing responsibility is passed to the outsourcing service, which may even conduct the testing off site. Conclusion Whichever way one looks at it, software/system testing is an up-and-coming, challenging and exciting career with long term-prospects.
|
<< December 2001 |
February 2002 >> |