0% found this document useful (0 votes)
10 views

Unit 5 Software Testing

The document provides an overview of software testing processes, emphasizing the importance of testing individual components to enhance software quality and customer satisfaction. It discusses various testing types, including unit testing, system testing, and user acceptance testing, along with their advantages and challenges. Additionally, it highlights the significance of thorough testing in reducing risks, maintenance costs, and improving overall software reliability.

Uploaded by

dadavalibdadu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views

Unit 5 Software Testing

The document provides an overview of software testing processes, emphasizing the importance of testing individual components to enhance software quality and customer satisfaction. It discusses various testing types, including unit testing, system testing, and user acceptance testing, along with their advantages and challenges. Additionally, it highlights the significance of thorough testing in reducing risks, maintenance costs, and improving overall software reliability.

Uploaded by

dadavalibdadu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 17

Software Engineering

Software Testing is the process of


execution a program with the intention of finding errors in
the code.

It refers to the testing of individual


components.
Each componets is independently tested to ensure that
they function correctly.
The tested componets are integrated in
to a subsystem or a complete system

➢ To enhance the quality of the software


product.

➢ : To verify the customer


satisfaction with a developed software product.

1
Software Engineering

➢ It means gaining the confidence of the


customers by providing them with a quality
product.

➢ : It is done to reduce the failures


and manage risk in different situations.

➢ Testing is done
thoroughly and effectively so that risks of failure is
lowered as a result maintenance costs reduces.

➢ Improved Quality
➢ Reduced Maintenance Costs
➢ Increased Customer satisfaction
➢ Reduced Risk
➢ Improved Reliability

➢ Time-Consuming
➢ Costly
➢ Limited test coverage
➢ Test maintenance
➢ Dependence on test data

2
Software Engineering

Test Plan

Development
process

Development testing,also known as developer testing or unit


testing,is a software testing techique where developers test
individual units of code to ensure they function correctly.
Development testing is a continuous process in the
development of the software in SDLC. During software
development the testing can performed many times till the
deadline date.

➢ Impoved code quality


➢ Reduced debugging time
➢ Cost savings

3
Software Engineering

➢ Reduced Risk

➢ Time consuming
➢ Increased upfront costs

It involves testing the individual components


of software during the development of the software product. It
is performed by the software developer.

Acceptance Testing

System Testing

Integration Testing

Unit Testing

➢ To isolate a section of code.


➢ To verify the correctness of the code.
➢ To test every function and procedure.
➢ To fix bugs early in the development cycle and to save
costs.
➢ To help with code reuse

4
Software Engineering

There are 3 types of Unit Testing techniques:


➢ : It is used to perform unit tests for
input, user interface, and output parts
➢ : It is used to perform test in the
functional behaviour of the
System by verifying the generated output is according to the
given inputs, and also check the internal design structure code
of each modul.
➢ : It is used to execution of the test cases,
test methods, test functions, and analysing the code
performance for each module.

➢ It improves the testing with high speed.


➢ It saves the time and reduces the cost.

:
➢ Does not cover the non-functional testing parameters.
➢ It cannot help to detect all bugs in the software.
➢ It is dependent on developers.

Choosing testing ,also known as


selective testing or risk-based testing,is a software testing
approach that involves selecting a subset of tests to run based
on certain criteria, such as risk, priority,or business value.

5
Software Engineering

:
This testing follows four steps:
Step 1: Create the test cases needed for testing .
Step 2: Write the code for the tests.
Step 3: Run the test .
Step 4: Maintaining of the test. Updating of test accordingly
to the code change.
I t is also known as unit testing and
performed on individual components by the developers of
components.

The objective of Component Testing is:


➢ To verify the input and output behaviour of the system.
➢ To check the usability of each component.
➢ To test the user comprehensibility of the software.
➢ To test the state of the each components of the system.
:
It consists of 7 stages in the process, such as:

6
Software Engineering

➢ : User requirement related to


each component is observed.
➢ : is Test planned according to the analysis
of the requirements of the user.
➢ : In this section it is specified that
which test case must be run and which test case should
be skipped.
➢ : Once the test cases are specified
according to the user requirements, test cases are
executed.
➢ : Test recording is the having record of
the defects that are detected.
➢ : Test verification is the process to
determine whether the product meet specification.
➢ : This is the last phase of the testing process
in which the result is analysed.

➢ It helps in identifying of the defects in the component in


early stage.
➢ It reduces SDLC timelines and reduces the project cost.

➢Reusability of the components helps to produce the


fastest delivery.

➢ Increased upfront costs


➢ Time consuming
➢ The possibilities requirements are incomplete

7
Software Engineering

System setting involves integration of two


or more components in to a subsystem or system.
➢ It tests if the system meets the specified requirements
and if it is suitable for delivery to the end-users.
➢ System Testing is a black-box testing.
➢ System Testing is performed after the integration testing
and before the acceptance testing.
➢ System Testing is basically performed by a testing team.
➢ System testing tests the design and behaviour of the
system and also the expectations of the customer.
➢ It has both functional and non-functional testing.

➢ Create testing environment for


the better quality testing.
➢ : Generate test case for the testing
process.
➢ : Generate the data that is to be tested.
➢ : After the generation of the test case
and the test data, test cases are executed.

8
Software Engineering

➢ : Defects in the system are detected.


➢ : It is carried out to test the side
effects of the testing process.
➢ : Defects are fixed in this step.
➢ : If the test is not successful then again test is
performed.

Verifies that the system perform its


