0% found this document useful (0 votes)
59 views28 pages

Ste Unit 3 Notes

Uploaded by

jitupardhi2006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
59 views28 pages

Ste Unit 3 Notes

Uploaded by

jitupardhi2006
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 28

UNIT-3 Marks-14

Test Management

3.1 Test Planning: Preparing a Test Plan, Deciding


Test Approach, Setting up criteria for testing,
Identifying responsibilities, Staffing, Resource
Requirements, Test Deliverables, Testing Tasks.
3.2 Test Management: Test Infrastructure
Management, Test people Management.
3.3 Test Process: Base Lining a Test Plan, Test Case
Specification.
3.4 Test Reporting: Executing Test Cases, Preparing
Test Summery Report.
3.1 Test Planning:
Test plan: A document describing the scope,
approach, resources and schedule of intended test
activities. It identifies amongst others test items, the
features to be tested, the testing tasks, who will do
each task, degree of tester independence, the test
environment, the test design techniques and entry
and exit criteria to be used, and the rationale for their
choice and any risks requiring contingency planning.
It is a record of the test planning process.
Master test plan: A test plan that typically addresses
multiple test levels.
Phase test plan: A test plan that typically addresses
one test phase.
# Preparing a Test Plan:
To determine the scope and the risks that need to be
tested and that are NOT to be tested.
❖Documenting Test Strategy.
❖Making sure that the testing activities have been
included.
❖Deciding Entry and Exit criteria. Evaluating the test
estimate.
❖Planning when and how to test and deciding how
the test results will be evaluated, and defining test
exit criterion.
❖The Test is facts delivered as part of test execution.
❖Defining the management information, including
the metrics required and defect resolution and risk
issues.
❖Ensuring that the test documentation generates
repeatable test assets.
# Deciding Test Approach:

There are many strategies that a project can adopt


depending on the context and some of them are:
• Dynamic and heuristic approaches
• Consultative approaches
• Model-based approach that uses statistical
information about failure rates.
• Approaches based on risk-based testing where the
entire development takes place based on the risk
• Methodical approaches which is based on failures.
• Standard-compliant approach specified by
industry-specific standards.
Factors to be considered:
• Risks of product or risk of failure or the
environment and the company
• Expertise and experience of the people in the
proposed tools and techniques.
• Regulatory and legal aspects, such as external
and internal regulations of the development
process
• The nature of the product and the domain

# setting up criteria for testing:

Who does Testing?


It depends on the process and the associated
stakeholders of the project(s). In the IT industry,
large companies have a team with responsibilities to
evaluate the developed software in context of the
given requirements. Moreover, developers also
conduct testing which is called Unit Testing. In most
cases, the following professionals are involved in
testing a system within their respective capacities −
• Software Tester
• Software Developer
• Project Lead/Manager
• End User
Different companies have different designations for
people who test the software on the basis of their
experience and knowledge such as Software Tester,
Software Quality Assurance Engineer, QA Analyst,
etc.
It is not possible to test the software at any time
during its cycle. The next two sections state when
testing should be started and when to end it during
the SDLC.
When to Start Testing?
An early start to testing reduces the cost and time to
rework and produce error-free software that is
delivered to the client. However in Software
Development Life Cycle (SDLC), testing can be started
from the Requirements Gathering phase and
continued till the deployment of the software.
It also depends on the development model that is
being used. For example, in the Waterfall model,
formal testing is conducted in the testing phase; but
in the incremental model, testing is performed at the
end of every increment/iteration and the whole
application is tested at the end.
Testing is done in different forms at every phase of
SDLC −
• During the requirement gathering phase, the
analysis and verification of requirements are also
considered as testing.
• Reviewing the design in the design phase with the
intent to improve the design is also considered as
testing.
• Testing performed by a developer on completion of
the code is also categorized as testing.

When to Stop Testing?


It is difficult to determine when to stop testing, as
testing is a never-ending process and no one can
claim that software is 100% tested. The following
aspects are to be considered for stopping the testing
process −
• Testing Deadlines
• Completion of test case execution
• Completion of functional and code coverage to a
certain point
• Bug rate falls below a certain level and no high-
priority bugs are identified
• Management decision

