Manual Testing
Manual Testing
1. Waterfall model
2. V-Model
3. Spiral Model
4. Agile Model
Waterfall model: When do we go for Waterfall Model: When projects are small and
where the requirements are freeze(fixed).
1. It follows Top-Bottom approach.
2. One should move to next phase if and only if previous phase is completed.
3. It is recommended for small projects, where requirements are well understood
and stable.
Advantages
1. Quality of the product will be good.
2. Since the Requirements are not allowed often It is advantage for developer.
Disadvantages.
1. Not recommended for frequent changes if there any changes again we need to
start from beginning.
2. We cannot move to next phases until previous phase is completed.
3. If the requirements are unstable, time and budget will be very high.
Advantage
1. Both Testers and Dev work parallel hence there is no scope for waste of time.
2. Testing team involves every stage of the product development hence it gives
quality of product.
Disadvantage
1. Initial investment is more because testers involve at the earlier stages.
Disadvantages:
a) Not suitable for small projects.
Prototype Model:
1. It is useful when the client is new to the IT market, we give him a KT on dummy
version based on his inputs if he satisfies with this dummy version
2. We make the software if not we will modify that dummy version based on his
requirements.
Disadvantages:
1. Less focus on Documentation
2. It’s difficult to handle long term projects.
8)Testing Methodologies:
1. White box Testing
2. Black box Testing
3. Grey box Testing
White box Testing: It is done by the Developers, to check the internal code logic of an
application.
1. Unit testing: Testing the each and every component of an application
2. Integration testing: It is the combination of all unit test cases
Black box Testing: It is done by the real testers to test the application whether it is
according to the requirement or not.
1. Functional Testing: Testing the application by providing input and verifying
output whether it is meeting client requirements or not.
2. Non-Functional Testing: To Test the performance of the application by using
JMETER or any other performance tools.
Load Testing: Gradual Increment of resources is called Load (Example suppose
User working with 10 resources then he increases the resources
with 20 then 30 to test the performance of an application)
Stress Testing: In this testing we can test the performance of the application by
putting beyond limit of resources
9)Types of Testing
1. Functional Testing (Smoke, Component, Integration, System(E2E), Sanity and
User acceptance Testing)
2. Non-Functional Testing (Performance, Security and Reliability Testing)
PROJECT:
========================================================================
Description: HR Desk is a Human Resource Management System which comprises Admin
and Employee self-service modules. An HRMS Admin module has employee Personnel
Information Management (PIM), payroll management, leave approval, directory
information, attendance tracking, performance reviews, and the overall maintenance of
employee information within an organization. An HR Desk Employee self service module
has certain clerical tasks pertaining to the input of his/her personal information like
Contact details, Emergency contact details, Qualification details, Migration details, Skills
details which puts time back in the hands of HR professionals.
BRS Document is not understand by the Developers and Testing team hence they
prepare FRS (Functional Requirement spec) it talks about each and every component of
an Application in detail.
Phase-2: Feasibility Study: In this phase Technical team from Dev side, Testing side and
project manager will sit together and discuss about the Requirement of Customer like
do we have scope to continue this project or not.
Phase-3: Designing: Based on the requirements understanding the Architect will prepare
design documents which are going to use for the developing the GUI part of the
application along with the application flow. High level doc: Which talks about overall
system design like architecture of an application. Low level doc: It is the detailing of HLD
and discuss logic for every component.
Phase-4: Coding: Based on the Requirement understanding, The Developers will start
coding for the application.
Phase-5: Testing:
STLC
Test Planning: It is a document which consists all the info about how testing process
going to be handled throughout the project, like how many recourses should
be needed and what are the entry exit criteria for diff testings’ and if we have
automation for the project which framework we need to follow.
Test Designing: Based on Requirement understanding we write the Test scenarios, Test
cases, RTM and Test design techniques
BVA (Boundary value analysis): By using this technique each field gets 6 test cases.
min-1
min
min+1
max-1
max
max+1
ECP (Equal class partitioning): Divide the partition into two sections-->Valid and Invalid.
Error Guessing: Generally tested by the team managers/leads because with help of their
experience and understanding level they can guess the error
Decision Table: Which talks about what are all interrelations between all the modules in
our application handled by Managers.
****Regression Testing: Make sure that bug fixes should not affect the existing
functionalities in the application. After retesting we have to do the regression testing.
Defect Reporting (JIRA): Once we raise defect we need to report to the Developer.
-----------------------
Bug/Defect life cycle:
As a tester Ill raise the defect and assign to the developer
Developer opens the bug and start working on it
Once he fixes the defect, he reassigns back to the tester
I need to check whether the bug is fixed or not properly
If it is fixed close the bug. If it is not fixed Reopen the bug then the developer may
reject/accept/deferred.
Deferred bug: Due to lock of time any bug is not fixed in current release and will be
fixing in future releases then dev team will give it as deferred bug.
Severity types:
Blocker (You are unable to do the testing because something is stopping you to test the
application further)
Critical (Basic Functionalities are not working)
Major ()
Minor (Spelling mistakes, Alignment issues, Look and Feel problem etc.)
Priority Types:
p1(It should be fixed at the earliest)
p2(It should be fixed with in the same build but not at the earliest)
p3(It may be fixed in the upcoming builds)
UAT Testing: Once all the requirements are working according to the requirement then
we need to check once whether build is movable to production or not.
Maintenance: There is a Service level agreement b/w Client and Service given company.
If the client faces any issues on software that we deliver we need to give our support to
him.
Defect: If the file is more than 1 MB It should not allow user to upload a file but it does
Severity: Major, Priority=p2
Defect: After User logins it displayed Dash Board Page but expected My info page
Severity: Critical, Priority=p1
Defect: Login functionality is not working even though I provided valid username and
password
Severity: blocker, Priority=p1
8) Suppose you find a bug in production. How do you make sure that same bug is not
introduced again?
Make sure that, the bug should cover in next regression suite (through testing) so that
the same bug will not be introduced.
9) What do you do when your developer denies that what you filed is a BUG?
In that scenario provide business documentation reference to support why the existing
function is not as per design. Involve Product owner/business analyst into that
discussion.
10) What has been one of your greatest challenges while doing regression testing?
Test Data Issue: Because the data once used will be used again for signup and for
other details.
11) Enlist some of the key challenges that are faced while performing software testing?
1. i)Test Data Issue: Because the data once used will be used again for signup and
for other details.
2. ii)Environment Available: The Availability of an environment is one of the
challenges that I faced while I was testing because they were 1 system available,
we need to work on 3 diff user stories.
12) Static Testing: Dynamic Testing
1. This testing comes under Verification part | This testing comes under Validation
part.
2. Its deals with Review code, FRS Doc, | It deals with executing our test cases.
3. It is done before build deploy | It is done after the build is deployed
4. It’s used to prevent the defects | Its used to find and fix the defects.
13) Smoke Testing Sanity Testing
1. This is the earlier testing to test build is stable | This testing is done to check new
or not functionality and bugs have fixed
2 It is done by both developers and testers | It is done by only Tester
3 Smoke testing is subset of Acceptance testing | Sanity is the subset of Regression
14) Reliability Testing: Testing the functionalities of the application continuously for a
particular period of time.
15) Recovery Testing: If the application gets any crashes while using and how fast it is
recovering from it.
16) Usability Testing: Testing the User friendly of an Application. How friendly is to use.
17)What is Impact Analysis Meeting in Testing?
For following reasons, we will do impact analysis meeting.
Whenever developer trying to add new feature.
Whenever developer trying to remove existing feature
Whenever developer do any modification to the existing functionalities
Whenever developer trying to fix the bug
18)Defect Masking: If we have 4 modules and those modules have defects in it but we are
Unable to test those defects because of a blocker.
Example: There are defects present in the employee self-module but I am unable to test
Those defects because login itself blocking me to test (In Lehman terms: One defects
Is hiding another defect)
19) Error Seeding: Developers wontedly pushing the bugs to the application to test the
Tester’s testing.
Defect Review=What are the defects we raised and what are the defects we fixed.
Defect Assessment=Defects resolved yet to verify
Defect Assignment=These defects assign to the other testers.
23)What is Beta-Testing?
It is the testing will be done before Application is moved to the Production level by the
Test Manager to check the Application behavior and functionalities randomly.
25)What are all the Common mistakes that will be done by the Testers?
If they didn’t understand the requirements thoroughly, they tend to raise wrong
defects.
29)If you find bug in the production what do you do/How to do a root cause analysis for
a bug?
First of all, try to assist to resolve the bug as early as possible. Then find ROOT CAUSE OF
THAT BUG
1. If the bug is because of our testing mistake like test coverage is not enough look
for, when did we execute that bug first try to find out the screenshots and any
email reports for it then try to explain why the bug escape to production.
2. If that is a new bug try to assist developer to fix it sometimes bugs come
different of Test env and Production env.
Test Strategy
=============
1. It’s a high-level document (static document) prepared by the Project
Manager.
2. It defines the approach on how we go about testing the product and
achieve the goals and it is derived from BRS Document
3. It works as a base for Test Plan.
Test Plan
=========
1. It is prepared by the Test Manager or Test Lead.
2. It is a document which consists all the info about how testing process
going to be handled throughout the project, like how many recourses
should be needed and what to test and what not to test and whom to
test and if we have automation for the project which framework we need
to follow.
31. What are comes under UI Checklist Testing?
Spelling mistake on UI
Any grammar mistakes on UI
Check whether the text is readable
Check right alignment of text
Check text is not overlapping with any other element
Mandatory (*) fields should work according to its requirement
Acceptance criteria 1
Acceptance criteria 2
1. Unit Tests
Unit Tests focus on the smallest unit of code, like functions or classes.
They are short and don’t have any external dependencies. If they have an external
dependency, you use mocks instead.
If a unit test fails, finding the issue is typically a simple process. They also have a reduced
testing scope which makes them simple to write, fast to run, and easy to maintain.
2. Integration Tests
Integration Tests focus on the interaction between two distinct entities. They are typically
slower to run because more things need to be set up.
If integration tests fail, finding the issue is a bit more challenging because the failure range is
bigger.
They are also harder to write and maintain, mostly because they need more advanced
mocking and increased testing scope.
3. End-To-End tests
Lastly, E2E tests focus on flows, from the simplest up to the most complex. They can be
viewed as a multi-step integration test.
These tests are the slowest to run because they involve building, deploying, firing up a
browser, and performing actions around the application.
If E2E tests fail, finding the issue is often difficult because now the failure range is expanded
to the entire application. Basically, along the path, anything could have broken.
They are by far the hardest type of tests to write and maintain (from the three types
considered here) because of the huge test scope and because they involve the entire
application.