0% found this document useful (0 votes)
38 views8 pages

Unit 4 SE

The document discusses various types of software testing including integration testing, system testing, black box testing, and white box testing. It provides definitions and explanations of each type of testing. Integration testing checks for defects in the interaction between integrated software modules. System testing validates the fully integrated software product. Black box testing evaluates software functionality without knowledge of internal code structure, while white box testing evaluates internal code structure and design.

Uploaded by

Anurag Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views8 pages

Unit 4 SE

The document discusses various types of software testing including integration testing, system testing, black box testing, and white box testing. It provides definitions and explanations of each type of testing. Integration testing checks for defects in the interaction between integrated software modules. System testing validates the fully integrated software product. Black box testing evaluates software functionality without knowledge of internal code structure, while white box testing evaluates internal code structure and design.

Uploaded by

Anurag Sharma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

Software Testing

Software Testing is a method to check whether the actual software


product matches expected requirements and to ensure that software
product is Defect free. It involves execution of software/system
components using manual or automated tools to evaluate one or more
properties of interest. The purpose of software testing is to identify
errors, gaps or missing requirements in contrast to actual requirements.

Why Software Testing is Important?


Software Testing is Important because if there are any bugs or errors
in the software, it can be identified early and can be solved before
delivery of the software product. Properly tested software product
ensures reliability, security and high performance which further results
in time saving, cost effectiveness and customer satisfaction.

What are the benefits of Software Testing?


Here are the benefits of using software testing:
• Cost-Effective: It is one of the important advantages of software
testing. Testing any IT project on time helps you to save your
money for the long term. In case if the bugs caught in the earlier
stage of software testing, it costs less to fix.
• Security: It is the most vulnerable and sensitive benefit of
software testing. People are looking for trusted products. It helps
in removing risks and problems earlier.
• Product quality: It is an essential requirement of any software
product. Testing ensures a quality product is delivered to
customers.
• Customer Satisfaction: The main aim of any product is to give
satisfaction to their customers. UI/UX Testing ensures the best
user experience.
What is Integration Testing?
Integration Testing is defined as a type of testing where software
modules are integrated logically and tested as a group. A typical
software project consists of multiple software modules, coded by
different programmers. The purpose of this level of testing is to expose
defects in the interaction between these software modules when they
are integrated
Integration Testing focuses on checking data communication amongst
these modules. Hence it is also termed as ‘I & T’ (Integration and
Testing), ‘String Testing’ and sometimes ‘Thread Testing’.
Integration Test Case differs from other test cases in the sense it
focuses mainly on the interfaces & flow of data/information
between the modules.

Top-down Integration Testing


Top Down Integration Testing is a method in which integration testing
takes place from top to bottom following the control flow of software
system. The higher level modules are tested first and then lower level
modules are tested and integrated in order to check the software
functionality. Stubs are used for testing if some modules are not ready.

Sandwich Testing
Sandwich Testing is a strategy in which top level modules are tested
with lower level modules at the same time lower modules are
integrated with top modules and tested as a system. It is a combination
of Top-down and Bottom-up approaches therefore it is called Hybrid
Integration Testing. It makes use of both stubs as well as drivers.
What is System Testing?
System Testing is a level of testing that validates the complete and
fully integrated software product. The purpose of a system test is to
evaluate the end-to-end system specifications. Usually, the software is
only one element of a larger computer-based system. Ultimately, the
software is interfaced with other software/hardware systems. System
Testing is defined as a series of different tests whose sole purpose is to
exercise the full computer-based system.

System Testing is Blackbox


Two Category of Software Testing
• Black Box Testing
• White Box Testing

Black Box Testing


Black Box Testing is a software testing method in which the
functionalities of software applications are tested without having
knowledge of internal code structure, implementation details and
internal paths. Black Box Testing mainly focuses on input and output of
software applications and it is entirely based on software requirements
and specifications. It is also known as Behavixoral Testing.
How to do BlackBox Testing in Software
Engineering
Here are the generic steps followed to carry out any type of Black Box
Testing.
• Initially, the requirements and specifications of the system are
examined.
• Tester chooses valid inputs (positive test scenario) to check
whether SUT processes them correctly. Also, some invalid inputs
(negative test scenario) are chosen to verify that the SUT is able to
detect them.
• Tester determines expected outputs for all those inputs.
• Software tester constructs test cases with the selected inputs.
• The test cases are executed.
• Software tester compares the actual outputs with the expected
outputs.
• Defects if any are fixed and re-tested.