# Identifying responsibilities
Test lead/manager: A test lead is responsible for:
• Defining the testing activities for subordinates –
testers or test engineers.
• All responsibilities of test planning.
• To check if the team has all the necessary
resources to execute the testing activities.
• To check if testing is going hand in hand with the
software development in all phases.
• Prepare the status report of testing activities.
• Required Interactions with customers.
• Updating project manager regularly about the
progress of testing activities.

Test engineers/QA testers/QC testers are


responsible for:
• To read all the documents and understand what
needs to be tested.
• Based on the information procured in the above
step decide how it is to be tested.
• Inform the test lead about what all resources will
be required for software testing.
• Develop test cases and prioritize testing activities.
• Execute all the test case and report defects, define
severity and priority for each defect.
• Carry out regression testing every time when
changes are made to the code to fix defects.

# Staffing
• Provide the information about the test team size
and number of resources required to be delivered
to them. Then our test plan must give information
about description and distribution of every task in
high level terms.
• It should also provide information of number of
individuals required for each role and if multiple
roles are required for certain number of
individuals.
• It is important to state when and how long each
resource will be required. According to this, define
the resource estimate calculations.
# Resource Requirements
Resource requirement is a detailed summary of all
types of resources required to complete project task.
Resource could be human, equipment and materials
needed to complete a project.
Some of the following factors need to be considered:
• Machine configuration (RAM, processor, disk)
needed to run the product under test.
• Overheads required by test automation tools, if
any
• Supporting tools such as compilers, test data
generators, configuration management tools.
• The different configurations of the supporting
software(e.g. OS)that must be present
• Special requirements for running machine-
intensive tests such as load tests and
performance tests.
• Appropriate number of licenses of all the software
# Test Deliverables
List test deliverables, and links to them if available,
including the following:

• Test Plan (this document itself)


• Test Cases
• Test Scripts
• Test Data
• Defect Reports
• Test Reports

# Testing Tasks

There are two main Parts of Test Management


Process: -
❖ Planning
1. Risk Analysis
Risk Analysis is the first step which Test Manager
should consider before starting any project.
Because all projects may contain risks, early risk
detection and identification of its solution will help
Test Manager to avoid potential loss in the future
& save on project cost.
2. Test Estimation
An estimate is a forecast or prediction. Test
Estimation is approximately determining how
long a task would take to complete. Estimating
effort for the test is one of
the major and important tasks in Test
Management.
3. Test Planning
In software testing, a test plan gives detailed testing
information regarding an upcoming testing effort,
including:
• Test Strategy
• Test Objective

• Exit /Suspension Criteria

• Resource Planning

• Test Deliverables

4. Test Organization
Now you have a Plan, but how will you stick to the
plan and execute it? To answer that question, you
have Test Organization phase.
Generally speaking, you need to organize an
effective Testing Team. You have to assemble a
skilled team to run the ever-growing testing engine
effectively.

❖Execution
5. Test Monitoring and Control
Test Monitoring and Control is the process of
overseeing all the metrics necessary to ensure that
the project is running well, on schedule, and not
out of budget.
Monitoring:
Monitoring is a process of collecting, recording
and reporting information about the project
activity that the project manager and stakeholder
needs to know
Control:
Project Controlling is a process of using data from
monitoring activity to bring actual performance to
planned performance.
In this step, the Test Manager takes action to
correct the deviations from the plan. In some
cases, the plan has to be adjusted according to
project situation.
6. Issue Management
In the life cycle of any project, there will be always
an unexpected problems and questions that crop
up. For an example:
• The company cuts down your project budget
• Your project team lacks the skills to complete
project
• The project schedule is too tight for your team to
finish the project at the deadline.
Risk to be avoided while testing:
• Missing the deadline
• Exceed the project budget
• Lose the customer trust

7. Test Report and Evaluation


