SlideShare a Scribd company logo
SOFTWARE TESTING
Presented By
M.SINDHU
Assistant Professor,
Kongu Engineering College,
Perundurai.
M.SINDHU,Assistant Professor, Kongu Engineering College.
M.SINDHU,Assistant Professor, Kongu Engineering College.
UNIT-II
Black Box Testing
&
Levels of Testing
M.SINDHU,Assistant Professor, Kongu Engineering College.
Black Box Testing
 Black box testing is a technique of software testing which
examines the functionality of software without peering
into its internal structure or coding. The primary source of
black box testing is a specification of requirements that is
stated by the customer.
 In this method, tester selects a function and gives input
value to examine its functionality, and checks whether
the function is giving expected output or not. If the
function produces correct output, then it is passed in
testing, otherwise failed. The test team reports the result
to the development team and then tests the next
function
M.SINDHU,Assistant Professor, Kongu Engineering College.
Requirements-based testing
 Requirements-based testing is a testing approach in which
test cases, conditions and data are derived from
requirements. It includes functional tests and also non-
functional attributes such as performance, reliability or
usability.
Stages :
 Defining Test Completion Criteria
 Design Test Cases
 Execute Tests
 Verify Test Results
 Verify Test Coverage
 Track and Manage Defects
M.SINDHU,Assistant Professor, Kongu Engineering College.
Requirements Testing process:
 Testing must be carried out in a timely
manner.
 Testing process should add value to the
software life cycle, hence it needs to be
effective.
 Testing the system exhaustively is impossible
hence the testing process needs to be
efficient as well.
 Testing must provide the overall status of
the project, hence it should be
manageable.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Requirement traceability Matrix -
Parameters:
Requirement ID
Risks
Requirement Type
Requirement Description
Trace to Design Specification
Unit Test Cases
Integration Test Cases
System Test Cases
User Acceptance Test Cases
Trace to Test Script
M.SINDHU,Assistant Professor, Kongu Engineering College.
What is Positive Testing?
 It is used to check whether our application works as
expected or not. And if an error is detected at the time of
positive testing, the test is considered as fail. A positive
testing is a technique whenever a test engineer writes the
test cases for a set of respective outputs.
 In positive testing, the test engineer will always check for
only a good set of values.
 In other words, we can say that positive testing is a process
where the system or an application is tested against the
valid input data.
 And the primary purpose of performing the positive testing
is to validate whether the software does what it is
supposed to do.
 In simple terms, we can say that positive testing is
implemented by providing a positive point of view.
M.SINDHU,Assistant Professor, Kongu Engineering College.
What is Negative Testing?
 It is implemented to check how the application can
gracefully handle invalid input or unpredicted user
performance.
 The fundamental purpose of executing the negative
testing is to ensure the application's stability against the
effects of different variations of improper validation
data set.
 Negative testing is also known as error path testing or
failure. And it helps us to identify more bugs and
enhance the quality of the software application under
test.
 Once the positive testing is complete, then only we can
execute the negative testing, which helps to identify
more bugs and enhance the quality of the software
application under test.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Boundary Value Analysis
 Boundary value analysis is one of the widely used case
design technique for black box testing. It is used to test
boundary values because the input values near the
boundary have higher chances of error.
 Whenever we do the testing by boundary value analysis,
the tester focuses on, while entering boundary value
whether the software is producing correct output or not.
 Boundary values are those that contain the upper and
lower limit of a variable. Assume that, age is a variable of
any function, and its minimum value is 18 and the
maximum value is 30, both 18 and 30 will be considered
as boundary values.
 The basic assumption of boundary value analysis is, the
test cases that are created using boundary values are
most likely to cause an error.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Example:
 Imagine, there is a function that accepts a number
between 18 to 30, where 18 is the minimum and 30 is
the maximum value of valid partition, the other values
of this partition are 19, 20, 21, 22, 23, 24, 25, 26, 27, 28
and 29. The invalid partition consists of the numbers
which are less than 18 such as 12, 14, 15, 16 and 17,
and more than 30 such as 31, 32, 34, 36 and 40. Tester
develops test cases for both valid and invalid partitions
to capture the behavior of the system on different
input conditions.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Decision Table
 Decision table technique is one of the widely used case