Advantage of Black Box testing :-


a) Done in less time.

b) A third-party app can be tested quickly.


c) It can also test across different browsers and operating systems.

Disadvantage:-
a) No prioritization of bug.

b) Black box testing doesn't provide a detailed explanation.


c) Overestimated results.

d) Designing test cases is challenging.


White Box Testing
White Box Testing is a testing technique in which software’s internal
structure, design, and coding are tested to verify input-output flow and
improve design, usability, and security. In white box testing, code is
visible to testers, so it is also called Clear box testing, Open box testing,
Transparent box testing, Code-based testing, and Glass box testing.
It is one of two parts of the Box Testing approach to software testing. Its
counterpart, Blackbox testing, involves testing from an external or end-
user perspective. On the other hand, White box testing in software
engineering is based on the inner workings of an application and
revolves around internal testing.

Techniques Used in White Box Testing


Data Flow Testing Data flow testing is a group of testing
strategies that examines the control flow of
programs in order to explore the sequence of
variables according to the sequence of
events.

Control Flow Testing Control flow testing determines the


execution order of statements or instructions
of the program through a control structure.
The control structure of a program is used to
develop a test case for the program. In this
technique, a particular part of a large
program is selected by the tester to set the
testing path. Test cases represented by the
control graph of the program.

Branch Testing Branch coverage technique is used to cover


all branches of the control flow graph. It
covers all the possible outcomes (true and
false) of each condition of decision point at
least once.

Advantages of White Box Testing


• Code optimization by finding hidden errors.
• White box tests cases can be easily automated.
• Testing is more thorough as all code paths are usually covered.
• Testing can start early in SDLC even if GUI is not available.

Disadvantages of White Box Testing


• White box testing can be quite complex and expensive.
• Developers who usually execute white box test cases detest it. The
white box testing by developers is not detailed and can lead to
production errors.
• White box testing requires professional resources with a detailed
understanding of programming and implementation.
• White-box testing is time-consuming, bigger programming
applications take the time to test fully.

Formal Technical Review :-


Formal Technical Review (FTR) is a software quality control activity performed
by software engineers. Formal Technical Review (FTR) is a software quality
control activity performed by software engineers.

Objectives of formal technical review (FTR): Some of these are:

• The purpose of FTR is to verify that the software meets specified


requirements.
• To ensure that software is represented according to predefined standards.
• It helps to review the uniformity in software that is development in a
uniform manner.
• To makes the project more manageable.

Walkthrough in Software Engineering


The walkthrough is a review meeting process but it is different from the
Inspection, as it does not involve any formal process i.e. it is a nonformal process.
Basically, the walkthrough [review meeting process] is started by the Author of
the code.

In the walkthrough, the code or document is read by the author, and


others who are present in the meeting can note down the important
points or can write notes on the defects and can give suggestions about
them. The walkthrough is an informal way of testing, no formal
authority is been involved in this testing.

Advantages and Objectives of Walkthrough:


Following are some of the objectives of the walkthrough.

• To detect defects in developed software products.


• To fully understand and learn the development of software products.
• To properly explain and discuss the information present in the document.
• To verify the validity of the proposed system.
• To give suggestions and report them appropriately with new solutions and
ideas.
• To provide an early “proof of concept”.

Inspection:
Inspection is a more formal way of reviewing a meeting process. In inspection the
documents are checked thoroughly and reviewed by reviewer’s before the
meeting. it basically involves peers to examine the product or software.

A preparation is been carried out separately in which the product is been


examined properly and scanned for any defects or errors. The process of
inspection is led and done by trained moderators. A formal follow up is carried
out by this trained moderators. Inspection is been done to improve the product
quality more efficiently.

Purpose of Having Coding Standards:


• A coding standard gives a uniform appearance to the codes written by
different engineers.
• It improves readability, and maintainability of the code and it reduces
complexity also.
• It helps in code reuse and helps to detect error easily.
• It promotes sound programming practices and increases efficiency of the
programmers.

Some of the coding standards are given below:


1- Limited use of globals:
These rules tell about which types of data that can be declared global and
the data that can’t be.

2- Standard headers for different modules:


For better understanding and maintenance of the code, the header of
different modules should follow some standard format and information. The
header format must contain below things that is being used in various
companies:

o Name of the module


o Date of module creation
o Author of the module
o Modification history

You might also like