0% found this document useful (0 votes)
27 views12 pages

Unit 4 Software Testing

software testing notes chapter 4

Uploaded by

wasnikbadal4
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
0% found this document useful (0 votes)
27 views12 pages

Unit 4 Software Testing

software testing notes chapter 4

Uploaded by

wasnikbadal4
Copyright
© © All Rights Reserved
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1/ 12

Unit-4

4.1Test Management
Test Management is a process of managing the testing activities in
order to ensure high quality and high-end testing of the software
application. The method consists of organizing, controlling, ensuring
traceability and visibility of the testing process in order to deliver a
high-quality software application. It ensures that the software testing
process runs as expected.
Test Management Phases

Test Management Process


Test Management Process is a procedure of managing the software
testing activities from start to end. The test management process
provides planning, controlling, tracking, and monitoring facilities
throughout the whole project cycle. The process involves several
activities like test planning, designing, and test execution. It gives an
initial plan and discipline to the software testing process. To help
manage and streamline these activities, consider using one of
these top test management tools.
There are two main parts of Test Management Process: –

 Planning
1. Risk Analysis
2. Test Estimation
3. Test Planning
4. Test Organization
 Execution

1. Test Monitoring and Control


2. Issue Management
3. Test Report and Evaluation

Planning
Risk Analysis and Solution
Risk is the potential loss (an undesirable outcome, however not
necessarily so) resulting from a given action or an activity.

Risk Analysis is the first step that 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 costs.

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.

Benefits of correct estimation:

1. Accurate test estimates lead to better planning, execution, and


monitoring of tasks under a test manager’s attention.
2. Allow for more accurate scheduling and help realize results
more confidently.
Test Planning
A Test Plan can be defined as a document describing
the scope, approach, resources, and schedule of intended Testing
activities.

A project may fail without a complete Test Plan. Test planning is


particularly important in large software system development.

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

Test Organization
Test Organization in Software Testing is a procedure of defining
roles in the testing process. It defines who is responsible for which
activities in the testing process. The same process also explains test
functions, facilities, and activities. The competencies and knowledge
of the people involved are also defined. However, everyone is
responsible for the quality of the testing process.

Execution
Test Monitoring and Control
What will you do when your project runs out of
resources or exceeds the time schedule? You need to Monitor and
Control Test activities to bring it back on schedule.

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.

4.2What is Test Plan:


A test plan is a document that consists of all future testing-related
activities. It is prepared at the project level and in general, it defines work
products to be tested, how they will be tested, and test type distribution
among the testers. Before starting testing there will be a test manager who
will be preparing a test plan. In any company whenever a new project is
taken up before the tester is involved in the testing the test manager of the
team would prepare a test Plan.
 The test plan serves as the blueprint that changes according to the
progressions in the project and stays current at all times.
 It serves as a base for conducting testing activities and coordinating
activities among a QA team.
 It is shared with Business Analysts, Project Managers, and anyone
associated with the project.
4.3Components and Attributes of Test Plan :

1. Objective: It describes the aim of the test plan, whatever the good
process and procedure they are going to follow to give quality software to
customers. The overall objective of the test is to find as many defects as
possible and to make software bug-free. The test objective must be broken
into components and sub-components. In every component following
activities should be performed.
 List all the functionality and performance to be tested.
 Make goals and targets based on the application feature.
2. Scope: It consists of information that needs to be tested concerning an
application. The scope can be divided into two parts:
 In-Scope: The modules that are to be tested rigorously.
 Out Scope: The modules that are not to be tested rigorously.
Example: In an application A, B, C, and D features have to be developed,
but the B feature has already been designed by other companies. So the
development team will purchase B from that company and perform only
integrated testing with A, B, and C.
3. Testing Methodology: The methods that are going to be used for testing
depend on application to application. The testing methodology is decided
based on the feature and application requirements.
Since the testing terms are not standard, one should define what kind of
testing will be used in the testing methodology. So that everyone can
understand it.
4. Approach: The approach of testing different software is different. It
deals with the flow of applications for future reference. It has two aspects:
 High-Level Scenarios: For testing critical features high-level scenarios
are written. For Example, login to a website, and book from a website.
 The Flow Graph: It is used when one wants to make benefits such as
converging and merging easy.
5. Assumption: In this phase, certain assumptions will be made.
Example:
 The testing team will get proper support from the development team.
 The tester will get proper knowledge transfer from the development
team.
 Proper resource allocation will be given by the company to the testing
department.
6. Risk: All the risks that can happen if the assumption is broken. For
Example, in the case of wrong budget estimation, the cost may overrun.
Some reason that may lead to risk is:
 Test Manager has poor management skills.
 Hard to complete the project on time.
 Lack of cooperation.