design techniques for black box testing. This is a systematic
approach where various input combinations and their
respective system behavior are captured in a tabular form.
 That's why it is also known as a cause-effect table. This
technique is used to pick the test cases in a systematic
manner; it saves the testing time and gives good coverage
to the testing area of the software application.
 Decision table technique is appropriate for the functions
that have a logical relationship between two and more
than two inputs.
 This technique is related to the correct combination of
inputs and determines the result of various combinations of
input. To design the test cases by decision table technique,
we need to consider conditions as input and actions as
output.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Example:
 Most of us use an email account, and when you want to
use an email account, for this you need to enter the email
and its associated password.
 If both email and password are correctly matched, the user
will be directed to the email account's homepage;
otherwise, it will come back to the login page with an error
message specified with "Incorrect Email" or "Incorrect
Password.“
M.SINDHU,Assistant Professor, Kongu Engineering College.
Equivalence class partitioning
 Equivalence Partitioning Method is also known as
Equivalence class partitioning (ECP). It is a software testing
technique or black-box testing that divides input domain
into classes of data, and with the help of these classes of
data, test cases can be derived.
 An ideal test case identifies class of error that might
require many arbitrary test cases to be executed before
general error is observed.
 In equivalence partitioning, equivalence classes are
evaluated for given input conditions.
 Whenever any input is given, then type of input condition
is checked, then for this input conditions, Equivalence
class represents or describes set of valid or invalid states.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Guidelines for Equivalence Partitioning :
 If the range condition is given as
an input, then one valid and two
invalid equivalence classes are
defined.
 If a specific value is given as
input, then one valid and two
invalid equivalence classes are
defined.
 If a member of set is given as an
input, then one valid and one
invalid equivalence class is
defined.
 If Boolean no. is given as an input
condition, then one valid and
one invalid equivalence class is
defined.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Advantages and disadvantages of Equivalence Partitioning
technique
M.SINDHU,Assistant Professor, Kongu Engineering College.
State Based Testing
 The general meaning of state transition is, different
forms of the same situation, and according to the
meaning, the state transition method does the same.
It is used to capture the behavior of the software
application when different input values are given to
the same function.
 There is a login function of an application which
provides a maximum three number of attempts, and
after exceeding three attempts, it will be directed to
an error page.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Compatibility Testing
 It is part of non-functional testing.
 Checking the functionality of an application on different
software, hardware platforms, network, and browsers is
known as compatibility testing.
Compatibility testing tools
 Some of the most commonly used compatibility testing
tools are as follows:
 LambdaTest
 BrowserStack
 BrowseEMAll
 TestingBot
M.SINDHU,Assistant Professor, Kongu Engineering College.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Compatibility testing process
 Here, we are performing an O.S (Operating system) compatibility testing process.
 Firstly, the customer will give the functional requirement as well as a non-
functional requirement.
 After getting the non-functional requirement, the one base platform will decide
according to the most commonly used platform.
 After that, the test engineer will start functional testing on the base platform until
the application is functional stable.
 We have to test the application on a different platform, so for this, we have a
VMware software.
 For compatibility testing, we will use VM Server where we install all necessary
operating system and browser, and access that server using Remote Desktop
connection.
 We access VMware set up remotely, and after that, the test engineer will do one
round of compatibility testing on the platform and check the end-to-end flow.
 The end-to-end flow will go on until the application is stable, and applications
work fine for all necessary platforms and handover to the customer.
 Note2:For Browser compatibility testing, we don't have to go for the VMware
setup, since multiple browsers can be installed in a single machine as well as they
also are accessed simultaneously.
 In the case of various versions of the same browser, we have to go with VMware
set up since multiple versions of the browser cannot be accessed simultaneously
from a single system.
 We can do Software compatibility testing on different platforms.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Testing Documentation
 Testing documentation is the documentation of artifacts that
are created during or before the testing of a software
application.
 Documentation reflects the importance of processes for the
customer, individual and organization.
 Projects which contain all documents have a high level of
maturity. Careful documentation can save the time, efforts
and wealth of the organization.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Types of test document
M.SINDHU,Assistant Professor, Kongu Engineering College.
Benefits of using Documentation
 Documentation clarifies the quality of methods and objectives.
 It ensures internal coordination when a customer uses software
application.
 It ensures clarity about the stability of tasks and performance.
 It provides feedback on preventive tasks.
 It provides feedback for your planning cycle.
 It creates objective evidence for the performance of the quality
