Exam Test Questions and Answers

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 36

1.

What is testing

Testing means to find the bug in the developed software or existing software

2. What is software testing?

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.

Is a part of software development process

Is an activity to detect and identify the defects in the software

The objective of testing is to release quality product to the client.

3. Objective of testing

Executing a program with the intent of finding an error.

To check if the system meets the requirements and be executed successfully in the Intended
environment.

To check if the system is “Fit for purpose”.

To evaluate work products such as requirements, user stories, design, and code.

To verify whether all specified requirements have been fulfilled.

To validate whether the test object is complete and works as the users and other stakeholders
expect.

To build confidence in the level of quality of the test object.

To provide sufficient information to stakeholders to allow them to make informed decisions,


especially regarding the level of quality of the test object.

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

A good developer is one who is technically sound.


Developer develops the application according to client or customer requirements

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 focus on how application or software can work

Developer always understands the problem as soon as possible.

Developer has some knowledge of product internals

Developer always model system design means they build the application by keeping client
requirements in mind

Developer is the one who makes the software or application

Developer aims to make the application bug and error free

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 always focuses on where application or software can go wrong.

Tester always reports the problem as soon as possible

Tester is always testing the application and software by keeping end user in mind

Tester is the one who tests the application or software

Tester aims to find out many bugs as possible in the application so that application can be fully
reliable and quality oriented.

5. Why testing is important

Testing saves client’s money in long run

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.

Testing ensures high quality product

With the help of software testing high quality end product will be delivered to the client that will
help to increase his userbase

No software is bug free

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.

6. Software tester work roll

● Analyze the system specification


● Contribute to the test plan creation
● Prepare test scenarios
● Document test cases
● Collected test data
● Perform test cases execution
● Report defects
● Track defects
● Perform regression testing
● Alter test cases and repeat the process

7. Company requirements for manual tester.

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.

· Documentation: Documentation is an important skill every tester must learn. It helps in


identifying the proper requirement and act accordingly. A well-documented test helps to track
the amendments in the requirement, check the test process, trace abnormalities, and also helps
in composing reports and logging off work.

· 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

8. Why starting career as a software tester?


Only the people who can’t code choose Software Testing as a career.

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.

People can easily learn testing

Lots of vacancies are available for fresher and experienced tester.

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

10. Good software tester

Technical skills

Analytical skills

Attitude

Passion

Verbal and written communication

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.

12. Manual Vs Automation

Automation testing is done using automation tools to execute test cases.

In manual testing, test cases are executed by a human tester and software.

Automation testing is faster than a manual testing

Manual Testing is time consuming and takes up human resources.

Automation does not allow random testing

Exploratory testing is possible in Manual testing

Automation testing is a reliable method as it is performed by tools and scripts.

Manual testing is not as accurate because of the possibility of the human errors

Investment is required for testing tools as well as automation engineers

Investment is needed for human resources

Programming knowledge is a must in automation testing

No need for programming in Manual testing

Automation testing is suited for regression testing performance testing load testing

Manual testing is suitable for exploratory usability and Adhoc 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

14. Defect, Bug, Error, and Fault

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.

 Errors due to configuration such as inadequate storage area for


memory. (Error generated by programing mistake).
 If the user hits login without inform the username and password the
system should Display an error message saying the user is missing
the mandatory fields. (Error from customer's requirements).

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.

For example, in a bank application if the Amount Transfer module is not working for


end-users when the end-user tries to transfer money, submit button is not working.
Hence, this is a fault .
15. Types of error

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.

Few examples of communication errors are – No Help instructions/menu provided,


features that are part of the release but are not documented in the help menu, a button
named ‘Save’ should not erase a file etc.

3) Missing command errors:


This happens to occur when an expected command is missing.

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.

#4) Syntactic Error:


Syntactic errors are misspelled words or grammatically incorrect sentences and are very
evident while testing software GUI. Please note that we are NOT referring to syntax errors in
code. The compiler will warn the developer about any syntax errors that occur in the code
Note the misspelled word ‘Cancel’:

Note the grammatically incorrect message:

) Error handling errors:


Any errors that occur while the user is interacting with the software needs to be handled in
a clear and meaningful manner. If not, it is called as an Error Handling Error.
Take a look at this image. The error message gives no indication of what the error actually is. Is it
missing mandatory field, saving error, page loading error or is it a system error? Hence, this is an
‘Error Handing 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.