• “Test Evaluation Report” describes the results of
the Testing in terms of Test coverage and exit
criteria. The data used in Test Evaluation are
based on the test results data and test result
summary.
3.2 Test Management:
# Test Infrastructure Management:
What Is Infrastructure?
IT Infrastructure Ecosystem includes
• Operating Systems platforms (such as Windows,
UNIX, Linux, Mac OS)
• Computer Hardware platforms (such as Dell,
IBM, Sun, HP, Apple)
• Internet platforms (such as Apache, Cisco,
Microsoft IIS, .NET), Data Management and
Storage (such as IBM DB2, Oracle, SQL Server,
MySQL)
• Enterprise Software Applications (such as SAP,
Oracle, Microsoft).
What Is Infrastructure Testing?
Every software requires an infrastructure to perform
its actions. Infrastructure testing is the testing
process that covers hardware, software, and
networks. It reduces the risks of failure.
Why Infrastructure Testing Is Needed?
Infrastructure testing is needed to mitigate the risk of
failure of any hardware or software component. When
new infrastructure design is prepared for the
software, it becomes necessary to perform this
testing. It is needed to ensure if new infrastructure
functionality is working as intended. Issues arise
more likely when a new infrastructure module is
integrated with the project.

What Are The Benefits Of Infrastructure Testing?


1. Reduction in Production failures.
2. Improvement in defect identification before
production execution. Upgrade the quality of
infrastructure with zero defect slippage to
production.
3. Quickened test execution, empowering early go
live.
4. It helps in annual cost savings in operations as
well as in business.
5. Confirm that software works in a systematic and
controlled procedure.
6. Reduction in downtime.
7. Improvement in quality of service.
8. Availability of stable environments.
9. Reduction in the cost involved in risks.
10. Better user experience.
Who Can Perform Infrastructure Testing?

When To Perform Infrastructure Testing?


# Test people Management:
People management is an integral part of any project
management and test planning.
People management also requires the ability to hire,
motivate, and retain the right people.
These skills are seldom formally taught.
Testing projects present several additional challenges.
We believe that the success of a testing organization
depends vitally on judicious people management
skills.
Test Lead responsibilities and activities:
• Identify how the test teams formed and aligned
within organization
• Decide the roadmap for the project
• Identify the scope of testing using SRS
documents.
• Discuss test plan, review and approve by
management/ development team.
• Identify required metrics
• Calculate size of project and estimate efforts and
corresponding plan.
• Identify skill gap and balance resources and need
for training education.
• Identify the tools for test reporting, test
management, test automation, Create healthy
environment for all resources to gain maximum
throughput.
• Identify how the test teams formed and aligned
within organization management/ development
team.
Test team responsibilities and activities:
• Initiate the test plan for test case design Conduct
review meetings
• Monitor test progress, check for resources,
balancing and allocation
• Check for delays in schedule discuss, resolve risks
if any.
• Intimate status to stake holders and management
• Bridge the gap between test team and
management.
Consider followings for managing test
• Understand testers
• Test work environment
• Role of the test team
3.3 Test Process:
#Base Lining a Test Plan
Baseline testing is a type of non-functional testing.
This test measures important characteristics and
requirements. A benchmark is about analyzing the
relative performance of an application.

Baseline is a formal document which acts as a base


document for future work. Talking in layman
language, for making a building, you require base.
Same thing applies to testing. First of all, it is very
important to know that it is non-functional testing
which means it has nothing to do with testing of
functionality of application. So it can be said that it
acts as a base for future development whatever it is.
It may be performance, test case development.

Advantages of Baseline Testing

• It helps in creating a line that creates a base for


any construction types such as measurements,
comparisons and calculations.
• Using this type of testing, many problems related
to software are easily solved. The process of
resolving critical issues begins from the scratch.
• This type of software testing saves a lot of time as
compared to other types of performance testing
software’s that takes more time to conduct test
cycles.
• Sort complex processes.
• Concerning the quality characteristics of the
specific functions, the test focuses on the quality.
• The tests in model-based testing allow automation
and this factor add effectiveness to the testing
method.

Importance of Baseline Testing

Baseline analyzes the benchmarks of performance in


relation to the performance of an application. In other
words, the application has gaps in it. Hence, a
comparison is done for a new application and or an
unidentified application.

Baseline Testing Facts


▪ It is one of the type of non-functional testing.
▪ It refers to the validation of documents and likewise
specifications on which test cases would be designed.
The requirement specification validation is baseline
testing.
Baseline testing is a type of testing which follows the
requirement and specifications on the base of which a
tester write test cases. It is a non functional type of
testing performs on the bases of upper and lower limit
of the application.

#Test Case Specification


