0% found this document useful (0 votes)
74 views112 pages

100 Questions

Software testing is the process of evaluating a system to check if it satisfies requirements by measuring attributes like correctness, completeness, usability, and performance. There are several types of software testing domains including banking, insurance, healthcare, and ERP. The software development life cycle (SDLC) consists of requirement gathering, analysis, design, development, testing, deployment, and maintenance phases. Similarly, the software testing life cycle (STLC) is a series of steps including requirement analysis, test planning, case development, environment setup, execution, and closure. Fundamental test processes involve planning and control, analysis and design, implementation and execution, and evaluating exit criteria and reporting.

Uploaded by

Piyush Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views112 pages

100 Questions

Software testing is the process of evaluating a system to check if it satisfies requirements by measuring attributes like correctness, completeness, usability, and performance. There are several types of software testing domains including banking, insurance, healthcare, and ERP. The software development life cycle (SDLC) consists of requirement gathering, analysis, design, development, testing, deployment, and maintenance phases. Similarly, the software testing life cycle (STLC) is a series of steps including requirement analysis, test planning, case development, environment setup, execution, and closure. Fundamental test processes involve planning and control, analysis and design, implementation and execution, and evaluating exit criteria and reporting.

Uploaded by

Piyush Yadav
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 112

1.Define testing?

Software testing is the process of evaluating a system to check if it satisfies its


business requirements. It measures the overall quality of the system in terms of
attributes. Like – correctness, completeness, usability, performance, etc.

Basically, it is used for ensuring the quality of software to the stakeholders of the
application.

2. List any five types software testing Domains?


Domains in Software Testing -
Banking Domain
Insurance Domain
ERP Domain - One major use for ERP software is controlling a supply chain.
Healthcare Domain

3.Explain SDLC. (RADCTD)


● Requirement
● Answer: what problems need to be solved?
● Planning / Analysis
● Answer: what do we want to do?
● Architectural/software design
● Answer: How do we reach our goal?
● Software Development
● Solve: Let’s build
● Testing
● Solve: Let’s ensure what we have built works
● Deployment
● Solve: Let’s take our solution and use it.
SDLC stands for Software Development Life Cycle. It refers to all the activities performed
during software development – requirement gathering, requirement analysis, designing,
coding or implementation, testing, deployment, and maintenance.

Requirement Phase

Requirement gathering and analysis is the most important phase in the software development
lifecycle. Requirement phase is the first step of the SDLC. Business Analyst collects the
requirement from the Customer/Client as per the clients business needs and documents the
requirements in the Business Requirement Specification (document name varies depends
upon the Organization. Some examples are Customer Requirement Specification (CRS),
Business Specification (BS), etc., and provides the same to Development Team.

Analysis Phase

Once the requirement gathering and analysis is done the next step is to define and document
the product requirements and get them approved by the customer. This is done through the
SRS (Software Requirement Specification) document. SRS consists of all the product
requirements to be designed and developed during the project life cycle. Key people involved
in this phase are Project Manager, Business Analyst and Senior members of the Team. The
outcome of this phase is the Software Requirement Specification.

Design Phase

It has two steps:


HLD – High-Level Design – It gives the architecture of the software product to be developed
and is done by architects and senior developers
LLD – Low-Level Design – It is done by senior developers. It describes how each and every
feature in the product should work and how every component should work. Here, only the
design will be there and not the code
The outcome from this phase is High-Level Document and Low-Level Document which works
as an input to the next phase

Coding/Development Phase

Developers of all levels (seniors, juniors, freshers) involved in this phase. This is the phase
where we start building the software and start writing the code for the product. The outcome
from this phase is Source Code Document (SCD) and the developed product.
Testing Phase

When the software is ready, it is sent to the testing department where Test team tests it
thoroughly for different defects. They either test the software manually or using automated
testing tools depends on the process defined in STLC (Software Testing Life Cycle) and
ensure that each and every component of the software works fine. Once the QA makes sure
that the software is error-free, it goes to the next stage, which is Implementation. The
outcome of this phase is the Quality Product and the Testing Artifacts.

Deployment & Maintenance Phase

After successful testing, the product is delivered/deployed to the customer for their use.
Deployment is done by the Deployment/Implementation engineers. Once when the customers
start using the developed system then the actual problems will come up and needs to be
solved from time to time. Fixing the issues found by the customer comes in the maintenance
phase. 100% testing is not possible – because, the way testers test the product is different
from the way customers use the product. Maintenance should be done as per SLA (Service
Level Agreement)
https://www.softwaretestingmaterial.com/sdlc-software-development-life-cycle/

4.Explain STLC
Software Testing Life Cycle or STLC refers to a series of systematic and well-defined
steps performed during the testing of a software application.

Requirement Analysis - The entry criteria for this phase is the BRS (Business Requirement
Specification) document. During this phase, the test team studies and analyzes the
requirements from a testing perspective.

This phase helps to identify whether the requirements are testable or not. If any requirement
is not testable, the test team can communicate with various stakeholders (Client, Business
Analyst, Technical Leads, System Architects, etc) during this phase so that the mitigation
strategy can be planned.
Test Planning - In this phase typically Test Manager/Test Lead involves determining the
effort and cost estimates for the entire project. Preparation of the Test Plan will be done
based on the requirement analysis.

Activities like resource planning, determining roles and responsibilities, tool selection (if
automation), training requirements, etc., carried out in this phase.
The deliverables of this phase are Test Plan & Effort estimation documents.

Test Case Development -The test team starts with test case development activity here in
this phase. Testers prepares test cases, test scripts (if automation), and test data.

Once the test cases are ready then these test cases are reviewed by peer members or team
lead.The deliverables of this phase are Test Cases, Test Scripts, Test Data, Requirements
Traceability Matrix

Test Environment Setup - This phase involves the creation of a test environment closely
simulating the real-world environment. The testing team uses this environment to test the
whole application. The different types of testing manual, automated, performance, etc are
carried out here.

Test Execution - The test team starts executing the test cases based on the planned test
cases. If a test case result is Pass/Fail then the same should be updated in the test cases.

The defect report should be prepared for failed test cases and should be reported to the
Development Team through a bug tracking tool for fixing the defects.
Retesting will be performed once the defect was fixed.

Test Closure - This phase marks the formal closure of testing. It involves checking if all the
project deliverables are delivered, archiving the testware (everything involved in testing like
test plan, test case, automation scripts), test environment, and documenting learning.

https://www.softwaretestingmaterial.com/stlc-software-testing-life-cycle/
5.Explain fundamental test process? (PAIET)
Testing is a process rather than a single activity.Testing must be planned and it requires discipline to
act upon it.The quality and effectiveness of software testing are primarily determined by the quality of
the test processes used. The activities of testing can be divided into the following basic steps:

1. Planning and Control


2. Analysis and Design
3. Implementation and Execution
4. Evaluating exit criteria and Reporting
5. Test Closure activities

1) Planning and Control


Test Planning : Test planning involves producing a document that describes an overall approach and
test objectives. It involves reviewing the test basis, identifying the test conditions based on analysis of
test items, writing test cases and Designing the test environment. Completion or exit criteria must be
specified so that we know when testing (at any stage) is complete.

