The tester’s role in a software
development organization
Testing
is sometimes erroneously viewed as a destructive activity. The tester‘s job is
to reveal defects, find weak points, inconsistent behavior, and circumstances
where the software does not work as expected. As a tester you need to be
comfortable with this role. Given the nature of the tester‘s tasks, you can see
that it is difficult for developers to effectively test their own code
(Principles 3 and 8). Developers view their own code as their creation, their
―baby,‖ and they think that nothing
could possibly be wrong with it! This is not to say that testers and developers
are adversaries. In fact, to be most effective as a tester requires extensive
programming experience in order to understand how code is constructed, and
where, and what kind of, defects are likely to occur. Your goal as a tester is
to work with the developers to produce high- quality software that meets the
customers‘ requirements. Teams of testers and developers are very common in
industry, and projects should have an appropriate developer/tester ratio. The
ratio will vary depending on available resources, type of project, and TMM
level. For example, an embedded realtime system needs to have a lower
developer/tester ratio (for example, 2/1) than a simple data base application
(4/1 may be suitable). At higher TMM levels where there is a well- defined
testing group, the developer/ tester ratio would tend to be on the lower end
(for example 2/1 versus 4/1) because of the availability of tester resources.
Even in this case, the nature of the project and project scheduling issues
would impact on the ratio. In addition to cooperating with code developers,
testers also need to work along side with requirements engineers to ensure that
requirements are testable, and to plan for system and acceptance test (clients
are also involved in the latter). Testers also need to work with designers to
plan for integration and unit test. In addition, test managers will need to
cooperate with project managers in order to develop reasonable test plans, and
with upper management to provide input for the development and maintenance of
organizational testing standards, polices, and goals. Finally, testers also
need to cooperate with software quality assurance staff and software
engineering process group members. In view of these requirements for multiple
working relationships, communication and team working skills are necessary for
a successful career as a tester. and marketing staff need to realize that
testers add value to a software product in that they detect defects and
evaluate quality as early as possible in the software life cycle. This ensures
that developers release code with few or no defects, and that marketers can
deliver software that satisfies the customers‘ requirements, and is reliable,
usable, and correct. Low-defect software also has the benefit of reducing costs
such as support calls, repairs to operational software, and ill will which may
escalate into legal action due to customer dissatisfaction. In view of their
essential role, testers need to have a positive view of their work. Management
must support them in their efforts and recognize their contributions to the
organization.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.