Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
27 views

Software Testing

Uploaded by

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

Software Testing

Uploaded by

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

Software Testing

Software testing involves executing a program to identify any error or bug in


the software product’s code.
1. This process takes into account all aspects of the software,
including its reliability, scalability, portability, reusability, and
usability.
2. The main goal of software testing is to ensure that the system and
its components meet the specified requirements and work
accurately in every case.
Manual testing
The process of checking the functionality of an application as per the customer needs
without taking any help of automation tools is known as manual testing. While
performing the manual testing on any application, we do not need any specific
knowledge of any testing tool, rather than have a proper understanding of the product
so we can easily prepare the test document.

Automation testing
Automation testing is a process of converting any manual test cases into the test
scripts with the help of automation tools, or any programming language is known as
automation testing. With the help of automation testing, we can enhance the speed
of our test execution because here, we do not require any human efforts. We need to
write a test script and execute those scripts.

Manual testing Automation testing

Testing in which a human tester In automation testing, automation tools


executes test cases are used to execute the test cases
In this testing, human resources It is much faster than the manual testing
are involved, that's why it is time-
consuming

It is repetitive and error-prone Here automated tools are used that make
it interesting and accurate

BVT (build verification testing) is It's easy to build verification testing


time-consuming and tough in
manual testing

Instead of frameworks, this testing Frameworks like keyword, hybrid, and


use checklist, guidelines, and data drive to accelerate the automation
stringent process for drafting test process.
cases.

The process turnaround time is It completes a single round of testing


higher than the automation within record time; therefore, a process
testing process (one testing cycle turnaround time is much lower than a
takes lots of time) manual testing process.

The main goal of manual testing is Automation testing can only guarantee a
user-friendliness or improved positive customer experience and user-
customer experience. friendliness.

It is best for usability, exploratory It is widely used for performing testing,


and adhoc testing load testing and regression testing.

Low return on investment The high return on investment


1. Black box Testing (Validation) : Testing in which the tester doesn’t
have access to the source code of the software and is conducted at
the software interface without any concern with the internal logical
structure of the software known as black-box testing.
2. White box Testing (Verification) : Testing in which the tester is
aware of the internal workings of the product, has access to its
source code, and is conducted by making sure that all internal
operations are performed according to the specifications is known
as white box testing.
3. Grey Box Testing: Testing in which the testers should have
knowledge of implementation, however, they need not be experts.

S No. Black Box Testing White Box Testing

Internal workings of an
Knowledge of the internal
1 application are not
workings is a must.
required.

Also known as closed Also known as clear


2
box/data-driven testing. box/structural testing.

End users, testers, and Normally done by testers


3
developers. and developers.

Data domains and internal


This can only be done by a
4 boundaries can be better
trial and error method.
tested.

1. Unit testing: It a level of the software testing process where


individual units/components of a software/system are tested. The
purpose is to validate that each unit of the software performs as
designed.
2. Integration testing: It is a level of the software testing process
where individual units are combined and tested as a group. The
purpose of this level of testing is to expose faults in the interaction
between integrated units.
3. System testing: It is a level of the software testing process where a
complete, integrated system/software is tested. The purpose of this
test is to evaluate the system’s compliance with the specified
requirements.
Types of System Testing –
 Performance Testing: Performance Testing is a type of software
testing that is carried out to test the speed, scalability, stability and
reliability of the software product or application.
 Load Testing: Load Testing is a type of software Testing which is
carried out to determine the behavior of a system or software
product under extreme load.
 Stress Testing: Stress Testing is a type of software testing
performed to check the robustness of the system under the varying
loads.
 Scalability Testing: Scalability Testing is a type of software testing
which is carried out to check the performance of a software
application or system in terms of its capability to scale up or scale
down the number of user request load.

4. Acceptance testing: It is a level of the software testing process


where a system is tested for acceptability. The purpose of this test
is to evaluate the system’s compliance with the business
requirements and assess whether it is acceptable for delivery.
 UAT (User Acceptance Testing): This ensures the
system meets the needs and expectations of the end-
users. They verify if the features work as they envisioned.
 BAT (Business Acceptance Testing): Here, the focus is
on whether the system fulfills the business goals outlined
during the design phase. Does it improve efficiency,
generate revenue, or solve a business problem as
planned?
 CAT (Contract Acceptance Testing): Less common, this
testing verifies if the system meets the specific
requirements agreed upon in a contract between the
developer and the client.
 RAT (Regulatory Acceptance Testing): This ensures the
system complies with any relevant industry regulations or
legal requirements. This might be needed for medical
devices, financial systems, etc.
 OAT (Operational Acceptance Testing): This testing
focuses on how the system functions within the intended
operational environment. Does it integrate with other
systems smoothly? Can it handle expected workloads?

Regression Testing
Regression Testing is the process of testing the modified parts of the code
and the parts that might get affected due to the modifications to ensure that
no new errors have been introduced in the software after the modifications
have been made.
Stress testing is also known as Torture Testing or Endurance
Testing or Fatigue Testing.

Stress testing is a type of software testing that determines the


stability and reliability of a system by putting it under extreme
load conditions. It assesses how well a system or application
behaves when pushed beyond its normal limits. Stress testing
is different from load testing, which simulates normal traffic,
while stress testing simulates extreme traffic.
Example - Education Board's result website
Stress testing is important to perform on the education board's result website. On the
day of some results, many students, users, and applicants will logins to the particular
to check their grades.

You might also like