Purpose

● To determine the scope and risks and identify the objectives of testing.
● To determine the required test resources like people, test environments etc.
● To schedule test analysis and design tasks, test implementation, execution and evaluation.

Control This is the activity of comparing actual progress against the plan, and reporting the status,
including deviations from the plan. It involves taking actions necessary to meet the mission and
objectives of the project.

2) Analysis and Design


Test analysis and Test Design has the following major tasks:

● To review the test basis. The test basis is the information on which test cases are based, such
as requirements, design specifications, product risk analysis, architecture and interfaces
● To identify test conditions
● To design the tests
● To design the test environment set-up and identify the required infrastructure and tools
3) Implementation and Execution
Test execution involves actually running the specified test on a computer system either manually or
by using an automated test tool. It is a Fundamental Test Process in which actual work is done.

Test implementation has the following major task:

● To develop and prioritize test cases by using techniques and create test data for those tests.
● To create test suites from the test cases for efficient test execution. Test suite is a collection of
test cases that are used to test a software program
● To re-execute the tests that previously failed in order to confirm a fix.
● To log the outcome of the test execution. A test log is the status of the test case (pass/fail).
● To compare actual results with expected results.

4) Evaluating Exit criteria and Reporting


Evaluating exit criteria is a process defining when to stop testing. It depends on coverage of code,
functionality or risk. Basically it also depends on business risk, cost and time and vary from project to
project. Exit criteria come into picture, when:

● Maximum test cases are executed with certain pass percentage


● Bug rate falls below certain level
● When we achieve the deadlines

Evaluating exit criteria has the following major tasks:

● To assess if more test are needed or if the exit criteria specified should be changed
● To write a test summary report for stakeholders

5) Test Closure activities:


Test closure activities are done when software is ready to be delivered. The testing can be closed for
the other reasons also like:

● When a project is cancelled


● When some target is achieved
● When a maintenance release or update is done

Test closure activities have the following major tasks:


● To check which planned deliverables are actually delivered and to ensure that all incident
reports have been resolved
● To finalize and archive testware such as scripts, test environments, etc. for later reuse
● To handover the testware to the maintenance organization. They will give support to the
software
● To evaluate how the testing went and learn lessons for future releases and projects

6.Describe the difference between errors, defects and


failures?

Error - The Problem in code leads to errors, which means that a mistake can occur due to
the developer's coding error as the developer misunderstood the requirement or the
requirement was not defined correctly. The developers use the term error.

Defect - When the application is not working as per the requirement is knows as defects.
It is specified as the aberration from the actual and expected result of the application or
software. In other words, we can say that the bug announced by the programmer and inside
the code is called a Defect.

Failure - Many defects lead to the software's failure, which means that a loss specifies a
fatal issue in software/ application or in its module, which makes the system unresponsive or
broken. In other words, we can say that if an end-user detects an issue in the product, then
that particular issue is called a failure. Possibilities are there one defect that might lead to
one failure or several failures.

7.Software failures can cause losses. Give three consequences of software failures?

● Lack of user participation


● Changing requirements
● Unrealistic or unarticulated project goals
● Inaccurate estimates of needed resources
● Badly defined system requirements
● Poor reporting of the project’s status
● Lack of resources
● Unmanaged risks
● Poor communication among customers, developers, and users
● Use of immature technology
● Inability to handle the project’s complexity
● Sloppy development practices
● Poor Project Management
● Stakeholder politics
● Lack of Stakeholder involvement
● Commercial pressures

8.In the V-model, which document would be used as the test basis for unit testing?
Program specification would be used as the basis for unit-testing.

9.Describe three typical integration strategies.


Integration testing is performed after unit testing. We test a group of linked modules in
integration testing. Its goal is to identify faults with module interaction.

The following are the types of integration testing -

● Big Bang Integration Testing — After all of the modules have been merged, big bang
integration testing begins.
● Top-down Integration Testing — In top-down integration, testing and integration begin
at the top and work their way down.
● Bottom-up Integration Testing — In bottom-up integration testing, lower-level
modules are tested before moving up the hierarchy to higher-level modules.
● Hybrid Integration Testing — Hybrid integration testing combines top-down and
bottom-up integration testing techniques. The integration with this approach starts
at the middle layer, and testing is done in both directions.

11.In the V-model, which document is used as the test basis for system testing?

Functional specification is used as the test basis for system testing.

12.Compare a functional requirement with a non-functional requirement?


13.List three non-functional requirements? (IMPL)

a)Installability – installation procedures.

b)Maintainability – ability to introduce changes to the system.

c)Performance – expected normal behavior.

d)Load handling – behavior of the system under increasing load.


14.What is the purpose of acceptance testing?
The purpose of acceptance testing is to provide the end users with confidence that the
system will function according to their expectations.

15.In the V-model, what is the test basis for acceptance testing?
Acceptance testing will be carried out using the requirement specification as a basis
for test.

16.Identify two types of user acceptance testing?

a. Operational acceptance testing.


b. Contract and regulation acceptance testing.
c. Alpha and beta testing.

18.Explain Performance testing?


Performance testing is a type of non-functional testing in which the performance of the
system is evaluated under expected or higher load. The various performance parameters
evaluated during performance testing are – response time, reliability, resource usage,
scalability (RRRS), etc. The different types of performance testing are – Load, Stress,
Endurance, Spike, and Volume Testing.
https://usersnap.com/blog/types-user-acceptance-tests-frameworks/
19.What is the purpose of maintenance testing?

Maintenance Testing is done on the already deployed software.

Request from the end-users to add new features to the existing software.

End-users may want to migrate from one platform to another such as upgrading their
environment like operating system, database, etc

The Testing done during this enhancement,change and migration cycle is known as
maintenance testing. Once the software is deployed in operational environment it
needs some maintenance from time to time in order to avoid system breakdown,most
of the banking software systems needs to be operational 24*7*365. So it is very
necessary to do maintenance testing of software applications.
#1. Confirmation Maintenance Testing:
It is to test the modified functionality.
During this part of maintenance testing as a tester, you have to test all the modifications
(either small or big) made in the software thoroughly and make sure that there are no
functionality issues and downtime.
Note: The test environment should be a replica of the live environment along with test data.

#2. Regression Maintenance Testing:


It is done after the confirmation maintenance testing phase. It is to test the existing
functionality
As a tester, you have to test the complete system to make sure the modified functionality
(maintenance work) shouldn’t affect the functionality of the existing software is known as
Regression Testing.

20.Give examples of when maintenance testing would be necessary?

Periodic vehicle inspections mandated by regulatory authorities for features important


to environmental protection (e.g., exhaust emissions) or for safety (e.g., brake and
signal lights).

21.What is meant by the term impact analysis?

Impact analysis is a software testing approach that helps you define all risks associated
with any kind of changes made to the product under test.

It’s best to perform an impact analysis whenever:

● there’s a request for a change to the product


● there are changes in product requirements
● there are changes to current modules or features
● you plan to implement new modules or features
While this process may increase the total cost of product development, the added
expenses are easily justified. Based on the results of an impact analysis, you’ll be able to
answer the following questions:

1. What software modules and functionalities will be affected by a particular change


(and how exactly)?
2. Will this implementation affect the performance of the application or individual
application modules?
3. Will the implementation of this module or function affect product versions for
different platforms?
4. Will the implementation of this module or function affect the application’s
performance on different operating systems and browsers?
5. What new test cases should you create to cover a new module or feature and its
relationship with existing elements?
6. How will this change influence the testing process in general and what extra tools
and skills might you need?
7. How will changes affect the product’s terms and budget?

1. Dependency impact analysis focuses on detecting dependencies: potential


consequences of changes or parts of the product that must be reworked when
implementing these changes.
2. Experiential impact analysis aims to estimate the risks associated with product
changes in terms of the whole development process, including the need for extra
time and resources for development.
3. Traceability impact analysis, according to the definition by ISTQB Glossary,
assesses what must be changed at different documentation levels in order to
implement a particular change to the product.

22.Identify three benefits of reviews?

23.Describe static testing and dynamic testing?

24.What is debugging?

Debugging, in computer programming and engineering, is a multistep process that


involves identifying a problem, isolating the source of the problem, and then either
correcting the problem or determining a way to work around it. The final step of
debugging is to test the correction or workaround and make sure it works.
In software development, the debugging process begins when a developer locates a
code error in a computer program and is able to reproduce it. Debugging is part of the
software testing process and is an integral part of the entire software development
lifecycle.

25.What other elements apart from ‘test execution’ are included in ‘testing’?

Requirement Analysis

Test Planning

Test Case Development

Environment Setup

Test Execution

Test Cycle Closure

Firstly, using the requirements design the necessary tests and to set them up. For each
development module, there must be a clear and corresponding test which ensures that
the requirement is met. Once the test has been executed the results must be logged
and this must be reviewed to ensure that the requirements have been met.

26.Briefly justify the idea of early testing?

Early testing activity started the longer elapsed time available. Many problems in
software systems can be tracked back to missing or incorrect requirement. These
errors can be found in early test. If an error/defect is introduced in the coding activity,
its preferable to detect and correct it at this stage to prevent from errors of migration.

● Identification of critical bugs early in a release cycle.


● Helps the Development Team to stabilize the Code early.
● Helps to minimize the collateral due to bug fixes.

27.Contrast the advantages and disadvantages of developers testing their own code?
Advantages: For developers testing their own code has the advantage of fixing the
problems or defects as soon as they are discovered, without the need for extensive
logs.

Disadvantages: It is hard to find your own mistakes properly

28.What is meant by verification?

Verification checks that the work-product meets the requirements set out for it. An
example of this would be to ensure that a website being built follows the guidelines for
making websites usable by as many people as possible. Verification helps to ensure
that we are building the product in the right way.

Verification: Are we building the product right?

Activities involved in verification:

Inspections

Reviews

Walkthroughs

Desk-checking

29.What is meant by validation?

Validation changes the focus of work-product evaluation to evaluation against user


needs. This means ensuring that the behavior of the work-product matches the
customer needs as defined for the project. For example, for the same website above,
the guidelines may have been written with people familiar with websites in mind.It may
be that website is also intended for voice users. Validation would include these users
checking that they too can use the website easily. Validation helps to ensure that we
are building the right product as far as the users are concerned.

Testing the functionality of a software by executing test cases called as Validation.


Vakidation: Are we building the right product?

Activities involved in validation:

Black box testing

White box testing

Unit testing

Integration testing

30.Name three work-products typically shown in the V- model?


a) Component or Unit testing
b) Integration testing
c) System testing
d) Acceptance testing

31.Name three activities typically shown in the V-model?


a) Requirement specification
b) Functional specification
c) Technical specification
e) Program specification
f) coding
32.Identify a benefit of the V-model?

The advantage is that it saves ample amount of time and since the testing team is
involved early on, they develop a very good understanding of the project at the very
beginning.

33.Identify a drawback of the V-model?


The biggest disadvantage of V-model is that it’s very rigid and the least flexible. If any
changes happen mid way, not only the requirements documents but also the test
documentation needs to be updated.

34.Name three activities typically associated with an iterative model?

a) Requirement

b) Design

c) Code

e) Test

35.Identify a significant benefit of an iterative model?

1. Testing and debugging during smaller iteration is easy.

2. A Parallel development can plan.

3. It is easily acceptable to ever-changing needs of the project.

4. Risks are identified and resolved during iteration.

5. Limited time spent on documentation and extra time on designing

36.List three challenges of an iterative development?

● More resources may be required.

● Although cost of change is lesser, but it is not very suitable for changing requirements.

● More management attention is required.

● It is not suitable for smaller projects.

37.List three types of iterative and Incremental development models?

Agile model
RAD model

Spiral model

https://qacraft.com/software-testing-models/

38.What are the categories of defects?

Categories of defects are: Errors of commissions, Errors of omissions, Errors of clarity,


and Error of speed and capacity.

These are explained as following below.

Error of Commission: Commission means instruction or some kind of command given.


Now the error in commission means the error in made in command or instruction. For
example, suppose I wrote a loop which I was trying to run 10 times but I command it to
run more than 10 times by mistake this is the error of commission.

Errors of Omissions: As name is already describing error of omission is some thing


which happens accidentally. Omission word means something left out or executed.
Practical most common example of this error is suppose we make a function in
programming open its bracket but forget to close at the end.
Error of Clarity: The most common error in the natural languages. This error happens
due to miss understanding between the developer and client. It travels most of the time
from the requirements to the software.

Error of Speed or Capacity : The name of the error is itself enough i think to tell about it
this error. Your software is working fine but not working in the required time this is the
error of speed. When it comes to capacity it can be relevant to memory. For example, a
small integer is declared where the long integer was required.

39.What is a bug?

A bug is a fault in a software product detected at the time of testing, causing it to


function in an unanticipated manner.

40.What is test log?

Test log is one of the crucial test artifact prepared during the process of testing. It provides a detailed
summary of the overall test run and indicates the passed and failed tests. Additionally, test log also
contains details and information about various test operations, including the source of issues and the
reasons for failed operations. The focus of this report/document is to enable post execution diagnosis
of failures and defects in the software.

Testers play an extremely vital role in creating test logs, which should be created whenever test are
executed or possibly when test scripts are implemented by the team. Moreover, apart from offering
information about various tests, test log also includes images of the test application, links to files, and
other various entries.

41.What is severity and priority of bug? Give some example.

Severity: It is the extent to which the defect can affect the software. In other words it
defines the impact that a given defect has on the system. For example: If an
application or web page crashes when a remote link is clicked, in this case clicking the
remote link by an user is rare but the impact of application crashing is severe. So the
severity is high but priority is low.

Priority :It defines the priority in which the defects should be resolved. if there are
multiple defects, the priority decides which defect has to be fixed and verified
immediately versus which defect can be fixed a bit later. It is usually set by the lead
Few very important scenarios related to the severity and priority which are asked during
the interview:

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 to save the record then this is high priority and high
severity bug.)

High Priority & Low Severity: The spelling mistakes that happens on the cover page or heading
or title of an application.

High Severity & 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 is within a paragraph or
in the report (Not on cover page, heading, title).