7. Mitigation Plan: If any risk is involved then the company must have a
backup plan, the purpose is to avoid errors. Some points to resolve/avoid
risk:
 Test priority is to be set for each test activity.
 Managers should have leadership skills.
 Training course for the testers.
8. Roles and Responsibilities: All the responsibilities and role of every
member of a particular testing team has to be recorded.
Example:
 Test Manager: Manages the project, takes appropriate resources, and
gives project direction.
 Tester: Identify the testing technique, verify the test approach, and save
project costs.
9. Schedule: Under this, it will record the start and end date of every
testing-related activity. For Example, writing the test case date and ending
the test case date.
10. Defect Tracking: It is an important process in software engineering as
lots of issue arises when you develop a critical system for business. If there
is any defect found while testing that defect must be given to the developer
team. There are the following methods for the process of defect tracking:
 Information Capture: In this, we take basic information to begin the
process.
 Prioritize: The task is prioritized based on severity and importance.
 Communication: Communication between the identifier of the bug and
the fixer of the bug.
 Environment: Test the application based on hardware and software.
Example: The bug can be identified using bug-tracking tools such as Jira,
Mantis, and Trac.
11. Test Environments: It is the environment that the testing team will
use i.e. the list of hardware and software, while testing the application, the
things that are said to be tested will be written under this section. The
installation of software is also checked under this.
Example:
 Software configuration on different operating systems, such as
Windows, Linux, Mac, etc.
 Hardware Configuration depends on RAM, ROM, etc.
12. Entry and Exit Criteria: The set of conditions that should be met to
start any new type of testing or to end any kind of testing.
Entry Condition:
 Necessary resources must be ready.
 The application must be prepared.
 Test data should be ready.
Exit Condition:
 There should not be any major bugs.
 Most test cases should be passed.
 When all test cases are executed.
Example: If the team member reports that 45% of the test cases failed,
then testing will be suspended until the developer team fixes all defects.
Example of Test Plan

13. Test Automation: It consists of the features that are to be automated


and which features are not to be automated.
 If the feature has lots of bugs then it is categorized as Manual Testing.
 If the feature is frequently tested then it can be automated.
14. Effort Estimation: This involves planning the effort that needs to be
applied by every team member.
15. Test Deliverables: It is the outcome from the testing team that is to be
given to the customers at the end of the project.
Before the testing phase:
 Test plan document.
 Test case document.
 Test design specification.
During the testing phase:
 Test scripts.
 Test data.
 Error logs.
After the testing phase:
 Test Reports.
 Defect Report.
 Installation Report.
It contains a test plan, defect report, automation report, assumption report,
tools, and other components that have been used for developing and
maintaining the testing effort.
16. Template: This is followed by every kind of report that is going to be
prepared by the testing team. All the test engineers will only use these
templates in the project to maintain the consistency of the product.
4.5Test Process
Software testing is an important part of the Software Development Life Cycle. It
helps find defects and bugs in the software applications and ensures their fix
before being released into the market. The steps or phases involved in software
testing are regarded as a test process.

In other words, the test process evaluates the software applications and their
components to find their compliance with the Software Requirements
Specification (SRS) with the intent to identify errors.

The test process involves identifying defects, validating functionality, and


verifying if the software applications meet the specified requirements. It follows
an order of gathering information, analyzing data, and executing tests. It involves
careful planning, execution, analysis, reporting, and continuous improvement to
ensure reliable and accurate results.
The testing process holds great significance across various industries and
domains. It is pivotal in ensuring product, system, software, and service quality,
reliability, and effectiveness. Here are some key reasons why the test process is
important:

 Quality Assurance: Testing is an integral part of the quality assurance


process. An accurate testing process helps detect defects, bugs, and errors
during the early stages of development, allowing for timely fixes before the
product is released. It builds trust and confidence among customers and users
by ensuring high-quality software applications and services.
 Risk Mitigation: The testing process helps mitigate risks associated with
software applications. By identifying potential issues and vulnerabilities,
testing allows organizations to proactively address them, minimizing the
chances of failures, security breaches, or other adverse events that could
significantly impact business operations.
 Verification and Validation: The testing process is crucial in verifying that
software applications meet the specified requirements and functions as
intended. It validates whether the implemented solution aligns with the
desired functionality, usability, performance, and other critical attributes.
 Enhanced User Experience: The testing process involved in software
application development helps deliver a positive user experience. It involves
usability testing and user acceptance testing; with this, organizations can
identify user preferences and areas of improvement. This feedback helps
refine the software application resulting in an improved user experience.
 Cost Savings: Detecting and rectifying defects during the testing phase is
generally more cost-effective than addressing them later in the development
cycle or after the product is released. Executing the test process helps catch
and address issues early on; testing helps reduce rework, maintenance costs,
and potential financial losses caused by faulty software applications or
services.
 Compliance and Standards: In many industries, compliance with