management system.
 If we write the test document, we can't forget the values which we put in
the first phase.
 It is also a time-saving process because we can easily refer to the text
document.
 It is also consistent because we will test on the same value.
The drawback of the test document
 It is a bit tedious because we have to maintain the modification provided
by the customer and parallel change in the document.
 If the test documentation is not proper, it will replicate the quality of the
application.
 Sometimes it is written by that person who does not have the product
knowledge.
 Sometimes the cost of the document will be exceeding its value.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Domain testing
 Domain testing is a testing process where the software is tested
to ensure it doesn't accept invalid or out-of-range values.
 The output is tested against a minimum number of inputs to see
whether the system is accepting the input within the required
range or not. The white box testing is a perfect example of
domain testing.
Domain Testing Strategy
 A specific boundary defines every domain. During the test,
testers analyze each point nearby those boundaries. Each
testing process starts with a question, and the purpose of
domain testing is to find solutions to these questions.
 What domains to choose for the testing process?
 What values should one choose for the test?
 How do you group values into classes?
 How do you get the results?
M.SINDHU,Assistant Professor, Kongu Engineering College.
Is it important to have domain knowledge for
domain testing?
 Is it important to have domain knowledge for domain testing?
 It is highly important to have at least basic domain knowledge for
an expert to conduct domain testing.
 Domain knowledge is crucial as each industry or field is unique and
has specific requirements.
 Retail − In retail domains, the workflow runs at different levels.
Therefore, testing engineers looking forward to running domain
testing in retail must know how things work in warehouse
management, in-store solutions, and so on.
 Online Banking − Online backing consists of several crucial internet-
dependent activities such as login, money transfer, bill payment,
etc., which is quite different than retails.
 Healthcare − Handling healthcare domains is quite critical as it holds
a huge risk to someone's life. Besides, it includes numerous menial
yet time-consuming tasks like patient's entry, health history,
prescriptions, setting & modifying schedules, insurance, etc.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Levels of Testing
 In software testing we
have four different
levels of testing, which
are as discussed below:
 Unit Testing
 Integration Testing
 System Testing
 Acceptance Testing
M.SINDHU,Assistant Professor, Kongu Engineering College.
Level1: Unit Testing
 Unit testing is the first level of software testing, which is used
to test if software modules are satisfying the given
requirement or not.
 The first level of testing involves analyzing each unit or an
individual component of the software application.
 Unit testing is also the first level of functional testing. The
primary purpose of executing unit testing is to validate unit
components with their performance.
 A unit component is an individual function or regulation of
the application, or we can say that it is the smallest testable
part of the software. The reason of performing the unit
testing is to test the correctness of inaccessible code.
 Unit testing will help the test engineer and developers in
order to understand the base of code that makes them
able to change defect causing code quickly. The
developers implement the unit.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Level2: Integration Testing
 The second level of software testing is the integration testing. The
integration testing process comes after unit testing.
 It is mainly used to test the data flow from one module or
component to other modules.
 In integration testing, the test engineer tests the units or separate
components or modules of the software in a group.
 The primary purpose of executing the integration testing is to
identify the defects at the interaction between integrated
components or units.
 When each component or module works separately, we need to
check the data flow between the dependent modules, and this
process is known as integration testing.
 We only go for the integration testing when the functional testing
has been completed successfully on each application module.
 In simple words, we can say that integration testing aims to
evaluate the accuracy of communication among all the
modules.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Level3: System Testing
 The third level of software testing is system testing, which is
used to test the software's functional and non-functional
requirements.
 It is end-to-end testing where the testing environment is
parallel to the production environment. In the third level of
software testing, we will test the application as a whole
system.
 To check the end-to-end flow of an application or the
software as a user is known as System testing.
 In system testing, we will go through all the necessary
modules of an application and test if the end features or the
end business works fine, and test the product as a complete
system.
 In simple words, we can say that System testing is a
sequence of different types of tests to implement and
examine the entire working of an integrated software
computer system against requirements.
M.SINDHU,Assistant Professor, Kongu Engineering College.
Level4: Acceptance Testing
 The last and fourth level of software testing is acceptance