intended function currectly.
➢ Evaluates the system performance
under various conditions,such as stress,load,and recovery.
➢ : It is performed to check the robustness of
the system under the varying loads.
➢ : It is a type of software testing which is
carried out to check the performance of a system in terms
of its capability to scale up or scale down the number of
user request load.

➢ Ensures System Quality.


➢ Reduces Risk.
➢ Reduces Maintenance costs.

➢ It consumes more time to processing .


➢ High cost of testing.
➢ Need good debugging tool the hidden errors.

9
Software Engineering

It is a technique where
automated unit tests are used to drive the design. It is the
process used in which test cases are written before the code to
validate the cases.

:
➢ : Test case is written to describe the complete
system function. It makes the developer to understand the
features and requirements of user.
➢ : Execute all test cases and make sure that the
new test case fails.
➢ Write the code to pass the test case.
➢ : Removes duplication of code.
➢ the above steps again and again.

➢ It acts as secured net against the bugs.


➢ It increases the quality of design.
➢ It helps in proper maintenance.
➢ It has very short development life cycle.

10
Software Engineering

is the process of verifying that a particular


release of a software product meets the specified requirements
and is “ready for release” to the end users.

➢ : It validates the software system for


individual functionalities and features and finally testing
the overall software.
➢ : It evaluates the software product’s
reliability, performance, speed, scalability, stability,
resource consumption, and responsiveness of an application
under load.
➢ : It evaluates risk and threats in a software
and also prevents the hacking from unauthorized access.
➢ : It checks whether the software can
operate on various hardware, browsers, operating system
etc.,
➢ : It evaluates the software usage and user
experience.
➢ : It validates the changes in code doesn’t
influence the existing usage of software.
➢ : This automatically performs testing
using software tools and scripts.
➢ : It tests individual components or units of a
software system.
➢ End-to-end (E2E) testing verifies the
working structure of a software product from beginning to
end of the process.
Advantages

11
Software Engineering

➢ It improves software product quality and performance.


➢ It increases teamwork efficiency.
➢ It decreases risks in the software development.
➢ It is Cost-effective.
➢ It increases customer satisfaction.
➢ It provides better project management.

It is quite difficult for non-software users.

It is also known as User or customer testing. It is performed


when users provided input and instruct on system testing.

➢ : Software users work with the development


team to test the software at the developer’s site.
➢ : It is testing performed before release time, it
is allowed to users to experiment and to raise problems that
they discover with the system developers.
➢ : customers test a system to decide
whether or not it is ready to be accepted from the system
developers and deployed in the customer environment.

➢ It helps to validate the usability of the software.


➢ It makes software more efficient and applicable.

12
Software Engineering

➢ It helps to discover the usability issues before delivering the


final product.

➢ Testing cost is high.


➢ Sometimes it is bit harder to identify the users.

It is a type of software testing used to identify the errors


before releasing the software to the users. It is one of the user
acceptance tests.

➢ Review the design specification and functional


requirements.
➢ Develop comprehensive test cases and test plans.
➢ Execute test plan.
➢ Log defects .
➢ Retest once the issues have been fixed.

There are two phases of alpha testing


: Testing in this phase is done by software engineers.
The aim of this phase to catch the bugs quickly.
Testing is done by the software quality staff. This
includes both black box and white box testing.

➢ Used to identify the bugs and issues at early stage.


➢ Used to improve quality.
➢ Used to cost effective.

13
Software Engineering

➢ Used to improve based on user feedback.


➢ Helps in stress testing.

➢ Early identification of bugs and issues


➢ It reduces delivery time to market.
➢ It helps to stress testing.

➢ For smaller projects, time spent on alpha testing is not


worthy enough.
➢ It requires a separate lab environment for testing.
➢ It does not carry out reliability and security testing.

: Beta testing is the process of testing a software


product or service in a real-world environment before its
official release. Beta testing is one of the types of User
Acceptance Testing.

There are different types of beta testing:


➢ : Product is distributed to the target
market and related data is gathered in all aspects. This data
can be used for Product improvement.
➢ Product is released publicly to the
world through online channels and data can be collected
from anyone. Based on feedback.product impovement can
be done.

14
Software Engineering

➢ Product is released to a group of


employees of an organization and collects feedback/data
from the employees of the organization.
➢ a Software product is released to the
market for collecting feedback on specific features of the
program. For example, important functionality of the
software.

➢ Identify and fix the bugs.


➢ Ensure the software quality.
➢ Evaluate the performance.
➢ Improve the software based on customer feedback.

➢ Real-World Feedback
➢ Improved Quality
➢ Redused risk
➢ Cost saving

➢ Costly.
➢ Time-consuming.
Difficulty in managing Expectation

15
Software Engineering

is a method of software testing where


a system is tested for acceptability .it is done after system
testing.

➢ it is alsi end-user
testing. It is used to determine to check for software is
working correctly or not
➢ It is used to
determine for the softwareto meet the business goals
and purpose. It mainly focuses on business profits and
challenges.
➢ Alpha testing is used to determine
the product in thedevelopment testing environment by
a specialized testers team usually called alpha testers.
➢ : Beta testing is used to assess the product
by exposing it to thereal end-users, typically called beta
testers in their environment.

➢ User involvement.
➢ Improves Quality.
➢ Automated test execution.
➢ Gather data.

16
Software Engineering

➢ User may refues to participate.


➢ Test cases may be incomprehensible.
➢ Feedbeck collection may be time consuming.

17

You might also like