#7) Control flow errors:


The control flow of a software describes what it will do next and on what condition.

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.

17. Phases of SDLC

Requirement Collection and analysis

Feasibility study

Design

HLD

LLD

Coding

Testing

Installation/Deployment

Maintenance

18. Software development methologies

o Waterfall Model
o Spiral Model
o V&V Model
o Agile Model
o Prototype Development Model
19. Waterfall model

Waterfall Model is a sequential model that divides software development into


pre-defined phases. Each phase must be completed before the next phase can
begin with no overlap between the phases. Each phase is designed for
performing specific activity during the SDLC phase. 

Phase 1: Requirement collection and analysis


The requirement is the first stage in the SDLC process. It is conducted by the
senior team members with inputs from all the stakeholders and domain experts
in the industry. Planning for the quality assurance requirements and
recognization of the risks involved is also done at this stage.

This stage gives a clearer picture of the scope of the entire project and the
anticipated issues, opportunities, and directives which triggered the project.

Requirements Gathering stage need teams to get detailed and precise


requirements. This helps companies to finalize the necessary timeline to finish
the work of that system.

Phase 2: Feasibility study


Once the requirement analysis phase is completed the next sdlc step is to define
and document software needs. This process conducted with the help of
‘Software Requirement Specification’ document also known as ‘SRS’ document.
It includes everything which should be designed and developed during the
project life cycle.

There are mainly five types of feasibilities checks:

 Economic: Can we complete the project within the budget or not?


 Legal: Can we handle this project as cyber law and other regulatory
framework/compliances.
 Operation feasibility: Can we create operations which is expected by the
client?
 Technical: Need to check whether the current computer system can
support the software
 Schedule: Decide that the project can be completed within the given
schedule or not.

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.

There are two kinds of design documents developed in this phase:

High-Level Design (HLD)

 Brief description and name of each module


 An outline about the functionality of every module
 Interface relationship and dependencies between modules
 Database tables identified along with their key elements
 Complete architecture diagrams along with technology details

Low-Level Design (LLD)

 Functional logic of the modules


 Database tables, which include type and size
 Complete detail of the interface
 Addresses all types of dependency issues
 Listing of error messages
 Complete input and outputs for every module

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.

In this phase, Developer needs to follow certain predefined coding guidelines.


They also need to use programming tools like compiler, interpreters, debugger
to generate and implement the code.

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:

 Before the next phase of development, each phase must be completed

Suited for smaller projects where requirements are well defined

They should perform quality assurance test (Verification and Validation)


before completing each stage

Elaborate documentation is done at every phase of the software’s


development cycle

Project is completely dependent on project team with minimum client


intervention
Any changes in software are made during the process of the development

Disadvantages

Error can be fixed only during the phase

It is not desirable for complex project where requirement changes


frequently

Testing period comes quite late in the developmental process

Documentation occupies a lot of time of developers and testers

Clients valuable feedback cannot be included with ongoing development


phase

Small changes or errors that arise in the completed software may cause a
lot of problems

When to use SDLC Waterfall Model?


Waterfall Methodology can be used when:

 Requirements are not changing frequently


 Application is not complicated and big
 Project is short
 Requirement is clear
 Environment is stable
 Technology and tools used are not dynamic and is stable
 Resources are available and trained

Spiral Model

Spiral Model is a risk-driven software development process model. It is a


combination of waterfall model and iterative model. Spiral Model helps to
adopt software development elements of multiple process models for the
software project based on unique risk patterns ensuring efficient development
process.
Each phase of spiral model in software engineering begins with a design goal
and ends with the client reviewing the progress. The spiral model in software
engineering was first mentioned by Barry Boehm in his 1986 paper.
The development process in Spiral model in SDLC, starts with a small set of
requirement and goes through each development phase for those set of
requirements. The software engineering team adds functionality for the
additional requirement in every-increasing spirals until the application is ready
for the production phase. The below figure very well explain 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

 Identification of potential risk is done while risk mitigation strategy is


planned and finalized

Engineering

 It includes testing, coding and deploying software at the customer site

Evaluation

 Evaluation of software by the customer. Also, includes identifying and


monitoring risks such as schedule slippage and cost overrun

