2. AP’s Learning
World…!
Agenda
Software Testing
Skills required for Software Testing
Methods of Software Testing
Levels of Software Testing
Types of Software Testing
SDLC vs STLC
Test Management
Deliverables of Software Testing
Automation Testing
Difference (Manual vs Automation)
Automation Testing Tools
References
3. AP’s Learning
World…!
Software Testing
What is it?
“Software Testing the process to validate the outcome of software product by identifying defects to
meet with expected results and specified requirements of the customer”
What are the techniques involved in software testing?
Verification (QA) is set of activities for ensuring quality in process by which products are
developed. Aim to prevent defects with focus on process used to make the products.
Method of Verifications: Walkthrough, Inspection, Review (Static Testing)
Validation (QC) is set of activities for ensuring quality in products itself. Finding defects in
developed product. Aim to identify defects/errors in the finished products.
Method of Validation: Testing, End Users (Dynamic Testing)
To be Continued….!
4. AP’s Learning
World…!
Software Testing
Why we need it?
Software testing is really required to point out the defects and errors that were made
during the development phases.
It’s essential since it makes sure of the Customer’s reliability and their satisfaction in
the application.
It is very important to ensure the Quality of the product. Quality product delivered to the
customers helps in gaining their confidence.
Testing is required for an effective performance of software application or product.
It’s important to ensure that the application should not result into any failures because
it can be very expensive in the future or in the later stages of the development.
It’s required to stay in the business.
5. AP’s Learning
World…!
Skills Required for Software Testing
Analytical and logical thinking
The ability to imagine business situations
A sense of logical curiosity and creativity
A “Glocal” approach
Ability to apply basic and fundamental knowledge
Continue to learn
Respect for truth and intellectual integrity
Planning, time management skills
Effective communication skills
7. AP’s Learning
World…!
Levels of Software Testing
“A level of the software testing process where individual units/components of a
software/system are tested, The purpose of this test is to evaluate the system's
compliance with the specified requirements”
Unit Testing
Integration
Testing
System
Testing
Acceptance
Testing
4 Levels of Testing
Process
8. AP’s Learning
World…!
Self Excersis 1
1. What is software testing?
2. Why we need software to be passed from testing phase?
3. What key skills individual require to be best software tester?
4. What are the processes involved in software testing?
5. What are the techniques we used under Verification Process?
6. What are the different methods of testing?
7. What are the level of testing?
8. What is the name of You Tube Channel you are watching right now ?
10. AP’s Learning
World…!
SDLC vs STLC
SDLC: Software Development Life Cycle
It is a systematic approach to develop software.
It is a conceptual model used in project management that
describes the stages involved in an information system
development project, from an initial feasibility study through
maintenance of the completed application.
Requirement
Design
Build
Test
Deployment
Maintenance
Requirement /Design
Review
Test Planning
Test Design
Test Environment Setup
Test Execution
Test Reporting
STLC: Software Test Life Cycle
A software testing life cycle (STLC) is a set of steps used
to test software products. Software testing is a critical part
of preparing software for use, and a STLC helps make this
process more sophisticated, consistent and effective
12. AP’s Learning
World…!
Test Management
What is Configuration Management (CM)?
“Configuration Management (CM) is a systems engineering process for establishing and
maintaining consistency of a product’s performance, functional, and physical attributes with its
requirements, design, and operational information throughout its life.”
Why it is important in software testing?
It facilitates the ability to communicate status of documents and code as well as changes
that have been made to them. High-quality of the software that has been tested and used,
makes it a reusable asset and saves development costs.
Increased efficiencies, stability and control by improving visibility and tracking.
The ability to define and enforce formal policies and procedures that govern asset
identification, status monitoring, and auditing.
13. AP’s Learning
World…!
Deliverables of Software Testing
A test plan is a detailed document that outlines the test strategy, testing objectives,
resources (manpower, software, hardware) required for testing, test schedule, test
estimation and test deliverables.
Test Plan
A Test Scenario is any functionality that can be tested. It is also called Test Condition or
Test Possibility. As a tester, you may put yourself in the end user's shoes and figure out
the real-world scenarios and use cases of the Application Under Test.
Test
Scenario
A test strategy is an outline that describes the testing approach of the software
development cycle. It is created to inform project managers, testers, and developers
about some key issues of the testing process.
Test
Strategy
A test case is a document, which has a set of test data, preconditions, expected results
and post conditions, developed for a particular test scenario in order to verify compliance
against a specific requirement.
Test Case
To be Continued….!
14. AP’s Learning
World…!
Key Sections of Documents
Test Plan Test Case
Test plan identifier Test Case ID
Introduction Test Scenario
Test items Test Case Description
Features to be tested Test Steps
Features not to be tested Test Data
Approach Expected Result
Item pass/fail criteria Test Parameters
Test deliverables Actual Result
Bug Tracking Process Environment Information
Test Environmental Setup Comments
Team Member Responsibilities -
Staffing and training needs -
Test Schedule -
Risks and Mitigation -
Approvals -
15. AP’s Learning
World…!
Self Excersis 2
1. What is Performance, Stress and Load Testing?
2. List down 4 black box testing types?
3. What is SDLC?
4. What are the different phases of STLC?
5. What is regression, sanity and smoke testing?
6. What are the useful details contains under Test Plan?
7. What is test case and test scenario?
8. What are the key parameters of test case?
16. AP’s Learning
World…!
Automation Testing
What is it?
“Automated testing or test automation is a method in software testing that makes use
of special software tools to control the execution of tests and then compares actual test
results with predicted or expected results”.
Why we need it?
“Test Automation software is the best way to increase the effectiveness, efficiency and
coverage of your software testing. Once automated tests are created they can easily
be repeated and they can be extended to perform tasks impossible with manual
testing”.
17. AP’s Learning
World…!
Key Advantages of Automation
Saves time and money by making testing more efficient
Improves testing accuracy compared to testing directed by humans
Increases test coverage because multiple testing tools can be deployed at once
allowing for parallel testing of different test scenarios
Helps developers by finding bugs and errors more quickly
What is Automation Framework?
“The method or process being used to implement automation is called a test
automation framework”
List of Automation Testing Frameworks:
Module Based Testing Framework
Library Architecture Testing Framework
Data Driven Testing Framework
Keyword Driven Testing Framework
Hybrid Testing Framework
Behaviour Driven Development Framework
18. AP’s Learning
World…!
Difference (Manual vs Automation)
Manual Testing Automation Testing
Manual Testing is a start of Testing,
without this testing we can’t start
Automation Testing.
Automation Testing is a continuous
part of Manual Testing.
In Manual Testing testers are allowed to
do Random Testing to find the Bugs.
In Automation Testing we always test
through Running Scripts.
Regression Testing process is tough in
Manual Testing
Regression Testing process is easy in
Automation Testing by Tools.
It takes lot of time. It takes less time.
It is not expensive. It is expensive.
It gives low accuracy result. It gives high accuracy result.
In this Testing we cannot do batch
testing.
In this Testing we can do multiple
types of batch testing.
19. AP’s Learning
World…!
Automation Testing Tools
“In software testing, test automation is the use of special software (separate from
the software being tested) to control the execution of tests and the comparison of
actual outcomes with predicted outcomes.”
Telerik Test Studio
Selenium
Robotium
TestComplete
Watir
Visual Studio Test Professional
SoapUI
QTP (UFT)
FitNesse
TestDrive