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

Software Testing: Levels, Types, Methods and Techniques

This document discusses different levels, types, methods and techniques of software testing. It describes unit testing, integration testing, system testing and acceptance testing as the main levels of testing. The types of testing covered are static testing, dynamic testing, functional testing, non-functional testing and structural testing. Regression testing is also discussed. Black box and white box testing techniques are explained, with black box testing focusing on inputs and outputs without knowledge of internal workings, while white box testing examines internal structure and logic.

Uploaded by

Angel Choco
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
121 views

Software Testing: Levels, Types, Methods and Techniques

This document discusses different levels, types, methods and techniques of software testing. It describes unit testing, integration testing, system testing and acceptance testing as the main levels of testing. The types of testing covered are static testing, dynamic testing, functional testing, non-functional testing and structural testing. Regression testing is also discussed. Black box and white box testing techniques are explained, with black box testing focusing on inputs and outputs without knowledge of internal workings, while white box testing examines internal structure and logic.

Uploaded by

Angel Choco
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 19

Software Testing: Levels, Types, Methods and Techniques

Learning Objectives
To understand the standard software testing, Types, Levels, and Methods\Techniques

Software Testing

Testing is the process of exercising or evaluating a system or system component by manual or Automated means to verify that it satisfies specified requirements

Software Development & Test Model

Plan Acceptance Tests


Requirements Plan System Tests Acceptance Testing System Testing
Plan Integration Tests

Specification

Design

Integration Testing Plan Unit Tests Unit Testing

Implementation

Testing Levels
Client Needs SRS

Acceptance Testing System Testing


Integration Testing Unit Testing

Design

Coding

Software Testing Levels


Unit Testing [Component Testing]: verifies the functioning of software modules, programs, objects, classes etc that are separately testable. It also includes testing of functionality and specific non-functional characteristics. One approach to unit testing is to prepare and automate test cases before coding Integration Testing: Integration testing interfaces between components, interactions with different parts of a system such as the operating system, file system and hardware, and interfaces between systems.

Software Testing Levels


There can be more than one level of integration testing: Test the interaction between software components and is done after unit testing Tests the interaction between different system or between hardware and software and may be done after system testing Testing of specific non-functional characteristics may be included in integration testing as well as functional testing System Testing: System Testing should investigate functional and non functional requirements of the system. Testing system as whole. System testing is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. It includes

Software Testing Levels


Functional/ Regression Testing Usability Testing Compatibility Testing Performance Testing Security Testing etc

Acceptance Testing: Acceptance testing assess the systems readiness for deployment use, although it is not necessarily the final level of testing. Acceptance testing may occur at various times of life cycle.

Software Testing Types


Static Testing: It rely on manual examination(reviews) and automated analysis (static analysis) of the code. Reviews are ways of testing software work product and can be performed before dynamic test execution Dynamic Testing: Execution based testing Functional Testing : The functions that a system , sub system or component are to perform may be described in work product such as SRS, use cases or FS or they may be undocumented. Functional test may be performed at all test levels. It is the testing what system does.

Software Testing Types


Non-Functional Testing: Non functional testing consider the external behavior of the software and in most cases uses black-box test design techniques to accomplish that. Non Functional Requirements:
Look and Feel Req Usability Req [level of comfort with software] Performance Req [How fast, accurate, safe , reliable etc] Social Cultural, and political Req [human factor , usability by handicapped ppl ] Legal Req [Conformance to applicable law] Security Req [ the security, confidentiality and integrity of the product] Maintainability and Portability Req [how changeable the product must be]

Software Testing Types


Structural Testing: Structural (white-box ) testing may be performed at all test levels. Structural testing may be based on architecture of the system. Regression Testing: is the repeated testing of an already tested program , after modification , to discover any defects introduced or uncovered as a result of the change[s]. Regression testing may be performed at all test levels, and includes functional, non functional and structural testing.

Testing Techniques
Black Box Testing: Testing based on an analysis of the specification of a piece of software without reference to its internal workings The system is treated as a black box and the internal working of the system are unknown The system is given an input and if the output is what was expected, then the test passes

Testing Techniques
Black Box Testing:
Black Box
X=2

Y=4

Testing Techniques
White Box Testing:
Testing based on an analysis of internal workings and structure of a piece of software

Testing Techniques
White Box Testing:
In white box testing, an input must still produce the correct result in order to pass, but now we are also concerned with whether or not the process worked correctly.

Testing Technique
White Box Testing:
White Box
X=2

Y=2X

Y=4

While both black and white box testing can determine if the system is doing what it is supposed to do, only white box testing is effective at determining if the how part of the equation is correct

Trying it all together

Testing Types Testing Methods\ Techniques White Box, Black Box Functional, Nonfunctional, Structural, Regression , Usability, Performance, Security, Statement coverage, Condition coverage Testing Levels

Unit, Integration, System, UAT

Discussion/Questions?

You might also like