When to use Spiral Model?


 A Spiral model in software engineering is used when project is large
 When releases are required to be frequent, spiral methodology is used
 When creation of a prototype is applicable
 When risk and costs evaluation is important
 Spiral methodology is useful for medium to high-risk projects
 When requirements are unclear and complex, Spiral model in SDLC is
useful
 When changes may require at any time
 When long term project commitment is not feasible due to changes in
economic priorities

Advantages:

Additional functionality or changes can be done at a later stage


Cost estimation becomes easy as the prototype building is done in small
fragments

Continuous or repeated development helps in risk management

Development is fast and features are added in a systematic way in Spiral


development

There is always a space for customer feedback

Disadvantages:

Risk of not meeting the schedule or budget

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

Documentation is more as it has intermediate phases

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.

Validation: It involves dynamic analysis method (functional, non-functional), testing


is done by executing code. Validation is the process to classify the software after the
completion of the development process to determine whether the software meets
the customer expectations and requirements.

SDLC: SDLC is Software Development Life Cycle. It is the sequence of activities


carried out by Developers to design and develop high-quality software.

STLC: STLC is Software Testing Life Cycle. It consists of a series of activities


carried out by Testers methodologically to test your software product.

Waterfall Model: Waterfall model is a sequential model divided into different


phases of software development activity. Each stage is designed for performing
the specific activity. Testing phase in waterfall model starts only after
implementation of the system is done.

Prototype Model

Prototype Development Model


· Prototyping Model is a software development model in which prototype is built, tested,
and reworked until an acceptable prototype is achieved. It also creates base to produce the
final system or software. It works best in scenarios where the project's requirements are not
known in detail.

· 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.

· Advantage of Prototype Model

o In the beginning itself, we set the expectation of the client.

o There is clear communication b/w development team and client as to the


requirements and the final outcome of the project

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.

· Drawbacks of Prototype Model

o There is delay in starting the real project

o To improve the communication, there is an investment needed in building the


prototype.

· Applications – When this model is actually used

o Customer is new to the s/w

o When developers are new to the domain

o When customer is not clear about his own requirement

· There are 2 types of prototypes,

o Static Prototype – entire prototype of the requirement is stored in a word


document with explanation and snapshots and instructions on how to go about
building the s/w, how the finished product will look like and it’s working etc.

o Dynamic Prototype – similar to a browser, but we can’t enter any information.


Only the features are available without entering data. It’s like a dummy page,
made out of HTML with tags and links to different pages representing features
of the project

Seven Key Principles of Software Testing


· Testing shows presence of Defects: - Testing can show that defects are present, but cannot
prove that there are no defects. Testing reduces the probability of undiscovered defects
remaining in the software but, even if no defects are found, testing is not a proof of correctness.
Even multiple testing can never ensure that software is 100% bug-free. Testing can reduce the
number of defects but not remove all defects.

· Exhaustive Testing is Impossible! - Testing everything (all combinations of inputs and


preconditions) is not feasible except for trivial cases. Rather than attempting to test
exhaustively, risk analysis, test techniques, and priorities should be used to focus test efforts.

· 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.

Testing and Debugging


Testing

· It involves the identification of bug/error/defect in the software without correcting it.

· Normally professionals with a Quality Assurance background are involved in the identification
of bugs. Testing is performed in the testing phase.

· Testing can show failures that are caused by defects.


Debugging

· It involves identifying, isolating and fixing the problems/bug. Developers who code the
software conduct debugging upon encountering an error in the code.

· Debugging is the part of White box or Unit Testing.

· 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.

· Key aspects of quality for the customer include:

o Good design – looks and style.

o Good functionality – it does the job well.

o Reliable – acceptable level of breakdowns or failure.

o Consistency.

o Durable – lasts as long as it should. Performance testing technique used to


determine the characteristics of a system under various load conditions over
time.

o Good after sales service.

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.

o Defect Age = Date of defect closure – Date of defect detection.


· Error Seeding : Error seeding is a process of adding known errors intendedly in a program to
identify the rate of error detection. It helps in the process of estimating the tester skills of
finding bugs and also to know the ability of the application (how well the application is working
when it has errors.).

· 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 of a Bug / Defect


· Severity is impact of the bug on customer’s business.

· 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 severity usually means that the system or functionality is currently


unavailable because of this bug.

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.

o There are 2 types in blocker defect,

§ Major flow is not working – Login or signup itself is not working in the
CitiBank application.