42.When should testing be stopped?

There are a few criteria for ending testing:

● The bug rate has fallen below an agreed-upon level


● The testing or release deadlines have arrived
● The testing budget is out of funds
● A certain percentage of test cases have passed
● The alpha or beta testing periods have ended
● Code, functionality, or requirements coverage have been met at a declared point

43.What is alpha and beta testing?

Alpha testing is done by the in-house developers (who developed the software) and testers
before we ship the software to the customers. Sometimes alpha testing is done by the client
or outsourcing team with the presence of developers or testers. It is a part of User
Acceptance Testing. The purpose of doing this is to find bugs before the customers start
using the software.

Beta testing is done by a limited number of end-users before delivery. It is done after the
Alpha Testing. Usually, it is done in the client’s place. Learn more about Beta Testing here.
44.What are the attributes in test plans?

Introduction
1. Features to be tested 2. Features not to be tested

3. Item Pass/Fail Criteria 4. Approach

5.Test deliverables 6. Environmental Needs

7.Hardware Needs 8. Software Needs

9.Roles and Responsibilities 9. Schedule

11.Risks and Contingencies 10. Schedule Risk

13.Budget Risks 11. Operational Risks

15.Technical Risks ref. link - https://reqtest.com/testing-blog/sample-test-plan/

45.What is the difference between UAT (User AcceptanceTesting) and System testing?

System Testing: System Testing is done to check whether the software or product meets the
specified requirements or not. It is done by both testers and developers. It contains the
Testings: System testing, Integration Testing. It is done through more positive and negative
test cases.

Acceptance Testing: Acceptance Testing is done after the system testing. It is used to check
whether the software meets the customer requirements or not. Acceptance testing is used by
testers, stakeholders as well as clients. It includes only Functional Testing and it contain two
testing Alpha Testing and Beta Testing.

Difference between System Testing and Acceptance Testing:


46.What is the difference between STLC (SoftwareTestingLife Cycle) and SDLC (Software
Development Life Cycle)?
Another ref. Link - https://www.geeksforgeeks.org/difference-between-sdlc-and-stlc/

47.What is Monkey testing?

Monkey Testing is a software testing technique in which the tester enters any random
inputs into the software application without predefined test cases and checks the behavior
of the software application, whether it crashes or not. The purpose of Monkey testing is to
find the bugs and errors in the software application using experimental techniques.

1. In Monkey Testing the tester (sometimes developer too) is considered as the


‘Monkey’
2. If a monkey uses a computer he will randomly perform any task on the system out of
his understanding
3. Just like the tester will apply random test cases on the system under test to find
bugs/errors without predefining any test case
4. In some cases, Monkey Testing is dedicated to Unit Testing or GUI Testing too

Types of Monkey Testing


It is broadly classified into 3 types-

● Dumb Monkey – The tester performing the monkey testing doesn’t have any
knowledge of the application under test.
Their only focus is to break the application thus are not aware of any start or
end point of the whole process. On top of this they are also unknown to the UI
and functionality of the software.

● Smart Monkey – With this type of testing, the tester has a fair idea of the
application to be tested. They are aware of the test inputs and know where the
webpages will lead the application to.

● Brilliant Monkey – These types of testers have a very good idea of the
application. They can also test the application based on the user’s perspective.
The focus here is not just to break the application but to give inputs from a
specific domain perspective. This helps in breaking the application as well as
finding bugs.

Advantages of Monkey Testing


1. It can uncover defects that are otherwise difficult to find.

2. Because of the intent to crash the application, it is widely used in stress


testing.

3. It doesn’t require skilled resources to carry out the testing.

4. It is cost-effective also as it doesn’t require any special setup or skilled


resources.

Disadvantages of Monkey Testing


1. Since it is random in nature, so it is hard to find bugs also.

2. Even when the bugs are found, it is very hard to reproduce the exact steps to
reproduce the bugs.

3. It can be very time-consuming with very fewer bugs to show.

4. Since it is completely random, so good test coverage cannot be guaranteed or


measured.

Ref. link - https://artoftesting.com/monkey-testing /


https://www.guru99.com/monkey-testing.html

48.What is black box testing? What are the different blackbox test design techniques?

Black box testing is the type of testing in which an application is tested based on its
requirements specifications without the need for knowledge of its internal architecture.

Black Box Testing Techniques

Following are some of the most common types of black-box testing techniques.
Equivalence class partitioning

Equivalence class partitioning involves partitioning the input data into logical groups or
equivalence classes. All the data items lying in an equivalence class are assumed to be
processed in the same way by the application when passed as input.

E.g. for software that finds the square of a number, we can have different equivalence
classes like – all positive numbers, negative numbers, decimal numbers, negative decimal
numbers, etc. Its advantage is – the overall test execution time reduces as the number of
test data greatly reduces.

Boundary value analysis - Boundary value analysis, is a black-box testing technique,


closely associated with equivalence class partitioning. In this technique, we analyze the
behavior of the application with test data residing at the boundaries of the equivalence
classes.

E.g. for equivalence classes with an input between 0 to 100, the test data using boundary
value analysis would be 0 and 100. Its advantage is – it is easier and faster to find defects
as the density of defects at boundaries is more.

Decision tables - Decision tables testing is used to test the application’s behavior
based on a different combination of input values. A decision table has a different set of
input combinations and their corresponding expected outcomes on each row.

Cause-effect graph - A cause-effect graph testing is carried out using a graphical


representation of input i.e. cause and output i.e. effect. We can find the coverage of
cause-effect graphs based on the percentage of combinations of inputs tested out of the
total possible combinations.

State transition testing - The state transition testing is based on a state machine
model. In this technique, we test the application by graphically representing the transition
between the different states of the application based on the different events and action

Use case testing - Use case testing is a type of testing that is carried out using use
cases. In this technique, we test the application using use-cases, representing the
interaction of the application with the different actors.

https://artoftesting.com/black-box-testing
49.Faults found should be originally documented by whom?
Faults found should be originally documented by Testers.
50.What is the difference between test scenarios, test cases and test script?
Test Scenarios: A Test Scenario is any functionality that can be tested. It is also called
Test Condition or Test Possibility.
Test Cases: It is a document that contains the steps that has to be executed, it has been
planned earlier.
Test Script: It is written in a programming language and it's a short program used to test
part of functionality of the software system. In other words a written set of steps that
should be performed manually.
51.Explain what is Test Deliverables?
Test Deliverables are the artifacts which means “things” that are produced by people
involved in the process and are given to the stakeholders. Some deliverables are
provided before testing phase, Some during the testing phase and rest after the testing
cycle. The below are the list of test deliverables.

● Test Strategy
● Test Plan
● Effort Estimation Report
● Test Scenarios
● Test Cases/Scripts
● Test Data
● Requirement Traceability Matrix (RTM)
● Defect Report/Bug Report
● Test Execution Report
● Graphs and Metrics
● Test summary report
● Test incident report
● Test closure report
● Release Note
● Installation/configuration guide
● User guide
● Test status report
● Weekly status report (Project manager to client)

52.Explain what is Test Plan? What are the information that should be covered in Test
Plan?
Test plan document is a document which contains the plan for all the testing activities to be
done to deliver a quality product. Test Plan document is derived from the Product Description,
SRS, or Use Case documents for all future activities of the project. It is usually prepared by the
Test Lead or Test Manager.

A test plan must include the following details:

● Test Strategy
● Test Objective
● Test Scope
● Reason for Testing
● Exit/Suspension Criteria
● Resource Planning
● Test Deliverables.

1. Test plan identifier


2. References
3. Introduction
4. Test items (functions)
5. Software risk issues
6. Features to be tested
7. Features not to be tested
8. Approach
9. Items pass/fail criteria
10. Suspension criteria and resolution requirements
11. Test deliverables
12. Remaining test tasks
13. Environmental needs
14. Staff and training needs
15. Responsibility
16. Schedule
17. Plan risks and contingencies
18. Approvals
19. Glossaries

53.What is random testing?


In random testing is a form of black-box software testing technique where the application is
testing by generating random data. It is a form of functional black box testing that is
performed when there is not enough time to write and execute the tests.

54.Why does the boundary value analysis provide good test cases?
Because the test object is tested under maximal load up to its performance limits.

55.Describe Use Case Testing?


Use Case Testing is a software testing technique that helps to identify test cases that
cover entire system on a transaction by transaction basis from start to end. Test cases are
the interactions between users and software application. Use case testing helps to identify
gaps in software application that might not be found by testing individual software
components.
For e.g. - https://www.guru99.com/use-case-testing.html

56.What is the purpose of test planning?


First, by writing a test plan it guides our thinking. Writing a test plan forces us to
confront the challenges that await us and focus our thinking on important topics.
Second, the test planning process and the plan itself serve as the means of
communication with other members of the project team, testers, peers, managers and
other stakeholders.

Third, the test plan helps us to manage change. During early phases of the project, as
we gather more information, we revise our plans. As the project evolves and situations
change, we adapt our plans.By updating the plan at major milestone helps us to keep
testing aligned with project needs. As we run the tests, we make final adjustments to
our plans based on the results.

57.What are different Levels of testing?

Unit Testing
● Unit Testing is the first level of testing usually performed by the developers.
● In unit testing, a module or component is tested in isolation.
● As the testing is limited to a particular module or component, exhaustive
testing is possible.
● Advantage – Error can be detected at an early stage saving time and money to
fix it.
● Limitation – Integration issues are not detected in this stage, modules may
work perfectly on isolation but can have issues in interfacing between the
modules.

Integration Testing

● Integration testing is the second level of testing in which we test a group of


related modules.
● It aims at finding interfacing issues b/w the modules i.e. if the individual units
can be integrated into a sub-system correctly.
● It is of four types – Big-bang, top-down, bottom-up, and Hybrid.
1. In big bang integration, all the modules are first required to be
completed and then integrated. After integration, testing is carried out
on the integrated unit as a whole.

2. In top-down integration testing, the testing flow starts from top-level


modules that are higher in the hierarchy towards the lower-level
modules. As there is a possibility that the lower-level modules might
not have been developed while beginning with top-level modules.

So, in those cases, stubs are used which are nothing but dummy
modules or functions that simulate the functioning of a module by
accepting the parameters received by the module and giving an
acceptable result.

3. Bottom-up integration testing is also based on an incremental


approach but it starts from lower-level modules, moving upwards to
the higher-level modules. Again the higher-level modules might not
have been developed by the time lower modules are tested. So, in
those cases, drivers are used. These drivers simulate the
functionality of higher-level modules in order to test lower-level
modules.
4. Hybrid integration testing is also called the Sandwich integration
approach. This approach is a combination of both top-down and
bottom-up integration testing. Here, the integration starts from the
middle layer, and testing is carried out in both directions, making use
of both stubs and drivers, whenever necessary.

System Testing

● System Testing is the third level of testing.


● It is the level of testing where the complete integrated application is tested as a
whole.
● It aims at determining if the application conforms to its business requirements.
● System testing is carried out in an environment that is very similar to the
production environment.

Acceptance Testing
● Acceptance testing is the final and one of the most important levels of testing
on successful completion of which the application is released to production.
● It aims at ensuring that the product meets the specified business requirements
within the defined standard of quality.
● There are two kinds of acceptance testing- alpha testing and beta testing.
1. When acceptance testing is carried out by testers or some other
internal employees of the organization at the developer’s site it is
known as alpha testing.
2. User acceptance testing done by end-users at the end-users site is
called beta testing.

58.What is negative and positive testing?

Positive Testing
Positive Testing is a type of testing which is performed on a software application by
providing the valid data sets as an input. It checks whether the software application
behaves as expected with positive inputs or not. Positive testing is performed in order to
check whether the software application does exactly what it is expected to do.
For example –

There is a text box in an application which can accept only numbers. Entering values up to
99999 will be acceptable by the system and any other values apart from this should not be
acceptable. To do positive testing, set the valid input values from 0 to 99999 and check
whether the system is accepting the values.

Negative Testing
Negative Testing is a testing method performed on the software application by providing
invalid or improper data sets as input. It checks whether the software application behaves
as expected with the negative or unwanted user inputs. The purpose of negative testing is
to ensure that the software application does not crash and remains stable with invalid data
inputs.
For example –

Negative testing can be performed by entering characters A to Z or from a to z. Either


software system should not accept the values or else it should throw an error message for
these invalid data inputs.
In both the testing, the following needs to be considered:
● Input data
● An action which needs to be performed
● Output Result
https://www.guru99.com/positive-and-negative-testing.html

59.Explain Compatibility testing with an example?


Compatibility Testing is a type of Software testing to check whether your software is
capable of running on different hardware, operating systems, applications, network
environments or Mobile devices.
Compatibility Testing is a type of Non-functional testing

Types of Compatibility Tests

There are two types of version checking in Compatibility Testing :

Backward Compatibility Testing


Backward Compatibility Testing is a technique to verify the behavior and compatibility of
the developed hardware or software with their older versions of the hardware or software.
Backward compatibility testing is much predictable as all the changes from the previous
versions are known.
Forward Compatibility Testing
Forward Compatibility Testing is a process to verify the behavior and compatibility of the
developed hardware or software with the newer versions of the hardware or software.
Forward compatibility testing is a bit hard to predict as the changes that will be made in
the newer versions are not known.

60.What is Test Harness?


Test Harness in Software Testing is a collection of stubs, drivers and other supporting
tools required to automate test execution. Test harness executes tests by using a test
library and generates test reports. Test harness contains all the information needed to
compile and run a test like test cases, target deployment port(TDP), source file under test,
stubs, etc.

Why use Test Harness?


● Automate the testing process
● Execute test suites of test cases
● Generate associated test reports
● Support for debugging
● To record the test results for each one of the tests

There are two contexts where Test Harness is used


1. Automation testing: It contains the test scripts, parameters necessary to run these
scripts and gather results to analyze it
2. Integration testing: It is used to put together two units of code or module that
interact with each other to check whether or not the combined behavior is as
expected or not

61.Explain Defect reporting?


Defect report is a document that has concise details about what defects are identified,
what action steps make the defects show up, and what are the expected results
instead of the application showing error (defect) while taking particular step by step
actions.