testing, which is used to evaluate whether a specification or
the requirements are met as per its delivery.
 The software has passed through three testing levels (Unit
Testing, Integration Testing, System Testing). Some minor
errors can still be identified when the end-user uses the
system in the actual scenario.
 In simple words, we can say that Acceptance testing is
the squeezing of all the testing processes that are
previously done.
 The acceptance testing is also known as User acceptance
testing (UAT) and is done by the customer before
accepting the final product.
 Usually, UAT is done by the domain expert (customer) for
their satisfaction and checks whether the application is
working according to given business scenarios and real-
time scenarios.

More Related Content

Similar to Software Testing - Unit 2 (Black Box Testing and Levels of Testing) (20)

PPTX
Specification Based or Black Box Techniques
Nadia Chairunissa
 
DOCX
Testing in Software Engineering.docx
8759000398
 
PPTX
Specification based or black box techniques
Yoga Pratama Putra
 
PDF
Paper 06
Sunil Pandey
 
PPT
<p>Software Testing</p>
Atul Mishra
 
PPT
An overview to Software Testing
Atul Mishra
 
PPTX
Software Testing strategies, their types and Levels
ranapoonam1
 
PPTX
Unit2 for st
Poonkodi Jayakumar
 
PPTX
Black & White Box testing
Mohamed Zeinelabdeen Abdelgader Farh jber
 
PPTX
Specification based or black box techniques
M Branikno Ramadhan
 
PPTX
Specification based or black box techniques
M Branikno Ramadhan
 
PPTX
Specification based or black box techniques 3
Bima Alvamiko
 
PPT
Defect Testing in Software Engineering SE20
koolkampus
 
PPTX
Specification based or black box techniques
Yoga Setiawan
 
PPT
blckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ yk
SMayankSharma
 
PPTX
Specification based or black box techniques (andika m)
Andika Mardanu
 
PPTX
Specification based or black box techniques 3
alex swandi
 
PPT
Dynamic Testing
Jimi Patel
 
PPTX
Unit 4 testing
TharuniDiddekunta
 
PPTX
Specification based or black box techniques
Dinul
 
Specification Based or Black Box Techniques
Nadia Chairunissa
 
Testing in Software Engineering.docx
8759000398
 
Specification based or black box techniques
Yoga Pratama Putra
 
Paper 06
Sunil Pandey
 
<p>Software Testing</p>
Atul Mishra
 
An overview to Software Testing
Atul Mishra
 
Software Testing strategies, their types and Levels
ranapoonam1
 
Unit2 for st
Poonkodi Jayakumar
 
Specification based or black box techniques
M Branikno Ramadhan
 
Specification based or black box techniques
M Branikno Ramadhan
 
Specification based or black box techniques 3
Bima Alvamiko
 
Defect Testing in Software Engineering SE20
koolkampus
 
Specification based or black box techniques
Yoga Setiawan
 