§ Major feature is not working – Login to CitiBank. Amount Transfer is not


working.

· 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 A major issue where a large piece of functionality or major system component is


not working properly. There is a work around, however & testing can continue.

o Eg. Consider the Instagram application where – Image upload is only working by
Camera and not from Gallery option

· Minor:

o This can also be called as Cosmetic issue

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).

Defect / Bug Priority

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.)

Difference Between Severity and Priority

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

Urgent Blocker / Showstopper

High Critical

Low Major

Medium Minor / Cosmetic

Priority is associated with scheduling Severity is associated with functionality or


standards

Priority indicates how soon the bug should Severity indicates the seriousness of the
be fixed defect on the product functionality

Priority of defects is decided in QA engineer determines the severity level of


consultation with the manager/client the defect
Priority is driven by business value Severity is driven by functionality

Priority status is based on customer Severity status is based on the technical


requirements aspect of the product

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.

· Risk is the probability of occurrence of an undesirable event.

· 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.

· Risk Mitigation: - Finding solution of future risk

· 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

Risk management helps you in


· Now, you might think what could be the possible risks that you could encounter? Well, here
is a list:

o Use of new hardware

o Use of new technology

o Use of new automation tool

o The sequence of code

o Availability of test resources for the application

What is QA (Quality Assurance), QC (Quality Control), Testing

Sr.No Quality Assurance Quality Control Testing

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.

2 Focuses on processes and Focuses on actual testing by Focuses on actual testing.


procedures rather than conducting executing the software with an
actual testing on the system. aim to identify bug/defect
through implementation of
procedures and process.

3 Process-oriented activities. Product-oriented activities. Product-oriented activities.

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.

5 Examples of QA include process Examples of QC include Example of testing is that


definition and implementation, technical reviews, software performing all the types of testing
training, audits and selection of testing and code inspections. to identify the defects
tools.

Difference between bug defect error and fault

Bug

A bug refers to defects which means that the software product or the application
is not working as per the adhered requirements

The Test Engineers submit the bug.

Different type of bugs are as follows:


o Logic bugs
o Algorithmic bugs
o Resource bugs

Following are reasons which may cause the bugs:


Missing coding
Wrong coding
Extra coding

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

And based on the severity:


o Critical
o Major
o Minor
o Trivial

The below reason leads to the defects:


Giving incorrect and wrong inputs.
Dilemmas and errors in the outside behavior and inside structure and design.
An error in coding or logic affects the software and causes it to breakdown or the failure.

Error

An Error is a mistake made in the code; that's why we cannot execute or compile code.

The Developers and automation test engineers raise the error.

Different type of Error is as below:


o Syntactic Error
o User interface error
o Flow control error
o Error handling error
o Calculation error
o Hardware error
o Testing Error

The reasons for having an error are as follows:


Errors in the code.
The Mistake of some values.
If a developer is unable to compile or run a program successfully.
Confusions and issues in programming.
Invalid login, loop, and syntax.
Inconsistency between actual and expected outcomes.
Blunders in design or requirement actions.
Misperception in understanding the requirements of the application.

The Fault is a state that causes the software to fail to accomplish its essential function.

Human mistakes cause fault.

Different type of Fault are as follows:


o Business Logic Faults
o Functional and Logical Faults
o Faulty GUI
o Performance Faults
o Security Faults
o Software/ hardware fault

he reasons behind the fault are as follows:


A Fault may occur by an improper step in the initial stage, process, or data definition.
Inconsistency or issue in the program.
An irregularity or loophole in the software that leads the software to perform improperly.

If the software has lots of defects, it leads to failure or causes failure.

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.

Cache’s website While cookie’s contents


contents are stored in are stored in both server
2. browser only. and browser.

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.

the types of cache are: While the types of cookies


Browser cache and are: Transient and
5. proxy cache. persistent cookies.

Cache stores the While cookie store the


contents like html contents like browsing
pages, images, sessions and temporary
6. JavaScript, CSS etc. tracking data.
Cache does not send
the response with While cookie sends the
7. requests. response with requests.

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.

How much testing is enough

All test cases should be pass related to all test phase

None of defect is found

It also depend upon deadline and go line date of the project

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

We have to verify all the functional and non functional scenarios

Are we confident with the current state of the application

All the defects to be fixed before release are fixed

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

 on-screen keyboard and search function


 Uploading videos and images
 Copy and paste facility and video recordings
 Support for MPEG4 and 3GP formats

Donut

Features

 Power Control widget for handling Wi-Fi, Bluetooth, GPS, etc.


 Gallery and Camera quick toggling features
 WVGA screen resolution speed
 Technology support for CDMA/EVDO, 802.1x, VPNs, and a text-to-
speech engine
 Speed improvements for camera and searching applications
 Quick Search Box

É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

 Support for Animated GIF and multiple keyboard languages


 Speed and performance improvements
 Upload file support in the browser
 Support numeric & alphanumeric passwords to enhance security
 Increased Compatibility with car kits and headsets
 Wi-Fi Support Hotspot functionality

Gingerbread
Features

 Improve Copy and Paste Facility


 Updated UI design
 Support for VP8 and WebM video format
 Video calling and Social Networking Supports
 Easy to use a keyboard with faster and intuitive typing

Honeycomb
Features

 Gmail, contacts, camera and gallery improvements


 Support for passwords with complex characters
 encrypted storage and updated 3D UI
 Supports multiprocessors and recent apps for easy visual multitasking
 Media Sync from SD Card
 Action bar for application control
 System bar for global status and notifications
 Google eBooks and Talk Video Chat
 Support Adobe Flash in Browser
 More sensor support
 High-performance Wi-Fi Connections and Lock
 Chinese handwriting and redesigned keyboard

Ice Cream Sandwich


Features

 Spelling check feature


 Wi-Fi direct
 Photo Decor facility and on-screen buttons
 Unlocking with face-fixing.
 Card-like appearance for app-switching
 Improved video recording with high resolution
 Better Camera performance
 Ability to open up to 16 tabs in the web browser

Jelly Bean
Features

 Voice search and typing


 Panorama
 Project Butter
 Expandable notifications
 Daydream as a screensaver
 Power control
 Support USB audio
 Improved camera app
 Security improvements
 New gestures and accessibility features
 Multiple user accounts (Only for tablets)
 4k resolution support
 Supporting Bluetooth with low energy
 Bi-directional text and different language support
 Set or adjust the volume of incoming calls and show a message alert
 Google displays relevant content based on your search history
 Native emoji support

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

 Support for Fingerprint readers


 Type C USB support
 Multi-window experience
 ’Sleep Mode’ for saving battery life
 Clear permission system
 Custom google tabs and improved Copy-pasting

Nougat

 Provide multitasking and split-screen mode


 Storage manager enhancements
 Quick setting toggles
 Display touch enhancements
 Better setting application
 Inline reply to messages and notifications without opening applications
Oreo

 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 

 Sound amplifier with select to speak options


 Artificial intelligence (AI) compatibility
 Adaptive Battery and Brightness with background restrictions
 Multi-camera support with the external camera compatibility
 New Gesture Navigation and App Actions
 New Screenshot Shortcut key and accessibility menu
 Easier Screen Rotation and edge to edge screens support
 Volume and Sound enhancements
 Selectable Dark Mode
 HDR, HD audio, multiple Bluetooth connections
 Slices and long press to overview selection
 Improved Security features for extra protection
 Digital Wellbeing with app timers, dashboard and do not disturb options
 Android backups and privacy enhancements
 More Notification Information and easier text selection

Android 10

Features

 Support for foldable smartphones with flexible displays


 Dark mode for eyes comfortability
 Navigation control over gesture quicker and intuitive ever
 Sound amplifier with more clear sound
 Smart reply suggestions for all messaging apps
 Live caption for media playing on a smartphone
 Undo app removal
 Better notification control with many options
Android 11

 Revamped menu and screenshot shortcuts


 New text selection mode from one app to another
 Undoing recently cleared applications  
 Airplane mode doesn’t kill Bluetooth anymore
 Face Unlock will require you to open your eyes in pixel 4
 App pinning in the share menu
 Improved notification conversation shades
 Conversation bubbles and context-aware dark mode
 Improved one-time permissions

Android 12

Wallpaper based dynamic theming

Game dashboard

One handed mode

Quick tap

Direct share in the recents overview menu

Privacy dashboard

Conversation widget

Dim the screen

Scrolling screenshots

Android 13

Design changes

Auto theming icons

More material theming options

Alternative lock screen clock setup

Notifications permissions

New privacy and security hub


 2.1iPhone OS 1

 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

You might also like