Icebe 2013 TMGMT 6 Final
Icebe 2013 TMGMT 6 Final
net/publication/261420177
CITATIONS READS
4 2,543
3 authors, including:
All content following this page was uploaded by Azeem Lodhi on 02 October 2020.
Klaus Turowski
Magdeburg Research and Competence Cluster:
Department of Computer Science
University of Magdeburg, Germany
[email protected]
Abstract—Testing is an essential phase of project management The objective of research is to acquire knowledge and
as it ensures the quality of a product. However, testing does not understanding to solve problems or carry out the work
get the required attention in industrial projects from project effectively [10]. The research method used in this paper is
managers. Due to this, the maintenance cost of projects takes based on the design science paradigm in IS research [17,18].
more than one-third part of the project budget. One of the The design science is a problem solving paradigm which
major reasons is that test management frameworks are overly seeks ideas, practices and technical capabilities through
complex and time consuming. In this paper, we propose a test which problems can be effectively and efficiently solved
management framework which is easy to follow by project [10]. In this paper, we address the challenge of test
managers and test team. The framework addresses the
management in organizations which is stated earlier.
requirements of testing from the strategic level to the
operational level. It also guides the organization to cope the
We followed the three-cycle view (rigor, design, and
challenges of test management. In this paper, we also discuss relevance) of design science research as proposed by Hevner
the application of the framework and its implication in an in [10]. Organizations ask questions to themselves about
industrial case study. The framework is generic in nature and what are the minimum requirements of a test management
can be applied in any domain by project managers. framework or from a standard for its implementation. With
these challenges (competitive environment, lack of
Keywords- test management, framework, strategy, quality. resources, and budget), organizations search for a simplified
and efficient approach for testing [15]. We started with these
I. INTRODUCTION research questions in order to investigate the industrial best
practices of test management for large IT projects. We made
The rapid changes in business domains and technologies the literature review to gather information about best
demand new systems. The new system has to be thoroughly practices in test management. This complements the rigor
tested before it is available to the stakeholders for the usage. cycle of design science research. We found some best
The same stands for the changes/developments made to an practices addressing different problems at various levels
existing system. However in reality, enterprises’ projects are related to test management. However to our best knowledge
delivered without proper testing and sometimes involving a simple test management framework to address the
critical risks. This is due to the reason that project manager challenges from strategic to operational level is missing in
and teams do not have sufficient time to apply the complex the literature. The results of the rigor cycle were used for the
test management frameworks. The lack of resources and initial design cycle as well. We also conducted interviews
budgets are often experienced in the testing phase of with the experts from industry and incorporated their
projects. Moreover, traditional testing approaches (rigorous feedback in our proposed framework. The relevance of the
methods or processes) are not followed in the industry proposed framework is evaluated by applying it in an
because of four main reasons like their industrial project.
requirements/prerequisites [15], costs, time, and their The sought-after approach has to be reusable over
complexity [7,13]. In some organizations, manuals of testing various projects in an organization. The simplicity is not only
exist; however, they are hardly followed because of reasons required for its implementation in different projects but also
stated earlier. This fact is also supported by studies which due to the reason it has to be implemented companywide by
state the overall test maturity is low in most of the different stakeholders (with varying skills). Project managers
organizations [6,16]. Therefore, enterprises face challenges and employees have to understand and learn the effective
to deliver the system with proper testing which meets the practices of test management.
user’s functional and non-functional requirements. In Section
II, we discuss test management and its importance.
In this paper, we address these challenges and propose a where failures in products are disseminated to the masses
test management framework in Section III, which is easy to quickly. A general description of the involved cost, after a
follow and implement in organizations. The framework is failure is found in a product is represented in Table 1.
discussed in detail from the strategic part to the operative
part, supported by other parts as well. In Section IV, we TABLE I. COSTS INCURRED DUE TO FAILURES IN A PRODUCT
discuss the application and implication of the framework in Costs before fixing the product Cost of finding and fixing error
an industrial project followed by Section V where we Costs of damage caused because of a Costs of finding the bugs
compared the proposed framework with the related work in failure (may also include SLA
the test management field. Section VI summarizes our paper penalties if involved)
Costs of disruption in operations Costs of fixing defects
and provides direction for further research in this field.
Costs of taking a product back Costs of rebuild and testing it
again(at different levels, if
II. TEST MANAGEMENT required)
Test management is a broader term which encompasses Customer confidence/trust lost or Costs of redeployment or new
different activities performed in the testing phase of a market reputation releases(updates, installations
etc.)
project. Different techniques have been developed to manage
the testing of a project. Testing is being a critical part of a B. Project Management and Testing
project has to be planned, managed, and reviewed carefully.
Testing is a very critical and important phase of a project.
Before discussing, the test management more in detail, it is
It is a time consuming activity and attempts to detect errors
important to discuss some of its definitions.
or deficiencies in a product. Testing tries to improve the
A. Definition quality of the product and grows the confidence of
There are several definitions of testing in general, and stakeholders about the product. Therefore, testing should be
testing in software engineering in particular. However, here considered from the early phases of project management
we take only two definitions in our consideration. These where the overall project plan is prepared. A test strategy or
definitions are a starting point for understanding the experience data can be helpful in this process. By doing this,
importance of testing in project management. The first testing would have required importance with respect to
definition is from [20], where author defines testing as involved risks. There are some guidelines to allot time and
“The process of executing a program with the intent of budget for testing of the overall project. For example, as a
finding errors.” rule of thumb 40% of project budget should be allocated to
In the above definition, the author focuses to find testing [2,13], and similarly, corresponding time and
problems in a product, whereas in [9], author focuses testing resources should be allocated. However, actual allocation
to meet the specification of the system, and define as follows: depends on the nature of a project and involved risks.
“Testing is the process of establishing confidence that a The inputs like budget, time, and resources from project
program or system does what it is supposed to.” management phases have a significant impact on testing. It
Testing phase requires the time and resources like every has a direct impact on what would be the scope (and
other phase in project management. The relation between the thoroughness) of testing will be. Therefore, the
amounts of testing, bugs, and related cost (including time identification/allocation of the testing budget and time is a
and resources) is discussed in [21], and shown in Fig. 1 for a starting point of testing.
project. This figure shows that the amount of missed bugs is III. TEST MANAGEMENT FRAMEWORK
reduced with the passage of testing; however, it increases the
cost of testing in a project. An optimal amount of testing In the context of challenging environment (discussed in
makes sure that the number of bugs is at the minimum level earlier sections), an effective way of test management is
with respect to the involved costs. required to ensure the quality of the product within defined
In many companies, testing does not get the required budget and time constraints. This goal can be achieved by
attention and a neglected area in projects [8]; therefore, applying test management in a systematic way. In the
testing activities are performed in an ad-hoc manner. In large following, we present a test management framework, which
IT projects, there are tight deadlines, limited resources, helps to conduct testing in an organization in an organized
competition, and an often small budget for testing [7]. Due to manner. Our proposed test management framework is
these reasons, systems are delivered/deployed without proper prepared after a comprehensive survey of test management
testing (possibly with undetected flaws and major risks). This literature, provided by different researchers (books and
may cause the support team to work more on user’s calls, research papers), consultants (blogs, interviews), and
and do maintenance on systems (new releases etc.) for available white papers about best practices from different
several months. Due to this, the maintenance costs in companies.
projects are increased in projects. We divide our test management framework into four
Depending on the project, post deployment fixes are at parts, as represented in Fig. 2
least 20 to 40 times more expansive compared to earlier 1. Strategic
phases (e.g. at unit tests) as indicated by industrial data [3]. 2. Operative
These failures also affect the reputation and customer’s trust. 3. Supportive
This fact gets importance in the presence of social media 4. Improvement/Controlling
limit our discussion here and do not go into details of test
strategy and its contents which are also developed.
B. Operative Part (Test Lifecycle)
In the operative part of our test management framework,
we discuss the operational phases of test management, like
what activities are performed in its different phases. The
activities of the operational part are accompanied by
different documents and activities, which comprises the
support part of our framework. The purpose of describing the
test management phases is to define the scope and context of
its activities and the corresponding phases.
1) Analysis
The analysis phase is the starting point for the operational
phases of test management. In the analysis phase of the test
management lifecycle, business requirements are collected
for the solution. A test team can also ask the stakeholders
about their visions and expectation from the product. These
requirements are analysed and translated into testing
requirements for verification and validation.
Figure 1. Test Management Framework.
In the analysis phase, sanity tests can be conducted to
determine the involved risks at an abstract level. A risk
A. Strategic Part (Test Strategy) analysis table can be prepared by listing involved risk and
The first part of the test management framework is the their possible impact on the system. After analysing the
strategic part, which discusses test management at a high risks, the project specific test strategy is prepared.
level (strategic level). In the strategic part, test strategy for The cyclic/iterative nature of the test management
the project is prepared. A test strategy is a long term battle lifecycle highlights the analysis phase again after a complete
plan to achieve the goal. In the literature, it is defined as cycle. However, at that time it is considered to take the
follows: feedback for improvement purposes.
A test strategy is a description of actions in order to 2) Plan
achieve the goals of testing efficiently and effectively. In [2], In the planning phase, a detailed test plan is prepared for
author defines as “[the test strategy] describes how the carrying out testing on the product. This detailed test plan
anticipated goal is translated into the chosen test method”. can be prepared by taking the guidelines from the project
In above definitions, “goal” is repetitive which indicates specific test strategy. The project specific test strategy is a
its importance in test strategy and test management. high level document, however, the test plan should be
Therefore, in a test strategy, we establish the goal of testing, detailed and is a must to have deliverable according to IEEE
and develop a plan to achieve this goal. 829 testing standard [11].
The goal of testing in a project must be clearly defined The test plan should discuss the details about the scope of
and communicated at all levels of testing. At a higher level, testing, involved risks with their priorities, the approach and
it should be translated into the business perspective to focus based on risks, objectives of testing at different levels,
highlight the business benefits (like minimizing risks, cost resources and tools that will be used for testing the project. A
reduction, improving quality). Similarly, goals derived at schedule to execute the test cases should also be prepared
operational level have to provide a clear objectives for the during this phase.
respective activities (like which activities contribute to the 3) Design
testing goal or organization’s goal). In the design phase, the guidelines from the analysis
The test strategy looks at the requirements or phase (test strategy) and planning phase are incorporated.
characteristics of the output/product built, the project time Test cases are prepared to test the product according to the
line and budget, and plan the test effort to assess the desired defined approach and at the required granularity level. The
product’s quality. It is used as a communication tool for project specific test strategy and test plan explain which kind
testing between different stakeholders like business of tests are executed (unit, integration, system etc.) and its
managers, testers, developers, and other stakeholders (e.g., granularity (thoroughness). In most of the cases, first the
audit team, customers). critical risks (the ones with severe impact and high
Test strategy involves defining, organizing and probability) are discovered/tested, so errors are dealt at an
controlling the process and artefacts required for the overall early stage, and then other risks (with respect to their
test management. A test strategy and its implementation are severity) are tested.
critical factors to ensure the success of test management. In this phase, test catalogues are also consulted and
Therefore, the test strategy is the core element in our test prepared to make the test cases reusable (when applicable).
management framework. Due to the scope of this paper, we Similarly, test cases design patterns [23,4], can also be
considered to prepare the test cases. During the design phase,
we can also decide which test cases should be executed result from particular test cases, and may affect the other test
automatically or manually. Mostly, the test cases that are cases if changes are made. In case if that changes are
stable (do not change in various projects) or executed required to be incorporated for improvement, then in
repeatedly should be automated for execution. subsequent planning phase, steps are taken out to carry out
4) Execute these changes.
The execution of test cases and its results are very
C. Supportive Part
important for stakeholders, as they want to know what kind
of errors do exist, what their severity is, and whether the The objective of the support part in our framework is to
system can go live within the defined budget and time. provide assistance for activities in the test management
Before test execution, the environment for testing is phases. The support can be provided in the following ways.
established. The requirements and details of the test 1) Templates and Guidelines
environment should be already defined/mentioned within the Different templates can be provided to help the testing
test strategy and test plan. Test cases are executed to team at the analysis and planning phase. For example, the
determine whether the system works according to the generic test strategy template will help to build the project
expectations or not. The execution of test cases can be specific test strategy. Consequently, the project specific test
carried out manually or automatically. The execution of each strategy will help to build the master or detailed test plan.
test case is carried out by a defined test execution plan. Some of these templates are also available over the Internet.
During the execution phase, testers execute the test cases For example, the IEEE 829 [11] test plan document
and record its logs (test logs). The result of the test cases are describes what should be the contents of a test plan
also prepared and used for the evaluation of the test cases document. However, it should be noted that some of these
and the system. templates are over-engineered and may not fit well in a
5) Evaluate project. Similarly, guidelines (and methods) exist to build
The results of test cases execution are collected for traceability matrics for requirements, test cases and risks.
evaluation. The evaluation is carried out in two perspectives, 2) Patterns and Catalogues
one is to evaluate the quality of the testing process itself Patterns are used as a guideline to solve recurring
(e.g., test cases) and the other is to evaluate/assess the quality problems. Similarly, in testing, test patterns exist to test the
of the product. product. The benefits of these patterns are that they are
Different measures and metrics are calculated to evaluate established practices which were successful in various
the performance of testing (defect detection rate, test projects. These patterns can be applied while designing the
coverage etc.). Similarly, benchmarks also exist for the com- test cases. For example, for data testing patterns exist to test
parison between testing approaches. These benchmarks data aspects of the system. Similarly, test catalogues also
recommend that a certain percentage of bugs should be exist to reuse the test cases in various projects. If a test
detected at different levels of testing. These measurements catalogue does not exist in an organization, then it should be
provide insights towards the quality of a system/product. prepared over time as an organizational testing asset.
Once the bugs are detected they are recorded and stored. 3) Tools and Automation
A bug is something where the application deviates from the The test management phases and their activities are
predefined expected results. It may cause a failure in the supported by tools, which help to conduct testing activities
system or make it crash. All bugs should be recorded and an efficiently within the whole lifecycle of testing (from the
assessment of its severity should be made. Depending on its analysis phase to feedback phase). For example, test
severity an issue should be created and reported to concerned automation tools execute the test cases automatically which
members in order to resolve it. After the removal of bugs, the is very time saving and cost effective. These tools also
product is tested again and the issue is marked as resolved. prepare and present the test report(s) for evaluation and
Test reports should be prepared to update the involved analysis. Test management tool/s should support all phases
stakeholders. Depending on the test’s results, testing can be of the test management lifecycle.
finished (planned test successfully completed without further 4) Heuristics, Benchmarks and Case Studies
errors) or further continued (unsolved errors, remaining The test management phases are also supported by
potential risks, and test cases). heuristics, benchmarks, and case studies (best practices).
6) Feedback Heuristics can be used to define the budget, time, and
Within the feedback phase, the findings from the resources for testing. Benchmarks can be used to evaluate the
evaluation phase are analysed. In example, it is documented performance of testing and similarly case studies or best
which test cases explored the system functionality or what practices can be consulted to improve the test process.
changes should be made at the test phases/cases to achieve
better results. Similarly in feedback phase, we can also state D. Improvement Part
which measures are necessary to prevent errors, which errors The improvement and controlling part of the test
we made in current iteration and should be avoided in the management framework emphasize to continuously improve
future, and what tests are unnecessary. the respective test management phases and their elements.
In the subsequent analysis phase, the recommendations This includes taking the feedback from involved
from the feedback phase are analysed in a broader context. stakeholders (business managers, testing team). All phases,
This is due to the fact, that those recommendations may their supporting documents, and the activities should be
investigated for potential improvements. With such efforts, conduct the activities in different phases of testing. Based on
the organization tries to manage testing in an optimized way user’s requirement specific to the project, test management
as suggested by the TMMi framework [5]. For example, over tool evaluation has been also carried out. The results of this
several projects it should be investigated how well the evaluation will be published in future. Similarly, different
generic test strategy is contributing to the organization, templates are provided to support the planning and
which areas of the generic test strategy can be improved and management activities (test plan template and checklists).
what changes are common in various projects. Similarly, it The proposed framework has the following implications
should be investigated how good the estimations about at different organizational levels as well as in phases of
budgets and time were made for previous projects, what the project management and test management.
current standards of testing in practice are, and how the
organization can achieve the best test management practices.
In Fig. 2, five levels of maturity are represented from TMMi
framework [5].