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

Difference Between Unit Testing and System Testing

The document discusses differences between various software testing concepts including unit testing vs system testing, SDLC vs STLC, verification vs validation, functional testing vs non-functional testing, black box testing vs white box testing, and static testing vs dynamic testing. Key differences are outlined for each pair of concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
108 views

Difference Between Unit Testing and System Testing

The document discusses differences between various software testing concepts including unit testing vs system testing, SDLC vs STLC, verification vs validation, functional testing vs non-functional testing, black box testing vs white box testing, and static testing vs dynamic testing. Key differences are outlined for each pair of concepts.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Difference Between Unit Testing and System Testing:

Unit Testing System Testing

In unit testing, independent System testing is done to check whether the


software module are tested software or product meets the specified
separately. requirements or not.

Unit testing is performed by the System testing is generally done by developers and
developers. testers.

Unit testing is also called white box


System testing is also called black box testing.
testing.

Unit testing generally focuses on System testing generally focuses on system


functional verification. validation.

Unit testing comprise of System Testing comprise of System and integration


independent modules. testing.

Unit testing follows the specification System testing follows the requirements
of modules. specification.

It gives high performance because It gives relatively low performance than unit
of single module testing at a time. testing.

Error finding is difficult as compared to unit


Error finding is easy.
testing.

Resource requirement is less. It needs more resources.

Maintenance is relatively less


Maintenance is expensive.
expensive.

It is cost effective as there is


requirement of less number of It is expensive.
resources.

Code details are visible in this type


Code details are not visible in this type of testing
of testing.
Difference between SDLC and STLC:
SDLC STLC

SDLC is mainly related to software


STLC is mainly related to software testing.
development.

Besides development other phases


It focuses only on testing the software.
like testing is also included.

SDLC involves total six phases or


STLC involves only five phases or steps.
steps.

In SDLC, more number of


In STLC, less number of members (testers)
members (developers) are required
are needed.
for the whole process.

In SDLC, development team


In STLC, testing team(Test Lead or Test
makes the plans and designs based
Architect) makes the plans and designs.
on the requirements.

Goal of SDLC is to complete


Goal of STLC is to complete successful
successful development of
testing of software.
software.

It helps in developing good quality


It helps in making the software defects free.
software.

SDLC phases are completed before STLC phases are performed after SDLC
the STLC phases. phases.

Post deployment support , Regression tests are run by QA team to


enhancement , and update are to check deployed maintenance code and
be included if necessary. maintains test cases and automated scripts.

Creation of reusable software A tested software system is the end result of


systems is the end result of SDLC. STLC.
Differences between Verification and Validation
Verification Validation

It includes checking documents, It includes testing and validating


design, codes and programs. the actual product.

Verification is the static testing. Validation is the dynamic testing.

It does not include the execution It includes the execution of the


of the code. code.

Methods used in validation are


Methods used in verification are
Black Box Testing, White Box
reviews, walkthroughs,
Testing and non-functional
inspections and desk-checking.
testing.

It checks whether the software


It checks whether the software meets the requirements and
conforms to specifications or not. expectations of a customer or
not.

It can only find the bugs that


It can find the bugs in the early
could not be found by the
stage of the development.
verification process.

The goal of verification is


The goal of validation is an actual
application and software
product.
architecture and specification.

Validation is executed on
Quality assurance team does
software code with the help of
verification.
testing team.

It comes before validation. It comes after verification.

Verification is for prevention of Validation is for detection of


Verification Validation

errors. errors.

Functional Testing Non-functional Testing

It verifies the operations and It verifies the behavior of an


actions of an application. application.

It is based on requirements of It is based on expectations of


customer. customer.

It helps to enhance the behavior It helps to improve the performance


of the application. of the application.

Functional testing is easy to It is hard to execute non-functional


execute manually. testing manually.

It tests what the product does. It describes how the product does.

Functional testing is based on the Non-functional testing is based on


business requirement. the performance requirement.
Black Box Testing White Box Testing

It is a way of software testing in It is a way of testing the software


which the internal structure or in which the tester has
the program or the code is knowledge about the internal
hidden and nothing is known structure or the code or the
about it. program of the software.

Implementation of code is not Code implementation is


needed for black box testing. necessary for white box testing.

It is mostly done by software It is mostly done by software


testers. developers.

No knowledge of Knowledge of implementation is


implementation is needed. required.

It is a functional test of the It is a structural test of the


software. software.

No knowledge of programming It is mandatory to have


is required. knowledge of programming.

It is the behavior testing of the It is the logic testing of the


software. software.

It is also called as clear box


It is also called closed testing.
testing.

It is least time consuming. It is most time consuming.


Black Box Testing White Box Testing

It is not suitable or preferred for


It is suitable for algorithm testing.
algorithm testing.

Static testing Dynamic testing

Testing is performed without Testing is done by executing the


executing the program program

Static testing prevents bugs Dynamic testing finds and fixes bugs

Static testing examines code and Dynamic testing reports software


documentation bugs and bottlenecks

Static testing includes a checklist and Dynamic testing includes specific test
process to follow cases to execute

Can be performed before code Dynamic testing is done after


compilation compilation

Low cost of finding and fixing bugs High cost of finding and fixing bugs

Significantly fewer meetings


Requires many meetings required
Static testing is less costly. Dynamic testing is highly costly.

The objective is to find and fix


The objective is to prevent defects. defects.

4-Testing strategies in software testing? The following are


common testing strategies:
1. Black box testing – Tests the functionality of the software without
looking at the internal code structure.

2. White box testing – Tests the internal code structure and logic of
the software.

3. Unit testing – Tests individual units or components of the software


to ensure they are functioning as intended.

4. Integration testing – Tests the integration of different components


of the software to ensure they work together as a system.

5. Functional testing – Tests the functional requirements of the


software to ensure they are met.

6. System testing – Tests the complete software system to ensure it


meets the specified requirements.

7. Acceptance testing – Tests the software to ensure it meets the


customer’s or end-user’s expectations.
8. Regression testing – Tests the software after changes or
modifications have been made to ensure the changes have not
introduced new defects.

9. Performance testing – Tests the software to determine its


performance characteristics such as speed, scalability, and stability.

10. Security testing – Tests the software to identify vulnerabilities and


ensure it meets security requirements.

Q: Explain seven principles of testing.

1. Testing shows the Presence of Defects: The goal of software testing


is to make the software fail. Software testing reduces the presence of
defects. Software testing talks about the presence of defects and
doesn’t talk about the absence of defects.

2. Exhaustive Testing is not Possible: It is the process of testing the


functionality of the software in all possible inputs (valid or invalid)
and pre-conditions is known as exhaustive testing.

3. Early Testing: To find the defect in the software, early test activity
shall be started. The defect detected in the early phases of SDLC will
be very less expensive.

4. Defect Clustering: In a project, a small number of modules can


contain most of the defects. The Pareto Principle for software testing
states that 80% of software defects come from 20% of modules.

5. Pesticide Paradox: Repeating the same test cases, again and again,
will not find new bugs. So it is necessary to review the test cases and
add or update test cases to find new bugs.
6. Testing is Context-Dependent: The testing approach depends on the
context of the software developed. Different types of software need
to perform different types of testing. For example, The testing of the
e-commerce site is different from the testing of the Android
application.

7. Absence of Errors Fallacy: If a built software is 99% bug-free but


does not follow the user requirement then it is unusable

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy