Manual Testing
Manual Testing
QA QC
It is a procedure that focus on providing It is a procedure that focus on fulfilling the
assurance that quality requested will be quality requested.
achieved.
It does not involve executing the programs. It always involves executing the programs.
Feasibility study
design
Low level design
coding
testing
Installation
maintaince
MANUAL TESTING
verification validation
Software is
ready for
testing
advantages of V model
1. Testing is started at initial stage.
2. Requirement and design are tested
3. The downward flow of defects are less.
4. Requirements changes can done.
5. Quality will be high compared to other products.
6. Rework will be less.
Drawbacks of V model
1. Documentation work will be more.
2. Too much of resource are needed.
MANUAL TESTING
SOFTWARE TESTING
• Testing the functionality of an application with respect to given REQ.
• Checking the application with the intent of finding the defect.
• Checking the behavior of an application to see whether it meets customer REQ or not.
• Testing the process of QA and QC.
MANUAL TESTING
Testing the software without using any tool and ensure its working fine.
AUTOMATION TESTING
Testing the software by using the tool to ensure it is working fine. (the tool can be selenium)
Examples
1. Television remote: if we operate by using the remote it is a automation testing
if we do without remote it is manual testing.
Why testing is important?
Every software is developed for business purpose if testing is not done, end users may find
the defects while using the applications.
This will spread negative impact in the market and number of users who uses application will
be reduced. This will become loss for the investor on business. To avoid all those things s/w
testing has to be done before it is released to end users.
SCENARIOS
Testing the application in all the possible ways is scenarios.
It can be +ve scenarios or -ve scenarios.
Testing the application with valid or expected data is called +ve scenarios. It is also called
positive testing.
Testing the application with invalid or unexpected data is called -ve scenarios. It is also called
negative testing.
To identify the defects we should find the scenarios first.
Scenario is not a defect or defect is not a scenario.
+ve scenarios and -ve scenarios are not a defect.
Few cases we may get confused whether it is a +ve scenario or -ve scenario. In this case we
can judge whether it is a defect or not a defect based on REQ.
DROWBACKS OF MANUAL TESTING.
It is a time-consuming process.
It is a repetitive in nature
Turn around time is more in manual testing so we go for automation testing.
MANUAL TESTING
TYPES OF TESTING
White box testing : testing the source code or internal structural of an application is called
White box testing.
It is usually done by developer.
Black box testing: testing the user interface(UI) or graphical user interface(GUI) of an
Application is known as black box testing
Here we don’t worry about internal structure of an application.
It is done by test engineers.
Gray box testing: testing the source code and user interface of an application parallelly
Together is called gray box testing.
It is done by a person who is aware of both testing and source code of an
Application. Means he can be a developer or test engineer.
White box testing tools
Junit: when the source code is written in java to test that we use junit.
Nunit: when the source code is written in .net to test that we use nunit.
Selenium is a tool to test the black box testing.
wbt
manually automation
1. Check each and every code 1. Write a pgm to develop
Manually without using a tool 2. Write a pgm to test(using junit,nuint)
Ex . check the syntax and logics 3. Run the test pgm in a tool
bbt
manually automation
1. Check each and every 1. Write a pgm to test (using selenium,
Functionality without using a qtp) the ui
Tool on ui. To use selenium core java is used
For qtp vb is used.
Run the test pgm in the tool.
MANUAL TESTING
It will tell all the possible ways we can test the It is step by step procedure to test the
application application.
Scenario doesn’t have a navigation steps. Test cases have a navigation steps.
Scenarios doesn’t say where the exact defect is Test cases will tell where the exact defect is
there present.
Scenarios take less time to write. Test cases take more time to write.
System study
Prepare RTM
Defect tracking
Retrospective
meeting
MANUAL TESTING
System study: it is going through the requirement given by the customer and understands
how the system works.
Write test plan: it is a document which is prepared for feature to do the testing activates.
It is done by the test lead or test manager in the testing field. Because the plans where done
by experienced people.
Write test cases: it is a step by step procedure to perform the testing on the application. It is
done by the test engineer. Once we go through the requirement, we identify the scenarios and
then converted into the test cases. To write the test case we need requirement and test case
template or tools (qc/alm, JIRA)
Prepare RTM:(requirement tractability matrix): it is a document which is prepared to check
weather every requirement has at least one test cases.
To prepare RTM we need both requirement and test cases.
Execute test cases: once the requirement is given to the test engineer. He writes test cases for
the application. After the developer gives the developed application then the test cases are
compared with expected result and actual result. If the expected result and actual result are
same then the status is pass, if the expected result and actual result are not same status will be
fail. This is called execute test cases. So, to execute test cases we need test cases and software
application. This is were the exactly the software is been tested. This is the most important
phases of software testing life cycle.
Defect tracking: while executing the test cases we may come across the defects. These
defects are raised to the developers and they accept defects and starts fixing it. This is called
defect tracking. It is done by using tool called “Bugzilla”.
Test execution report: once we execute the test cases. we should prepare one document
called test execution report. This document tells about how many test cases are pass and how
many test cases are fail.
Till here customer involvement will be there according to the customer this is the end of the
project.
Retrospective meeting: in this meeting all the team members will gather together like PM,
TL,DL, TL DEV,BA, TM and they discuss about the good and improvements needed once
the project is done. This will be very useful for next release or next project.
MANUAL TESTING
CLOSED
Differed/postpone Duplicate Cannot Invalid/ RFE Cannot
fix reject reproduce
RETEST
NEW /OPEN ASSIGN FIXED
REOPEN
If the defect is not fixed properly
When we are executing the test cases if the excepted result and actual result are not same we
come across the defect, then the defect are raised to the developer then the status will be
new/open. And the new defect is assigned to the developer or development lead. The
developer will reproduce the defect and accepts it. Then he start fixing the defect in the
development server. When he fixes the defect he will change the status as fixed. The defect
which is fixed is installed in testing server. The test engineer start retesting the defect fixed
in the testing server. If the defect is properly fixed then the status will be closed. If the status
is not properly fixed then again, the defect is reopened to the developer.
What is differed/postpone?
Whenever test engineer raises the defect the developer accepts the defect but he will not fix
the defect. He will give the status as differed/postpone.
Whenever there is a major defect or minor defect. Developer have less time to fix the major
defect. In this case the developer will fix the major defect and for minor defect he will assign
status as differed or postpone.
What is duplicate status?
Whenever the test engineer finds the defects and he did not raise it. If another test engineer
finds the same defect and he raise it unknowingly. Then this status is known as duplicate.
To avoid this when the test engineer finds the defects, he should raise it immediately so that
there will not be duplicate defects
MANUAL TESTING
Can’t be reproduce
When the test engineer finds the defects but developer cannot be able to reproduce that
defect. So he will change the status as “cannot be reproduce”.
Ex mobile hang .. etc.
Reasons for can’t be reproduce
1. Installation problem
2. Improper defect report.
3. Inconsistent bug.
Can’t be fixed
Whenever the developer is unable to fix the defect that is raised by the test engineer, then he
changes the status as “can’t be fixed”. And it is a void defect but he can’t fix the defect.
Even though the developer does not fix the defect, it should not affect the business.
If the technology doesn’t support to fix the defect.
Invalid/reject
Whenever the test engineer raises the defects but developer will not accept the defects and he
change the status as invalid/reject.
Reasons for invalid
Due to the misunderstanding of the requirement.
1. If test engineers misunderstand requirement
New/open assign invalid closed
2. If developer misunderstand the requirement
New/open assign invalid reopen fixed closed
Request for enhancement (RFE)
Whenever the test engineer raises the defect which is not given in the requirement so the
developer will take it as suggestion. In this case he will change the status as RFE.
MANUAL TESTING
SEVERITY
Severity will tell how much that defect effect to the customer business is known as severity
Types of severity
1. Blocker
2. Critical
3. Major
4. Minor
5. Trivial: this defect is negligible.
PRIORITY
Priority says which defect has to be fixed first by the developer.
For every defect we have to set priority.
Different types of priority
1. High
2. Medium
3. Low
Who will set severity and priority?
Test engineer will set severity and priority.
Developer or managers can discuss about this if they want to change it they have to provide
proper justification.
Priority is very much important for the developer to decide which defect has to be fixed first
If priority is not their developer may fix the easy defects and they leave all the important
defects
As a project point of view the important part of defects has to be fix earlier.to manage these
things we have severity and priority for each and every defect.
MANUAL TESTING
Author
Reviewer
Approved by
Approved date
Header part
Test data: it is the data we need to execute the scenarios.
Pre conditions: it is the action which we should do before executing the scenarios.
Test case type: in this section we should write which type of testing we are going to use.
Priority: assigning the priority to each and every test cases will help us in prioritizing the
defects
Test case description: summery of test cases.
MANUAL TESTING
DEFECT REPORT
When ever the test engineer finds the defect it has to be raised or logged or reported to
developer. For this we have to create a defect report.
When we create the defect report in tools like BUGZILLA, or by using the excel file or word
documents
Template for defect report
Defect ID This will be auto generated if we use the tools
Build no It is the number of build where defect has found
Test case no It is a number of the test case where we found this defect
Status
severity
Priority
Test environment
Module no
Reported by
Brief description
Test data
Steps to reproduce
Expected result
Actual result
Attachment of screen shot
MANUAL TESTING
ACCEPTANCE TESTING:
It is testing which is mainly done to check the business scenarios of the application which is
done by the customer.
(or)
It is an end to end testing which is done by the customer to ensure the application is fit for
business scenarios or not.
Why acceptance testing is done?
This is mainly done to get a confidence for customer before he releases the product to the end
users.
Because of business pressures, software company might be releasing the project to the
customer with some defects. To ensure this customer will do acceptance testing.
If the product is released to the end user without checking the business scenarios, it will
affect the customer business. To avoid this acceptance testing has to be done.
Approaches of acceptance testing.
BA or IT employees of customer will do acceptance testing at customer place.
We may forget some of the business scenarios to test and those scenarios would be tested by
the customer
Note:
if the customer finds the defect during the acceptance testing. That is a negative path to the
test engineers.
So before finding the any defect we should think all those business scenarios and finds
defects.
Alpha testing and Beta testing are types of acceptance testing
Difference between alpha and beta testing
Long execution cycle may require for alpha Only few weeks execution are required for
testing beta testing
Critical issues or fix are addressed by Most of the issues or feedback are collected
developers immediately in alpha testing from beta testing will be implemented in
feature version of the product
Alpha testing ensures the quality of the Beta testing also concentrate on the quality
product before moving to the beta testing of the product but gathers user impact on
the product and ensures that the product is
ready for real time environment.
Virtual environment Real time environment
Off shore On site
Alpha testing is done under controlled Beta testing is done under uncontrolled
environment environment
Production
issues
BA TE DEV
Whenever there is a production issue all the team members will gather together, and they
discuss about reason for production issues that is documented in the form of fish bone
diagram. The main purpose of this is to find the root cause of the production house.
MANUAL TESTING
Archive format
1. Jar (java archive), war (web archive), tar (tape archive).
2. Multiple files are made in a single file.
3. Size of the file will be almost same.
What does build contain?
A build contains
1. New features
2. Old features
3. Defect fixes
It depends upon the contents which developer will add inside an build, and it varies from
build to build.
What is test cycle?
It is effort or time spent to test the application once the build is given. The duration of each
test cycle can be days, weeks, months, depending upon the build
Retesting and regression testing with respect to build
application
TEST STRATEGY
Test strategy is the approach to test the software application
Test plan
based on that approach we decide one approach and we plan based on that
how do you a define a format of good test case?
A good test case should have the header, body and footer sections.
It should contain the attributes which are easily understandable.
Ex in body section it should contain
1. Step no
2. Description
3. Input
4. Expected result
5. Actual result
6. Status
7. Comments
If the test case contains all the possible scenarios that can be called good test case.
What is a good test case?
a good test case is a test case which is easily understandable to every test engineer.
It should cover all the scenarios with respect to requirement.
A good test case should be written by applying like boundary value analyses, equivalence
partitioning, error guessing.
A test cases has to be reviewed by another test engineer and find mistakes in it. Those
mistakes have to be corrected then it becomes a good test case.
What would you do if you have a large suite and execute it in very less time?
First, we have to execute the basis features of an application that is smoke testing.
Difference b/w functional and non-functional testing?
Functional testing Non-functional testing
Functional testing Performance testing
Integration testing Compatibility testing
System testing Globalization testing
Security testing
Accessibility testing
Usability testing
Checking for single users Checking for multiple users
1. Multiple platforms
2. Multiple languages
MANUAL TESTING
RELIABILITY TESTING
Testing the functionality of an application continuously for some duration of time. This can
be done by single users
Ex: mobile should work properly with one user.
Standalone applications: it does not depend on the server. It is installed separately
Ex calculator, calendar, word.
Client server application: using an application by server by using internet connection.
Web applications: fully depends on internet connection.
Ex. Chrome---gmail--- facebook
TYPES OF APPLICATIONS
Generally, we have three types of application
1. Standalone applications
2. Client server application
3. Web applications
Standalone applications:
This kind of applications can be installed, accessed and used without any dependency on
server or internet.
Ex notepad, calculator, word, calendar.
MANUAL TESTING
COMPATIBILITY TESTING
Testing the applications with different hardware and software platforms is called
compatibility testing.
Why do we do compatibility testing?
To ensure that application is working for multiple platforms because there might be different
types of users.
To check weather the application is working in all platforms.
GLOBALIZATION TESTING
Testing an application to which is developed for multiple languages is globalization testing.
When the language is changed the translated content is not proper because a machine
translator could not understand the exact meaning of the word displayed because of below
reasons
1. Machine does not have feeling
2. It cannot understand meaning.
MANUAL TESTING
ACCESSIBILITY TESTING
Testing whether the application is suitable for physically challenged people or not
Ex RGB (red green blue) should not be used in the application.
Every feature or component in an application should be accessed by mouse and also by
keyboard.
RGB color blind will not be able to view that.
Music and keyword: anybody is injured wrist they can still use the application using the
keyboard.
Tools used for accessibility testing
1. In focus
2. Wave
RECOVERY TESTING
Testing the application weather, it is able to recover from crash state.
AESTHETIC TESTING:
Testing the beauty of an application is called aesthetic testing.
MANUAL TESTING
USABILITY TESTING
Testing the application, it is user friendly or not
Why should we do usability testing?
1. End users is the best
2. Customer or client 2nd best.
3. Others project team members.
4. Nobody is there, test engineer has to do usability testing.
Test strategy:
Strategy is an approach to do any type of task.
TEST PLAN:
Test plan is a document which is prepared for future testing activities.
It is usually prepared by the test lead or manager.
Test engineer can also involve – if there is any support needed for test lead or manager.
Test plan contain different sections or attributes like
1. Objective: this section tells about the purpose of preparing the test plan.
2. Scope: limitations
This section will tell about
Future what to be tested.
Future what not to be tested.
3. Schedule and milestone:
This section will tell which activity has to done first and which activity has to done
next.
It is just like a time table of the project.
4. Entry and exit: this section tells about when to enter and when to exit each type of
testing.
5. Defect tracking: this section will tell about whenever a defect is found how to track
the defect and which is the tool, we are using to track the defect. And what are the
terminologies we are using to raise the defect.
6. Assumptions: this section will tell about what are the assumptions we have during
this project.
7. Risk: this section will tell about what are the possible risk happen during the project.
The possible risks are team members will quit the job suddenly and abscond.
8. Contiguity plan or mitigation plan: this section will tell about how to over come the
risk which occurs during the process.
to avoid this regular knowledge transfer or cross sections should happen inside the
company.
Roles and responsibilities of test engineer
This section will contain what are the roles and responsibilities for team members.
Ex roles and responsibilities for test engineers.
MANUAL TESTING
Going through the requirement and understanding the requirement and identifying the
scenarios and writing the test cases, prepare RTM, and execute test cases when the
build is given, find the defect and raise the defects.
For automation test engineer:
We should perform above task plus we should write test scripts and execute test
scripts by using the selenium tool. Manage test script.
Environment: this section contains what is a platform we are using for testing
purpose ex. Window 10,8,7 chrome browser,
Deliverables: this section will tell what are the documents that should be prepared for
the project ex test plan, RTM, source code, defect, reports etc.
Graphs and matrices: this section contains the graphs and matrices that are prepared
for project.
FUNCTIONAL TESTING
Testing the each and every component individually with respect to requirement thoroughly is
called functional testing.
MANUAL TESTING
INTEGRATION TESTING:
Testing the data flow between two or more dependent modules is called integration testing.
SYSTEM TESTING:
Testing the application end to end like a real user is called system testing.
Defect seeding:
Injecting the defect in the application by developer to check the efficiency of test engineer is
called defect seeding.
This is done based on the request of manager.
Defect masking:
Whenever one defect is hiding another defect that is defect masking.
Defect leakage:
The defect which is not found by the testing team but it is found by the customer or end users
it is called defect leakage.
For a good testing team defect leakage percentage should be 0%.
Defect triage meetings
Manager arranges a meeting with all the development team and testing team discuss about the
existing defects which are not fixed because the defect age should not be increased and defect
status should be moved for further level until the defect status is closed. The meeting is
known as defect triage meeting. it is the main part of agile meeting.
Defect density:
Dd=number of defects/ total size of the project
Number of defects means the defect which are considered as valid defect not all the reported
defect.
MANUAL TESTING
ISTQB
International software testing qualification board
It is a certification for software testing engineers.
ISTQB
Review
Walk through
inception
Walk through:
Explaining about the document to the set of people who are not aware of that.
Inception:
It is the kind of auditing process which is done on the documents for a software company.
IOS: international organization standardization.
It is for hardware.
CMMI: capability maturity model integration.
It has five levels CMMI 1, CMMI 2, CMMI 3, CMMI 4, CMMI 5.
Highest level is CMMI5
SEI: software engineer institute
CMMI is the recognition given by SEI
DYNAMIC TESTING:
Testing which is done on the application is called dynamic testing, that is on source code or
user interface of an application
Here in this testing and execution take place.
Black box testing techniques
Boundary value analysis:
Testing the boundaries of the certain components or element present on web page is called
boundary value analysis
Ex testing on text field which accepts only 3-10 characters.
Equivalence partitioning:
It is the technique where we come up with given range of requirement. Here it contains one
valid and two invalid data.
Error guessing:
It is the technique where we come with all the possible errors is known as error guessing
Without requirement we cannot do requirement.
Decision table:
It is the table which helps us to decide how many numbers of test cases are needed for a
given set of requirements.
The formula for this is 2^n= no of test cases or scenarios.
Where n is number of conditions or components
MANUAL TESTING
RETESTING
Testing the defect fixed or bug fixed of an application is called retesting.
REGRESSION TESTING
Testing the impact areas of an application after
1. After the defect fixed.
2. After changes done in application.
Changes can be adding modifying and deleting a feature.
Why we do regression testing?
To make sure that existing features are still working properly after the changes is done in the
application or whenever a defect is fixed for an application.
When do we do regression testing?
1. After the defect fixed.
2. After changes done in application.
Changes can be adding modifying and deleting a feature.
How do we do regression testing?
Test engineer will write test case manually the test cases which has been executed again and
again will be categorized and a separate document will be maintained as regression test cases
Whenever we have to do regression testing, we will start testing by using the test cases.
Since the regression testing is repetitive in nature better, we will always go for automation
testing.
IN AUTOMATION REGRESSION TESTING TYPES:
Full execution:
Executing all the test scripts is called full execution.
Batch execution:
Executing the partially test scripts is called batch execution.
Types of regression testing
Unit regression testing:
Whenever a new feature is added for executing a module and the impact is only for that
particular module, we can also call it as unit.
When we do regression testing for that unit, we do not do regression testing for any other unit
that is called unit regression testing.
MANUAL TESTING
INTEGRATION TESTING
Testing the data flow between two or more dependent modules is called integration testing.
Ex in gmail if we send a mail the sent mail should be displayed in sent items checking
whether it there in sent items or not is a integration testing.
Types of integration testing
Integration testing
P C2
p--parent
C1 C1
c—child
C2 P
MANUAL TESTING