25-08-2017, 09:32 PM
Software Test Factory (A proposal of a process model to create a Test
Factory) Seminar Report
Software Test Factory.pdf (Size: 66.12 KB / Downloads: 14)
Abstract
Software Quality Assurance (SQA) is becoming a critical issue in software
development and maintenance. This paper discusses the existing organizational approaches to
implementing testing practices. Today the scenario, software development organizations are
beginning to outsource the testing related activities to organizations (testing factories) in order to
reduce the resources and increasing the quality and reliability of the software products and
services. This model must be composed of a testing process model and an organizational
structure establishing the required roles, responsibilities and competences.
Introduction
The software quality assurance is a
essential for organizations. The main
objective is to reduce the cost of guarantying
quality through out the software
development process. Testing is a part of
verification and validation activities.
Verification involves human examination or
review of the work product like inspection,
walk through, technical review .Validation
requires developing tests such as unit test,
integration test, system test, acceptance
test, usability test. Testing is an integral part
of the SQA activities. The correct
verification, validation activities result in
economic gains: defect rate software
delivery to client is reduced, the
development costs are decreased and the
reduction in delivery time and increase in
test efficiency. However, 60% of the
developers claimed that verification and
validation were the first things that are
neglected. In case of time shortage. Good
management involves having a well defined
organizational model which covers people
and processes. Depending on the
organizational model implemented in the
organization, verification, validations are
developed in different way. The developers
are tester; other has independent test teams
for this activity. Integrated test teams and
SQA groups are other possibilities and
outsourcing is currently being implemented
for testing. Organization are beginning to
subcontract testing, the development team
that carries out the testing activities, do not
have the necessary knowledge and skills.
Therefore, outsourcing as a solution to
reducing cost. Therefore, if there are
organizations
Organizational models for performing testing-related activities
It is a fact that testing is an important factor
to project success. Occurrence of defects is
the greatest contributor to increasing
product costs due to correction and
rework time and the main cause for
lower product quality. In addition, it is well
known that the cost associated with fixing a
defect after the release of the product is
greater than that of fixing a defect during the
product development. Researchers differ on
how to improve testing. We have found
testing process improvement and testing as
a part of SQA, with testing outsourcing
proposed in both contexts [4]. There are
different ways of organizing software testing.
How the test organization is internally
structured and positioned within
the overall organization is very much
dependent on policy, quality and corporate
culture, skills and knowledge of teams,
among others. The most relevant are:
Developers as Testers
This case is probably the most common.
People who have developed the software
product also verify and validate product
activities. The problem is that the developer
knows how to create software to pass tests
but not how to detect failures [9]. Moreover,
they do not have the right competences and
knowledge [3].
Testing Process Reference Models
Testing process improvement seems to offer
some significant benefits. These include an
increase in client satisfaction through the
use of software products with lower defect
rates or the definition and fulfillment of
quality objectives [5]. The first step in testing
process improvement is to assess the
process against a testing process reference
model. Therefore, if we want to create a
process model, we need to know the most
relevant testing reference model. A
reference model for the testing process
defines the necessary framework to
determine the strengths and weaknesses of
the testing process implemented in the
organization.
Testing Requirement Development
Inputs: Analysis Document , Requirement
Document, Specification of client needs.
Outputs: the contract between organization
and the test factory, testing requirements .
Description: Feasibility study and project
scope is developed. If project is feasible and
the two parties reach an agreement, a
contract is signed. From there, testing
requirements are captured and managed
Testing Planning
Inputs: Analysis Document, Testing
Requirement Document.
Outputs: Test Plan
Description: Test Plan is developed
and maintained. It is important to emphasize
that the proposed Test Plan is not a
conventional one because not only does it
include the elements of a Test Plan, but also
the sections of the project plan that are
necessary to test project management.
Use of the proposed model
The use of the defined process model is
being made in collaboration with a Spanish
consultant company, and it still is in
progress. To do this, we proposed a service
provision model to create a Test Factory.
The additional items that we have added to
the defined process model for this proposal
are:
• Justification for choosing a Test Factory as
a testing method.
• Process orientated to production
environment.
• Defining a set of metrics to assess
the performance of the model. The following
can be highlighted: testing effort, meet
schedules, Test Factory work rate and value
management gained.
• Determining a set of methodological
guides to be taken into account when
testing.
Based on this adapted model, several
commercial proposals to create a Test
Factory were made to different organizations
in the insurance field and to a chain of
supermarkets.
Conclusion
Testing is an important issue in Software
Process Improvement and Software Quality
Assurance. There are different ways of
testing in organizations; one is outsourcing
testing or Test Factories. Research is
looking at outsourcing testing as a solution
to reducing costs and improving software
reliability. In order to manage these types of
organizations efficiently, a customized
management model is needed. This model
must comprise a process model and a
organizational structure, including detailed
specification of roles, responsibilities and
competencies. This process model defines
the processes required to manage a testing
factory, provides the key elements to
draw up a contract for outsourcing testing
activities, including the definition of
deliverables and visibility mechanisms
required to manage a testing-centered
project.
The evolution of the process model
presented in this paper is centered on the
following issues:
• Definition of a proposal for the
organizational structure, including a detailed specification of roles,
responsibilities and competencies required.
• Definition of a model for quantitative
management of a testing factory.
• Definition of an evaluation and
improvement model based on the
development of competencies and skills of
the personnel of the testing factory.