Professional Documents
Culture Documents
Look for all errors in this document and fix them highlighting the
changes
4TH SOURCE
1 Introduction
This document provides the Testing Strategy for the logbooks application. It includes the following
components:
This test strategy is a planning tool that will provide the starting point for detailed test planning during
the Execute stage.
1.2 Objective
The objectives of this document are the definitions of test activities, creations of test artefacts that will
be used to manage the test activities or the issue tracking.
Page 1 of 17
Determine the need of a systems integration test by identifying key system interfaces.
Identify performance assurance requirements.
This document provides an overall view about the “Logbooks” application; in this document you can find
information about the current process of request access, permissions and other activities.
(-)This document could be consulted on what development tools will be used in the creation of the
application according to the defined requirements. The analysis that determines the use of these tools is
not covered in this document.
Additionally, the information regarding the testing process that will be performed in the application can
be consulted, principally the next information:
For more details about the testing process consult the “Test Plan for logbooks” document. Which can be
located at the next path: <path>
Page 2 of 17
2 Abbreviation and Terminology
Abbreviations / Definition
Acronyms
Terminology
TBD To be defined
PM Project Manager
DEV Development
MS Microsoft
IDE Integrated Development Environment
QA Quality Assurance
IT Technology Information
Page 3 of 17
3 Project Overview and Background
Regeneron Logbook process is a very important part of the company’s procedures; it is used in order to
keep track of tasks that are needed to be recorded in a cyclic manner.
The current procedure is lengthy and costly; time and money-wise because of the following reasons:
It is a very labor-intensive activity due to the manual manipulation that it’s storage, retrieval and
creation require.
Is highly prone to Human Errors since the validation, transcription, transposing and
timestamping are all manual.
The control of it is done thru Brute Force which uses lock and keys.
There are multiple non value added activities such as corrections and reconciliation of records
that needs to be performed in order to achieve a higher conformance control and still the
current effectiveness of the process is still around 50%.
Page 4 of 17
4 Testing Strategy
4.1 Test Strategy
Testing Methodology
This section outlines the testing methodology and the testing procedures for each testing.
Develop Test Plan
The Test plan is developed to describe and justify the test strategy in relation to technical requirements
and risk. The test plan brings visibility on the test design and execution based on the defined strategy.
The main purpose of a test plan is to:
Test Plan
The purpose of a Test Plan is to identify the testing to be conducted for specific Releases to perform the
System Test. The responsibility for the Test Plan’s resides within the deliverables of the Test Managers
and their Leads.
This report is covered with the test artefact: “Status Template” resuming all the performed activities in a
single file. Which can be located at the next path: <path>
Page 6 of 17
4.2 Testing Types
• Unit / Component Testing
Unit testing is a level of software testing where individual units/ components of software are tested. The
purpose is to validate that each unit of the software performs as designed.
In object-oriented programming, the smallest unit is a method, which may belong to a base/ super class,
abstract class or derived/ child class. (Some treat a module of an application as a unit. This is to be
discouraged as there will probably be many individual units within that module.)
Unit testing frameworks, drivers, stubs, and mock/ fake objects are used to assist in unit testing.
• System Testing
System testing of software or hardware is testing conducted on a complete, integrated system to
evaluate the system's compliance with its specified requirements. System testing falls within the scope
of black-box testing, and as such, should require no knowledge of the inner design of the code or logic.
As a rule, system testing takes, as its input, all of the "integrated" software components that have
passed integration testing and also the software system itself integrated with any applicable hardware
system(s). The purpose of integration testing is to detect any inconsistencies between the software units
that are integrated together (called assemblages) or between any of the assemblages and the hardware.
System testing is a more limited type of testing; it seeks to detect defects both within the "inter-
assemblages" and also within the system as a whole.
System testing is the functional and non-functional testing of the entire deliverable system, and the
interfaces between the various components.
• Regression Testing
Regression testing is the process of testing changes to computer programs to make sure that the older
features still works with the new changes. Regression testing is a normal part of the program
development process and, in larger companies, is done by code testing specialists. Automation
department coders develop code test scenarios and exercises that will test new units of code after they
have been written. These test cases form what becomes the test bucket. Before a new version of a
software product is released, the old test cases are run against the new version to make sure that all the
old capabilities still work. The reason they might not work is because changing or adding new code to a
program can easily introduce errors into code that is not intended to be changed.
Page 7 of 17
• Integration Testing
Integration testing is a logical extension of unit testing. In its simplest form, two units that have already
been tested are combined into a component and the interface between them are tested. A component,
in this sense, refers to an integrated aggregate of more than one unit. In a realistic scenario, many units
are combined into components, which are in turn aggregated into even larger parts of the program. The
idea is to test combinations of pieces and eventually expand the process to test your modules with
those of other groups. Eventually all the modules making up a process are tested together. Beyond that,
if the program is composed of more than one process, they should be tested in pairs rather than all at
once.
Integration testing identifies problems that occur when units are combined. By using a test plan that
requires you to test each unit and ensure the viability of each before combining units, you know that
any errors discovered when combining units are likely related to the interface between units. This
method reduces the number of possibilities to a far simpler level of analysis.
• Performance Testing
Performance testing is the process of determining the speed or effectiveness of a computer, network,
software program or device. This process can involve quantitative tests done in a special environment
similar to the production environment, such as measuring the response time or the number of MIPS
(millions of instructions per second) at which a system functions.
Qualitative attributes such as reliability, scalability and interoperability may also be evaluated.
Performance testing is often done in conjunction with stress testing.
Page 8 of 17
5 Testing Approach
Test Type Objectives Time frame
Functional testing The objectives are to verify that the
application:
Meets the defined
requirements;
Performs and functions
accurately;
Correctly handles error
conditions;
Interfaces function correctly;
Data load is successful.
Functional testing will occur in an
iterative and controlled manner,
ensuring the solution matches the
defined requirements.
6 Testing Environments
A testing environment is a setup of software and hardware on which the testing team is going to
perform the testing of the newly built software product. This setup consists of the physical setup which
includes hardware, and logical setup that includes Server Operating system, client operating system,
Page 9 of 17
database server, front end running environment, browser (if web application), IIS (version on server
side) or any other software components required to run this software product.
This testing setup is to be built on both the ends – i.e. the server and client.
At least a Test environment is required, the principally features or rules that must be having are:
7 Testing Tools
The defined testing tools to be implementing in the testing process are:
Test Cases Status Template for bugs management
Test summary report
Defect details template
At unit level: an item will pass until it has no unexpected actions and it works according to what
is outlined as the intended course of action.
At release level: QA sign off for the release will be provided when the code passes 100% of the
test cases, with no pending defects pending.
Page 10 of 17
Exceptions apply to any change request or backlog defect scheduled for a different release. Other
exception may apply if the PM and Business owners provide written confirmation that certain
module/requirement/item can be released even if it is not working as expected and QA/development
are ok with it.
Severity Description
Critical Defect causes critical loss of business functionality or a complete loss of service.
Defect causes a major impact on business functionality and there is not an interim
Major
workaround available.
Defect causes minor impact on business functionality and there is an interim
Minor
workaround available.
Trivial Defect is cosmetic only and usability is not impacted.
This manages is covered with the test artefact: "Test Cases Status Template", the importance of the
issues are determined by their severity and according with customer needs. The determination of issues
to be fixed and tested is performed by Team Leader and is ruled in accordance to the importance of the
functionalities blocked by them and their severity.
• Risk identifications
As it is said, the first step to solving a problem is identifying it. This stage involves making a list of
everything that might potentially come up and disrupt the normal flow of events.
Page 11 of 17
• Risk assessment / Risk impact analysis
All the risks are quantified and prioritized in this step. Every risk’s probability (the chance of occurrence)
and impact (amount of loss that it would cause when this risk materializes) are determined
systematically.
High – medium – low, values are assigned to both the probability and impact for each risk. The risks
with “high” probability and “High” impact must be taken in care first and then the order follows.
• Risk mitigation
The final step in this Risk Based Testing (RBT) process is to find solutions to plan how to handle each one
of these situations.
Page 12 of 17
8.8 Exit Criteria Risks Assessment
The purpose of the Exit Criteria Risk Assessment process is to evaluate the finalization and completeness
of a testing Release.
A traceability matrix is used to verify that all stated and derived requirements are allocated to system
components and other deliverables (forward trace).
The matrix is also used to determine the source of requirements (backward trace).
Requirements traceability includes tracing to things other than software that satisfy the requirements
such as capabilities, design elements, manual operations, tests, etc.
The traceability matrix is also used to ensure all requirements are met and to locate affected system
components when there is a requirements change.
The ability to locate affected components allows the impact of requirements changes on the system to
be determined, facilitating cost, benefit, and schedule estimates.
1. Project Manager
Responsibilities:
2. Team Leader
Responsibilities:
Analyze Business Process, Business Requirement, Functional Specification
Participate in Planning Activities
3. Developer
Responsibilities:
Develop system/application
Business Analyst and Test Leader Interaction
5. QA Leader
Responsibilities:
Analyzing Test Requirement
Designing Test Strategy, and Test Methodology, RTM
Designing Test Cases, Test Data
Page 14 of 17
6. QA
Responsibilities:
Test Preparation
Test Execution
Raising and Tracking Defect
Triage Resolution
Page 15 of 17
11 Risks
Test strategy is based on risk assessment. This means assessing the damage of the consequences of
defects, both undetected prior to operation and occurring during operation.
Risk assessment takes place on the basis of quality characteristics and subsystems. For instance, if the
system is insufficiently user-friendly, what the negative consequences will be.
Page 16 of 17