Defect reports are usually created by the Quality Assurance team and also by the
end-users (customers). Often customers detect more defects and report them to the
support team of the software development since the majority of the customers
curiously tries out every feature in the application. Now, you know what actually defect
and defect reports are.
https://www.geeksforgeeks.org/defect-report-in-software-engineering/

62.What is white box testing?


It is also called as Glass Box, Clear Box, Structural Testing.
White Box Testing is based on the application’s internal code structure. In white-box testing,
an internal perspective of the system, as well as programming skills, are used to design test
cases. This testing usually is done at the unit level.

White Box Testing Techniques:


1. Statement Coverage
2. Branch Coverage
3. Path Coverage

Statement coverage:
It makes sure that each line of source code has been executed and tested.

Decision coverage:
It ensures that every decision (true/false) in the source code has been executed and tested.
Path coverage:
It ensures that every possible route through a given part of the code is executed and tested.

63.What are the Experience-based testing techniques?


Atester verifies and validates the software product quality using
his/her past experience of testing the similar type of product in the
respective domain.Atester may solely goes with his/her skills and
gained experience to carry out the testing process.It would be better
if he/she makes use of proper strategy and documentation plan along
with the gained experience.

When experience based testing is required?


Non-availability of requirements and specifications.
Limited Knowledge of the Software product.
Inadequate specification
Restricted amount of time,to perform testing.
64.What are the types of testing?
https://hackr.io/blog/types-of-software-testing
https://www.geeksforgeeks.org/types-software-testing/

65.What is the role of moderator in reviewprocess?


The moderator (or review leader) leads the review process. He or she deter-mines, in
co-operation with the author, the type of review, approach and the composition of the
review team. The moderator performs the entry check and the follow-up on the rework,
in order to control the quality of the input and output of the review process. The
moderator also schedules the meeting, disseminates documents before the meeting,
coaches other team members, paces the meeting, leads possible discussions and
stores the data that is collected.

66.What is Black box testing?

67.What is meant by unit testing?

68.What is an equivalence partition (also knownas anequivalence class)?


Equivalence Partitioning Method is also known as Equivalence class partitioning (ECP).
It is a software testing technique or black-box testing that divides input domain into
classes of data, and with the help of these classes of data, test cases can be derived.
An ideal test case identifies class of error that might require many arbitrary test cases
to be executed before general error is observed.

In equivalence partitioning, equivalence classes are evaluated for given input


conditions. Whenever any input is given, then type of input condition is checked, then
for this input conditions, Equivalence class represents or describes set of valid or
invalid states.
For e.g. ref - https://www.geeksforgeeks.org/types-software-testing/

69.What is component testing?


Component testing is performed by testers. ‘Unit Testing’ is performed by the developers
where they do the testing of the individual functionality or procedure. After Unit Testing is
performed, the next testing is component testing. Component testing is done by the
testers.

Ref. link - https://www.guru99.com/component-testing.html


https://www.softwaretestinghelp.com/what-is-component-testing-or-module-testing/

70.Explain Severity and Priority?

71.Which activity in the fundamental test process includesevaluation of the testability of


the requirements andsystem?
A Test analysis and design.

72.Explain User acceptance testing.


User Acceptance Testing (UAT) is a type of testing performed by the end user or the
client to verify/accept the software system before moving the software application to the
production environment. UAT is done in the final phase of testing after functional,
integration and system testing is done.

https://www.softwaretestingmaterial.com/user-acceptance-testing-uat/
https://www.guru99.com/user-acceptance-testing.html

73.What is a test case?


A Test Case is a set of actions executed to verify a particular feature or functionality of
your software application. A Test Case contains test steps, test data, precondition,
postcondition developed for specific test scenario to verify any requirement. The test case
includes specific variables or conditions, using which a testing engineer can compare
expected and actual results to determine whether a software product is functioning as per
the requirements of the customer.

https://www.guru99.com/test-case.html /
https://www.softwaretestingmaterial.com/test-case-template-with-explanation/

74.Describe defect life cycle?


Defect Life Cycle or Bug Life Cycle in software testing is the specific set of states that
defect or bug goes through in its entire life. The purpose of Defect life cycle is to easily
coordinate and communicate current status of defect which changes to various
assignees and make the defect fixing process systematic and efficient.

https://www.guru99.com/defect-life-cycle.html
https://www.softwaretestinghelp.com/bug-life-cycle/

75.What should be done after a bug is found?


Once a bug is found this should be communicated to the developer. Before reporting the
bug make sure that the bug is well documented with steps to repro, conditions under
which this bug is occurring, how many time it occurs & the excepted result of the bug.

https://www.ajonit.com/software-testing/bug-is-found-tester-job/
https://www.softwaretestingclass.com/what-should-be-done-after-a-bug-is-found/

76.Define Requirements Traceability Matrix?


Requirement Traceability Matrix (RTM) is a document that maps and traces user
requirement with test cases. It captures all requirements proposed by the client and
requirement traceability in a single document, delivered at the conclusion of the Software
developement life cycle. The main purpose of Requirement Traceability Matrix is to
validate that all requirements are checked via test cases such that no functionality is
unchecked during Software testing.

https://www.guru99.com/traceability-matrix.html

77.Highlight the role of QA in project development?


The quality assurance (QA) role is one that is focused on creating a quality deliverable. In
other words, it is the responsibility of the QA role to make sure that the software
development process doesn’t sacrifice quality in the name of completed objectives. Click
hereto see how the QA fits within the full organizational chart.
OR
Quality Assurance (QA) is responsible for defining, designing, developing, and
implementing a test plan. QA tests the project to confirm that it meets the design
specifications outlined in the Design Document. QA uses the manuals and helps files
developed by Documentation to ensure that they correctly explain how to install and use
the project and identify how errors are to be handled. QA is responsible for managing the
user test procedures and for confirming that bugs have been fixed.

78.What are the tools of performance testing?

https://www.testingxperts.com/blog/performance-testing-tools/

79.What are the advantages of designing tests early in life cycle?


Designing tests early in the life cycle can prevent defects from being introduced into the
code.

80.What is exploratory testing?


Exploratory Testing is a type of software testing where Test cases are not created in
advance but testers check system on the fly. They may note down ideas about what to
test before test execution. The focus of exploratory testing is more on testing as a
“thinking” activity.
Exploratory Testing is widely used in Agile models and is all about discovery, investigation,
and learning. It emphasizes personal freedom and responsibility of the individual tester.

Under scripted testing, you design test cases first and later proceed with test execution.
On the contrary, exploratory testing is a simultaneous process of test design and test
execution all done at the same time.

81.When should exploratory testing be performed?


Exploratory testing can be used extensively when
● The testing team has experienced testers
● Early iteration is required
● There is a critical application
● New testers entered into the team
https://www.guru99.com/exploratory-testing.html

82.What is Adhoc testing?

Adhoc Testing :
Adhoc testing is a type of software testing which is performed informally and randomly
after the formal testing is completed to find out any loophole in the system. For this
reason, it is also known as Random testing or Monkey testing. Adhoc testing is not
performed in an structured way so it is not based on any methodological approach. That’s
why Adhoc testing is a type of Unstructured Software Testing.