regulations, standards, or best practices is mandatory. Following systematic
order of the test process ensures that software applications and systems adhere
to these requirements, ensuring legal compliance, data security, and upholding
industry standards.

4.6Test Process Phases


4.7What is Test Reporting in Software Testing?
Test reporting in software testing is the process of documenting a detailed report that
summarizes the testing process, its results, objectives, and the effectiveness of the
testing. This report includes details about any defects found, how the software
performed, and suggests areas for improvement.
Test reporting is crucial as it:
 Highlights areas needing amendment
 Ensures only quality products are deployed
 Informs stakeholders about the software's readiness for release, etc.
What are the Steps in the Test Reporting Phase?
Here are the steps in the test reporting phase:
 Collecting and analyzing test results.
 Preparing comprehensive test reports.
 Reviewing test reports and identifying defects.
 Prioritizing and assigning defects to developers for resolution.
 Verifying defect fixes.
 Re-testing defects.
 Tracking and reporting progress on defect resolution.
 Analyzing and reporting on overall test results.
 Preparing final test reports for stakeholders.
What Should a Test Report Include?
A test report should include the following key components:
1. Introduction
1. Purpose: State why the test report is being created.
2. Scope: Define what was tested, including types of testing conducted.
3. Software Information: Detail the software tested, including version.
2. Test Environment
1. Hardware: List hardware used, like servers and devices.
2. Software: Enumerate software components involved, such as operating
systems.
3. Configurations: Detail configurations used in testing.
4. Software Versions: Mention versions of the software being tested.
3. Test Execution Summary
1. Total Test Cases: Number of test cases planned.
2. Executed Test Cases: Number of test cases executed.
3. Passed Test Cases: Number of successful test cases.
4. Failed Test Cases: Number and explanation of failed test cases.
4. Detailed Test Results
1. Test Case ID and Description: Include the test case's ID and a brief
description for each test case.
2. Test Case Status: Status of each test case (passed, failed, etc.).
3. Defects: Details of defects found.
4. Test Data and Attachments: Include specific data and relevant screenshots
or attachments.
5. Defect Summary
1. Total Defects: Count of defects found.
2. Defect Categories: Classification of defects by severity and priority.
3. Defect Status: Current status of each defect.
4. Defect Resolution: Information on defect resolution.
6. Test Coverage
1. Functional Areas Tested: Areas or modules tested.
2. Code Coverage Percentage: Percentage of code tested.
3. Test Types: Types of testing performed.
4. Uncovered Areas: Uncovered aspects of the software and reasons.
7. Conclusion and Recommendations
1. Testing Outcomes Summary: Recap of main results.
2. Testing Objectives Met: Assessment of whether objectives were achieved.
3. Improvement Areas: Areas for improvement based on findings.
4. Recommendations: Actionable suggestions for enhancing software quality.
4.8 SKILLS NEEDED BY TEST SPECIALIST

Test specialists, especially in software testing or quality assurance, require a diverse


set of skills to effectively perform their roles. Here are some key skills needed by a
test specialist:

Technical Skills:
1. Testing Techniques: Knowledge of various testing types such as functional testing,
regression testing, performance testing, etc.
2. Test Automation: Proficiency in automated testing tools and frameworks (e.g.,
Selenium, JUnit, TestNG) to improve efficiency and coverage.
3. Programming: Basic to advanced programming skills (depending on the role) in
languages like Java, Python, C#, etc., for scripting and test automation purposes.
4. Database Skills: Ability to write and execute SQL queries to validate data integrity
and conduct backend testing.

Analytical and Problem-Solving Skills:

1. Critical Thinking: Ability to analyze complex systems and identify potential areas
of risk or improvement.
2. Problem-Solving: Capacity to troubleshoot issues, identify root causes, and propose
solutions.

Communication Skills:

1. Written Communication: Writing clear and concise bug reports, test plans, and test
cases.
2. Verbal Communication: Clearly articulating testing status, issues, and
recommendations to stakeholders, including developers and project managers.

Domain Knowledge

1. Understanding of the Domain: Familiarity with the industry or domain the software
serves, which aids in understanding user requirements and potential use cases.

Attention to Detail: Thoroughness in testing applications to ensure all aspects


of functionality are tested and documented.

Team Collaboration: Ability to work effectively in a team environment,


collaborating with developers, business analysts, and other stakeholders to
ensure quality delivery.

Time Management: Prioritization of tasks and efficient use of time to meet


deadlines and project milestones.

Continuous Learning: Willingness to stay updated with industry trends, new


testing tools, and methodologies to continuously improve testing processes.

Quality Assurance Practices: Knowledge of QA processes, standards, and


methodologies such as Agile, Scrum, or DevOps.

Adaptability: Ability to adapt to changing project requirements and priorities,


and to learn new technologies quickly.

You might also like