Engineering and Test Engineers
This was perhaps the biggest challenge (and in some ways continues to be a challenge) that we have faced. In this respect one needs to appreciate that the view of entrants into the industry plays a very important role, especially, if they are to be seen as part of carrying a product vision or on a larger scale, a company vision forward. There has been a general lack of awareness of the function of testing. What little was known by a person who just graduated from college was limited to textbooks or none at all, whereas a lot more awareness was there about the roles of developers. The role of a test engineer does not evoke the same response from a peer group as that of, say, a development engineer. Within an organization, the test engineer is very often not seen on par with a development engineer. And, finally, many new engineers use testing as a means to transition to another area of software engineering.
A key aspect of the problem is also caused by management in some organizations putting fresh engineers into testing without proper training or background. There are not many institutions in the industry that provide training on test methodologies to fresh engineers. This has given rise to an impression in the industry that anyone can do testing. Since this discipline is also not understood or appreciated, many view this as a thankless job.
The process and importance of test engineering as well as the fact that it is a core technology area has yet to be understood and appreciated fully. It is yet to be comprehended that the function of test engineering and a test engineer goes far beyond just executing test cases and finding defects. The fact that test engineering is a discipline with a complete life cycle, that includes test requirements planning and strategizing, test design, test development, test automation, test execution, test results analysis etc., is understood by very few people. test engineers also have a major role to play in determining and influencing the quality of the product. There is a great need for education at all levels on these aspects before one even attempts to change these perceptions.
There is also an impression in the industry that testing is the job of a separate team. This is the job of everyone involved in the product–for example, unit testing and responsibility for specific units of the product is the responsibility of the concerned developer. But this is not well appreciated.
These perceptions have contributed to significant peer pressure for test engineers in the industry forcing them to look at moving out of their test engineering roles as quickly as possible.
3.2 Building and nurturing a Test Engineering organization
In some ways, this challenge is imposing considering the first challenge discussed above. It is mandatory for a product engineering organization such as Novell to have dedicated and independent test engineering teams that comprehensively test products before they are delivered to their customers. The reporting structure plays a vital role in ensuring that the test teams think differently and feel empowered to stop product shipment if they believe that the product is not ready from a product quality perspective. Further, test engineering has to be developed as a core competence for the organization if they are to be successful in delivering quality products. As a result there is a need to build and nurture an organization that has complete responsibility for the test engineering function for a product. There are various aspects one needs to look into for this. The