0% found this document useful (0 votes)
25 views52 pages

Unit-1 ST

Uploaded by

suganthv.21aim
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)
25 views52 pages

Unit-1 ST

Uploaded by

suganthv.21aim
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/ 52

Software Testing

UNIT-1

Basics of software Testing


Syllabus
Software Testing: Introduction, Evolution,
Myths & Facts, Goals, Psychology, Definition,
Model for testing, Effective Vs Exhaustive
Software Testing. Software Testing
Terminology and Methodology: Software
Testing Terminology, Software Testing Life
Cycle, relating test life cycle to development
life cycle, Software Testing Methodology
Stages of SDLC
Introduction to Software Testing
Software testing is an important process in
the software development lifecycle. It
involves verifying and validating that a software
application is free of bugs, meets the technical
requirements set by its design and development, and
satisfies user requirements efficiently and effectively.

Software Testing is a method to assess the


functionality of the software program. The process
checks whether the actual software matches the
expected requirements and ensures the software is
bug-free.
Software testing can be divided into two steps
• Verification: It refers to the set of tasks that
ensure that the software correctly implements
a specific function. It means “Are we building
the product right?”.
• Validation: It refers to a different set of tasks
that ensure that the software that has been
built is traceable to customer requirements. It
means “Are we building the right product?”.
Importance of Software Testing
• Defects can be identified early
• Improves quality of software
• Increased customer satisfaction
• Saves time and money
Types of Software Testing
• Manual Testing
A tester carries out tests on the software
by following a set of predefined test cases.
White box testing techniques analyze the internal
structures the used data structures, internal design, code
structure, and the working of the software. White Box
Testing is also known as transparent testing or open box
testing.
Black-box testing is a type of software testing in
which the tester is not concerned with the internal
knowledge or implementation details of the software but
rather focuses on validating the functionality based on
the provided specifications or requirements.
Test Case: A test case is a set of steps and expected results
used to verify a specific functionality or feature of a software
application. It's a detailed description of a single test,
including the preconditions, inputs, actions, expected results,
and postconditions.
Example of a Test Case:
Test Case ID: TC001
Test Case Description: Verify that the login functionality
works correctly with valid credentials.
Preconditions: The user has a valid username and password.
Steps:
• Enter a valid username in the username field.
• Enter a valid password in the password field.
• Click the Login button.
Expected Result: The user is successfully logged in and
redirected to the dashboard page.
Test Script: A test script is a set of instructions written
in a programming language (e.g., Python, Java, C#) that
automates the execution of one or more test cases. It's a
code implementation of a test case, designed to interact with
the application under test and verify its behavior.
Types of Black Box Testing
❖ Functional Testing
Functional testing ensures that the
requirements or specifications are properly satisfied by
the application. Examples of the functional requirements
are - Authentication of a user on trying to log in to the
system.
❖ Non-Functional Testing
Non-functional testing is a software testing
technique that checks the non-functional attributes of the
system. Examples of the non-functional requirements are
- The background color of the screens should be light
blue.
Grey Box Testing is a software testing
technique that is a combination of the Black
Box Testing technique and the White Box
Testing technique.

• Automation Testing
Tester writes scripts on their own and
uses suitable Software or Automation Tool to
test the software.
Eg: Selenium(open source),SoapUI(webservice
testing tool) etc…
Software Testing 1.0 :
• Single phase to be performed after coding of the software in SDLC.
• No test organization was there.
• Few testing tools are present but limited due to the testing cost is high.

Software Testing 2.0 :


• The concept of early testing is started.
• Testing was evolving in the direction of planning the test resources.
• Many testing tools are available.

Software Testing 3.0 :


• It is based on strategic effort( Gives a roadmap of overall testing process).
• Management is actively involved in this phase.
• Managers control and monitor the activities with quality goals.
7 - Myths & Facts - Software Testing
Goals of Software Testing
Testing produces reliability and Quality

Quality leads to customer satisfaction

Testing controlled by risk factors


Psychology for Software Testing
❖ Testing is the process of demonstrating that
there are no errors.
❖ Testing is the process of executing a program
with the intend of finding errors.
Software Testing Definitions

Myers

W.Dijkstra

E.Miller
Craig
Model for Software Testing
Effective Vs Exhaustive Software
Testing

Testing Domain
Sample Flow graph 1
Software Testing Terminology

Fault/Defect / bug : Fault is a condition that in actual causes a system to produce


failure.One failure may be due to one or more bugs and one bug may cause one or
more failure.
Test Case: Test case is a well documented procedure designed to test
the functionality of a feature in the System . A Test case has an identity
and is associated with a program behavior.

Test Case Template

Testing Techniques :
• Testware : Document created during testing activites.
• Incident : Symptoms associated with failure that alerts the user
• Test Oracle : Means to test the success or failure of the test.
Life Cycle of a Bug
State of a Bug
• Why do Bug occur…?
• Critical bugs -Have worst effects ,Stops or hangs
normal functioning of software
• Major bugs -Bug does not stop the function but
causes the functionality to fail to meet its requirement
• Medium bugs - Bugs are less critical in nature as
compared to critical and major bugs.
• Minor Bugs – Bugs do not affect the functionality of
the software.
• Requirement and Specification Bugs
• Design bugs
Control flow Bugs Eg-Missing of flows
Logic Bugs Eg-Logical Mistakes
Processing Bugs Eg-Arithmetic Error, Incorrect Conversion
Dataflow Bugs Eg)Uninitialized data, Wrong format
Error Handling Bugs Eg)Exception Handling
Race Condition Bugs
Boundary Related Bugs Eg)Program goes beyond Min and Max
Boundaries
User Interface Bugs Eg)User not feel good in using software
• Coding bugs
• Interface Integration bugs
• System bugs Eg)Performance,Usability
• Testing bugs Eg)Failure to use promising test cases,summary
report
Testing Principles
Test planning
Test Design
Test Execution

Documents in Test Execution


Post –Execution/Test Review
Software Testing Methodology
Software Testing Strategy
sghdh

Components of test Strategy

• Test Factors :

•Test Phase :
Test Strategy Matrix
• This matrix becomes an input to develop the
testing strategy.Steps to prepare this matrix
are:
Testing Lifecycle Models
Validation Activities

Unit Testing
Integration Testing
System Testing
Testing Tactics

Software Testing Techniques :

Static Testing :
Static Testing is a type of a Software Testing method which
is performed to check the defects in software without actually executing the
code of the software application.

Dynamic Testing :
Dynamic testing is a software testing method that verifies
the behavior of software code with dynamic variables.
Black-box Testing :
Black-box testing is a type of software testing in which the tester is
not concerned with the internal knowledge or implementation details of the
software but rather focuses on validating the functionality based on the
provided specifications or requirements.

White-Box Testing:
White box testing techniques analyze the internal
structures the used data structures, internal design, code structure, and the
working of the software rather than just the functionality as in black box
testing. It is also called glass box testing or clear box testing or structural
testing. White Box Testing is also known as transparent testing or open box
testing.
Considerations in developing testing Methodologies

You might also like