blckboxtesting.ppt il.;io'/ ulio'[ yjko8i[0'-p/ yk
SMayankSharma
 
Specification based or black box techniques (andika m)
Andika Mardanu
 
Specification based or black box techniques 3
alex swandi
 
Dynamic Testing
Jimi Patel
 
Unit 4 testing
TharuniDiddekunta
 
Specification based or black box techniques
Dinul
 

More from Sindhu M (8)

PPTX
Google Web Services in cloud platform- Essential
Sindhu M
 
PPTX
Understanding Services and Virtualization
Sindhu M
 
PPTX
CLOUD COMPUTING FUNDAMENTALS, ARCHITECTURE
Sindhu M
 
PPTX
Software Testing - Unit 5(Test-Driven Development)
Sindhu M
 
PPTX
Software Testing - Unit - 4 (Life Cycle Based Testing)
Sindhu M
 
PPTX
Software Testing - Unit 3 (Performance, Regression and Ad-hoc Testing)
Sindhu M
 
PPTX
Software Testing- Unit -1(Fundamentals of Software Testing)
Sindhu M
 
PPTX
Entity-Relationship Model in Database Technology
Sindhu M
 
Google Web Services in cloud platform- Essential
Sindhu M
 
Understanding Services and Virtualization
Sindhu M
 
CLOUD COMPUTING FUNDAMENTALS, ARCHITECTURE
Sindhu M
 
Software Testing - Unit 5(Test-Driven Development)
Sindhu M
 
Software Testing - Unit - 4 (Life Cycle Based Testing)
Sindhu M
 
Software Testing - Unit 3 (Performance, Regression and Ad-hoc Testing)
Sindhu M
 
Software Testing- Unit -1(Fundamentals of Software Testing)
Sindhu M
 
Entity-Relationship Model in Database Technology
Sindhu M
 
Ad

Recently uploaded (20)

PPTX
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
PPTX
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
PDF
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PPTX
PPT on the Development of Education in the Victorian England
Beena E S
 
PPTX
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
PDF
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
PDF
1, 2, 3… E MAIS UM CICLO CHEGA AO FIM!.pdf
Colégio Santa Teresinha
 
PPTX
LEGAL ASPECTS OF PSYCHIATRUC NURSING.pptx
PoojaSen20
 
PDF
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
PPTX
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
PPTX
ROLE OF ANTIOXIDANT IN EYE HEALTH MANAGEMENT.pptx
Subham Panja
 
PPTX
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
PDF
Federal dollars withheld by district, charter, grant recipient
Mebane Rash
 
PPTX
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
PPTX
How to Manage Access Rights & User Types in Odoo 18
Celine George
 
PDF
CEREBRAL PALSY: NURSING MANAGEMENT .pdf
PRADEEP ABOTHU
 
PPTX
Latest Features in Odoo 18 - Odoo slides
Celine George
 
PPTX
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
PPT
digestive system for Pharm d I year HAP
rekhapositivity
 
PPTX
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
2025 Winter SWAYAM NPTEL & A Student.pptx
Utsav Yagnik
 
How to Configure Prepayments in Odoo 18 Sales
Celine George
 
DIGESTION OF CARBOHYDRATES,PROTEINS,LIPIDS
raviralanaresh2
 
PPT on the Development of Education in the Victorian England
Beena E S
 
SCHOOL-BASED SEXUAL HARASSMENT PREVENTION AND RESPONSE WORKSHOP
komlalokoe
 
ARAL-Orientation_Morning-Session_Day-11.pdf
JoelVilloso1
 
1, 2, 3… E MAIS UM CICLO CHEGA AO FIM!.pdf
Colégio Santa Teresinha
 
LEGAL ASPECTS OF PSYCHIATRUC NURSING.pptx
PoojaSen20
 
IMP NAAC-Reforms-Stakeholder-Consultation-Presentation-on-Draft-Metrics-Unive...
BHARTIWADEKAR
 
How to Configure Storno Accounting in Odoo 18 Accounting
Celine George
 
ROLE OF ANTIOXIDANT IN EYE HEALTH MANAGEMENT.pptx
Subham Panja
 
Views on Education of Indian Thinkers J.Krishnamurthy..pptx
ShrutiMahanta1
 
Federal dollars withheld by district, charter, grant recipient
Mebane Rash
 
A PPT on Alfred Lord Tennyson's Ulysses.
Beena E S
 
How to Manage Access Rights & User Types in Odoo 18
Celine George
 
CEREBRAL PALSY: NURSING MANAGEMENT .pdf
PRADEEP ABOTHU
 
Latest Features in Odoo 18 - Odoo slides
Celine George
 
HYDROCEPHALUS: NURSING MANAGEMENT .pptx
PRADEEP ABOTHU
 
digestive system for Pharm d I year HAP
rekhapositivity
 
Gall bladder, Small intestine and Large intestine.pptx
rekhapositivity
 
Ad

Software Testing - Unit 2 (Black Box Testing and Levels of Testing)

  • 1. SOFTWARE TESTING Presented By M.SINDHU Assistant Professor, Kongu Engineering College, Perundurai. M.SINDHU,Assistant Professor, Kongu Engineering College.
  • 2. M.SINDHU,Assistant Professor, Kongu Engineering College. UNIT-II Black Box Testing & Levels of Testing
  • 3. M.SINDHU,Assistant Professor, Kongu Engineering College. Black Box Testing  Black box testing is a technique of software testing which examines the functionality of software without peering into its internal structure or coding. The primary source of black box testing is a specification of requirements that is stated by the customer.  In this method, tester selects a function and gives input value to examine its functionality, and checks whether the function is giving expected output or not. If the function produces correct output, then it is passed in testing, otherwise failed. The test team reports the result to the development team and then tests the next function
  • 4. M.SINDHU,Assistant Professor, Kongu Engineering College. Requirements-based testing  Requirements-based testing is a testing approach in which test cases, conditions and data are derived from requirements. It includes functional tests and also non- functional attributes such as performance, reliability or usability. Stages :  Defining Test Completion Criteria  Design Test Cases  Execute Tests  Verify Test Results  Verify Test Coverage  Track and Manage Defects
  • 5. M.SINDHU,Assistant Professor, Kongu Engineering College. Requirements Testing process:  Testing must be carried out in a timely manner.  Testing process should add value to the software life cycle, hence it needs to be effective.  Testing the system exhaustively is impossible hence the testing process needs to be efficient as well.  Testing must provide the overall status of the project, hence it should be manageable.
  • 6. M.SINDHU,Assistant Professor, Kongu Engineering College. Requirement traceability Matrix - Parameters: Requirement ID Risks Requirement Type Requirement Description Trace to Design Specification Unit Test Cases Integration Test Cases System Test Cases User Acceptance Test Cases Trace to Test Script
  • 7. M.SINDHU,Assistant Professor, Kongu Engineering College. What is Positive Testing?  It is used to check whether our application works as expected or not. And if an error is detected at the time of positive testing, the test is considered as fail. A positive testing is a technique whenever a test engineer writes the test cases for a set of respective outputs.  In positive testing, the test engineer will always check for only a good set of values.  In other words, we can say that positive testing is a process where the system or an application is tested against the valid input data.  And the primary purpose of performing the positive testing is to validate whether the software does what it is supposed to do.  In simple terms, we can say that positive testing is implemented by providing a positive point of view.
  • 8. M.SINDHU,Assistant Professor, Kongu Engineering College. What is Negative Testing?  It is implemented to check how the application can gracefully handle invalid input or unpredicted user performance.  The fundamental purpose of executing the negative testing is to ensure the application's stability against the effects of different variations of improper validation data set.  Negative testing is also known as error path testing or failure. And it helps us to identify more bugs and enhance the quality of the software application under test.  Once the positive testing is complete, then only we can execute the negative testing, which helps to identify more bugs and enhance the quality of the software application under test.
  • 9. M.SINDHU,Assistant Professor, Kongu Engineering College. Boundary Value Analysis  Boundary value analysis is one of the widely used case design technique for black box testing. It is used to test boundary values because the input values near the boundary have higher chances of error.  Whenever we do the testing by boundary value analysis, the tester focuses on, while entering boundary value whether the software is producing correct output or not.  Boundary values are those that contain the upper and lower limit of a variable. Assume that, age is a variable of any function, and its minimum value is 18 and the maximum value is 30, both 18 and 30 will be considered as boundary values.  The basic assumption of boundary value analysis is, the test cases that are created using boundary values are most likely to cause an error.
  • 10. M.SINDHU,Assistant Professor, Kongu Engineering College. Example:  Imagine, there is a function that accepts a number between 18 to 30, where 18 is the minimum and 30 is the maximum value of valid partition, the other values of this partition are 19, 20, 21, 22, 23, 24, 25, 26, 27, 28 and 29. The invalid partition consists of the numbers which are less than 18 such as 12, 14, 15, 16 and 17, and more than 30 such as 31, 32, 34, 36 and 40. Tester develops test cases for both valid and invalid partitions to capture the behavior of the system on different input conditions.
  • 11. M.SINDHU,Assistant Professor, Kongu Engineering College. Decision Table  Decision table technique is one of the widely used case design techniques for black box testing. This is a systematic approach where various input combinations and their respective system behavior are captured in a tabular form.  That's why it is also known as a cause-effect table. This technique is used to pick the test cases in a systematic manner; it saves the testing time and gives good coverage to the testing area of the software application.  Decision table technique is appropriate for the functions that have a logical relationship between two and more than two inputs.  This technique is related to the correct combination of inputs and determines the result of various combinations of input. To design the test cases by decision table technique, we need to consider conditions as input and actions as output.
  • 12. M.SINDHU,Assistant Professor, Kongu Engineering College. Example:  Most of us use an email account, and when you want to use an email account, for this you need to enter the email and its associated password.  If both email and password are correctly matched, the user will be directed to the email account's homepage; otherwise, it will come back to the login page with an error message specified with "Incorrect Email" or "Incorrect Password.“
  • 13. M.SINDHU,Assistant Professor, Kongu Engineering College. Equivalence class partitioning  Equivalence Partitioning Method is also known as Equivalence class partitioning (ECP). It is a software testing technique or black-box testing that divides input domain into classes of data, and with the help of these classes of data, test cases can be derived.  An ideal test case identifies class of error that might require many arbitrary test cases to be executed before general error is observed.  In equivalence partitioning, equivalence classes are evaluated for given input conditions.  Whenever any input is given, then type of input condition is checked, then for this input conditions, Equivalence class represents or describes set of valid or invalid states.
  • 14. M.SINDHU,Assistant Professor, Kongu Engineering College. Guidelines for Equivalence Partitioning :  If the range condition is given as an input, then one valid and two invalid equivalence classes are defined.  If a specific value is given as input, then one valid and two invalid equivalence classes are defined.  If a member of set is given as an input, then one valid and one invalid equivalence class is defined.  If Boolean no. is given as an input condition, then one valid and one invalid equivalence class is defined.
  • 15. M.SINDHU,Assistant Professor, Kongu Engineering College. Advantages and disadvantages of Equivalence Partitioning technique
  • 16. M.SINDHU,Assistant Professor, Kongu Engineering College. State Based Testing  The general meaning of state transition is, different forms of the same situation, and according to the meaning, the state transition method does the same. It is used to capture the behavior of the software application when different input values are given to the same function.  There is a login function of an application which provides a maximum three number of attempts, and after exceeding three attempts, it will be directed to an error page.
  • 17. M.SINDHU,Assistant Professor, Kongu Engineering College. Compatibility Testing  It is part of non-functional testing.  Checking the functionality of an application on different software, hardware platforms, network, and browsers is known as compatibility testing. Compatibility testing tools  Some of the most commonly used compatibility testing tools are as follows:  LambdaTest  BrowserStack  BrowseEMAll  TestingBot
  • 18. M.SINDHU,Assistant Professor, Kongu Engineering College.
  • 19. M.SINDHU,Assistant Professor, Kongu Engineering College. Compatibility testing process  Here, we are performing an O.S (Operating system) compatibility testing process.  Firstly, the customer will give the functional requirement as well as a non- functional requirement.  After getting the non-functional requirement, the one base platform will decide according to the most commonly used platform.  After that, the test engineer will start functional testing on the base platform until the application is functional stable.  We have to test the application on a different platform, so for this, we have a VMware software.  For compatibility testing, we will use VM Server where we install all necessary operating system and browser, and access that server using Remote Desktop connection.  We access VMware set up remotely, and after that, the test engineer will do one round of compatibility testing on the platform and check the end-to-end flow.  The end-to-end flow will go on until the application is stable, and applications work fine for all necessary platforms and handover to the customer.  Note2:For Browser compatibility testing, we don't have to go for the VMware setup, since multiple browsers can be installed in a single machine as well as they also are accessed simultaneously.  In the case of various versions of the same browser, we have to go with VMware set up since multiple versions of the browser cannot be accessed simultaneously from a single system.  We can do Software compatibility testing on different platforms.
  • 20. M.SINDHU,Assistant Professor, Kongu Engineering College. Testing Documentation  Testing documentation is the documentation of artifacts that are created during or before the testing of a software application.  Documentation reflects the importance of processes for the customer, individual and organization.  Projects which contain all documents have a high level of maturity. Careful documentation can save the time, efforts and wealth of the organization.
  • 21. M.SINDHU,Assistant Professor, Kongu Engineering College. Types of test document
  • 22. M.SINDHU,Assistant Professor, Kongu Engineering College. Benefits of using Documentation  Documentation clarifies the quality of methods and objectives.  It ensures internal coordination when a customer uses software application.  It ensures clarity about the stability of tasks and performance.  It provides feedback on preventive tasks.  It provides feedback for your planning cycle.  It creates objective evidence for the performance of the quality management system.  If we write the test document, we can't forget the values which we put in the first phase.  It is also a time-saving process because we can easily refer to the text document.  It is also consistent because we will test on the same value. The drawback of the test document  It is a bit tedious because we have to maintain the modification provided by the customer and parallel change in the document.  If the test documentation is not proper, it will replicate the quality of the application.  Sometimes it is written by that person who does not have the product knowledge.  Sometimes the cost of the document will be exceeding its value.
  • 23. M.SINDHU,Assistant Professor, Kongu Engineering College. Domain testing  Domain testing is a testing process where the software is tested to ensure it doesn't accept invalid or out-of-range values.  The output is tested against a minimum number of inputs to see whether the system is accepting the input within the required range or not. The white box testing is a perfect example of domain testing. Domain Testing Strategy  A specific boundary defines every domain. During the test, testers analyze each point nearby those boundaries. Each testing process starts with a question, and the purpose of domain testing is to find solutions to these questions.  What domains to choose for the testing process?  What values should one choose for the test?  How do you group values into classes?  How do you get the results?
  • 24. M.SINDHU,Assistant Professor, Kongu Engineering College. Is it important to have domain knowledge for domain testing?  Is it important to have domain knowledge for domain testing?  It is highly important to have at least basic domain knowledge for an expert to conduct domain testing.  Domain knowledge is crucial as each industry or field is unique and has specific requirements.  Retail − In retail domains, the workflow runs at different levels. Therefore, testing engineers looking forward to running domain testing in retail must know how things work in warehouse management, in-store solutions, and so on.  Online Banking − Online backing consists of several crucial internet- dependent activities such as login, money transfer, bill payment, etc., which is quite different than retails.  Healthcare − Handling healthcare domains is quite critical as it holds a huge risk to someone's life. Besides, it includes numerous menial yet time-consuming tasks like patient's entry, health history, prescriptions, setting & modifying schedules, insurance, etc.
  • 25. M.SINDHU,Assistant Professor, Kongu Engineering College. Levels of Testing  In software testing we have four different levels of testing, which are as discussed below:  Unit Testing  Integration Testing  System Testing  Acceptance Testing
  • 26. M.SINDHU,Assistant Professor, Kongu Engineering College. Level1: Unit Testing  Unit testing is the first level of software testing, which is used to test if software modules are satisfying the given requirement or not.  The first level of testing involves analyzing each unit or an individual component of the software application.  Unit testing is also the first level of functional testing. The primary purpose of executing unit testing is to validate unit components with their performance.  A unit component is an individual function or regulation of the application, or we can say that it is the smallest testable part of the software. The reason of performing the unit testing is to test the correctness of inaccessible code.  Unit testing will help the test engineer and developers in order to understand the base of code that makes them able to change defect causing code quickly. The developers implement the unit.
  • 27. M.SINDHU,Assistant Professor, Kongu Engineering College. Level2: Integration Testing  The second level of software testing is the integration testing. The integration testing process comes after unit testing.  It is mainly used to test the data flow from one module or component to other modules.  In integration testing, the test engineer tests the units or separate components or modules of the software in a group.  The primary purpose of executing the integration testing is to identify the defects at the interaction between integrated components or units.  When each component or module works separately, we need to check the data flow between the dependent modules, and this process is known as integration testing.  We only go for the integration testing when the functional testing has been completed successfully on each application module.  In simple words, we can say that integration testing aims to evaluate the accuracy of communication among all the modules.
  • 28. M.SINDHU,Assistant Professor, Kongu Engineering College. Level3: System Testing  The third level of software testing is system testing, which is used to test the software's functional and non-functional requirements.  It is end-to-end testing where the testing environment is parallel to the production environment. In the third level of software testing, we will test the application as a whole system.  To check the end-to-end flow of an application or the software as a user is known as System testing.  In system testing, we will go through all the necessary modules of an application and test if the end features or the end business works fine, and test the product as a complete system.  In simple words, we can say that System testing is a sequence of different types of tests to implement and examine the entire working of an integrated software computer system against requirements.
  • 29. M.SINDHU,Assistant Professor, Kongu Engineering College. Level4: Acceptance Testing  The last and fourth level of software testing is acceptance testing, which is used to evaluate whether a specification or the requirements are met as per its delivery.  The software has passed through three testing levels (Unit Testing, Integration Testing, System Testing). Some minor errors can still be identified when the end-user uses the system in the actual scenario.  In simple words, we can say that Acceptance testing is the squeezing of all the testing processes that are previously done.  The acceptance testing is also known as User acceptance testing (UAT) and is done by the customer before accepting the final product.  Usually, UAT is done by the domain expert (customer) for their satisfaction and checks whether the application is working according to given business scenarios and real- time scenarios.