2. The levels of software testing involve the different methodologies, which can
be used while we are performing the software testing.
There are four levels of testing.These include: -
● Unit Testing
● Integration Testing
● System Testing
● Acceptance Testing
3.
4. 1. UNIT TESTING
● The goal of Unit Testing is to isolate each part of the program and
show that individual parts of the program are correct in terms of
requirements and functionality.
● It is the first level of software testing process where individual
units/components of a software/system are tested.
● Unit Testing is done by the developers.
5. Advantages: -
➔ Unit Testing uses module approach due o that any part can be tested without
waiting for the completion of another parts testing.
➔ Unit Testing allows the developer to refactor code after a number of days and
ensure the module still working without any defect.
Disadvantages: -
➔ It cannot identify integration or broad level error as it works on the unit of the
code.
➔ In the Unit Testing, evaluation of all the execution paths is not possible, so
unit testing is not able to catch each and every error in a program.
6. 2. INTEGRATION TESTING
● Integration Testing is the phase in which individual software modules
are combined and tested as a group.
● The purpose of Integration Testing is to expose faults in the
interaction between integrated units.
● It occurs after Unit Testing and before System Testing.
● Integration Testing can be done in three ways.
7. Types of Integration Testing are: -
1. Big-bang Testing: - In big-bang integration testing, all the components or
modules are integrated simultaneously, after which everything is tested as a
whole. This approach is taken when the testing team receives the entire software
in a bundle.
2. Bottom-up Integration Testing: - It is an approach where bottom level units are
tested first and after that upper-level units are tested step by step.
3. Top-down Integration Testing: - In this testing, the highest level modules are
tested first and progressively, lower-level modules are tested thereafter.
8. Advantages: -
➔ The application is tested in order to verify that it meets the standards set by the
clients as well as reassuring the development team that assumptions that were
made during unit testing are correct.
Disadvantages: -
➔ It is difficult to implement this approach as we have to integrate and move in
both the directions of the module to be tested
9. 3. SYSTEM TESTING
● In System Testing process, a complete, integrated system/software is tested.
● Once all the components are integrated, the application as a whole is tested
to see that it meets the specified Quality Standards.
● The purpose of System Testing is to evaluate the end to end system
Specifications.
● This type of testing is performed by a specialized testing team.
● System Testing is the first step in the SDLC, where the application is tested
as a whole.
● The application is tested thoroughly to verify that it meets the functional and
technical specifications.
10. Advantages: -
➔ The testers do not require more knowledge of programming to carry out this
testing.
➔ The testing environment is similar to that of the real time production or
business environment.
Disadvantages: -
➔ As it needs to test the entire framework it requires a lot of time.
➔ Relying upon the business necessities and application architecture cost may
also increase.
11. 4. ACCEPTANCE TESTING
● It is a formal testing according to the user needs, requirements and business
processes conducted to determine whether a system satisfies the acceptance
criteria or not and to enable the users, customers or other authorized entities
to determine whether to accept the system or not.
● It can also be said as a level of the software testing process where a system
is tested for acceptability.
● Commonly this level of Acceptance Testing include six types of testing.
12. Types of Acceptance Testing are: -
1. User Acceptance Testing: - It is used to determine whether the product is
working for the user correctly.Specific requirements which are quite often used
by the customers are primarily picked for the testing purpose.This is also termed
as End-User Testing.
2. Operational Acceptance Testing: - In this testing, stability of a product is checked
before it is released to production.It is used to determine the operational
readiness of a product and is a non-functional testing. It mainly includes testing
of recovery, compatibility, maintainability, reliability, etc.
It is conducted by Quality Assurance Team who will test whether the application
meets the intended specifications and satisfies the client’s requirements.
13. 3.Contractual Acceptance Testing: - It is performed based on the contract’s
acceptance criteria defined during the agreement of the contract.
4.Regulations Acceptance Testing: - It is used to determine whether the product
violates the rules and regulations that are defined by the government of the country
where it is released. This may be unintentional but will impact negatively on the
business.
5.Alpha Testing: - It is a type of acceptance testing which is performed to identify all
possible issues/bugs before releasing the product. Alpha Testing is usually done by
the testers and internal employees of the organization.
6.Beta Testing: - Beta Testing is used to access the product by exposing it to the
real-end users. Feedback is collected from the users and the defects are also fixed. It
is the final test before shipping a product to the customers.