Exam Test Questions and Answers
Exam Test Questions and Answers
What is testing
Testing means to find the bug in the developed software or existing software
Software testing is a process used to identify the correctness, completeness and quality of
developed computer software. It includes a set of activities conducted with the intent of finding
errors in software so that it could be corrected before the product released to the end users. In
simple words, software testing is an activity to check that the software system is defect free.
3. Objective of testing
To check if the system meets the requirements and be executed successfully in the Intended
environment.
To evaluate work products such as requirements, user stories, design, and code.
To validate whether the test object is complete and works as the users and other stakeholders
expect.
To reduce the level of risk of inadequate software quality (e.g., previously undetected failures
occurring in operation).
To comply with contractual, legal, or regulatory requirements or standards, and/or to verify the
test object’s compliance with such requirements or standards.
4. Developer vs tester
Developer
Developer involved in the phases of development and responsible to the development of code and
also writes the code to generate the needs of a particular software or application
Developer always model system design means they build the application by keeping client
requirements in mind
Tester
Tester may not be technically sound, because we need both black box, white box testers and in black
box testing programming knowledge is not necessarily must.
Tester tests the application by checking whether the application is working as per the client and
customer requirements or not
Tester tests the application by checking whether the code that is written by development team is
appropriate or not, and they also test whether the code fulfills the requirements of that particular
application and software or not.
Tester is always testing the application and software by keeping end user in mind
Tester aims to find out many bugs as possible in the application so that application can be fully
reliable and quality oriented.
Testing ensures that application will not result in to failure because it will be very expensive to
fix any issue at later stage of a project life cycle.
With the help of software testing high quality end product will be delivered to the client that will
help to increase his userbase
Software testing is done to find bugs and errors that are made during development phase.
Software testing verifies the usability of an application / system
Software testing confirms that of end users are able to work with application easily and it works
as per the business requirement.
Testing Certifications: ISTQB = Foundation Level, Agile Tester, Advance Level Test Analyst
Logical and Critical thinking: Testers should practice logical and critical thinking that aids them in
analysing and identifying uncommon errors. This skill helps them to make different scenarios
and inspect the elements accordingly. It further helps them think out of the box and raise
sensible questions in understanding the strength and weaknesses of the application.
Interpersonal skills and Good Communication: Testers should develop good communication
skills that help them communicate with their peers to learn, solve and expand their knowledge
in different phases of constructing the application. Testers should develop good writing,
speaking, listening, and reading skills. Communication helps them transfer the requirement
clearly to the team, communicate the issues to the developer, convert the requirement doc to
test cases, and prepare reports. Additionally, it helps them convey their perceptions to technical
and non-technical persons.
· Knowledge on SDLC & STLC: Waterfall Model, Spiral Model, Agile Model etc and Software
testing life cycle
· Preparing test: Test Scenarios, Test Plan, Test Cases, Test Report
Not everyone can test. One should need good analytical skills to become a Software Tester. You
need to be good at communication skills for reporting and convincing others.
Salary may be less when you start your career. Experienced Testers are earning the same level of
the package compared to Developers. Many companies are offering much more salaries to the
Automation Testers compared to Developers.
Tester will become Test Lead, Project Lead, Automation Architect, Test Manager etc., Ultimately
everyone reaches to the manager level.
9. Future of testing
Codeless Test Automation: Codeless test automation tool facilitates the software testers and
business users to automate test cases without thinking about the coding.
Artificial Intelligence: Testing is slowly conversing to higher automation to ensure best accuracy
and precision in the drive towards digital transformation
Robotic Process Automation (RPA): Enhancements in AI and software testing world have
covered the path for Robotic Process Automation (RPA)
Blend of Agile and DevOps: The demand to adopt industry changes and faster delivery to the
market is driving organisations to digital transformation.
Adoption in IoT Testing: Nowadays, most of the business enterprises are embracing the Internet
of Things (IoT). IoT apps and devices are tested for performance, security, and usability.
The Internet of Things (IoT) describes physical objects (or groups of such objects) with sensors,
processing ability, software, and other technologies that connect and exchange data with other
devices and systems over the Internet or other communications networks, eg. Smart Watch,
Smart bulbs, Smart Door locks etc
Technical skills
Analytical skills
Attitude
Passion
Productivity
11. Ways of testing
What is Manual Testing: - Manual testing is the process of manually testing software for
defects. It requires a tester to play the role of an end user whereby they use most of the
application's features to ensure correct behaviour. To guarantee completeness of testing, the
tester often follows a written test plan that leads them through a set of important test cases.
What is Automation Testing: - It is a software testing technique that performs using special
automated testing software tools to execute a test case suite.
In manual testing, test cases are executed by a human tester and software.
Manual testing is not as accurate because of the possibility of the human errors
Automation testing is suited for regression testing performance testing load testing
In automation testing all clients can login into the automation system tools and check test execution
results.
Manual tests are usually recorded in an excel or word and test results are not readily available.
13. Testing tools
Jira
Zephyr
Selenium
Postman
JMeter
LoadRunner
TestRail
Defect: - Any error, mistake or issue identify by tester in the system during testing then it is
known as Defect eg login with invalid credential
Bug: - Defect which is accepted by the developer then that defect is known as bug.
Let’s say that an eCommerce website has an Add to Cart button – as it is supposed to, However,
when clicked, the button opens a window leading back to the product catalog, rather than the
payment page as it should. This unpredictable and irrational behavior is a bug that needs to be fixed.
Error: - Any coding error or syntax error identified by developer during debugging then it is
known as error.
Let’s say a dev has typed an incorrect variable name or mistaken a design notation. The
result will be inconsistencies (incorrect login, syntax, or logic) in code leading to an error.
Needless to say, inconsistent code leads to undesirable or non-existent functioning of
the software itself.
Fault: - Bug, error, defect, mistake identified by end user or client/customer after delivering
product then it is known as fault.
Functionality Errors:
Functionality is a way the software is intended to behave. Software has a functionality
error if something that you expect it to do is hard, awkward, confusing, or
impossible.
Expected Functionality for Cancel button is that the ‘Create new project’ window should
close and none of the changes should be saved (i.e. no new project must be created). If the
Cancel button is not clickable then it is a functionality error.
Communication Errors:
These errors occur in communication from software to end-user. Anything that the end
user needs to know in order to use the software should be made available on screen.
This window allows the user to create a new project. However, there is no option for the user to
exit from this window without creating the project. Since ‘Cancel’ option/button is not provided
to the user, this is a missing command error.
6) Calculation Errors:
These errors occur due to any of the following reasons:
Bad logic
Incorrect formulae
Data type mismatch
Coding errors
Function call issues , etc.
In 1999, NASA lost its Mars climate orbiter because one of the subcontractors NASA employed
had used English units instead of the intended metric system, which caused the orbiter’s thrusters
to work incorrectly. Due to this bug, the orbiter crashed almost immediately when it arrived at
Mars.
For example, consider a system where user has to fill in a form and the options available to user
are: Save, Save and Close, and Cancel. If a user clicks on ‘Save and Close’ button, the user
information in the form should be saved and the form should close. If clicking on the button does
not close the form, then it is a control flow error.
16. SDLC
Software Development Life Cycle (SDLC) is a process used by the software industry to
design, develop and test high quality softwares. The SDLC aims to produce a high-quality
software that meets or exceeds customer expectations, reaches completion within times
and cost estimates.
Feasibility study
Design
HLD
LLD
Coding
Testing
Installation/Deployment
Maintenance
o Waterfall Model
o Spiral Model
o V&V Model
o Agile Model
o Prototype Development Model
19. Waterfall model
This stage gives a clearer picture of the scope of the entire project and the
anticipated issues, opportunities, and directives which triggered the project.
Phase 3: Design
In this third phase, the system and software design documents are prepared as
per the requirement specification document. This helps define overall system
architecture.
This design phase serves as input for the next phase of the model.
Phase 4: Coding
Once the system design phase is over, the next phase is coding. In this phase,
developers start build the entire system by writing code using the chosen
programming language. In the coding phase, tasks are divided into units or
modules and assigned to the various developers. It is the longest phase of the
Software Development Life Cycle process.
Phase 5: Testing
Once the software is complete, and it is deployed in the testing environment.
The testing team starts testing the functionality of the entire system. This is
done to verify that the entire application works according to the customer
requirement.
During this phase, QA and testing team may find some bugs/defects which they
communicate to developers. The development team fixes the bug and send
back to QA for a re-test. This process continues until the software is bug-free,
stable, and working according to the business needs of that system.
Phase 6: Installation/Deployment
Once the software testing phase is over and no bugs or errors left in the system
then the final deployment process starts. Based on the feedback given by the
project manager, the final software is released and checked for deployment
issues if any.
Phase 7: Maintenance
Once the system is deployed, and customers start using the developed system,
following 3 activities occur
Bug fixing – bugs are reported because of some scenarios which are not
tested at all
Upgrade – Upgrading the application to the newer versions of the
Software
Enhancement – Adding some new features into the existing software
The main focus of this SDLC phase is to ensure that needs continue to be met
and that the system continues to perform as per the specification mentioned in
the first phase.
Advantages:
Disadvantages
Small changes or errors that arise in the completed software may cause a
lot of problems
Spiral Model
Planning
It includes estimating the cost, schedule and resources for the iteration. It
also involves understanding the system requirements for continuous
communication between the system analyst and the customer
Risk Analysis
Engineering
Evaluation
Advantages:
Disadvantages:
Spiral development works best for large projects only also demands risk
assessment expertise
For its smooth operation spiral model protocol needs to be followed strictly
Spiral software development is not advisable for smaller project, it might cost
them a lot
V Model
V Model is a highly disciplined SDLC model which has a testing phase parallel to
each development phase. The V model is an extension of the waterfall model
wherein software development and testing is executed in a sequential way. It is
known as the Validation or Verification Model.
Key Software Engineering Terms:
Verification: It involves a static analysis method (review) done without executing
code. It is the process of evaluation of the product development process to find
whether specified requirements meet.
Prototype Model
· The requirements are collected from the client in a textual format. The prototype of the s/w
product is developed. The prototype is just an image / picture of the required s/w product. The
customer can look at the prototype and if he is not satisfied, then he can request more changes
in the requirements.
· Prototype testing means developers/ testers are checking if all the components mentioned in
requirements are existing or not.
· The difference b/w prototype testing and actual testing – in PTT, we are checking if all the
components are existing, whereas, in ATT we check if all components are working.
From “REQUIREMENT COLLECTION” to “CUSTOMER REVIEW”, textual format has been
converted to image format. It is simply extended requirement collection stage. Actual design
starts from “DESIGN” stage.
· Prototype development was earlier done by developers. But, now it is done by web
designers/content developers. They develop prototype of the product using simple ready-made
tools. Prototype is simply an image of the actual product to be developed.
o Major advantage is – customer gets the opportunity in the beginning itself to ask
for changes in requirements as it is easy to do requirement changes in prototype
rather than real applications. Thus costs are less and expectations are met.
· Early testing saves time and money: - To find defects early, test activities should be started
as early as possible in the software development lifecycle. So that any defects in the
requirements or design phase are captured in early stages. It is much cheaper to fix a defect in
the early stages of testing. Testing early in the software development lifecycle helps reduce or
eliminate costly changes.
· Defect Clustering together: - A small number of modules usually contains most of the defects
discovered during pre-release testing, or is responsible for most of the operational failures.
Predicted defect clusters, and the actual observed defect clusters in test or operation, are an
important input into a risk analysis used to focus the test effort.
· Beware of the pesticide paradox: - Repetitive use of the same pesticide mix to eradicate
insects during farming will over time lead to the insect’s developing resistance to the pesticide,
thereby ineffective of pesticides on insects. The same applies to software testing. If, the same
tests are repeated over and over again, eventually these tests no longer find any new defects. To
detect new defects, existing tests and test data may need changing, and new tests may need to
be written.
· Testing is Context Dependent: - The testing approach depends on the context of the
software developed. Different types of software need to perform different types of testing. For
example, the testing of the e-commerce site is different from the testing of the Android
application.
· Absence of Errors Fallacy: - it is a fallacy (i.e., a mistaken belief) to expect that just finding
and fixing a large number of defects will ensure the success of a system. For example,
thoroughly testing all specified requirements and fixing all defects found could still produce a
system that is difficult to use, that does not fulfil the users’ needs and expectations, or that is
inferior compared to other competing systems.
· Normally professionals with a Quality Assurance background are involved in the identification
of bugs. Testing is performed in the testing phase.
· It involves identifying, isolating and fixing the problems/bug. Developers who code the
software conduct debugging upon encountering an error in the code.
· Debugging can be performed in the development phase while conducting Unit Testing or in
phases while fixing the reported bugs.
· Debugging identifies the cause of a defect, repairs the code and checks that the defect has
been fixed correctly
Quality
· The degree to which a component, system or process meets specified requirements and/or
user/customer needs and expectations.
o Consistency.
Defect Terminology
· Bug Leakage : A bug which is actually missed by the testing team while testing and the build
was released to the Production. If now that bug (which was missed by the testing team) was
found by the end user or customer then we call it as Bug Leakage.
· Bug Release : Releasing the software to the Production with the known bugs then we call it
as Bug Release. These known bugs should be included in the release note.
· What is Defect Age? : Defect age can be defined as the time interval between date of defect
detection and date of defect closure.
· Showstopper Defect : A showstopper defect is a defect which won’t allow a user to move
further in the application. It’s almost like a crash. • Assume that login button is not working.
Even though you have a valid username and valid password, you could not move further
because the login button is not functioning.
· HotFix : A bug which needs to handle as a high priority bug and fix it immediately.
· Severity is defined as the extent to which a particular defect can create an impact on the
software
· Types of severity
o Blocker / Showstopper
o Critical
o Major
o Minor / Cosmetic
Blocker:
o Blocker Defect means any defect making the Software unavailable or otherwise
preventing the Customer to use the Software.
o Eg. Facebook Login feature is not working. This means that the authorization
feature itself is not working and without a login tester cannot carry out other
testing activity.
§ Major flow is not working – Login or signup itself is not working in the
CitiBank application.
· Critical:
o A major issue where a large piece of functionality or major system component is
completely broken. There is no work around & testing cannot continue.
o Eg. Consider the Instagram application where – Upload image / Post image is not
working
· Major:
o Eg. Consider the Instagram application where – Image upload is only working by
Camera and not from Gallery option
· Minor:
o A minor issue that imposes some loss of functionality, but for which there is an
acceptable & easily reproducible workaround. Testing can proceed without
interruption.
o Eg. Any cosmetic or spelling issues which are within a paragraph or in the report
(Not on cover page, heading, title).
It is important to fix the bug (OR) how soon the defect should be fixed (OR) which are the defects to
be fixed first.
Priority is defined as the order in which the defects should be resolved. The priority status is usually
set by the testing team while raising the defect against the dev team mentioning the timeframe to
fix the defect. The Priority status is set based on the end user’s requirement.
· Urgent / P1: The defect must be resolved immediately because the defect is affecting the
application or the product severely and the product cannot be used until it has been fixed.
· High / P2: The defect must be resolved immediately because the defect is affecting the
application to a considerable extent and the relevant modules cannot be used until it's fixed.
· Medium / P3: During the normal course of the development activities, defects should be
resolved. It can wait until a new version is created. The defect should be resolved in the
subsequent builds.
· Low / P4: This defect can be fixed after the critical ones are fixed.
● A very low severity with a high priority: A logo error for any shipment website, can be of
low severity as it not going to affect the functionality of the website but can be of high
priority as you don’t want any further shipment to proceed with the wrong logo.
● A very high severity with a low priority: An error which occurs on the functionality of the
application (for which there is no workaround) and will not allow the user to use the system
but on click of link which is rarely used by the end user.
● Low Priority and Low Severity: Any cosmetic or spelling issues which are within a paragraph
or in the report (Not on cover page, heading, title).
● High Priority & High Severity: An error which occurs on the basic functionality of the
application and will not allow the user to use the system. (Eg. A site maintaining the student
details, on saving record if it doesn't allow saving the record then this is a high priority and
high severity bug.)
Priority Severity
Defect Priority has defined the order in Defect Severity is defined as the degree of
which the developer should resolve a impact that a defect has on the operation of
defect the product
Priority is categorized into three types Severity is categorized into five types
High Critical
Low Major
Priority indicates how soon the bug should Severity indicates the seriousness of the
be fixed defect on the product functionality
During UAT the development team fix During SIT, the development team will fix
defects based on priority defects based on the severity and then
priority
Risk
· The probability of any unwanted incident is defined as Risk.
· For the success of your project, Risk should be identified and corresponding solutions should
be determined before the start of the project. Risk Identification in Software Engineering helps
you to identify probable risks in the early stages.
· Future negative situation is known as risk like product fail, rejected by end users.
· Risk Analysis: - Identifying future risk in present. Risk Analysis in Software Engineering is the
process of analysing the risks associated with your Testing Project.
· Project Risks: - Uncertain event or a activity that can impact the project’s progress. Risk
generated before launching project Example of Project risk is Senior Team Member leaving the
project abruptly.
· Product Risk: - The possibility that the system or a software might fail to satisfy or fulfil the
expectation of the customer, user, or stakeholder
1 QA includes activities that ensure It includes activities that ensure It includes activities that ensure
the implementation of processes, the verification of a developed the identification of
procedures and standards in software with respect to bugs/error/defects in a software.
context to verification of developed documented or requirements.
software and intended
requirements.
4 It is a subset of Software Test Life QC can be considered as the Testing is the subset of Quality
Cycle (STLC). subset of Quality Assurance. Control.
Bug
A bug refers to defects which means that the software product or the application
is not working as per the adhered requirements
Defect
The Defect is the difference between the actual outcomes and expected outputs.
The Testers identify the defect. And it was also solved by the developer in the development
phase or stage.
Different type of Defects are as follows:
Based on priority:
o High
o Medium
o Low
Error
An Error is a mistake made in the code; that's why we cannot execute or compile code.
The Fault is a state that causes the software to fail to accomplish its essential function.
The failure finds by the manual test engineer through the development cycle.
HTTP vs HTTPS
What is HTTP?
An HTTP stands for Hypertext Transfer Protocol. The HTTP protocol provides
communication between different communication systems. When the user makes an
HTTP request on the browser, then the webserver sends the requested data to the
user in the form of web pages. In short, we can say that the HTTP protocol allows us
to transfer the data from the server to the client.
An HTTP is an application layer protocol that comes above the TCP layer. It has
provided some standard rules to the web browsers and servers, which they can use
to communicate with each other.
An HTTP is a stateless protocol as each transaction is executed separately without
having any knowledge of the previous transactions, which means that once the
transaction is completed between the web browser and the server, the connection
gets lost.
What is HTTPS?
The full form of HTTPS is Hypertext Transfer Protocol Secure. The HTTP protocol does
not provide the security of the data, while HTTP ensures the security of the data.
Therefore, we can say that HTTPS is a secure version of the HTTP protocol. This
protocol allows transferring the data in an encrypted form. The use of HTTPS
protocol is mainly required where we need to enter the bank account details. The
HTTPS protocol is mainly used where we require to enter the login credentials. In
modern browsers such as chrome, both the protocols, i.e., HTTP and HTTPS, are
marked differently. To provide encryption, HTTPS uses an encryption protocol known
as Transport Layer Security, and officially, it is referred to as a Secure Sockets Layer
(SSL).
Cache is employed to
store the web site While cookie is
content for the long employed to store
run purpose. user choices.
While it expires
3. It expires manually. automatically.
It consumes large
space in terms of While it consumes less
4. capacity. space in terms of capacity.
Cookies
On browsing the internet, multiple information gets stored in the form of cookies.
Cookies are useful as they keep the records like login credentials and collect our
information so that a website that we have visited may remember our preferences. It
makes online transactions and surfing easier.
Cookies are not intended to cause any damage to the user's computer. But they can
be utilized to send targeted advertisements to users because personal information
such as login credentials, location, address, and others gets stored in it. Cookies
record these data to make the transactions convenient and provide auto-filling
options to browsers.
So, in order to protect the privacy on internet, we should delete these cookies. And
on deleting the cookies, we will lose our saved passwords and data. Cookies
consume less space. There are two types of cookies that are - Transient cookies and
Persistent cookies. Cookies expire automatically. Transient cookies are temporary
and erase once the browser is closed. On the other hand, Persistent cookies are
stored in users' hard drives and remain there until they are deleted manually or reach
their expiration date.
Testing is never ending process and completely testing an application is not possible
at all. And testing is not 100% bug free in order to decide how much testing is
sufficient we have to consider some factors
We have to thoroughly tested all the functionalities of the application with respect to
the customers’ expectations
There should be not any major or important bugs left in the application
We have to complete all the code reviews static unit integration and UI – level
scenarios
Android Versions
o 2.1Android 1.0
o 2.2Android 1.1
o 2.3Android 1.5 Cupcake
o 2.4Android 1.6 Donut
o 2.5Android 2.0 Eclair
o 2.6Android 2.2 Froyo
o 2.7Android 2.3 Gingerbread
o 2.8Android 3.0 Honeycomb
o 2.9Android 4.0 Ice Cream Sandwich
o 2.10Android 4.1 Jelly Bean
o 2.11Android 4.4 KitKat
o 2.12Android 5.0 Lollipop
o 2.13Android 6.0 Marshmallow
o 2.14Android 7.0 Nougat
o 2.15Android 8.0 Oreo
o 2.16Android 9 Pie
o 2.17Android 10
o 2.18Android 11
o 2.19Android 12
o 2.20Android 13
Cupcake
Donut
Features
Éclair
Features
Update UI
Support Bluetooth 2.1
Improve Google map
Minor API Changes
Support Live and animated Wallpapers
Ability to add contact’s photo and select to call, message or email
Froyo
Features
Gingerbread
Features
Honeycomb
Features
Jelly Bean
Features
KitKat
Features
Screen Recording
Contact Prioritization
GPS Support
Smarter Caller ID
Offline music support
UI updates for alarm and google map navigations
Cartoonish ideograms and emojis to the Google keyboard
KitKat has ‘OK Google’ feature that allows access to Google to the users
without touching your smartphones.
Lollipop
Features
Support ART
Better device protection
Notifications can be flicked away from the lock screen
Better and improved UI
Built-in battery saver feature
New material design
Revamped navigation bar
Support for Multiple sim cards
High definition of voice call.
Marshmallow
Features
Nougat
Password autofill
Auto-enable Wi-Fi
Downloadable fonts
Multi-display support
Support Picture-in-Picture
Notification channels and snooze notification
Google Play support and new emoji styling
Adaptive icons and smart text selection
Pie
Android 10
Features
Android 12
Game dashboard
Quick tap
Privacy dashboard
Conversation widget
Scrolling screenshots
Android 13
Design changes
Notifications permissions
2.2iPhone OS 2
2.3iPhone OS 3
2.4iOS 4
2.5iOS 5
2.6iOS 6
2.7iOS 7
2.8iOS 8
2.9iOS 9
2.10iOS 10
2.11iOS 11
2.12iOS 12
2.13iOS 13 / iPadOS 13
2.14iOS 14 / iPadOS 14
2.15iOS 15 / iPadOS 15
2.16iOS 16 / iPadOS 1