Adhoc testing has –

No Documentation.
No Test cases.
No Test Design.

https://www.geeksforgeeks.org/adhoc-testing-in-software/

83.What is the difference between web application and desktop application in the scenario
of testing?

https://www.javatpoint.com/desktop-application-testing-vs-client-server-application-testin
g-vs-web-application-testing
84.What is the difference between Retesting andRegressionTesting?
Retesting vs Regression Testing
Regression Testing Re-testing

● Regression Testing is carried out to ● Re-testing is carried out to


confirm whether a recent program or confirm the test cases that failed
code change has not adversely affected in the final execution are passing
existing features after the defects are fixed

● The purpose of Regression Testing is ● Re-testing is done on the basis


that new code changes should not have of the Defect fixes
any side effects to existing functionalities

● Defect verification is not the part of ● Defect verification is the part of


Regression Testing re-testing

● Based on the project and availability of ● Priority of re-testing is higher


resources, Regression Testing can be than regression testing, so it is
carried out parallel with Re-testing carried out before regression
testing

● You can do automation for regression ● You cannot automate the test
testing, Manual Testing could be cases for Retesting
expensive and time-consuming

● Regression testing is known as a generic ● Re-testing is a planned testing


testing

● Regression testing is done for passed ● Retesting is done only for failed
test cases test cases

● Regression testing checks for ● Re-testing makes sure that the


unexpected side-effects original fault has been corrected
● Regression testing is only done when ● Re-testing executes a defect
there is any modification or changes with the same data and the
become mandatory in an existing project same environment with different
inputs with a new build

● Test cases for regression testing can be ● Test cases for retesting cannot
obtained from the functional specification, be obtained before start testing.
user tutorials and manuals, and defect
reports in regards to corrected problems

KEY DIFFERENCE

● Regression testing is performed for passed test cases while Retesting is done only
for failed test cases.
● Regression testing checks for unexpected side-effects while Re-testing makes sure
that the original fault has been corrected.
● Regression Testing doesn’t include defect verification whereas Re-testing includes
defect verification.
● Regression testing is known as generic testing whereas Re-testing is planned
testing.
● Regression Testing is possible with the use of automation whereas Re-testing is not
possible with automation.
https://www.guru99.com/re-testing-vs-regression-testing.html

85.What is the purpose of exit criteria?


To identify when to stop testing.

Testing can be stopped when:

Requirements:

● 100% Requirements coverage is achieved.

Defects:
● Defined / Desired Defect count is reached.
● All Show Stopper defects or Blockers are fixed and No known Critical / Severity 1 defect is in
Open Status.
● All High Priority defects are identified and fixed.
● Defect Rate falls below defined acceptable rate.
● Very few Medium Priority defects are open and have a workaround in place.
● Very few low priority open defects that do not impact software usage.
● All High Priority defects are re-tested and closed and corresponding Regression scenarios
are successfully executed.

Test Coverage:

● Test Coverage should be 95% achieved.


● Test case Pass Rate should be 95%. This can be calculated by formula
○ ( Total No of TCs Passed / Total number of TCs ) * 100.
● All critical Test cases are passed.
● 5% Test cases can be failed but the Failed Test cases are of low priority.
● Complete Functional Coverage is achieved.
● All major functional / business flows are executed successfully with various inputs and are
working fine.

Deadlines:

● Project Deadline or Test Finish deadline is reached.

Test Documents:

● All Test Documents / deliverables (Example – Test Summary Report) are prepared, reviewed
and published across.

Budget:

● Complete Testing Budget is exhausted.

“Go / No Go” Meetings:

● “Go / No Go” meeting has been conducted with stakeholders and a decision is made
whether the project should go to production or not.
● https://www.softwaretestinghelp.com/when-to-stop-testing-exit-criteria-in-software-testing/#D
ecision_to_stop_testingExit_criteria
86.What is the negative and positive testing?
Ref. ans no. 58

87.What is boundary value analysis / testing?


Boundary value analysis is a black-box testing technique. It is closely associated with
equivalence class partitioning. In this technique, we analyze the behavior of the
application with test data residing at the boundary values of the equivalence classes.

For e.g. ref - https://artoftesting.com/boundary-value-analysis


And Q no. 47

88.Can you explain usability testing?


Usability Testing also known as User Experience(UX) Testing, is a testing method for
measuring how easy and user-friendly a software application is. A small set of target
end-users, use software application to expose usability defects. Usability testing mainly
focuses on user’s ease of using application, flexibility of application to handle controls and
ability of application to meet its objectives.
This testing is recommended during the initial design phase of SDLC, which gives more
visibility on the expectations of the users.

https://www.guru99.com/usability-testing-tutorial.html

89.What do you mean by test basis?


Test basis is defined as the source of information or the document that is needed to
write test cases and also for test analysis.

Test basis should be well defined and adequately structured so that one can easily
identify test conditions from which test cases can be derived.

Possible Test Basis are:


● System Requirement Document (SRS)
● Functional Design Specification
● Technical Design Specification
● User Manual
● Use Cases
● Source Code
● Business Requirement Document (BRD)
90.What is configuration Management?
Configuration management determines clearly about the items that make up the
software or system. These items include source code, test scripts, third-party software,
hardware, data and both development and test documentation.
http://tryqa.com/what-is-configuration-management-in-software-testing/
Why do we need Configuration management?
For this ref. -
https://www.guru99.com/software-configuration-management-tutorial.html#2

91.What is endurance testing?


Endurance Testing is non-functional type of software testing where a software is tested
with high load extended over a significant amount of time to evaluate the behavior of
software application under sustained use. The main purpose of endurance testing is to
ensure that the application is capable enough to handle extended load without any
deterioration of response time.
This type of testing is performed at the last stage of the performance run cycle. Endurance
testing is a long process and sometimes lasts for even up to a year. This may include
applying external loads such as Internet traffic or user actions. This makes endurance
testing differ from Load Testing, which usually ends in a couple of hours or so.

For Example, the most complex issues – memory leaks, database server utilization, and
unresponsive system – happen when software runs for an extended period of time. If you
skip the endurance tests, your chances of detecting such defects prior to deployment are
quite low.
https://www.guru99.com/endurance-testing.html

92.Different types of Verification Techniques?


Types of verification are:

i. Walkthrough
ii. Inspection
iii. Reviews
https://www.careerride.com/testing-types-of-verification.aspx
93.Different types of Validation Techniques?
Unit Testing – It is an important type of validation testing. The point of the unit testing
is to search for bugs in the product segment. Simultaneously, it additionally confirms
crafted modules and articles which can be tried independently.

Integration testing -This is a significant piece of the validation model wherein the
interaction between, where the association between the various interfaces of the
pertaining component is tried. Alongside the communication between the various
pieces of the framework, the connection of the framework with the PC working
framework, document framework, equipment, and some other programming
framework it may cooperate with, is likewise tried.

System testing – System testing is done when the whole programming framework is
prepared. The principal worry of framework testing is to confirm the framework against
the predefined necessities. While doing the tests, the tester isn’t worried about the
internals of the framework however checks if the framework acts according to desires.

