Manual Testing
Manual Testing
Waterfall model
Spiral model
V and V model
Customized Model
Prototype model
Hybrid model
Agile model
SDLC Stages
Why SDLC
To know the resources, manpower, cost of the project and to have proper
supporting documents.
Waterfall model
Advantages:
Disadvantages:
Spiral model
Spiral model is a controlled model as it analyses for risk after each stage
of development.
Disadvantages:
Verification: Verifying CRS, SRS, HLD and LLD and check whether it is
according to the requirement or not. Done by Test engineer and done
before software development. Here we check whether we are building
the software right or wrong. Also called a static testing
Advantages:
Documentation is more
Protoype model
Advantages:
Customer will get to know the outcome of end product in initial stage
Disadvantages:
Actual development will be late as team will take take in designing and
developing the prototype model.
Customized model
Here, we take any basic model and customize it as per requirements. Also
called as desired model
Hybrid model
The process of customizing more than one model into a single model is
called as hybrid model
Agile model
Breaks the projects into small components known as sprints and a team
works on each piece while getting continuous feedback for each.
Delivers the project in small increments rather than the finished project.
Advantages:
Easy adjustments
Communication
Customer feedback
Disadvantages:
HLD focuses on overall architecture and how they work as a whole while
LLD focus on each one in detail.
Software Testing
Manual Testing
Adv:
Disad
Takes time
No consistency
System Study -> Prepare test plan -> Write test case -> Prepare
Traceability Matrix-> Test execution -> Defect tracking ->Test execution
report -> Retrospective meeting
System study- Here we read the reqirements and try to understand it. If
any doubt, interact with customers, dev team, testing team , business
analyst and product owners.
Prepare test plan- Test lead will be preparing a document before test
execution
Write test case- Is a detailed document which we write by looking into
requirement and test scenarios
Template
Body- step no, description, input, expected result, actual result, status,
comment
Test case:
Precondition:
Test steps:
Description:
Input if any
Expected result:
Actual result:
Status:
Example:
Test scenario: To check whether user can move a specific mail from inbox
to spam folder.
Test case:
Defect Tracking- Tracking and noting down the defects found while
conducting tests in a MT tool.
Test scenerio:
Assigned: 6 status
Test cycle
Respin:
Types of testing
Black box testing
Over testing- running tests more than necessary wasting time and
resources
System Testing
When to test:
Integration testing
Types
Incremental Integration Testing ( not yet fully integrated)
#Chime
Stub: is a dummy module that acts like a real module which can receive
and generate the data. Ztop down
If you haven’t developed the lid yet, you might use a dummy lid
called stub
Drivers: Acts like a interface between two modules. It can analyse the
result and give output. Bottom up
If you’re testing the bottle's ability to be filled and poured, a
driver could simulate the action of pouring to see how well the
design works in practice.
Non Incremental integration testing
you test the entire water bottle as a whole after all components
are developed. For example, you would fill the assembled bottle
with water, seal it, and test for leaks, temperature retention, and
usability all at once.
Acceptance Testing
Example:
### Example 1: Water Bottle Scenario: A company has
developed a new water bottle that is supposed to keep drinks cold
for 12 hours and is leak-proof.
2. Test Cases: - Test Case 1: Fill the bottle with ice water, seal it,
and check the temperature after 12 hours. - Test Case 2: Fill the
bottle with water, seal it, turn it upside down, and check for leaks
after 1 hour. - Test Case 3: Evaluate the design for comfort while
holding and carrying.
4. Evaluation: - Analyze the results: Did the bottle keep the water
cold? Was there any leakage? Was the design comfortable?
5. Sign-off: - If the bottle meets all the criteria, stakeholders sign
off on the product for market release.
Is an end to end testing done by end users where in they use the software
for a particular period of time and check whether the software is capable
of handling real time business scenerios or not.
Tests the application flow from start to finish ensuring all integrated parts
work together well.
Done by testers
Imp exp
Smoke Testing
Why we do?
When we test basic or critical features first and find defects there itself
then its better to send it to developer at earlier stage so that developer
will have enough time to fix it.
Example:
Example with Water Bottle:
Imagine you’ve just received a new water bottle. The smoke test
would be checking if it can hold water without leaking. You fill it
up and look for any obvious leaks. If it holds water, it passes the
smoke test.
Amazon chime
Before the meeting, you would do a quick smoke test to ensure
that the basic features are working. This could include checking if
you can log in to the application, if your microphone and camera
are functioning, and if you can join a meeting. If all these basic
functions work, then the application is stable enough for the
meeting.
Sanity Testing:
Amazon chime:
the team added a new feature that allows screen sharing. After
the update, you would do a sanity test to check if the screen
sharing feature works properly. You would specifically test the
screen sharing function to ensure it operates as intended, without
going through all the other features of Chime again.
Regression Testing
Testing that the update did not break the existing features of an
application.
Full regression testing- Testing update and all remaining features. For eg,
In whatsapp, video call function was not working.
Example:
Scenario: After an update, a new feature for screen sharing is
added to Amazon Chime.
The goal is to confirm that the new feature works and that the
update didn’t break any existing functionalities.
Retesting/ Confirmation
Just a confirmation testing to check whether the defect after new build is
really fixed or not.
Example:
Scenario: A bug was found in the chat feature where messages
weren't being sent.
Retesting Steps: 1. Fix the Bug: The development team fixes the
issue with the chat feature.
Defects found
Poor design
Platform changes
Exploratory testing:
Testers explore the application without any test plan. Testers use their
knowledge and experience instead of test cases to find defects
Exploratory Testing Example: A tester is assigned to evaluate a
new feature in a mobile app. They create a test charter to explore
the user registration process, focusing on various input scenarios
like valid emails, invalid passwords, and edge cases like special
characters. They document their findings and any bugs they
encounter during the session. Ad-hoc Testing Example: A tester
opens the same mobile app without any specific plan. They
randomly tap buttons, swipe through screens, and try to perform
actions like logging in with random credentials. They find a crash
but don’t document their steps or the specific actions that led to
it.
Non-Functional Testing
Performance testing
Response time: Total time taken to receive request, execute the program
and respond to user
Load: No of users
Load testing
Stress Testing
Volume Testing
Soak Testing
Load Testing
Testing the stability and response time of an application by applying load
which is less than or equal to designed no of users.
Imagine testing the app by simulating 500 users trying to place
pizza orders at the same time. This helps you see if the app can
handle many orders without crashing or slowing down.
Stress Testing:
Volume Testing:
checks how the app performs when you add thousands of pizza
items or customer orders at once. It ensures the app can handle
large amounts of data without crashing or slowing down.
Soak Testing:
When the product is launched into market, people might use the
application randomly and because of that they might find more defects.
To overcome this, Test engineer will test the application randomly and
find the bugs.
Usability Testing:
How to do?
Here we check whether the look and feel of the application is good or
not.
Accessiblity testing
Example:
Verifying that the application works well with screen readers,
which read out content for visually impaired users. - Color
Contrast and Text Size: Checking that text is readable, with
sufficient contrast against the background, and that text can be
resized without loss of content.
Compatibility testing
Why we use?
When we do?
When the application is functionally stable in one base platform, then we
test the same in other platforms.
Tool: BrowserStack
Types of application:
Globalization:
Recovery Testing
Testing to ensure a system can recover automatically from crashes or
failures.
Testing Steps:
Retesting regression
Just a confirmation testing to check Testing that the update did not
whether the defect after new build break the existing features of an
is really fixed or not. application.
Done for failed test cases Done for both passed and failed
test cases
Planned Not planned
Here we don’t go for automation Here we go for automation.
Exploratory Adhoc
Structured and has a specific goal to Unstructured and random
test
Document everything Little to no documentation
Has a outline on what to test- Test No test case and requirements
charters and rely on requirements
Unit: test each part of the code to make sure it works correctly before
combining them to create an application. Used to catch issues early.
API: makes sure api does what its supposed to do and handles situations
well. Eg: weather api
Verify it returns accurate weather info based on location, date and time
etc
Automation testing
Uses tools to run prescripted test cases. Its for repetitive tasks where
same tasks needed to be executed frequently.
- Medium: Fix the discount code issue soon (important but not
urgent).
Jira
Used for defect tracking.. We raise a issue we have found while testing by
giving the details of it in Jira tool and developers will use it to fix the
software.
Go to create
Label
Environment
Bug types
Beta testing- thousands of end users test it and give feedback before
official release to public.