UNIT I
,UNIT I FOUNDATIONS OF SOFTWARE TESTING
Why do we test Software?, Black-Box Testing and White-Box Testing,
Software Testing Life Cycle, V-model of Software Testing, Program
Correctness and Verification, Reliability versus Safety, Failures, Errors
and Faults (Defects), Software Testing Principles, Program Inspections,
Stages of Testing: Unit Testing, Integration Testing, System Testing
Software – Windows S/W or program
Testing – to provide Quality of Product
Automation – Using Tool To be Test
Why do we test Software?:
1. Software Testing is The process of evaluating and verifying That a
Software product or application does what it is supposed to do . the
benefits of Testing include preventing bugs Reducing
development cost and Improving performance
2. It is the process of executing a program or application with the
Intent of finding the software bugs (or) errors.
3. Software process is a process used to help Identify the correctness
completeness and check the quality of software product.
Purpose of Software Testing:
Software Testing has different goals and objectives
1. Finding defects which may get created by the programmer while
developing the software.
2. Gaining confidence and providing the Information about the level
of quality.
3. To prevent Defects.
4. To make sure that the end Results meets the business and the user
Requirements
5. To ensure that if satisfy the system Requirements Specifications.
,Application of Software Testing:
1. Cost Effective development
2. Product Improvement
3. Test Automation
4. Quality Check
What to Software test:
Five key Software testing step Every Engineer Should perform
1. Basic Functionality testing
2. Code Review testing – to Find out missing codes in the program
3. Static code Analysis – it is a method of Debugging by Examining
source code before a program is run
4. Unit testing – Individual units or component of a software are
tested
5. Single user Performance testing – this testing process used for
testing the Speed, Response time, Stability, reliability , Scalability
and resource usage of a Software application under particular
workload.
Ways of testing:
1. Manual testing
2. Tool testing(Automation)
Manual testing :
Tester intract with the application to generate the Result that is called
manual testing
Automation testing:
Using Tool To check Functionality or web application .
Example:
, 1. testRigor — Best overall no-code test automation for scalability and
end-to-end tests
2.Avo Assure — Best for no-code test automation
3.Mabl — Best for integrating testing with existing
workflows
4. Selenium — Best for testing web-based
applications
5. Squish — Best for testing graphical user interfaces
(GUIs) and human- machine interfaces (HMIs)
6. Testim — Best for automated testing with artificial
intelligence
7. Katalon Studio — Best for integrating tests into
CI/CD pipelines
Who Does testing:
1.S/W Tester
2. S/W Developer
3.Project Lead Manager
4. End User
5.Information Service management
6. Senior organization management
Types of Software Testing:
1. Verification - Measure the Quality of the Process
to Create a Quality Product and without executing
the System’s code and functionality and non
functionality of the system
2.Validation – validation is nothing but executing
and using the S/W /System / Product is called
Validation and to ways testing
Functionality – Behavior testing
non functionality – Performance
testing