User acceptance testing – During this testing, the tester actually needs to think like the
customer and test the product concerning client needs, prerequisites, and business
forms and decide if the product can be given over to the customer or not.
https://www.testrigtechnologies.com/validation-testing-what-why-and-how-of-it-a-mini-guid
e/

94.Why do we need to perform localization testing?


Localization Testing is a software testing technique in which the behavior of a software is
tested for a specific region, locale or culture. The purpose of doing localization testing for
a software is to test appropriate linguistic and cultural aspects for a particular locale. It is
the process of customizing the software as per the targeted language and country.

Example:
1. If the project is designed for Tamil Nadu State in India, The designed project should be
in Tamil language, Tamil virtual keyboard should be present, etc.

Why do Localization Testing?


The purpose of doing localization testing is to check appropriate linguistic and cultural
aspects for a particular locale. It includes a change in the user interface or even the initial
settings according to the requirements.
In this type of testing, many different testers will repeat the same functions. They verify
various things like typographical errors, cultural appropriateness of UI, linguistic errors,
etc.
It is also called as “L10N” because there have 10 characters in between L & N in the word
localization.
https://www.guru99.com/localization-testing.html

95.Explain smoke and sanity testing?


Smoke Testing is a software testing technique performed post software build to verify
that the critical functionalities of software are working fine. It is executed before any
detailed functional or regression tests are executed. The main purpose of smoke
testing is to reject a software application with defects so that QA team does not waste
time testing broken software application.

Sanity testing is a kind of Software Testing performed after receiving a software build,
with minor changes in code, or functionality, to ascertain that the bugs have been fixed
and no further issues are introduced due to these changes. The goal is to determine
that the proposed functionality works roughly as expected. If sanity test fails, the build
is rejected to save the time and costs involved in a more rigorous testing.

Smoke Testing Sanity Testing

Smoke Testing is performed to ascertain Sanity Testing is done to check the new
that the critical functionalities of the functionality/bugs have been fixed
program is working fine

The objective of this testing is to verify the The objective of the testing is to verify the
“stability” of the system in order to “rationality” of the system in order to
proceed with more rigorous testing proceed with more rigorous testing

This testing is performed by the Sanity testing in software testing is usually


developers or testers performed by testers

Smoke testing is usually documented or Sanity testing is usually not documented


scripted and is unscripted
Smoke testing is a subset of Acceptance Sanity testing is a subset of Regression
testing Testing

Smoke testing exercises the entire Sanity testing exercises only the particular
system from end to end component of the entire system

Smoke testing is like General Health Sanity Testing is like specialized health
Check Up check up
https://www.guru99.com/smoke-sanity-testing.html

96.Which is best Development model?


https://onix-systems.com/blog/7-basic-software-development-models-which-one-to-ch
oose
https://www.testbytes.net/blog/types-software-testing-models/

97.Which test cases are written first black box or whitebox?


Normally black box test cases are written first and white box test cases later. In order
to write black box test cases we need the requirement document and, design or project
plan. All these documents are easily available at the initial start of the project. White
box test cases cannot be started in the initial phase of the project because they need
more architecture clarity which is not available at the start of the project. So normally
white box test cases are written after black box test cases are written.

Black box test cases do not require system understanding but white box testing needs
more structural understanding. And structural understanding is clearer i00n the later
part of project, i.e., while executing or designing. For black box testing you need to only
analyze from the functional perspective which is easily available from a simple
requirement document.

Software Testing Image


https://www.indiabix.com/technical/software-testing/software-testing-basics

98.Explain test Design?


Test design is a process that describes “how” testing should be done. It includes
processes for the identifying test cases by enumerating steps of the defined test
conditions. The testing techniques defined in test strategy or plan is used for
enumerating the steps.
When to create test design?
After the test conditions are defined and sufficient information is available to create the
test cases of high or low level, test design for a specified level can be created.
http://tryqa.com/what-is-test-design-when-to-create-it/

99.Different methods of Testing?

Black-Box Testing Grey-Box Testing White-Box Testing

The internal workings of an The tester has limited knowledge Tester has full knowledge of
application need not be known. of the internal workings of the the internal workings of the
application. application.

Also known as closed-box Also known as translucent testing, Also known as clear-box
testing, data-driven testing, or as the tester has limited testing, structural testing, or
functional testing. knowledge of the insides of the code-based testing.
application.

Performed by end-users and Performed by end-users and also Normally done by testers and
also by testers and developers. by testers and developers. developers.
Testing is based on external Testing is done on the basis of Internal workings are fully
expectations - Internal behavior high-level database diagrams and known and the tester can
of the application is unknown. data flow diagrams. design test data accordingly.

It is exhaustive and the least Partly time-consuming and The most exhaustive and
time-consuming. exhaustive. time-consuming type of
testing.

Not suited for algorithm testing. Not suited for algorithm testing. Suited for algorithm testing.

This can only be done by Data domains and internal Data domains and internal
trial-and-error method. boundaries can be tested, if known. boundaries can be better
tested.

https://www.tutorialspoint.com/software_testing/software_testing_methods.htm

100.Why there are defects in software?


Unclear requirements and misinterpretation of requirements are the two major factors
that cause defects in software.

Also, defects are introduced in the development stage if the exact requirements are not
communicated properly to the development teams.
https://www.softwaretestinghelp.com/why-does-software-have-bugs

101.What can be the reasons for making change in software?


Four Reasons to Change Software
For simplicity's sake, let's look at four primary reasons to change software.

● Adding a feature
● Fixing a bug
● Improving the design
● Optimizing resource usage
https://www.informit.com/articles/article.aspx?p=359418

102.Why cant developers test their own work?


Unconscious Bias
If you want something to be tested in a thorough manner, it is always a good idea for
the tester to be somewhat impartial. This is because someone testing something they
created may bring unconscious or unintentional bias into the testing process. Software
developers lack the objectivity to be able to test their own work. They may find it harder
to put themselves into an end user's shoes or assume that the user will have
knowledge about something because they do. A dedicated QA tester is a neutral party
that can see things in an impartial way and avoid unintentional bias when carrying out
important tests.
https://number8.com/104417-2why-developers-should-not-test-their-own-code/

Interview questions
https://www.guru99.com/software-testing-interview-questions.html
https://testanart.wordpress.com/#:~:text=14)In%20the%20V%2Dmodel,test%20basis%
20for%20system%20testing.

https://testanart.wordpress.com/#:~:text=6)%20What%20other%20elements%20apart,
that%20the%20requirement%20is%20met.

https://testanart.wordpress.com/2012/10/20/life-cycles/

https://www.edureka.co/blog/interview-questions/manual-testing-interview-questions/

https://www.softwaretestingmaterial.com/100-software-testing-interview-questions/

https://www.interviewbit.com/software-testing-interview-questions/

https://www.simplilearn.com/manual-testing-interview-questions-and-answers-article

https://artoftesting.com/manual-testing-interview-questions

https://www.tutorialspoint.com/effective_resume_writing.htm

https://artoftesting.com/software-testing-life-cycle-stlc

file:///C:/Users/Suraj/Downloads/Manual%20Interview%20questions.pdf

You might also like