test engineer, in order to do justice to both the work profile (of testing) and to the individual. Rapid changes in products in terms of requirements and the technical environment of testing, challenges test engineers to identify these changes fast enough and adapt even faster. To do their role effectively, test engineers need to keep pace with new features added, knowing them in depth, visualizing appropriate test scenarios, developing test cases and implementing them.
Test engineering is a complete life cycle that includes test planning, test design, test development and automation as well as test execution. There is a need for processes and best practices for all these aspects. Most companies focus on test execution resulting in poor quality products coming out of testing as well as de-motivated test engineers. It is not only important to have good processes and practices in place but there is also a need for mechanisms to institutionalize them.
There is also a major challenge in some of the softer aspects and processes. For example, communication between development and testing teams is a key factor and is often hampered by factors such as lack of involvement of test engineers in the early stages of product development, physical separation between development and test teams, lack of teaming initiatives at a product level etc.
4. Organizational initiatives to address the challenges
To address the challenges identified Novell Bangalore has initiated and implemented several initiatives during the last few years. These have helped keep the motivation levels of test engineers high as well in ensuring that product quality expectations have been exceeded.
Major initiatives taken by Novell Bangalore in building a strong test engineering organization to support our product development initiatives include:
- Staffing key senior personnel (specifically some of the test leads) from within and making them as role models for other test engineers.
- Involvement of test engineers in making release decisions–this has helped in ensuring that the test engineers take complete ownership for the product and for them to feel responsible for the decisions and quality of the product
- Major teaming initiatives, both within the test teams as well as between test teams and other engineering teams such as development engineering, configuration management and so on. The organization has implemented a specifically tailored team building program for this purpose that has been very successful.
- Knowledge sharing initiatives through informal means as well as periodic formal events.
- Encouraging innovation in test strategies that has helped in making test execution less monotonous and in optimizing both schedule and resources needed for testing.
- Customer site visits by test engineers–this has helped in promoting an excellent knowledge of how Novell's customers deploy our products and what their production environments are so that we will be able to recreate them in our labs in Bangalore. In this respect it must be mentioned that Novell Bangalore has built up a very sophisticated test lab with 900+ systems networked to provide test set-up that is comprehensive enough for a good majority of Novell's customers world wide.
- Identifying test engineering as a core competence (a bundle of skills, technologies and assets critical for our success as a product engineering organization) and defining and implementing a plan for the same.
- Defining specific job responsibilities for test engineering roles at various levels to promote a career progression plan for engineers taking up these roles.
- Treating test engineers on par with development engineers in the organization–incidentally test engineers consider this as a major recognition of their criticality to the organization.
As a result of the several initiatives undertaken, Novell Bangalore has seen results that are both