Test Case Specification:
Test case is a well-documented procedure designed to
test the functionality of the feature in the system.
For designing the test case, it needs to provide set of
inputs and its corresponding expected outputs.
Parameters:
1. Test case ID: is the identification number given to
each test case.
2. Purpose: defines why the case is being designed.
3. Precondition: for running in the system can be
defined, if required, in the test case.
4. Input: should not hypothetical. Actual inputs must
be provided, instead of general inputs.
Using the test plan as the basis, the testing team
designs test case specification, which then becomes
the basis for preparing individual test cases. Hence,
a test case specification should clearly identify,
1. The purpose of the test: This lists what features
or part the test is intended for.
2. Items being tested, along with their
version/release numbers as appropriate.
3. Environment that needs to be set up for
running the test cases: This includes the hardware
environment setup, supporting software environment
setup, setup of the product under test.
4. Input data to be used for the test case: The
choice of input data will be dependent on the test
case itself and the technique followed in the test case.
5. Steps to be followed to execute the test: If
automated testing is used, then, these steps ate
translated to the scripting language of the tool.
6. The expected results that are considered to be
“correct result”.
7. A step to compare the actual result produced
with the expected result:
This step should do an “intelligent” comparison of the
expected and actual results to highlight any
discrepancies.
8. Any relationship between this test and other
test: These can be in the form of dependencies among
the tests or the possibilities of reuse across the tests.
3.4 Test Reporting:
#Executing Test Cases
Test execution is the process of executing the code
and comparing the expected and actual results.
Following factors need to be considered for a test
execution process −
• Based on a risk, select a subset of test suite to be
executed for this cycle.
• Assign the test cases in each test suite to testers
for execution.
• Execute tests, report bugs, and capture test status
continuously.
• Resolve blocking issues as they arise.
• Report status, adjust assignments, and reconsider
plans and priorities daily.
• Report test cycle findings and status.
The following points need to be considered for
Test Execution.
• In this phase, the QA (Quality Assurance) team
performs actual validation of AUT (Application
Under Test) based on prepared test cases and
compares the stepwise result with the expected
result.
• The entry criteria of this phase is completion of the
Test Plan and the Test Cases Development phase,
the test data should also be ready.
• The validation of Test Environment setup is always
recommended through smoke testing before
officially entering the test execution.
• The exit criteria require the successful validation
of all Test Cases, Defects should be closed or
deferred, test case execution and defect summary
report should be ready.

#Preparing Test Summery Report


Test reporting is a means of achieving communication
through the testing cycle. There are 3 types of test
reporting.
1. Test incident report
2. Test cycle report:
3. Test summary report

Test summary report:


The final step in a test cycle is to recommend the
suitability of a product for release. A report that
summarizes the result of a test cycle is the test
summary report. There are two types of test summary
report:
1. Phase wise test summary, which is produced at the
end of every phase
2. Final test summary report.
A Summary report should content:
1. Test Summary report Identifier
2. Description: Identify the test items being reported
in this report with test id
3. Variances: Mention any deviation from test plans,
test procedures, if any.
4. Summary of results: All the results are mentioned
here with the resolved incidents and their solutions.
5. Comprehensive assessment and recommendation
for release should include Fit for release assessment
and recommendation of release.

OR
This section includes the summary of testing activity
in general. Information detailed here includes
• The number of test cases executed
• The numbers of test cases pass
• The numbers of test cases fail
• Pass percentage
• Fail percentage
• Comments
This information should be displayed visually by
using color indicator, graph, and highlighted table.
Test report is a communication tool between the
Test Manager and the stakeholder. Through the test
report, the stakeholder can understand the project
situation, the quality of product and other things.

The information of that report is too abstract. It does


not have any detailed information. The stakeholder
who will read it might be slightly puzzled when they
get it. They might ask or have following sets of
questions: -
• Why did they not execute 30 TCs that remains
• What are these failed Test Cases
• Doesn't have any bugs description
To solve that problem, a good Test Report should
be:

• Detail: You should provide a detailed description


of the testing activity, show which testing you
have performed. Do not put the abstract
information into the report, because the reader
will not understand what you said.
• Clear: All information in the test report should
be short and clearly understandable.
• Standard: The Test Report should follow
the standard template. It is easy for stakeholder
to review and ensure the consistency between
test reports in many projects.
• Specific: Do not write an essay about the project
activity. Describe and summarize the test result
specification and focus on the main point.

You might also like