0% found this document useful (0 votes)
159 views505 pages

500 Most Important Manual Testing Interview Questions and Answers - Crack TH

The document is a 500 question manual testing interview questions and answers guide written by Vamsee Puligadda. It contains questions about software testing fundamentals, testing types, test management, and automation testing. The questions range from basic concepts to more advanced topics. The guide is intended to help readers prepare for manual testing job interviews.

Uploaded by

00o0minh000m
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)
159 views505 pages

500 Most Important Manual Testing Interview Questions and Answers - Crack TH

The document is a 500 question manual testing interview questions and answers guide written by Vamsee Puligadda. It contains questions about software testing fundamentals, testing types, test management, and automation testing. The questions range from basic concepts to more advanced topics. The guide is intended to help readers prepare for manual testing job interviews.

Uploaded by

00o0minh000m
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/ 505

2

500 Manual Testing Interview Questions & Answers

By Vamsee Puligadda

Disclaimer

Although the author and publisher have made every effort to ensure that the information in this book was correct at press time, the author
and publisher do not assume and hereby disclaim any liability to any party for any loss, damage, or disruption caused by errors or
omissions, whether such errors or omissions result from negligence, accident, or any other cause.

For any suggestions/concerns, please write to us: [email protected]

Copyright 2018 Vamsee Puligadda & Indian Wolf Publications

3
Foreword

I am neither the owner of a famous publishing company nor am a top IT company with
hundreds of in-house developers to create anything I wanted to with a great ease.

I am an independent Software developer with passion towards what I do and trust me, a lot
of time, efforts were put into creating this extensive collection of questions and answers at a
single place.

If it helps at least a few in their careers to achieve their dream jobs, I will be more than
happy.

Thank You.

- Vamsee Puligadda.

4
Q-1. What Does Software Testing Mean?
Software testing is a validation process which confirms that a system works as per
the business requirements. It qualifies a system on various aspects such as the
usability, accuracy, completeness, efficiency, etc. The ANSI/IEEE 1059 is the
global standard which defines the basic principles of testing.

5
Q-2. What Is The Need Of Software Testing?
It is a mandatory process which is essential to qualify software as usable for the
production. Here are some compelling reasons to prove why is it needed.

1. The testing process guarantees the software will work as per the expectation of
the customers.
2. It reduces the coding cycles by identifying issues at the initial stage of the
development.
3. Discovery of issues in the earlier SDLC phases ensures proper utilization of
resources and prevents any cost escalations.
4. The testing team brings customer view into the process and finds use cases that
a developer may overlook.
5. Any failure, defect or a bug observed by the customer distorts a firm’s
credibility which only the testing can ensure not to happen.

6
Q-3. What Is The Right Time To Conclude The Testing Process?
The status of the following testing milestones can help in deciding the end of the
testing activity.

1. Test case execution status: The successful completion of a full test cycle after
the final bug fix marks the end of the testing phase.
2. Testing deadline: The end date of the validation stage also declares the closure
of the validation if no critical or high priority defects remain in the system.
3. MTBF rate: It is the mean time between failures (MTBF) which reflects the
reliability of the components. If it is on the higher side, then PO and EM can
decide to stop testing.
4. CC ratio: It is the amount of code covered via automated tests. If the team
achieves the desired level of code coverage (CC) ratio, then they can choose to
end the validation.

7
Q-4. What Does Quality Assurance Mean In Software Testing?
Quality assurance is a process-oriented approach to certify a software development
(SDLC) method that it is correct and follows the standard procedures. It may bring
changes in the process and cause to replace the weak practices if it identifies any. It
includes review activities such as the inspection of documents, test cases, source
code, and automation, etc.

8
Q-5. What Does Quality Control Mean In Software Testing?
Quality control is a product-oriented approach to qualify that the product under
development meets the original software specifications. It also results in changes to
the product if there are bugs in the system or some deviation observed in the
implementation. It includes different type of testing to perform which are functional
(unit, usability, integration, etc.) and non-functional (compatibility, security,
performance, etc.).

9
Q-6. What Does Verification Mean In Software Testing?
In software testing, the verification is a means to confirm that product development
is taking place as per the specifications and using the standard development
procedures. It comprises of the following activities.

1. Inspections
2. Reviews
3. Walk-throughs
4. Demos

10
Q-7. What Does Validation Mean In Software Testing?
In software testing, the validation is a means to confirm that the developed product
doesn’t have any bugs and working as expected. It comprises of the following
activities.

1. Functional testing
2. Non-functional testing

11
Q-8. What Do You Know About The SDLC?
Software development life cycle is SDLC which is a standard development
framework and the foundation for the processes like Waterfall, Spiral, V Model, and
Agile.
It breaks down the entire development into multiple stages known as the SDLC
phases like requirement collection, analysis, design, implementation/coding,
testing/validation, deployment, and finally the maintenance.

12
Q-9. What Does Requirement Traceability Matrix Include?
Requirement Traceability Matrix (RTM) is a document which records the mapping
between the high-level requirements and the test cases in the form of a table.

That’s how it ensures that the Test Plan covers all the requirements and links to their
latest version.

13
Q-10. Explain The Difference Between Pilot And Beta Testing?
Read the following points to know the difference between Pilot and Beta testing.

1. We do the beta test when the product is about to release to the customer whereas
pilot testing takes place in the earlier phase of the development cycle.
2. In the beta test, testing application is given to a few users to make sure that
application meet the customer requirements and does not contain any showstopper
bug. Whereas, in the pilot test, few members of the testing teamwork at the
Customer site to set up the product. They give their feedback also to improve the
quality of the end product.

14
Q-11. Describe How To Perform Risk Analysis During Software Testing?
Risk analysis is the process of identifying the hidden issues that may derail the
successful delivery of the application. It also prioritizes the sequence of resolving
the identified risks for testing purpose.

Following are some of the risks that are of concern to the QA.

1. New Hardware.
2. New Technology.
3. New Automation Tool.
4. The sequence of code delivery.
5. Availability of test resources for the application.
We prioritize them into three categories which are as follows.

1. High magnitude: Impact of the bug on the other functionality of the application.
2. Medium: It is somewhat bearable but not desirable.
3. Low: It is tolerable. This type of risk has no impact on the company business.

15
Q-12. What Is Silk Test And Why Should You Use It?
Here are some facts about the Silk tool.

1. It’s a tool developed for performing the regression and functionality testing of the
application.
2. It benefits when we are testing Window based, Java, the web, and the traditional
client/server applications.
3. Silk Test help in preparing the test plan and managing them to provide the direct
accessing of the database and validation of the field.

16
Q-13. What Is The Difference Between Master Test Plan And Test Plan?
The difference between the Master Plan and Test Plan can be described using the
following points.

1. Master Test Plan contains all the test scenarios and risks prone areas of the
application. Whereas, the Test Plan document contains test cases corresponding to
test scenarios.
2. Master Test Plan captures every test to be run during the overall development of
application whereas test plan describes the scope, approach, resources, and schedule
of performing the execution.
3. MTP includes test scenarios to be executed in all the phases of testing that run
during the complete lifecycle of the application development.
Whereas, a separate Test Plan exists for each stage of testing like Unit, Functional,
and System which contains the test cases related to that type only.
4. A Master Test Plan suffice for big projects which require execution in all phases
of testing. However, preparing a basic Test Plan is enough for small projects.

17
Q-14. How Do You Handle A Non-Reproducible Bug?
Following bugs lie under the non-reproducible category.

1. Defects observed due to low memory issue.


2. Issues raised due to address pointing to a memory location that does not exist.
3. The race condition is an error scenario which occurs when the timing of one event
impacts another executing in a sequence.
A tester can take the following actions to handle the non-reproducible bugs.

1. Execute test steps that are close to the error description.


2. Evaluate the test environment.
3. Examine and evaluate test execution results.
4. Keep the resources & time constraints under check.

18
Q-15. How Do You Perform Automated Testing In Your Environment?
Automation Testing is a process of executing tests automatically. It reduces the
human intervention to a great extent. We use different test automation tools like
QTP, Selenium, and WinRunner. These tools help in speeding up the testing tasks.

Using the above tools we can create test scripts to verify the application
automatically. After completing the test execution, these tools also generate the test
reports.

19
Q-16. What Are The Factors That You’ll Consider To Choose Automated
Testing Over Manual Testing?
The choice of automated testing over manual testing depends on the following
factors.

1. Tests require periodic execution.


2. Tests include repetitive steps.
3. Tests execute in a standard runtime environment.
4. Automation is expected to take less time.
5. Automation is increasing reusability.
6. Automation reports are available for every execution.
7. Small releases like service packs which include a minor bug fix. In such cases,
executing the regression tests is sufficient for validation.

20
Q-17. What Is The Difference Between A Test Driver And Test Stub?
The test driver is a piece of code that calls a software component under test. It is
useful in testing that follows the bottom-up approach.
Test stub is a dummy program that integrates with an application to complete its
functionality. These are relevant for testing that uses the top-down approach.
Let’s take an example.

1. Let’s say there is a scenario to test the interface between modules A and B. We
have developed only module-A. Then we can test module-A if we have real module-
B or a dummy module for it. In this case, we call module-B as the Test Stub.
2. Now, module-B can’t send or receive data directly from module-A. In such a
scenario, we’ve to move data from one module to another using some external
features called Test Driver.

21
Q-18. What Are The Essential Qualities Of An Experienced QA Or Test Lead?
Every QA or Test Lead should have the following qualities.

1. Well-versed in Software testing processes.


2. Ability to accelerate teamwork to increase productivity.
3. Improve coordination between QA and Dev engineers.
4. Provide ideas to refine the QA processes.
5. Ability to conduct RCA meetings and draw conclusions.
6. Excellent written and interpersonal communication skills.
7. Quick learner and able to groom the team members.

22
Q-19. What Are The Different Types Of Software Testing?
Following is the list of various testing types used by manual testers.
Unit testing
Integration testing
Regression testing
Shakeout testing
Smoke testing
Functional testing
Performance testing
Load testing
stress testing
Endurance testing
White box and Black box testing
Alpha and Beta testing
System testing

23
Q-20. What Are The Key Elements Of A Test Plan?
A test plan contains the following main points.

Testing objectives
Test scope
Testing the frame
The environment
Reason for testing
The criteria for entrance and exit
Deliverables
Risk factors

24
Q-21. What Is A Test Case?
A test case is a sequence of actions and observations that are used to verify the
desired functionality. A good test case helps to identify problems in the
requirements or design of an application.

25
Q-22. What Is Agile Testing And Why Is It Important?
Agile testing is a software testing process which evaluates software from the
customer point of view. It is beneficial because this does not require Dev to
complete coding for starting QA. Instead, the coding and testing both go hand in
hand. However, it may require continuous customer interaction.

26
Q-23. How Do You Test A Product If The Requirements Are Yet To Freeze?
If the requirement spec is not available for a product, then a test plan can be created
based on the assumptions made about the product. But we should get all
assumptions well documented in the test plan.

27
Q-24. How Will You Tell If Enough Test Cases Have Been Created To Test A
Product?
First of all, we’ll check if every requirement has at least one test case covered. If
yes, then we can say that there are enough test cases to test the product.

28
Q-25. What Will You Do When A Bug Turns Up During Testing?
When a bug shows up, we can follow the below steps.

Run more tests to make sure that the problem has a clear description.
Run a few more tests to ensure that the same problem doesn’t exist with
different inputs.
Once we are sure of the full scope of the bug, then we can add details and report
it.

29
Q-26. If A Product Is In Production And One Of Its Modules Gets Updated,
Then Is It Necessary To Retest?
It is advisable to perform regression testing and run tests for all of the other modules
as well. Finally, the QA should carry out the System testing.

30
Q-27. What Is The Difference Between Functional Requirement And Non-
Functional Requirement?
The functional requirement specifies how a product should run whereas a non-
functional requirement represents how it should be.

Functional Requirements.
Authentication
Business rules
Historical Data
Legal and Regulatory Requirements
External Interfaces
Non-Functional Requirements.
Performance
Reliability
Security
Recovery
Data Integrity
Usability

31
Q-28. How Come The Severity And Priority Relate To Each Other?
Severity – Represents the gravity/depth of the bug.
Priority – Specifies which bug should get fixed first.
Severity – Describes the application point of view.
Priority – Defines the user’s point of view.

32
Q-29. What Are The Different Types Of Severity?
The severity of a bug can be low, medium or high depending on the context.

User Interface Defect – Low


Boundary Related Defects – Medium
Error Handling Defects – Medium
Calculation Defects – High
Misinterpreted Data – High
Hardware Failures – High
Compatibility Issues – High
Control Flow Defects – High
Load Conditions (Memory leakages under load testing) – High

33
Q-30. What Are The Entry And Exit Criteria In Software Testing?
Entry criteria – It is a process that should run when a system begins. It includes the
following artifacts.
SRS (Software Requirement Specification)
FRS (Functional Requirement Specification)
Use case
Test-Case
Test-plan
Exit Criteria – It signals when the testing should complete and when should the
product be ready to release. It includes the following artifacts.
Test Summary Report
Metrics
Defect Analysis report

34
Q-31. What Is The Test Strategy?
Test strategy is an approach to carry out the testing activity. It covers the following.

Roles and responsibilities for each member.


Testing scope.
Test tools.
Test environment.
Testing schedule.
Associated risks.

35
Q-32. What Is Smoke Testing And What Is Sanity?
Smoke testing confirms the basic functionality works for a product. It requires you
to identify the most basic test cases for execution.
Sanity testing, on the other hand, ensures that the product runs without any logical
errors. For example, if we are testing a calculator app; we may multiply a number by
3 and check whether the sum of the digits of the answer is divisible by 3.

36
Q-33. What Is The Difference Between A Bug, Defect, And Error?
A bug is usually the same as the defect. Both of them represents an unexpected
behavior of the software.

However, an error would also fall in the same category. But in some cases, errors
are fixed values.

For example – 404/405 errors in HTML pages.

37
Q-34. What Is The Difference Between High Level And Low-Level Test Case?
High-level test cases cover the core functionality of a product like standard
business flows.
Low-level test cases are those related to user interface (UI) in the application.

38
Q-35. What Is The Difference Between Static Testing And Dynamic Testing?
Static Testing.
It is a white box testing technique which directs the developers to verify their
code with the help of a checklist to find errors in it.
Developers can start it done without actually finalizing the application or
program.
Static testing is more cost-effective than Dynamic testing.
It covers more areas than Dynamic testing in a shorter time.
Dynamic Testing.
Dynamic testing involves the execution of an actual application with valid
inputs and checking of the expected output.
Examples of Dynamic testing are Unit Testing, Integration Testing, System
Testing and Acceptance Testing.
Dynamic testing happens after the code deployment.
It starts during the validation stage.

39
Q-36. What Is A Test Harness?
Test Harness requires configuring a set of tools and input data to test an application
under various conditions. It involves monitoring the actual output with the expected
output for correctness.

Its benefits are as follows.

Upward push in productivity due to process automation.


Improve the overall product Quality.

40
Q-37. What Is Defect Leakage?
Defect leakage occurs at the Customer or the End-user side after the product
delivery. If the end user sees an issue in the application, then such bugs lead to
Defect leakage. And this process of finding bugs is also called as Bug Leakage.

41
Q-38. What Kind Of Document Will You Need To Begin Functional Testing?
It is none other than the Functional specification document. It defines the full
functionality of a product.
Other documents are also useful in testing like user manual and BRS.
Gap analysis is another document which can help in understanding the expected
and existing system.

42
Q-39. Beside Test Case & Test Plan, What Documents A Tester Should
Produce?
Here are a few other documents to prepare.

Testing metrics
Test design specs
End-to-end scenarios
Test summary reports
Bug reports

43
Q-40. What Is A Business Requirements Document (BRD)?
BRD provides a detailed business solution for a project including the documentation
of customer needs and expectations.

BRD fulfills the following objectives.

Gain agreement with stakeholders.


Provide clarity on the business requirements.
Describe the solution that meets the customer/business needs.
Determine the input for the next phase of the project.

44
Q-41. What Is Risk Analysis?
Risk analysis is a technique to identify the things that can go wrong in a software
development project. They can negatively impact the scope, quality, timeliness, and
cost of a project.

However, everyone involved in the project has a part in minimizing the risk. But it’s
the leader who ensures that the whole team understands the individual role in
managing the risk.

45
Q-42. What Is Exploratory Testing?
Exploratory testing is a process which lets a tester to concentrate more on execution
and less on planning.

It requires formulating a test charter, a short declaration of the scope, a set of


objectives and possible approaches to be used.
The test design and test execution activities may run in parallel without formally
documenting the test conditions, test cases or test scripts.
Testers can use boundary value analysis to concentrate the testing effort on
error-prone areas by accurately pinpointing the boundaries.
Notes should be recorded for the Exploratory Testing sessions as it would help
to create a final report of its execution.

46
Q-43. Can We Do System Testing At Any Stage?
No. The system testing should start only if all modules are in place and work
correctly. However, it should happen before the UAT (User Acceptance testing).

47
Q-44. Why Is It Impossible To Test A Program Thoroughly?
Here are the two principal reasons that make it impossible to test a program entirely.

Software specifications can be subjective and can lead to different


interpretations.
A software program may require too many inputs, too many outputs, and too
many path combinations to test.

48
Q-45. What Is The Primary Difference Between Debugging & Testing?
Testing is to find out defects while using a product whereas debugging is to
reach the part of the code causing failure.
Debugging is isolating the problem area in the code done by a developer
whereas Testing is identifying the bug in an application and done by a tester.

49
Q-46. What Are The Roles Of Glass-Box And Black-Box Testing Tools?
Black-Box Testing.
It doesn’t require the knowledge of internal design or code. So the tests are based on
requirements and functionality. Black box testing focuses on finding the following
errors.

Interface errors
Performance errors
Initialization errors
Incorrect or missing functionality
Errors in accessing an external database
Glass-Box Testing Or White-Box Testing.
It requires familiarity with the internal design and application code. So the tests
concentrate on path coverage, branch coverage, and statement coverage. It is
expected to cover the following.

All possible code flows of a module.


Execute all loops.
Exercise all logical decisions.
Verify the internal data structure to ensure their validity.

50
Q-47. What Is GAP Analysis?
Gap analysis reveals any deviation between the features available for testing and
how the customer perceives them to be.

Traceability matrix is a testing tool which testers can use to track down the gaps.

51
Q-48. How Do We Know The Code Has Met Specifications?
Traceability matrix is an intuitive tool which ensures the requirements mapped to
the test cases. And when the execution of all test cases finishes with success, it
indicates that the code has met the requirements.

52
Q-49. Is It Possible To Achieve 100% Coverage Of Testing? How Would You
Ensure It?
No, it’s not possible to perform 100% testing of any product. But you can follow the
below steps to come closer.

Set a hard limit on the following factors.


Percentage of test cases passed
The no. of bug found
Set a red flag if,
Test budget depleted
Deadlines breached
Set a green flag if,
The entire functionality gets covered in test cases.
All critical & high bugs must have a status of CLOSED.

53
Q-50. What Are Error Guessing And Error Seeding?
Error Guessing.
It is a test case design technique in which testers have to guess the defects that might
occur and write test cases to represent them.

Error Seeding.
It is the process of adding known bugs in a program for tracking the rate of detection
& removal. It also helps to estimate the number of faults remaining in the program.

54
Q-51. What Is The Difference Between Coupling And Cohesion?
The difference between coupling and cohesion is as follows.

Cohesion is the degree which measures the dependency of the software


component that combines related functionality into a single unit whereas
coupling represents to have it in a different group.
Cohesion deals with the functionality that relates to different processes within a
single module whereas coupling deals with how much one module is dependent
on the other modules within the product.
It is a good practice to increase the cohesion between the software whereas
coupling is discouraged.

55
Q-52. What Is CMM?
The Capability Maturity Model for Software (CMM or SW-CMM) is a model for
assessing the maturity of the software processes of an organization.

It also identifies the key practices that increase the maturity of these processes.

56
Q-53. What Is Cause Effect Graph?
It is a graphical representation of inputs and the associated outputs effects which
assist in designing test cases.

57
Q-54. Why Does Software Have Bugs?
Miscommunication.
Programming errors.
Timeline pressures.
Change in requirements.
Software complexity.

58
Q-55. What Is Ramp Testing?
It is a testing method which proposes to raise an input signal until the system breaks
down.

59
Q-56. What Is Recovery Testing?
It ensures that the program must recover from any expected or unexpected events
without loss of data or functionality.

Events could be like a shortage of disk space, unexpected loss of communication, or


power out conditions.

60
Q-57. What Do You Understand Of Inspection?
It’s a group-level review and quality improvement process for the product
documents. It focuses on the following two aspects.

Product document improvement.


Process improvement (of both document production and inspection).

61
Q-58. What Is Globalization Testing?
Globalization testing concentrates on detecting the potential problems in the product
design that could spoil globalization. It certifies that the code can handle the desired
international support without breaking any functionality. And also, it ensures that
there would be no data loss and display problems.

62
Q-59. What Does It Mean By Functional Testing?
Functional testing is a software testing methodology which ensures that the
application under test has all the functionality working as per the specifications
provided.

63
Q-60. What Are The Different Types Of Functional Testing?
The functional testing covers the following types of validation techniques.

1- Unit Testing
2- Smoke testing
3- Sanity testing
4- Integration Testing
5- Interface Testing
6- System Testing
7- Regression Testing
8- UAT

64
Q-61. How Do You Conduct Functional Testing?
Functional testing sees the application under test as a black-box. We as a tester, first
of all, write down the use cases for all the possible workflows of the said features.

After that, we verify the functionality by exercising all the said features, their
options and ensure that they behave as expected.

65
Q-62. What Tool Do You Use For Functional Testing?
We use the Unified Functional Testing (UFT) tool developed by HP (Hewlett
Packard) for both the functional and regression testing.

This tool makes use of Visual Basic (VB) scripting to automate the functional
workflows. It allows us to integrate manual, automated as well as framework-based
test scripts in the same IDE.

66
Q-63. What Are The Functional Test Cases?
Functional test cases are those that confirm that the application executes a specified
business function. Most of these tests take the form of user or business cases that
resemble the standard transactions.

67
Q-64. What Is Functional And Nonfunctional?
In Software engineering terms, a non-functional requirement (NFR) is one that lays
down the criteria for assessing the operation of a system, rather than a general
behavior. They often get called as the “quality attributes” of a system.

Whereas the functional requirements are those that cover the technical aspect of the
system.

68
Q-65. What Are Nonfunctional Test Cases?
Non-functional testing is a type of testing for observing the non-functional aspects
(such as performance, usability, reliability) of the application under test.

It validates the readiness of a system as given in the nonfunctional specification and


never got addressed in functional testing.

69
Q-66. When Should You Stop Testing?
Here is the list of influencing factors to decide when to stop testing:

1. Deadlines (project deadline, testing milestones, etc.)


2. Test cases executed with a certain percentage of success.
3. Test budget got exhausted.
4. Code coverage target achieved.
5. The volume of defects drops below the average.
6. Beta or alpha testing cycle ends.

70
Q-67. What Is Reliability Testing?
Reliability testing is a testing strategy to measure the consistency of a Software in
executing a specific operation without throwing any error for a certain period in the
given environment.

Example:
The probability that a Server class application hosted on the cloud is up and running
for six long months without crashing is 99.99%. We refer to this type of testing as
reliability.

71
Q-68. How Is A Test Case Different From A Test Scenario?
A test case is a testing artifact to verify a particular flow with defined input values,
test preconditions, expected output, and postconditions prepared to cover specific
behavior.

A test scenario can have one or many associations with a test case which means it
can include multiple test cases.

72
Q-69. What Does It Mean By STLC?
The STLC is an acronym for the Software Testing Life Cycle. It is a testing model
which proposes to execute test execution in a systematic and planned way. In the
STLC model, many activities occur to improve the quality of the product.
The STLC model lays down the following steps:

1. Requirement Analysis
2. Test Planning
3. Test Case Development
4. Environment Setup
5. Test Execution
6. Test Cycle Closure

73
Q-70. What Is The Requirement Analysis Phase In STLC?
The requirement analysis (RA) is the first stage of the STLC model. In this step, the
testing team learns what to test & determine the testable requirements. If some
specifications are not precise or have a disagreement, then the stakeholders like
business analyst (BA), architects, customers provide the clarity.

74
Q-71. What Are The Tasks Performed In The Requirement Analysis Phase Of
STLC?
Test team performs the following tasks during the RA phase.

1. Provide a questionnaire for the customer-facing people.


2. List down the priorities areas for testing.
3. Gather test environment details for carrying out the testing tasks.
4. Evaluate the possibility of test automation and prepare a report.

75
Q-72. What Is The Test Planning (TP) Phase In STLC?
The second phase of STLC is the test planning. It is a crucial step as the team here
defines the whole testing strategy for the project. Hence, it gets also known as the
Test strategy phase.

In this stage, the test lead has to get the effort and cost estimation done for the whole
project. This phase starts out soon after the RA phase gets over. The outcomes of the
TP include the Test Planning & Effort estimation documents. After the planning
ends, the testing team can begin writing the test case development tasks.

76
Q-73. What Are The Tasks Performed In The Test Planning (TP) Phase Of
STLC?
Test team performs the following tasks during the TP phase.

1. Provide a written objective & scope for the STLC cycle.


2. Mention the testing types to cover.
3. Estimate testing efforts and resource requirements.
4. Select the testing tools required.
5. Confirm the test infra requirements.
6. List down the testing schedule and set milestones.
7. Prepare the summary of the entire testing process.
8. Create a control policy.
9. Assign roles and responsibilities.
10. Outline the testing deliverables.
11. Conclude the entry criteria, suspension/resumption criteria, and exit conditions.
12. Mark the expected risks.

77
Q-74. What Is The Test Case Development Phase In STLC?
The testing team picks on the test case development tasks once the test planning
(TP) phase is over. In this stage of STLC, the principal activity is to write detailed
test cases for the requirements. While performing this task, they also need to prepare
the input data required for testing. Once the test plan is ready, it needs to be
reviewed by senior members or the lead.

One of the documents which team has to produce is the Requirement Traceability
Matrix (RTM). It is an industry-wide standard for ensuring the test case get correctly
mapped with the requirement. It helps in tracking both the backward & forward
direction.

78
Q-75. What Are The Tasks Performed In The Test Case Development Phase Of
STLC?
Test team performs the following tasks during the TCD phase.

1. Write test cases.


2. Produce scripts for automation testing (Optional).
3. Gather test data required for test execution.

79
Q-76. What Is The Test Environment Setup Phase In STLC?
It is a time-consuming yet crucial activity in the STLC to prepare the test
environment. Only after the test setup is available, the team can determine which
conditions the application would go through testing.

It is an independent task and can go in parallel with test case writing stage. The team
or any member outside the group can also help in setting up the testing environment.
In some organizations, a developer or the customer can also create or provide the
testing beds. Simultaneously, the test team starts writing the smoke tests to ensure
the readiness of the test infra.

80
Q-77. What Are The Tasks Performed In The Test Environment Setup Phase
Of STLC?
Test team performs the following tasks during the TES phase.

1. Assess the need for new Software & hardware requirements.


2. Prepare the test infra.
3. Execute smoke tests and confirms the readiness of the test infra.

81
Q-78. What Is The Test Execution Phase In STLC?
After the testing infra is ready, the test execution phase can start off. In this stage,
the team runs the test cases as per the test plan defined in the previous steps.

If a test case executes successfully, the team should mark it as Passed. If some tests
have failed, then the defects should get logged, and the report should go to the
developer for further analysis. As per the books, every error or failure should have a
corresponding defect. It helps in tracing back the test case or the bug later. As soon
as the development team fixes it, the same test case should execute and report back
to them.

82
Q-79. What Are The Tasks Performed In The Test Execution Phase Of STLC?
Test team performs the following tasks during the TE phase.

1. Execute tests as per the test planning.


2. Provide test execution status showing the passed, failed, skipped statistics.
3. Create defects for failed cases and assign to dev for resolution.
4. Perform re-execution of test cases which have got the defect fixes.
5. Make sure the defects get closed.

83
Q-80. What Is The Test Cycle Closure Phase In STLC?
The testing team calls upon the meeting to evaluate the open defects, known issues,
code quality issues and accordingly decides on the closure of the test cycle.

They discuss what went well, where is the need for improvement and notes the pain
points faced in the current STLC. Such information is beneficial for future STLC
cycles. Each member puts his/her views on the test case & bug reports and finalizes
the defect distribution by type and severity.

84
Q-81. What Are The Tasks Performed In The Test Cycle Closure Phase Of
STLC?
Test team performs the following tasks during the TCC phase.

1. Define closure criteria by reviewing the test coverage, code quality., the status of
the business objectives, and test metrics.
3. Produce a test closure report.
4. Publish best practices used in the current STLC.

85
Q-82. What Does A Fault Mean In Software Testing?
A fault is a condition that makes the software to fail while executing the intended
function.

86
Q-83. What Does An Error Mean In Software Testing?
An error represents a problem in a program that arises unexpectedly and causes it
not to function correctly. An application can encounter either software errors or
network errors.

87
Q-84. What Does A Failure Mean In Software Testing?
A failure represents the incompetence of a system or component in executing the
intended function as per its specification.

It could also happen in a customer environment that a particular feature didn’t work
after product deployment. They would term it as a product failure.

88
Q-85. What Is The Difference Between Error And Bug?
A slip in the coding indicates an Error. The error discovered by a manual tester
becomes a Defect. The defect which the dev team admits known as a Bug. If a build
misses on the requirements, then it is a functional failure.

89
Q-86. What Is Defect Life Cycle In Software Testing?
Defect Life Cycle also has another name as Bug Life Cycle.

Defect Life Cycle is the representation of the different states of a defect which it
attains at different levels during its lifetime. It may have variations from company to
company or even gets customized for some projects as the software testing process
drives it to not getting out of the way.

90
Q-87. What Is The Difference Between Priority And Severity In Software
Testing?
Severity indicates the impact of a defect on the development or the operation of a
component in the application going under test. It usually is an indication of
commercial loss or cost to the environment or business reputation.

On the contrary, the Priority of a defect shows the urgency of a bug yet to get a fix.
For example – a bug in a server application blocked it from getting deployed on the
live servers.

91
Q-88. What Does Defect Density Mean In Software Testing?
Defect density is a way to measure the no. of defects found in a product during a
specific test execution cycle. It gets determined by dividing the defect count found
with the size of the software or component.

KLOC (Thousands of lines of code) is the unit used to measure the defect density.

92
Q-89. What Does The Defect Detection Percentage Mean In Software Testing?
Defect Detection Percentage (DDP) is a type of testing metric. It indicates the
effectiveness of a testing process by measuring the ratio of defects discovered before
the release and reported after release by customers.

For example – let’s say the QA logged 70 defects during the testing cycle and the
customer reported 20 more after the release. The DDP would come to 72.1% after
the calculation as 70/(70 + 20) = 72.1%.

93
Q-90. What Does The Defect Removal Efficiency Mean In Software Testing?
Defect Removal Efficiency (DRP) is a type of testing metric. It is an indicator for
the efficiency of the development team to fix issues before the release.

It gets measured as the ratio of defects fixed to total the number of issues
discovered.

For example – let’s say that there were 75 defects discovered during the test cycle
while 62 of them got fixed by the dev team at the time of measurement. The DRE
would come to 82.6% after the calculation as 62/75 = 82.6%.

94
Q-91. What Does The Test Case Efficiency Mean In Software Testing?
Test Case Efficiency (TCE) is a type of testing metric. It is a clear indicator of the
efficiency of the test cases getting executed in the test execution stage of the release.
It helps in ensuring and measuring the quality of the test cases.

Test Case Efficiency (TCE) => (No. of defects discovered / No. of test cases
executed)* 100

95
Q-92. What Is Age Of Defect In Software Testing?
Defect age is the time elapsed between the day the tester discovered it and the day
the developer got this fixed.

While estimating the age of a defect, consider the following points.

1. The day of birth for a Defect is the day it got assigned and accepted by the dev.
2. The issues which got dropped are out of the scope.
3. The age can be both in hours or days.
4. The end time is the day got verified and closed, not just fixed by the dev.

96
Q-93. What Is Defect Clustering In Software Testing?
Defect clustering is a situation in testing which could arise if either most of the
software bugs got discovered only in a handful of modules or the software fails to
operate frequently.

97
Q-94. What Is Pesticide Paradox In Software Testing?
The pesticide paradox is a situation in software testing when the same tests get
repeated over and over again until they are no longer able to find new bugs.

98
Q-95. What Is The Pareto Principle In Software Testing?
In software testing, the Pareto Principle refers to the notion that 80% of all bugs
happen to be in the 20% of the program modules.

99
Q-96. What Are The Different Ways To Apply The Pareto Principle In
Software Testing?
Following is the list of ways to exercise Pareto Principle in software testing:

1. Arrange the defects based on their causes, not via consequences. Don’t club bugs
that yield the same outcome. Prefer to group issues depending on what module they
occur.
2. Collaborate with the dev team to discover new ways to categorize the problems.
E.g., use the same static library for the components which counted for the most
bugs.
3. Put more energy for locating the problem areas in the source code instead of
doing a random search.
4. Re-order the test cases and pick the critical ones first to begin.
5. Pay attention to the end-user response and assess the risk areas around.

100
Q-97. What Do You Know About Data Flow Testing?
It is one of the white-box testing techniques.

Data Flow Testing emphasizes for designing test cases that cover control flow paths
around variable definitions and their uses in the modules. It expects them to have the
following attributes:

1. The input to the module


2. The control flow path for testing
3. Pair of an appropriate variable definition and its use
4. The expected outcome of the test case

101
Q-98. What Do You Know About API Testing?
API is an acronym for Application Programming Interface. It gives users access to
public classes, functions, and member variables for calling them from the external
applications. It lays down a model for components to being interaction with each
other.

API testing comprises of three parts:

1. Data tier (database)


2. Business logic tier (PHP/J2EE)
3. Presentation tier (UI)

API testing is also a white box testing method. It makes use of the code and a
programming tool to call the API. It ignores the UI layer of the application and
validates the path between the client and the API. The client software forwards a call
to the API to get the specified return value. API testing examines whether the
system is responding with the correct status or not.

API testing got carried out by the testers to confirm the system from end to end.
They don’t have permissions to get to the source code but can use the API calls.
This testing covers the authorization, usability, exploratory, automated and
document validation.

102
Q-99. What Is Cyclomatic Complexity In Software Testing?
In software testing, the cyclomatic complexity represents a test metric known as the
program complexity. This method got introduced by Thomas J. McCabe in the year
1976. It sees a program as a graph using the control flow representation.

The graph includes the following attributes:

1. Nodes – A node indicates the processing tasks


2. Edges – An edge shows the control flow between the nodes.

103
Q-100. What Is The Usage Of Cyclomatic Complexity In Software Testing?
1. It gets to find the independent path for test execution.
2. It proposes that the test should cover all the branches once.
3. It gives space to concentrate on the untested paths.
4. It guarantees the better code coverage.
5. It determines the risks associated with a program.
6. It aims to minimize the probable risks.

104
Q-101. What Are Rainbow Or Color Box Testing Types?
The majority of software testers knew about the grey, black and white box testing.
Let’s see what all color box testings are available.

1. White box tests


2. Black box checking
3. Grey box testing
4. Glass box tests
5. Red box scripts
6. Yellow box testing
7. Green box checking

105
102. What are Quality Assurance and Quality Control?

Quality Assurance: Quality Assurance involves in process-oriented activities. It


ensures the prevention of defects in the process used to make Software Application.
So the defects don’t arise when the Software Application is being developed.

Quality Control: Quality Control involves in product-oriented activities. It executes


the program or code to identify the defects in the Software Application.

106
103. What is Verification in software testing?

Verification is the process, to ensure that whether we are building the product right
i.e., to verify the requirements which we have and to verify whether we are
developing the product accordingly or not. Activities involved here are Inspections,
Reviews, Walk-throughs. .

107
104. What is Validation in software testing?

Validation is the process, whether we are building the right product i.e., to validate
the product which we have developed is right or not. Activities involved in this is
Testing the software application. .

108
105. What is Static Testing?

Static Testing involves in reviewing the documents to identify the defects in the
early stages of SDLC.

109
106. What is Dynamic Testing?

Dynamic testing involves in the execution of code. It validates the output with the
expected outcome.

110
107. What is White Box Testing?

White Box Testing is also called as Glass Box, Clear Box, and Structural Testing.
It is based on applications 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 was done at the unit level. .

111
108. What is Black Box Testing?

Black Box Testing is a software testing method in which testers evaluate the
functionality of the software under test without looking at the internal code
structure. This can be applied to every level of software testing such as Unit,
Integration, System and Acceptance Testing. .

112
109. What is Grey Box Testing?

Grey box is the combination of both White Box and Black Box Testing. The tester
who works on this type of testing needs to have access to design documents. This
helps to create better test cases in this process.

113
110. What is Positive and Negative Testing?

Positive Testing: It is to determine what system supposed to do. It helps to check


whether the application is justifying the requirements or not.

Negative Testing: It is to determine what system not supposed to do. It helps to find
the defects from the software.

114
111. What is Test Strategy?

Test Strategy is a high-level document (static document) and usually developed by


project manager. It is a document which captures the approach on how we go about
testing the product and achieve the goals. It is normally derived from the Business
Requirement Specification (BRS). Documents like Test Plan are prepared by
keeping this document as a base. .

115
112. What is Test Plan and contents available in a 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.

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

116
113. What is Test Suite?

Test Suite is a collection of test cases. The test cases which are intended to test an
application.

117
114. What is Test Scenario?

Test Scenario gives the idea of what we have to test. Test Scenario is like a high-
level test case.

118
115. What is Test Case?

Test cases are the set of positive and negative executable steps of a test scenario
which has a set of pre-conditions, test data, expected result, post-conditions and
actual results.

119
116. What is Test Bed?

An environment configured for testing. Test bed consists of hardware, software,


network configuration, an application under test, other related software.

120
117. What is Test Environment?

Test Environment is the combination of hardware and software on which Test Team
performs testing.

Example:

Application Type: Web Application


OS: Windows
Web Server: IIS
Web Page Design: Dot Net
Client Side Validation: JavaScript
Server Side Scripting: ASP Dot Net
Database: MS SQL Server
Browser: IE/FireFox/Chrome

121
118. What is Test Data?

Test data is the data that is used by the testers to run the test cases. Whilst running
the test cases, testers need to enter some input data. To do so, testers prepare test
data. It can be prepared manually and also by using tools.

For example, To test a basic login functionality having a user id, password fields.
We need to enter some data in the user id and password fields. So we need to collect
some test data.

122
119. What is Test Harness?

A test harness is the collection of software and test data configured to test a program
unit by running it under varying conditions which involves monitoring the output
with expected output.

123
120. What is Test Closure?

Test Closure is the note prepared before test team formally completes the testing
process. This note contains the total no. of test cases, total no. of test cases executed,
total no. of defects found, total no. of defects fixed, total no. of bugs not fixed, total
no of bugs rejected etc.,

124
121. What are the tasks of Test Closure activities in Software Testing?

Test Closure activities fall into four major groups.

Test Completion Check: To ensure all tests should be either run or deliberately
skipped and all known defects should be either fixed, deferred for a future release or
accepted as a permanent restriction.

Test Artifacts handover: Tests and test environments should be handed over to those
responsible for maintenance testing. Known defects accepted or deferred should be
documented and communicated to those who will use and support the use of the
system.

Lessons learned: Analyzing lessons learned to determine changes needed for future
releases and projects. In retrospective meetings, plans are established to ensure that
good
practices can be repeated and poor practices are not repeated

Archiving results, logs, reports, and other documents and work products in the CMS
(configuration management system).

125
122. What is test coverage?

Test coverage helps in measuring the amount of testing performed by a set of tests.
Test coverage can be done on both functional and non-functional activities. It assists
testers to create tests that cover areas which are missing.

126
123. What is Code coverage?

Code coverage is different from Test coverage. Code coverage is about unit testing
practices that must target all areas of the code at least once. It is usually done by
developers or unit testers.

127
124. List out Test Deliverables?

1. Test Strategy
2. Test Plan
3. Effort Estimation Report
4. Test Scenarios
5. Test Cases/Scripts
6. Test Data
7. Requirement Traceability Matrix (RTM)
8. Defect Report/Bug Report
9. Test Execution Report
10. Graphs and Metrics
11. Test summary report
12. Test incident report
13. Test closure report
14. Release Note
15. Installation/configuration guide
16. User guide
17. Test status report
18. Weekly status report (Project manager to client)

128
125. What is Unit Testing?

Unit Testing is also called as Module Testing or Component Testing. It is done to


check whether the individual unit or module of the source code is working properly.
It is done by the developers in the developer’s environment.

129
126. What is Integration Testing?

Integration Testing is the process of testing the interface between the two software
units. Integration testing is done by three ways. Big Bang Approach, Top-Down
Approach, Bottom-Up Approach

130
127. What is System Testing?

Testing the fully integrated application to evaluate the system’s compliance with its
specified requirements is called System Testing AKA End to End testing. Verifying
the completed system to ensure that the application works as intended or not.

131
128. What is Big Bang Approach?

Combining all the modules once and verifying the functionality after completion of
individual module testing.

Top down and bottom up are carried out by using dummy modules known as Stubs
and Drivers. These Stubs and Drivers are used to stand-in for missing components to
simulate data communication between modules.

132
129. What is Top-Down Approach?

Testing takes place from top to bottom. High-level modules are tested first and then
low-level modules and finally integrating the low-level modules to a high level to
ensure the system is working as intended. Stubs are used as a temporary module if a
module is not ready for integration testing.

133
130. What is Bottom-Up Approach?

It is a reciprocate of the Top-Down Approach. Testing takes place from bottom to


up. Lowest level modules are tested first and then high-level modules and finally
integrating the high-level modules to a low level to ensure the system is working as
intended. Drivers are used as a temporary module for integration testing.

134
131. What is End-To-End Testing?

Refer System Testing.

135
132. What is Functional Testing?

In simple words, what the system actually does is functional testing. To verify that
each function of the software application behaves as specified in the requirement
document. Testing all the functionalities by providing appropriate input to verify
whether the actual output is matching the expected output or not. It falls within the
scope of black box testing and the testers need not concern about the source code of
the application.

136
133. What is Non-Functional Testing?

In simple words, how well the system performs is non-functionality testing. Non-
functional testing refers to various aspects of the software such as performance,
load, stress, scalability, security, compatibility etc., Main focus is to improve the
user experience on how fast the system responds to a request.

137
134. What is Acceptance Testing?

It is also known as pre-production testing. This is done by the end users along with
the testers to validate the functionality of the application. After successful
acceptance testing. Formal testing conducted to determine whether an application is
developed as per the requirement. It allows the customer to accept or reject the
application. Types of acceptance testing are Alpha, Beta & Gamma.

138
135. What is Alpha Testing?

Alpha testing is done by the in-house developers (who developed the software) and
testers. Sometimes alpha testing is done by the client or outsourcing team with the
presence of developers or testers.

139
136. What is Beta Testing?

Beta testing is done by a limited number of end users before delivery. Usually, it is
done in the client place.

140
137. What is Gamma Testing?

Gamma testing is done when the software is ready for release with specified
requirements. It is done at the client place. It is done directly by skipping all the in-
house testing activities.

141
138. What is Smoke Testing?

Smoke Testing is done to make sure if the build we received from the development
team is testable or not. It is also called as “Day 0” check. It is done at the “build
level”. It helps not to waste the testing time to simply testing the whole application
when the key features don’t work or the key bugs have not been fixed yet.

142
139. What is Sanity Testing?

Sanity Testing is done during the release phase to check for the main functionalities
of the application without going deeper. It is also called as a subset of Regression
testing. It is done at the “release level”. At times due to release time constraints
rigorous regression testing can’t be done to the build, sanity testing does that part by
checking main functionalities.

143
140. What is Retesting?

To ensure that the defects which were found and posted in the earlier build were
fixed or not in the current build. Say, Build 1.0 was released. Test team found some
defects (Defect Id 1.0.1, 1.0.2) and posted. Build 1.1 was released, now testing the
defects 1.0.1 and 1.0.2 in this build is retesting.

144
141. What is Regression Testing?

Repeated testing of an already tested program, after modification, to discover any


defects introduced or uncovered as a result of the changes in the software being
tested or in another related or unrelated software components.

Usually, we do regression testing in the following cases:

1. New functionalities are added to the application


2. Change Requirement (In organizations, we call it as CR)
3. Defect Fixing
4. Performance Issue Fix
5. Environment change (E.g., Updating the DB from MySQL to Oracle)

145
142. What is GUI Testing?

Graphical User Interface Testing is to test the interface between the application and
the end user.

146
143. What is Recovery Testing?

Recovery testing is performed in order to determine how quickly the system can
recover after the system crash or hardware failure. It comes under the type of non-
functional testing.

147
144. What is Globalization Testing?
Globalization is a process of designing a software application so that it can be
adapted to various languages and regions without any changes.

145. What is Internationalization Testing (I18N Testing)?

Refer Globalization Testing.

148
146. What is Localization Testing (L10N Testing)?

Localization is a process of adapting globalization software for a specific region or


language by adding local specific components.

149
147. What is Installation Testing?
It is to check whether the application is successfully installed and it is working as
expected after installation.

150
148. What is Formal Testing?
It is a process where the testers test the application by having pre-planned
procedures and proper documentation.

151
149. What is Risk Based Testing?

Identify the modules or functionalities which are most likely cause failures and then
testing those functionalities.

152
150. What is Compatibility Testing?
It is to deploy and check whether the application is working as expected in a
different combination of environmental components.

153
151. What is Exploratory Testing?
Usually, this process will be carried out by domain experts. They perform testing
just by exploring the functionalities of the application without having the knowledge
of the requirements.

154
152. What is Monkey Testing?

Perform abnormal action on the application deliberately in order to verify the


stability of the application.

155
153. What is Usability Testing?

To verify whether the application is user-friendly or not and was comfortably used
by an end user or not. The main focus in this testing is to check whether the end user
can understand and operate the application easily or not. An application should be
self-exploratory and must not require training to operate it.

156
154. What is Security Testing?

Security testing is a process to determine whether the system protects data and
maintains functionality as intended.

157
155. What is Soak Testing?

Running a system at high load for a prolonged period of time to identify the
performance problems is called Soak Testing.

158
156. What is Endurance Testing?

Endurance testing is a non-functional testing type. It is also known as Soak Testing.


Refer Soak testing.

159
157. What is Performance Testing?

This type of testing determines or validates the speed, scalability, and/or stability
characteristics of the system or application under test. Performance is concerned
with achieving response times, throughput, and resource-utilization levels that meet
the performance objectives for the project or product.

160
158. What is Load Testing?

It is to verify that the system/application can handle the expected number of


transactions and to verify the system/application behavior under both normal and
peak load conditions.

161
159. What is Volume Testing?

It is to verify that the system/application can handle a large amount of data

162
160. What is Stress Testing?

It is to verify the behavior of the system once the load increases more than its design
expectations.

163
161. What is Scalability Testing?

Scalability testing is a type of non-functional testing. It is to determine how the


application under test scales with increasing workload.

164
162. What is Concurrency Testing?

Concurrency testing means accessing the application at the same time by multiple
users to ensure the stability of the system. This is mainly used to identify deadlock
issues.

165
163. What is Fuzz Testing?

Fuzz testing is used to identify coding errors and security loopholes in an


application. By inputting massive amount of random data to the system in an
attempt to make it crash to identify if anything breaks in the application.

166
164. What is Adhoc Testing?

Ad-hoc testing is quite opposite to the formal testing. It is an informal testing type.
In Adhoc testing, testers randomly test the application without following any
documents and test design techniques. This testing is primarily performed if the
knowledge of testers in the application under test is very high. Testers randomly test
the application without any test cases or any business requirement document.

167
165. What is Interface Testing?

Interface testing is performed to evaluate whether two intended modules pass data
and communicate correctly to one another.

168
166. What is Reliability Testing?
Perform testing on the application continuously for long period of time in order to
verify the stability of the application

169
167. What is Bucket Testing?

Bucket testing is a method to compare two versions of an application against each


other to determine which one performs better.

170
168. What is A/B Testing?

Refer Bucket Testing.

171
169. What is Split Testing?

Refer Bucket Testing.

172
170. What are the principles of Software Testing?

1. Testing shows presence of defects


2. Exhaustive testing is impossible
3. Early testing
4. Defect clustering
5. Pesticide Paradox
6. Testing is context depending
7. Absence of error fallacy

173
171. What is Exhaustive Testing?

Testing all the functionalities using all valid and invalid inputs and preconditions is
known as Exhaustive testing.

174
172. What is Early Testing?

Defects detected in early phases of SDLC are less expensive to fix. So conducting
early testing reduces the cost of fixing defects.

175
173. What is Defect clustering?

Defect clustering in software testing means that a small module or functionality


contains most of the bugs or it has the most operational failures.

176
174. What is Pesticide Paradox?

Pesticide Paradox in software testing is the process of repeating the same test cases,
again and again, eventually, the same test cases will no longer find new bugs. So to
overcome this Pesticide Paradox, it is necessary to review the test cases regularly
and add or update them to find more defects.

177
175. What is Defect Cascading in Software Testing?

Defect cascading in Software testing means triggering of other defects in an


application. When a defect is not identified or goes unnoticed while testing, it
invokes other defects. It leads to multiple defects in the later stages and results in an
increase in a number of defects in the application.

For example, if there is a defect in an accounting system related to negative taxation


then the negative taxation defect affects the ledger which in turn affects other reports
such as Balance Sheet, Profit & Loss etc.,

178
176. What is Walk Through?

A walkthrough is an informal meeting conducts to learn, gain understanding, and


find defects. The author leads the meeting and clarifies the queries raised by the
peers in the meeting.

179
177. What is Inspection?

Inspection is a formal meeting lead by a trained moderator, certainly not by the


author. The document under inspection is prepared and checked thoroughly by the
reviewers before the meeting. In the inspection meeting, the defects found are
logged and shared with the author for appropriate actions. Post inspection, a formal
follow-up process is used to ensure a timely and corrective action.

180
178. Who are all involved in an inspection meeting?

Author, Moderator, Reviewer(s), Scribe/Recorder and Manager.

181
179. What is a Defect?

The variation between the actual results and expected results is known as a defect. If
a developer finds an issue and corrects it by himself in the development phase then
it’s called a defect. .

182
180. What is a Bug?

If testers find any mismatch in the application/system in testing phase then they call
it as Bug. .

183
181. What is an Error?

We can’t compile or run a program due to a coding mistake in a program. If a


developer unable to successfully compile or run a program then they call it as an
error. .

184
182. What is a Failure?

Once the product is deployed and customers find any issues then they call the
product as a failure product. After release, if an end user finds an issue then that
particular issue is called as a failure. .

185
183. What is Bug Severity?

Bug/Defect severity can be defined as the impact of the bug on customer’s business.
It can be Critical, Major or Minor. In simple words, how much effect will be there
on the system because of a particular defect. .

186
184. What is Bug Priority?

Defect priority can be defined as how soon the defect should be fixed. It gives the
order in which a defect should be resolved. Developers decide which defect they
should take up next based on the priority. It can be High, Medium or Low. Most of
the times the priority status is set based on the customer requirement. .

187
185. Tell some examples of Bug Severity and Bug Priority?

High Priority & High Severity: Submit button is not working on a login page and
customers are unable to login to the application

Low Priority & High Severity: Crash in some functionality which is going to
deliver after couple of releases

High Priority & Low Severity: Spelling mistake of a company name on the
homepage

Low Priority & Low Severity: FAQ page takes a long time to load

188
186. What is a Critical Bug?

A critical bug is a show stopper which means a large piece of functionality or major
system component is completely broken and there is no workaround to move
further.
For example, Due to a bug in one module, we cannot test the other modules because
that blocker bug has blocked other modules. Bugs which affects the customers
business are considered as critical.

Example:

1. “Sign In” button is not working on Gmail App and Gmail users are blocked to
login to their accounts.
2. An error message pops up when a customer clicks on transfer money button in a
Banking website.

189
187. What is the difference between a Standalone application, Client-Server
application and Web application?

Standalone application:

Standalone applications follow one-tier architecture. Presentation, Business, and


Database layer are in one system for a single user.

Client-Server Application:

Client-server applications follow two-tier architecture. Presentation and Business


layer are in a client system and Database layer on another server. It works majorly in
Intranet.

Web Application:

Web server applications follow three-tier or n-tier architecture. The presentation


layer is in a client system, a Business layer is in an application server and Database
layer is in a Database server. It works both in Intranet and Internet.

190
188. What is Bug Life Cycle?

Bug life cycle is also known as Defect life cycle. In Software Development process,
the bug has a life cycle. The bug should go through the life cycle to be closed. Bug
life cycle varies depends upon the tools (QC, JIRA etc.,) used and the process
followed in the organization. .

191
189. What is 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.

192
190. What is 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.

193
191. What is Defect Age?

Defect age can be defined as the time interval between date of defect detection and
date of defect closure.

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

Assume, a tester found a bug and reported it on 1 Jan 2016 and it was successfully
fixed on 5 Jan 2016. So the defect age is 5 days.

194
192. What is 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.)

195
193. What is 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.

196
194. What is HotFix?

A bug which needs to handle as a high priority bug and fix it immediately.

197
195. What is Boundary Value Analysis?

Boundary value analysis (BVA) is based on testing the boundary values of valid and
invalid partitions. The Behavior at the edge of each equivalence partition is more
likely to be incorrect than the behavior within the partition, so boundaries are an
area where testing is likely to yield defects. Every partition has its maximum and
minimum values and these maximum and minimum values are the boundary values
of a partition. A boundary value for a valid partition is a valid boundary value.
Similarly, a boundary value for an invalid partition is an invalid boundary value. .

198
196. What is Equivalence Class Partition?

Equivalence Partitioning is also known as Equivalence Class Partitioning. In


equivalence partitioning, inputs to the software or system are divided into groups
that are expected to exhibit similar behavior, so they are likely to be proposed in the
same way. Hence selecting one input from each group to design the test cases. .

199
197. What is Decision Table testing?

Decision Table is aka Cause-Effect Table. This test technique is appropriate for
functionalities which has logical relationships between inputs (if-else logic). In
Decision table technique, we deal with combinations of inputs. To identify the test
cases with decision table, we consider conditions and actions. We take conditions as
inputs and actions as outputs. .

200
198. What is State Transition?

Using state transition testing, we pick test cases from an application where we need
to test different system transitions. We can apply this when an application gives a
different output for the same input, depending on what has happened in the earlier
state. .

201
199. What is an entry criteria?

The prerequisites that must be achieved before commencing the testing process. .

202
200. What is an exit criteria?

The conditions that must be met before testing should be concluded. .

203
201. When to stop testing? (Or) How do you decide when you have tested
enough?

There are many factors involved in the real-time projects to decide when to stop
testing.

1. Testing deadlines or release deadlines


2. By reaching the decided pass percentage of test cases
3. The risk in the project is under acceptable limit
4. All the high priority bugs, blockers are fixed
5. When acceptance criteria is met
As per ISTQB, It depends on the risks for the system being tested.

204
Ques.202. Why is testing required?
Ans. We need software testing for following reasons-
1. Testing provides an assurance to the stakeholders that product works as
intended.
2. Avoidable defects leaked to the end user/customer without proper testing
adds bad reputation to the development company.
3. Defects detected earlier phase of SDLC results into lesser cost and resource
utilisation of correction.
4. Saves development time by detecting issues in earlier phase of development.
5. Testing team adds another dimension to the software development by
providing a different view point to the product development process.

205
Ques.203. When should we stop testing?
Ans. Testing can be stopped when one or more of the following conditions are met-
1. After test case execution - Testing phase can be stopped when one complete
cycle of test cases is executed after the last known bug fix with agreed upon
value of pass-percentage.
2. Once the testing deadline is met - Testing can be stoppped after deadlines get
met with no high priority issues left in system.
3. Based on Mean Time Between failure (MTBF)- MTBF is the time interval
between two inherent failures. Based on stakeholders decisions, if the MTBF
is quite large one can stop the testing phase.
4. Based on code coverage value - Testing phase can be stopped when the
automated code coverage reaches a specific threshold value with sufficient
pass-percentage and no critical bug.

206
Ques.204. What is Quality Assurance?
Ans. Quality assurance is a process driven approach which checks if the process of
developing the product is correct and conforming to all the standards. It is
considered as a preventive measure as it identifies the weakness in the process to
build a software. It involves activites like document review, test cases review,
walkthroughs, inspection etc.

207
Ques.205. What is Quality Control?
Ans. Quality control is product driven approach which checks that the developed
product conforms to all the specified requirements. It is considered as a corrective
measure as it tests the built product to find the defects. It involves different types of
testing like functional testing, performance testing, usability testing etc.

208
Ques.206. What is the difference between Verification and Validation?
Ans. Following are the major differences between verification and validation-

# Verification Validation

Verification is the process of evaluating Validation is the process of


the artifacts as well as the process of validating that the
1. software development in order to ensure developed software product
that the product being developed will conforms to the specified
comply to the standards. business requirements.

It involves dynamic testing


It is static process of analysing the
2. of software product by
documents and not the actual end product.
running it.

Verification is a process oriented Validation is a product


3.
approach. oriented approach.

Answers the question - "Are


Answers the question - "Are we building
4. we building the right
the product right?"
product?"

Errors found during


Errors found during verification require
validation require more
lesser cost/resources to get fixed as
5. cost/resources. Later the
compared to be found during validation
error is discovered higher is
phase.
the cost to fix it.

209
Ques.207. What is SDLC?
Ans. 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.

210
Ques.208. Explain STLC - Software Testing life cycle.
Software testing life cycle refers to all the activities performed during testing of a
software product. The phases include-
Requirement analyses and validation - In this phase the requirements
documents are analysed and validated and scope of testing is defined.
Test planning - In this phase test plan strategy is defined, estimation of test
effort is defined along with automation strategy and tool selection is done.
Test Design and analysis - In this phase test cases are designed, test data is
prepared and automation scripts are implemented.
Test environment setup - A test environment closely simulating the real world
environment is prepared.
Test execution - The test cases are prepared, bugs are reported and retested
once resolved.
Test closure and reporting - A test closure report is prepared having the final
test results summary, learnings and test metrics.

211
Ques.209. What are the different types of testing?
Testing can broadly be defined into two types-
Functional testing - Functional testing involves validating the functional
specifications of the system.
Non Functional testing - Non functional testing is a type of testing that
involves testing of non-functional requirements of the system such as
performance, scalability, security, endurance, portability etc.
Going by the way the testing is done, it can be categorized as-
Black box testing - In black box testing, the tester need not have any
knowledge of the internal architecture or implementation of the system. The
tester interact with the system through the interface providing input and
validating the received output.
White box testing - In white box testing, the tester analyses the internal
architecture of the system as well as the quality of source code on different
parameters like code optimization, code coverage, reusability etc.
Gray box testing - In gray box testing, the tester has partial access to the
internal architecture of the system e.g. the tester may have access to the
design documents or database structure. This information helps tester to test
the application better.

212
Ques.210. What is a test bed?
Ans. A test bed is a test environment used for testing an application. A test bed
configuration can consist of the hardware and software requirement of the
application under test including - operating system, hardware configurations,
software configurations, tomcat, database etc.

213
Ques.211. What is a test plan?
Ans. A test plan is a formal document describing the scope of testing, the approach
to be used, resources required and time estimate of carrying out the testing process.
It is derived from the requirement documents(Software Requirement Specifications).

214
Ques.212. What is a test scenario?
Ans. A test scenario is derived from a use case. It is used for end end to end testing
of a feature of an application. A single test scenario can cater multiple test cases.
The scenario testing is particularly useful when there is time constraint while testing.

215
Ques.213. What is a test case?
Ans. A test case is used to test the conformance of an application with its
requirement specifications. It is a set of conditions with pre-requisites, input values
and expected results in a documented form.

216
Ques.214. What are some attributes of a test case?
Ans. A test case can have following attributes-
1. TestCaseId - A unique identifier of the test case.
2. Test Summary - Oneliner summary of the test case.
3. Description - Detailed description of the test case.
4. Prerequisite or pre-condition - A set of prerequisites that must be followed
before executing the test steps.
5. Test Steps - Detailed steps for performing the test case.
6. Expected result - The expected result in order to pass the test.
7. Actual result - The actual result after executing the test steps.
8. Test Result - Pass/Fail status of the test execution.
9. Automation Status - Identifier of automation - whether the application is
automated or not.
10. Date - The test execution date.
11. Executed by - Name of the person executing the test case.

217
Ques.215. What is a test script?
Ans. A test script is an automated test case written in any programming or scripting
langauge. These are basically a set of instructions to evaluate the functioning of an
application.

218
Ques.216. What is a bug?
Ans. A bug is a fault in a software product detected at the time of testing, causing
it to function in an unanticipated manner.

219
Ques.217. What is a defect?
Ans. A defect is non-conformance with the requirement of the product detected in
production (after the product goes live).

220
Ques.218. What are some defect reporting attributes?
Ans. Some of the attributes of a Defect resport are-
DefectId - A unique identifier of the defect.
Defect Summary - A one line summary of the defect, more like a defect title.
Defect Description - A detailed description of the defect.
Steps to reproduce - The steps to reproduce the defect.
Expected Result - The expected behavior from which the application is
deviating because of the defect.
Actual Result- The current erroneous state of the application w.r.t. the defect.
Defect Severity - Based on the criticality of the defect, this field can be set to
minor, medium, major or show stopper.
Priority - Based on the urgency of the defect, this field can be set on a scale of
P0 to P3.

221
Ques.219. What are some of the bug or defect management tools?
Ans. Some of the most widely used Defect Management tools are - Jira, Bugzilla,
Redmine, Mantis, Quality Center etc.

222
Ques.220. What is defect density?
Ans. Defect density is the measure of density of the defects in the system. It can be
calculated by dividing number of defect identified by the total number of line of
code(or methods or classes) in the application or program.

223
Ques.221. What is defect priority?
Ans. A defect priority is the urgency of the fixing the defect. Normally the defect
priority is set on a scale of P0 to P3 with P0 defect having the most urgency to fix.

224
Ques.222. What is defect severity?
Ans. Defect severity is the severity of the defect impacting the functionality. Based
on the organisation, we can have different levels of defect severity ranging from
minor to critical or show stopper.

225
Ques.223. Give an example of Low priority-Low severity, Low priority-High
severity, High priority-Low severity, High priority-High severity defects.
Ans.
1. Low priority-Low severity - A spelling mistake in a page not frequently
navigated by users.
2. Low priority-High severity - Application crashing in some very corner case.
3. High priority-Low severity - Slight change in logo color or spelling mistake
in company name.
4. High priority-High severity - Issue with login functionality.

226
Ques.224. What is a blocker?
Ans. A blocker is a bug of high priority and high severity. It prevents or blocks
testing of some other major portion of the application as well.

227
Ques.225. What is a critical bug?
Ans. A critical bug is a bug that impacts a major functionality of the application and
the application cannot be delivered without fixing the bug. It is different from
blocker bug as it doesn't affect or blocks the testing of other part of the application.

228
Ques.226. Explain bug lifecycle or the different states of a bug.
Ans. A bug goes through the following phases in software development-
New - A bug or defect when detected is in New state
Assigned - The newly detected bug when assigned to the corresponding
developer is in Assigned state
Open - When the developer works on the bug, the bug lies in Open state
Rejected/Not a bug - A bug lies in rejected state in case the developer feels
the bug is not genuine
Deferred - A deferred bug is one, fix of which is deferred for some time(for
the next releases) based on urgency and criticality of the bug
Fixed - When a bug is resolved by the developer it is marked as fixed
Test - When fixed the bug is assigned to the tester and during this time the
bug is marked as in Test
Reopened - If the tester is not satisfied with issue resolution the bug is moved
to Reopened state
Verified - After the Test phase if the tester feels bug is resolved, it is marked
as verified
Closed - After the bug is verified, it is moved to Closed status.

229
Ques.227. What are the different test design techniques?
Ans. Test design techniques are different standards of test designing which allow
systematic and widely accepted test cases. The different test design techniques can
be categorized as static test design technique and dynamic test design technique.
1. Static Test Design Techniques - The test design techniques which involves
testing without executing the code. The various static test design techniques
can be further divided into two parts manual and using tool-

Manual static design techniques-

Walk through
Informal reviews
Technical reviews
Audit
Inspection
Management review
Static design techniques using tool-

Static analysis of code - It includes analysis of the different paths


and flows in the application and different states of the test data.
Compliance to coding standard - This evaluates the compliance of
the code with the different coding standards.
Analysis of code metrics - The tool used for static analysis is
required to evaluate the different metrics like lines of code,
complexity, code coverage etc.
2. Dynamic Test Design Techniques - Dynamic test design techniques involves
testing by running the system under test.

Specification based - Specification based test design techniques are


also referred to as blackbox testing. These involve testing based on the
specification of the system under test without knowing its internal
architecture.
Structure based - Structure based test design techniques are also
referred to as white box testing. In this techniques the knowledge of
code or internal architecture of the system is required to carry out the
testing.

230
Experienced based - The experienced based techniques are completely
based on the experience or intution of the tester. Two most common
forms of experienced based testing are - adhoc testing and exploratory
testing.

231
Ques.228. Explain the different types of specification based test design
technique?
Ans. Specification based test design techniques are also referred to as blackbox
testing. It involves testing based on the specification of the system under test
without knowing its internal architecture. The different types of specification based
test design or black box testing techniques are-
Equivalence partitioning - Grouping test data into logical groups or
equivalence classes with the assumpation that all the data items lying in the
classes will have same effect on the application.
Boundary value analysis - Testing using the boundary values of the
equivalence classes taken as the test input.
Decision tables - Testing using decision tables showing application's
behaviour based on different combination of input values.
Cause-effect graph - Testing using graphical representation of input i.e. cause
and output i.e. effect is used for test designing.
State transition testing - Testing based on state machine model.
Use case testing - Testing carried out using use cases.

232
Ques.229. Explain equivalence class partitioning.
Ans. Equivalence class partitioning is a specification based black box testing
techniques. In equivalence class partitioning, set of input data that defines different
test conditions are partitioned into logically similar groups such that using even a
single test data from the group for testing can be considered as similar to using all
the other data in that group. E.g. for testing a Square program(program that prints
the square of a number- the equivalence classes can be-
Set of Negative numbers, whole numbers, decimal numbers, set of large numbers
etc.

233
Ques.230. What is boundary value analysis?
Ans. Boundary value analysis is a software testing technique for designing test cases
wherein the boundary values of the classes of the equivalence class partitioning are
taken as input to the test cases e.g. if the test data lies in the range of 0-100, the
boundary value analysis will include test data - 0,1, 99, 100.

234
Ques.231. What is decision table testing?
Ans. Decision table testing is a type of specification based test design technique or
black box testing technique in which testing is carried out using decision tables
showing application's behaviour based on different combination of input values.
Decision tables are particularly helpful in designing test cases for complex business
scenarios involving verification of application with multiple combinations of input.

235
Ques.232. What is a cause effect graph?
Ans. A cause effect graph testing is black box test design technique in which
graphical representation of input i.e. cause and output i.e. effect is used for test
designing. This technique uses different notations representing AND, OR, NOT etc
relations between the input conditions leading to output.

236
Ques.233. What is state transition testing?
Ans. State transition testing is a black box test design technique based on state
machine model. State transition testing is based on the concept that a system can be
defined as a collection of multiple states and the transition from one state to other
happens because of some event.

237
Ques.234. What is use case testing?
Ans. A use case testing is a black box testing approach in which testing is carried
out using use cases. A use case scenario is seen as interaction between the
application and actors(users). These use cases are used for depicting requirements
and hence can also serve as basis for acceptance testing.

238
Ques.235. What is structure based testing?
Ans. Structure based test design techniques are also referred to as white box testing.
In this techniques the knowledge of code or internal architecture of the system is
required to carry out the testing. The various kinds of testing structure based or
white testing techniques are-
Statement testing - Test scripts are designed to execute code statements and
coverage is the measure of line of code or statements executed by test scripts.
Decision testing/branch testing - Measure of the percentage of decision
points(e.g. if-else conditions) executed out of the total decision points in the
application.
Condition testing- Testing the condition outcomes(TRUE or FALSE). So,
getting 100% condition coverage required exercising each condition for both
TRUE and FALSE results using test scripts(For n conditions we will have 2n
test scripts).
Multiple condition testing - Testing the different combinations of condition
outcomes. Hence for 100% coverage we will have 2^n test scripts. This is
very exhaustive and very difficult to achieve 100% coverage.
Condition determination testing - It is an optimized way of multiple condition
testing in which the combinations which doesn't affect the outcomes are
discarded.
Path testing - Testing the independent paths in the system(paths are
executable statements from entry to exit points).

239
Ques.236. What is Statement testing and statement coverage in white box
testing?
Ans. Statement testing is a white box testing approach in which test scripts are
designed to execute code statements.
Statement coverage is the measure of the percentage of statements of code executed
by the test scripts out of the total code statements in the application. The statement
coverage is the least preferred metric for checking test coverage.

240
Ques.237. What is decision testing or branch testing?
Ans. Decision testing or branch testing is a white box testing approach in which test
coverage is measured by the percentage of decision points(e.g. if-else conditions)
executed out of the total decision points in the application.

241
Ques.238. What are the different levels of the testing?
Ans. Testing can be performed at different levels during the development process.
Performing testing activities at multiple levels help in early identification of bugs.
The different levels of testing are -
1. Unit Testing
2. Integration Testing
3. System Testing
4. Acceptance Testing

242
Ques.239. What is unit testing?
Ans. Unit testing is the first level of testing and it involves testing of individual
modules of the software. It is usually performed by developers.

243
Ques.240. What is integration testing?
Ans. Integration testing is performed after unit testing. In integration testing, we test
the group of related modules. It aims at finding interfacing issues between the
modules.

244
Ques.241. What are the different types of integration testing?
Ans. The different type of integration testing are-
1. Big bang Integration Testing - In big bang integration testing, testing starts
only after all the modules are integrated.
2. Top-down Integration Testing - In top down integration, testing/integration
starts from top modules to lower level modules.
3. Bottom-up Integration Testing - In bottom up integration, testing starts from
lower level modules to higher level module up in the heirarchy.
4. Hybrid Integration Testing - Hybrid integration testing is the combination of
both Top-down and bottom up integration testing. In this approach, the
integration starts from middle layer and testing is carried out in both the
direction

245
Ques.242. What is stub?
Ans. In case of top-down integration testing, many a times lower level modules are
not developed while beginning testing/integration with top level modules. In those
cases Stubs or dummy modules are used that simulate the working of modules by
providing hardcoded or expected output based on the input values.

246
Ques.243. What is driver?
Ans. In case of bottom-up integration testing, drivers are used to simulate the
working of top level modules in order to test the related modules lower in the
heirarchy.

247
Ques.244. What is a test harness? Why do we need a test harness?
Ans. A test harness is a collection of test scripts and test data usually associated with
unit and integration testing. It involves stubs and drivers that are required for testing
software modules and integrated components.

248
Ques.245. What is system testing?
Ans. System testing is the level of testing where the complete software is tested as a
whole. The conformance of the application with its business requirements is
checked in system testing.

249
Ques.246. What is acceptance testing?
Ans. Acceptance testing is a testing performed by the potential end user or
customers to check if the software conforms to the business requirements and can be
accepted for use.

250
Ques.247. What is alpha testing?
Ans. Alpha testing is a type of acceptance testing that is performed end users at the
developer site.

251
Ques.248. What is beta testing?
Ans. Beta testing is the testing done by end users at end user's site. It allows users to
provide direct input about the software to the development company.

252
Ques.249. What is adhoc testing?
Ans. Adhoc testing is an unstructured way of testing that is performed without any
formal documentation or proper planning.

253
Ques.250. What is monkey testing?
Ans. Monkey testing is a type of testing that is performed randomly without any
predefined test cases or test inputs.

254
Ques.251. How is monkey testing different from adhoc testing?
Ans. In case of adhoc testing although there are no predefined or documented test
cases still testers have the understanding of the application. While in case of monkey
testing testers doesn't have any understanding of the application.

255
Ques.252. What is exploratory testing?
Ans. Exploratory testing is a type of testing in which new test cases are added and
updated while exploring the system or executing test cases. Unlike scripted testing,
test design and execution goes parallely in exploratory testing.

256
Ques.253. What is performance testing?
Ans. 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, scalabilty etc.

257
Ques.254. What is load testing?
Ans. Load testing is a type of performance testing which aims at finding
application's performance under expected workload. During load testing we evaluate
the response time, throughput, error rate etc parameters of the application.

258
Ques.255. What is stress testing?
Ans. Stress testing is a type of performance testing in which application's behaviour
is monitored under higher workload then expected. Stress testing is done to find
memory leaks and robustness of the application.

259
Ques.256. What is volume testing?
Ans. Volume testing is a type of performance testing in which the performance of
application is evaluated with large amount of data. It checks the scalability of the
application and helps in identification of bottleneck with high volume of data.

260
Ques.257. What is endurance testing or Soak testing?
Ans. Endurance testing is a type of performance testing which aims at finding issues
like memory leaks when an application is subjected to load test for a long period of
time.

261
Ques.258. What is spike testing?
Ans. Spike testing is a type of performance testing in which the application's
performance is measured while suddenly increasing the number of active users
during the load test.

262
Ques.259. What is usability testing?
Ans. Usability testing is the type of testing that aims at determining the ease of using
the application. It aims at uncovering the usability defects in the application.

263
Ques.260. What is Accessibility testing?
Ans. Accessibility is the type of testing which aims at determining the ease of use or
operation of the application specifically for people with disabilities.

264
Ques.261. What is compatibility testing?
Ans. Testing software to see how compatible the software is with a particular
environment - operating system, platform or hardware.

265
Ques.262. What is configuration testing?
Ans. Configuration testing is the type of testing used to evaluate the configurational
requirements of the software along with effect of changing the required
configuration.

266
Ques.263. What is localisation testing?
Ans. Localisation testing is a type of testing in which we evaluate the application's
customization(localized version of application) in a particular culture, locale or
country.

267
Ques.264. What is globalisation testing?
Ans. Globalisation testing is a type of testing in which application is evaluated for
its functioning across the world in different cultures, languages, locale and
countries.

268
Ques.265. What is negative testing?
Ans. Negative testing is a type of testing in which the application's
robustness(graceful exiting or error reporting) is evaluated when provided with
invalid input or test data.

269
Ques.266. What is security testing?
Ans. Security testing is a type of testing which aims at evaluating the integrity,
authentication, authorization, availabilty, confidentiality and non-repudation of the
application under test.

270
Ques.267. What is penetration testing?
Ans. Penetration testing or pen testing is a type of security testing in which
application is evaluated(safely exploited) for different kinds of vulnerabilities that
any hacker could expolit.

271
Ques.268. What is robustness testing?
Ans. Robustness testing is a type of testing that is performed to find the robustness
of the application i.e. the ability of the system to behave gracefully in case of
erroneous test steps and test input.

272
Ques.269. What is A/B testing?
A/B testing is a type of testing in which the two variants of the software product are
exposed to the end users and on analysing the user behaviour on each variant, the
better variant is chosen and used thereafter.

273
Ques.270. What is concurrency testing?
Ans. Concurrency testing is a multi-user testing in which an application is evaluated
by analyzing application's behaviour with concurent users acccessing the same
functionality.

274
Ques.271. What is all pair testing?
Ans. All pair testing is a type of testing in which the application is tested with all
possible combination of the values of input parameters.

275
Ques.272. What is failover testing?
Ans. Failover testing is a type of testing that is used to verify application's ability to
allocate more resources(more servers) in case of failure and transfering of the
processing part to back-up system.

276
Ques.273. What is fuzz testing?
Ans. Fuzz testing is a type of testing in which large amount of random data is
provided as input to the application in order to find security loopholes and other
issues in the application.

277
Ques.274. What is UI testing?
Ans. UI or user interface testing is a type of testing that aims at finding Graphical
User Interface defects in the application and checks that the GUI conforms to the
specifications.

278
Ques.275. What is risk analysis?
Ans. Risk analysis is the analysis of the risk identified and assigning an appropriate
risk level to it based on its impact over the application.

279
Ques.276. What is the difference between regression and retesting?
Ans. Regression testing involves testing the application to verify that a new code
change doesn't affect the other parts of the application. Whereas, in retesting, we
verify if the fixed issue is resolved or not.

280
Ques.277. What is the difference between black-box and white-box testing?
Ans. Black-box testing is a type of testing in which internal architecture of the code
is not required for testing. It is usually applicable for system and acceptance testing.
Whereas white-box testing requires internal design and implementation knowledege
of the application being tested. It is usually applicable for Unit and Integration
testing.

281
Ques.278. What is the difference between smoke and sanity testing?
Ans. The difference between smoke and sanity testing is-
Smoke testing is a type of testing in which the all major functionalities of the
application are tested before carrying out exhaustive testing. Whereas, sanity
testing is subset of regression testing which is carried out when there is some
minor fix in application in a new build.
In smoke testing, shallow-wide testing is carried out while in sanity narrow-
deep testing (for a particular functionality) is done.
The smoke tests are usually documented or are automated. Whereas, the
sanity tests are generally not documented or unscripted.

282
Ques.279. What is code coverage?
Ans. Code coverage is the measure of the amount of code covered by the test
scripts. It gives the idea of the part of the application covered by the test suite.

283
Ques.280. What is cyclomatic complexity?
Ans. Cyclomatic complexity is the measure of the number of independent paths in
an application or program. This metric provides an indication of the amount of effort
required to test complete functionality. It can be defined by the expression -
L – N + 2P, where:
L is the number of edges in the graph
N is the number of node
P is the number of disconnected parts

284
Ques.281. What is dynamic testing?
Ans. Testing performed by executing or running the application under test either
manually or using automation.

285
Ques.282. What is an exit criteria?
Ans. An exit criteria is a formal set of conditions that specify the agreed upon
features or state of application in order to mark the completion of the process or
product.

286
Ques.283. What is requirement traceability matrix(RTM)?
Ans. In software testing, a traceability matrix is a table that relates the high level
requirements with either detailed requirements, test plans or test cases. RTM helps
in ensuring 100% test coverage.

287
Ques.284. What is pilot testing?
Ans. Pilot testing is a testing carried out as a trial by limited number of users to
evaluate the system and provide their feedback before the complete deployment is
carried out.

288
Ques.285. What is backend testing?
Ans. Backend testing is a type of testing that invloves testing the backend of the
system which comprises of testing the databases and the APIs in the application.

289
Ques.286. What are some advantages of automation testing?
Ans. Some advantages of automation testing are-
1. Test execution using automation is fast and saves considerable amount of
time.
2. Carefully written test scripts remove the chance of human error during
testing.
3. Tests execution can be scheduled for nightly run using CI tools like Jenkins
which can also be configured to provide daily test results to relevant
stakeholders.
4. Automation testing is very less resource intensive. Once the tests are
automated, test execution requires almost no time of QAs. Saving Qa
bandwidth for other explratory tasks.

290
Ques.287. What are some disadvantages of automation testing?
Ans. Some advantages of automation testing are-
1. It requries skilled automation testing experts to write test scritps.
2. Additional effort to write scripts is required upfront.
3. Automation scripts are limited to verification of the tests that are coded.
These tests may miss some error that is very glaring and easily identifiable to
human(manual QA).
4. Even with some minor change in application, script updation and
maintenance is required.

291
Ques.288. What is mutation testing?
Ans. Mutation testing is a type of white box testing in which the source code of the
application is mutated to cause some defect in its working. After that the test scripts
are executed to check for their correctness by verifying the failures caused the
mutant code.

292
Q-289. What Does The High Availability Testing Mean For A Software Tester?
High availability shows the ability of a system or a component to operate
continuously without failure even at high loads for a long time.

Hence, the High availability testing confirms that a system or its sub-systems have
gone through thorough checks and, in many cases, simulates failures to validate
whether components support redundancy or not.

293
Q-290. What Does It Mean By Baseline Testing?
A baseline is the indicator of a specific benchmark that serves as the foundation of a
new creation.

In Baseline testing, the tests capture and preserve all the results produced by the
source code, and compare against a reference baseline. This reference baseline refers
to the last accepted test results. If there are new changes in the source code, then it
requires re-execution of tests to form the current baseline. If the new results get
accepted, then the current baseline becomes the reference.

294
Q-291. What Is The Purpose Of A Failover Test?
Failover testing is a test strategy to evaluate how a software allocates resources and
switch operations to backup systems for preventing operational failures.

295
Q-292. What Does It Mean By Gorilla Testing?
Gorilla Testing is a testing strategy where testers collaborate with developers as a
joint force for validating a target module thoroughly from all ends.

296
Q-293. What Is The Purpose Of End To End Testing?
End to End Testing is a testing strategy to execute tests which covers every possible
flow of an application from its start to the finish. The objective of performing end-
to-end tests is to discover software dependencies and to assert that the correct input
is getting passed between various software modules and sub-systems.

297
Ques.294. What should be the psychology testing?
The two main stakeholders in software development life cycle - Testers and
Developers have different mindsets while approaching an application. Testers tend
to have a more stringent approach of examining the software. Most of the time they
are looking to "break the application". Whereas, developers have the mindset to
"make the application work".
ISTQB has defined certain psychological factors that influence the success of
testing-
Independence - Testers should enjoy a certain degree of independence while
testing the application rather than following a straight path. This can be
achieved by different apporaches like off-shoring the QA process, getting test
strategies and other test plans by someone not following any sort of bias.
Testing is often looked upon as destructive activity as it aims at finding flaws
in system. But QA personnel should present testing as required and integral
part, presenting it as constructive activity in overall sofware development
lifecycle by mitigating the risks at early stages.
More often than not, tester and developers are at the opposite end of
spectrum. Testers need to have good interpersonal skills to communicate their
findings without indulging in any sort of tussle with the developers.
All the communication and discussions should be focussed on facts and
figures(risk analysis, priority setting etc). Emphasizing that the collaborative
work of developers and testers will lead to better software.
Empathy is one characterstic that definitely helps in testing. Testers
empathizing with developers and other project stakeholders will lead to better
relation between the two. Also, empathizing with end users will lead to a
software with better usability of the product.

298
Ques.295. What is the difference between testing and debugging?
Ans. Testing is the primarily performed by testing team in order to find the defects
in the system. Whereas, debugging is an activity performed by development team.
In debugging the cause of defect is located and fixed. Thus removing the defect and
preventing any future occurrence of the defect as well.
Other difference between the two is - testing can be done without any internal
knowledge of software architecture. Whereas debugging requires knowledge of the
software architecture and coding.

299
Ques.296. Explain Agile methodology?
Ans. Agile methodology of software development is based on interative and
incremental approach. In this model, the application is broken down into smaller
build on which different cross functional team work together providing rapid
delivery along with adapting to changing needs at the same time.

300
Ques.297. What is scrum?
Ans. A scrum is a process for implementing Agile methodology. In scrum, time is
divided into sprints and on completion of sprints, a deliverable is shipped.

301
Ques.298. What are the different roles in scrum?
Ans. The different roles in scrum are -
1. Product Owner - The product owner owns the whole development of the
product, assign tasks to the team and act as an interface between the scrum
team(development team) and the stakeholders.
2. Scrum Master - The scrum master monitors that scrum rules get followed in
the team and conducts scrum meeting.
3. Scrum Team - A scrum team participate in the scrum meetings and perform
the tasks assigned.

302
Ques.299. What is a scrum meeting?
Ans. A scrum meeting is daily meeting in scrum process. This meeting is conducted
by scrum master and update of previous day's work along with next day's task and
context is defined in this meeting.

303
Ques.300. Explain TDD (Test Driven Development).
Ans. Test Driven Development is a software development methodology in which the
development of the software is driven by test cases created for the functionality to
be implemented. In TDD, first the test cases are created and then code to pass the
tests is written. Later the code is refactored as per the standards.

304
301. What is SDLC?

Software Development Life Cycle (SDLC) aims to produce a high-quality system


that meets or exceeds customer expectations, works effectively and efficiently in the
current and planned information technology infrastructure, and is inexpensive to
maintain and cost-effective to enhance.

305
302. What is "use case testing"?
In order to identify and execute the functional requirement of an application from
start to finish "use case" is used and the techniques used to do this is known as "Use
Case Testing"

306
303. What is the difference between STLC (Software Testing Life Cycle) and
SDLC (Software Development Life Cycle) ?
SDLC deals with developement/coding of the software while STLC deales with
validation and verification of the software

307
304. What is traceability matrix?
The relationship between test cases and requirements is shown with the help of a
document. This document is known as traceability matrix.

308
305. What is Equivalence partitioning testing?
Equivalence partitioning testing is a software testing technique which divides the
application input test data into each partition at least once of equivalent data from
which test cases can be derived. By this testing method it reduces the time required
for software testing.

309
306. What is white box testing and list the types of white box testing?
White box testing technique involves selection of test cases based on an analysis of
the internal structure (Code coverage, branches coverage, paths coverage, condition
coverage etc.) of a component or system. It is also known as Code-Based testing or
Structural testing. Different types of white box testing are
1. Statement Coverage
2. Decision Coverage

310
307. In white box testing what do you verify?
In white box testing following steps are verified.
1. Verify the security holes in the code
2. Verify the incomplete or broken paths in the code
3. Verify the flow of structure according to the document specification
4. Verify the expected outputs
5. Verify all conditional loops in the code to check the complete functionality of
the application
6. Verify the line by line coding and cover 100% testing

311
308. What is black box testing? What are the different black box testing
techniques?
Black box testing is the software testing method which is used to test the software
without knowing the internal structure of code or program. This testing is usually
done to check the functionality of an application. The different black box testing
techniques are
1. Equivalence Partitioning
2. Boundary value analysis
3. Cause effect graphing

312
309. What is the difference between static and dynamic testing?
Static testing: During Static testing method, the code is not executed and it is
performed using the software documentation.
Dynamic testing: To perform this testing the code is required to be in an executable
form.

313
310. What is verification and validation?
Verification is a process of evaluating software at development phase and to decide
whether the product of a given application satisfies the specified requirements.
Validation is the process of evaluating software at the end of the development
process and to check whether it meets the customer requirements.

314
311. What are different test levels?
There are four test levels
1. Unit/component/program/module testing
2. Integration testing
3. System testing
4. Acceptance testing

315
312. What is Integration testing?
Integration testing is a level of software testing process, where individual units of an
application are combined and tested. It is usually performed after unit and functional
testing.

316
313. What are the tables in test plans?
Test design, scope, test strategies, approach are various details that Test plan
document consists of.
1. Test case identifier
2. Scope
3. Features to be tested
4. Features not to be tested
5. Test strategy & Test approach
6. Test deliverables
7. Responsibilities
8. Staffing and training
9. Risk and Contingencies

317
314. What is the difference between UAT (User Acceptance Testing) and
System testing?
System Testing: System testing is finding defects when the system under goes
testing as a whole, it is also known as end to end testing. In such type of testing, the
application undergoes from beginning till the end.
UAT: User Acceptance Testing (UAT) involves running a product through a series
of specific tests which determines whether the product will meet the needs of its
users.

318
315. Mention the difference between Data Driven Testing and Retesting?
Retesting: It is a process of checking bugs that are actioned by development team
to verify that they are actually fixed.
Data Driven Testing (DDT): In data driven testing process, application is tested
with multiple test data. Application is tested with different set of values.

319
316. What are the valuable steps to resolve issues while testing?
Record : Log and handle any problems which has happened
Report: Report the issues to higher level manager
Control: Define the issue management process

320
317. What is the difference between test scenarios, test cases and test script?
Difference between test scenarios and test cases is that
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.

321
318. What is Latent defect?
Latent defect: This defect is an existing defect in the system which does not cause
any failure as the exact set of conditions has never been met

322
319. What are the two parameters which can be useful to know the quality of
test execution?
To know the quality of test execution we can use two parameters
Defect reject ratio
Defect leakage ratio

323
320. What is the function of software testing tool "phantom"?
Phantom is a freeware, and is used for windows GUI automation scripting
language. It allows to take control of windows and functions automatically. It can
simulate any combination of key strokes and mouse clicks as well as menus, lists
and more.

324
321. Explain what is Test Deliverables ?
Test Deliverables are set of documents, tools and other components that has to be
developed and maintained in support of testing.
There are different test deliverables at every phase of the software development
lifecycle
Before Testing
During Testing
After the Testing

325
322. What is mutation testing?
Mutation testing is a technique to identify if a set of test data or test case is useful by
intentionally introducing various code changes (bugs) and retesting with original test
data/ cases to determine if the bugs are detected.

326
323. What all things you should consider before selecting automation tools for
the AUT?
Technical Feasibility
Complexity level
Application stability
Test data
Application size
Re-usability of automated scripts
Execution across environment

327
324. How will you conduct Risk Analysis?
For the risk analysis following steps need to be implemented
1. Finding the score of the risk
2. Making a profile for the risk
3. Changing the risk properties
4. Deploy the resources of that test risk
5. Making a database of risk

328
325. What are the categories of debugging?
Categories for debugging
1. a) Brute force debugging
2. b) Backtracking
3. c) Cause elimination
4. d) Program slicing
5. e) Fault tree analysis

329
326. What is fault masking explain with example?
When presence of one defect hides the presence of another defect in the system is
known as fault masking.
Example : If the "Negative Value" cause a firing of unhandled system exception,
the developer will prevent the negative values inpu. This will resolve the issue and
hide the defect of unhandled exception firing.

330
327. Explain what is Test Plan ? What are the information that should be
covered in Test Plan ?
A test plan can be defined as a document describing the scope, approach, resources
and schedule of testing activities and a test plan should cover the following details.
Test Strategy
Test Objective
Exit/Suspension Criteria
Resource Planning
Test Deliverables

331
328. How you can eliminate the product risk in your project ?
To eliminate product risk in your project, there is simple yet crucial step that can
reduce the product risk in your project.
Investigate the specification documents
Have discussions about the project with all stakeholders including the
developer
As a real user walk around the website

332
329. What are the common risk that leads to the project failure?
The common risk that leads to a project failure are
Not having enough human resource
Testing Environment may not be set up properly
Limited Budget
Time Limitations

333
330. On what basis you can arrive to an estimation for your project?
To estimate your project , you have to consider following points
Divide the whole project into a smallest tasks
Allocate each task to team members
Estimate the effort required to complete each task
Validate the estimation

334
331. Explain how you would allocate task to team members ?
Task Member

Analyze software requirement All the members


specification

Create the test specification Tester/Test Analyst

Build up the test environment Test administrator

Execute the test cases Tester, Test


administrator

Report defects Tester

335
332. Explain what is testing type and what are the commonly used testing type
?
To get an expected test outcome a standard procedure is followed which is referred
as Testing Type.
Commonly used testing types are
Unit Testing: Test the smallest code of an application
API Testing: Testing API created for the application
Integration Testing: Individual software modules are combined and tested
System Testing: Complete testing of system
Install/UnInstall Testing: Testing done from the point of client/customer view
Agile Testing: Testing through Agile technique

336
333. While monitoring your project what all things you have to consider ?
The things that has to be taken in considerations are
Is you project on schedule
Are you over budget
Are you working towards the same career goal
Have you got enough resources
Are there any warning signs of impending problems
Is there any pressure from management to complete the project sooner

337
334. What are the common mistakes which creates issues ?
Matching resources to wrong projects
Test manager lack of skills
Not listening to others
Poor Scheduling
Underestimating
Ignoring the small problems
Not following the process

338
335. What does a typical test report contains? What are the benefits of test
reports?
A test report contains following things:
Project Information
Test Objective
Test Summary
Defect
The benefits of test reports are:
Current status of project and quality of product are informed
If required, stake holder and customer can take corrective action
A final document helps to decide whether the product is ready for release

339
336. What is test management review and why it is important?
Management review is also referred as Software Quality Assurance or SQA. SQA
focusses more on the software process rather than the software work products. It is
a set of activities designed to make sure that the project manager follows the
standard process. SQA helps test manager to benchmark the project against the set
standards.

340
337. What are the best practices for software quality assurance?
The best practices for an effective SQA implementation is
Continuous Improvement
Documentation
Tool Usage
Metrics
Responsibility by team members
Experienced SQA auditors

341
338. When is RTM (Requirement Traceability Matrix) prepared ?
RTM is prepared before test case designing. Requirements should be traceable from
review activities.

342
339. What is difference between Test matrix and Traceability matrix?
Test Matrix: Test matrix is used to capture actual quality, effort, the plan,
resources and time required to capture all phases of software testing
Traceability Matrix:Mapping between test cases and customer requirements is
known as Traceability Matrix

343
340. In manual testing what are stubs and drivers?
Both stubs and drivers are part of incremental testing. In incremental testing there
are two approaches namely bottom up and top down approach. Drivers are used in
bottom up testing and stub is used for top down approach. In order to test the main
module, stub is used, whuich is a dummy code or program .

344
341. What are the step you would follow once you find the defect?
Once defect is found you would follow the step
a) Recreate the defect
b) Attach the screen shot
c) Log the defect

345
342. Explain what is "Test Plan Driven" or "Key Word Driven" method of
testing?
This technique uses the actual test case document developed by testers using a
spread sheet containing special "key Words". The key words control the processing.

346
343. What is DFD (Data Flow Diagram) ?
When a "flow of data" through an information system is graphically represented
then it is known as Data Flow Diagram. It is also used for the visualization of data
processing.

347
344. Explain what is LCSAJ?
LCSAJ stands for 'linear code sequence and jump'. It consists of the following three
items
a) Start of the linear sequence of executable statements
b) End of the linear sequence
c) The target line to which control flow is transferred at the end of the linear
sequence

348
345. Explain what is N+1 testing?
The variation of regression testing is represented as N+1. In this technique the
testing is performed in multiple cycles in which errors found in test cycle 'N' are
resolved and re-tested in test cycle N+1. The cycle is repeated unless there are no
errors found.

349
346. What is Fuzz testing and when it is used?
Fuzz testing is used to detect security loopholes and coding errors in software. In
this technique random data is added to the system in attempt to crash the system. If
vulnerability persists, a tool called fuzz tester is used to determine potential causes.
This technique is more useful for bigger projects but only detects major fault.

350
347. Mention what are the main advantages of statement coverage metric of
software testing?
The benefit of statement coverage metric is that
a) It does not require processing source code and can be applied directly to object
code
b) Bugs are distributed evenly through code, due to which percentage of
executable statements covered reflects the percentage of faults discovered

351
348. How to generate test cases for replace string method?
a) If characters in new string > characters in previous string. None of the
characters should get truncated
b) If characters in new string< characters in previous string. Junk characters
should not be added
c) Spaces after and before the string should not be deleted
d) String should be replaced only for the first occurrence of the string

352
349. How will you handle a conflict amongst your team members ?
I will talk individually to each person and note their concerns
I will find solution to the common problems raised by team members
I will hold a team meeting , reveal the solution and ask people to co-operate

353
350. Mention what are the categories of defects?
Mainly there are three defect categories
Wrong: When requirement is implemented incorrectly
Missing: It is a variance from the specification, an indication that a
specification was not implemented or a requirement of the customer is not
met
Extra: A requirement incorporated into the product that was not given by the
end customer. It is considered as a defect because it is a variance from the
existing requirements

354
351. Explain how does a test coverage tool works?
The code coverage testing tool runs parallel while performing testing on the actual
product. The code coverage tool monitors the executed statements of the source
code. When the final testing is done we get a complete report of the pending
statements and also get the coverage percentage.

355
352. Mention what is the difference between a "defect" and a "failure" in
software testing?
In simple terms when a defect reaches the end customer it is called a failure while
the defect is identified internally and resolved then it is referred as defect.

356
353. Explain how to test documents in a project that span across the software
development lifecycle?
The project span across the software development lifecycle in following manner
Central/Project test plan: It is the main test plan that outlines the complete test
strategy of the project. This plan is used till the end of the software
development lifecycle
Acceptance test plan: This document begins during the requirement phase and
is completed at final delivery
System test plan: This plan starts during the design plan and proceeds until
the end of the project
Integration and Unit test plan: Both these test plans start during the execution
phase and last until the final delivery

357
354. Explain which test cases are written first black boxes or white boxes?
Black box test cases are written first as to write black box test cases; it requires
project plan and requirement document all these documents are easily available at
the beginning of the project. While writing white box test cases requires more
architectural understanding and is not available at the start of the project.

358
355. Explain what is the difference between latent and masked defects?
Latent defect: A latent defect is an existing defect that has not caused a
failure because the sets of conditions were never met
Masked defect: It is an existing defect that has not caused a failure because
another defect has prevented that part of the code from being executed

359
356. Mention what is bottom up testing?
Bottom up testing is an approach to integration testing, where the lowest level
components are tested first, then used to facilitate the testing of higher level
components. The process is repeated until the component at the top of the hierarchy
is tested.

360
357. Mention what are the different types of test coverage techniques?
Different types of test coverage techniques include
Statement Coverage: It verifies that each line of source code has been
executed and tested
Decision Coverage: It ensures that every decision in the source code is
executed and tested
Path Coverage: It ensures that every possible route through a given part of
code is executed and tested

361
358. Mention what is the meaning of breadth testing?
Breadth testing is a test suite that exercises the full functionality of a product but
does not test features in detail

362
359. Explain what is the meaning of Code Walk Through?
Code Walk Through is the informal analysis of the program source code to find
defects and verify coding techniques

363
360. Mention what are the basic components of defect report format?
The basic components of defect report format includes
Project Name
Module Name
Defect detected on
Defect detected by
Defect ID and Name
Snapshot of the defect
Priority and Severity status
Defect resolved by
Defect resolved on

364
361. Mention what is the purpose behind doing end-to-end testing?
End-to end testing is done after functional testing. The purpose behind doing end-to-
end testing is that
To validate the software requirements and integration with external interfaces
Testing application in real world environment scenario
Testing of interaction between application and database

365
362. Explain what it means by test harness?
A test harness is configuring a set of tools and test data to test an application in
various conditions, it involves monitoring the output with expected output for
correctness.

366
363. Explain in a testing project what testing activities would you automate?
In a testing project testing activities you would automate are
Tests that need to be run for every build of the application
Tests that use multiple data for the same set of actions
Identical tests that needs to be executed using different browsers
Mission critical pages
Transaction with pages that do not change in short time

367
364. What is the MAIN benefit of designing tests early in the life cycle?
It helps prevent defects from being introduced into the code.

368
365. What is risk-based testing?
Risk-based Testing is the term used for an approach to creating a Test Strategy that
is based on prioritizing tests by risk. The basis of the approach is a detailed risk
analysis and prioritizing of risks by risk level. Tests to address each risk are then
specified, starting with the highest risk first.

369
366. What is the KEY difference between preventative and reactive approaches
to testing?
Preventative tests are designed early; reactive tests are designed after the software
has been produced.

370
367. What is the purpose of exit criteria?
The purpose of exit criteria is to define when a test level is completed.

371
368. What determines the level of risk?
The likelihood of an adverse event and the impact of the event determine the level
of risk.

372
369. When is used Decision table testing?
Decision table testing is used for testing systems for which the specification takes
the form of rules or cause-effect combinations. In a decision table the inputs are
listed in a column, with the outputs in the same column but below the inputs. The
remainder of the table explores combinations of inputs to define the outputs
produced.

373
370. Why we use decision tables?
The techniques of equivalence partitioning and boundary value analysis are often
applied to specific situations or inputs. However, if different combinations of inputs
result in different actions being taken, this can be more difficult to show using
equivalence partitioning and boundary value analysis, which tend to be more
focused on the user interface. The other two specification-based techniques, decision
tables and state transition testing are more focused on business logic or business
rules. A decision table is a good way to deal with combinations of things (e.g.
inputs). This technique is sometimes also referred to as a 'cause-effect' table. The
reason for this is that there is an associated logic diagramming technique called
'cause-effect graphing' which was sometimes used to help derive the decision table

374
371. What is the MAIN objective when reviewing a software deliverable?
To identify defects in any software work product.

375
372. Which of the following defines the expected results of a test? Test case
specification or test design specification.
Test case specification defines the expected results of a test.

376
373. What is the benefit of test independence?
It avoids author bias in defining effective tests.

377
374. As part of which test process do you determine the exit criteria?
The exit criteria is determined on the bases of 'Test Planning'.

378
375. What is Alpha testing?
Pre-release testing by end user representatives at the developer's site.

379
376. What is beta testing?
Testing performed by potential customers at their own locations.

380
377. Mention what is the difference between Pilot and Beta testing?
The difference between pilot and beta testing is that pilot testing is actually done
using the product by the group of user before the final deployment and in beta
testing we do not input real data, but it is installed at the end customer to validate if
the product can be used in production.

381
378. Given the following fragment of code, how many tests are required for
100% decision coverage?
if width > length
thenbiggest_dimension = width
if height > width
thenbiggest_dimension = height
end_if
elsebiggest_dimension = length
if height > length
thenbiggest_dimension = height
end_if
end_if

382
379. You have designed test cases to provide 100% statement and 100%
decision coverage for the following fragment of code. if width > length then
biggest_dimension = width else biggest_dimension = length end_if The
following has been added to the bottom of the code fragment above. print
"Biggest dimension is " &biggest_dimensionprint "Width: " & width print
"Length: " & length How many more test cases are required?
None, existing test cases can be used.

383
380. What is the difference between Testing Techniques and Testing Tools?
Testing technique: – Is a process for ensuring that some aspects of the application
system or unit functions properly there may be few techniques but many tools.
Testing Tools: – Is a vehicle for performing a test process. The tool is a resource to
the tester, but itself is insufficient to conduct testing

384
381. We use the output of the requirement analysis, the requirement
specification as the input for writing …
User Acceptance Test Cases

385
382. Repeated Testing of an already tested program, after modification, to
discover any defects introduced or uncovered as a result of the changes in the
software being tested or in another related or unrelated software component:
Regression Testing

386
383. A wholesaler sells printer cartridges. The minimum order quantity is 5.
There is a 20% discount for orders of 100 or more printer cartridges. You have
been asked to prepare test cases using various values for the number of printer
cartridges ordered. Which of the following groups contain three test inputs that
would be generated using Boundary Value Analysis?
4, 5, 99

387
384. What is component testing?
Component testing, also known as unit, module and program testing, searches for
defects in, and verifies the functioning of software (e.g. modules, programs, objects,
classes, etc.) that are separately testable. Component testing may be done in
isolation from the rest of the system depending on the context of the development
life cycle and the system. Most often stubs and drivers are used to replace the
missing software and simulate the interface between the software components in a
simple manner. A stub is called from the software component to be tested; a driver
calls a component to be tested.

388
385. What is functional system testing?
Testing the end to end functionality of the system as a whole is defined as a
functional system testing.

389
386. What are the benefits of Independent Testing?
Independent testers are unbiased and identify different defects at the same time.

390
387. In a REACTIVE approach to testing when would you expect the bulk of
the test design work to be begun?
The bulk of the test design work begun after the software or system has been
produced.

391
388. What are the different Methodologies in Agile Development Model?
There are currently seven different agile methodologies that I am aware of:
1. Extreme Programming (XP)
2. Scrum
3. Lean Software Development
4. Feature-Driven Development
5. Agile Unified Process
6. Crystal
7. Dynamic Systems Development Model (DSDM)

392
389. Which activity in the fundamental test process includes evaluation of the
testability of the requirements and system?
A 'Test Analysis' and 'Design' includes evaluation of the testability of the
requirements and system.

393
390. What is typically the MOST important reason to use risk to drive testing
efforts?
Because testing everything is not feasible.

394
391. What is random/monkey testing? When it is used?
Random testing often known as monkey testing. In such type of testing data is
generated randomly often using a tool or automated mechanism. With this randomly
generated input the system is tested and results are analysed accordingly. These
testing are less reliable; hence it is normally used by the beginners and to see
whether the system will hold up under adverse effects.

395
392. Which of the following are valid objectives for incident reports?
1. Provide developers and other parties with feedback about the problem to
enable identification, isolation and correction as necessary.
2. Provide ideas for test process improvement.
3. Provide a vehicle for assessing tester competence.
4. Provide testers with a means of tracking the quality of the system under test.

396
393. Consider the following techniques. Which are static and which are
dynamic techniques?
1. Equivalence Partitioning.
2. Use Case Testing.
3. Data Flow Analysis.
4. Exploratory Testing.
5. Decision Testing.
6. Inspections.
Data Flow Analysis and Inspections are static; Equivalence Partitioning, Use Case
Testing, Exploratory Testing and Decision Testing are dynamic.

397
394. Why are static testing and dynamic testing described as complementary?
Because they share the aim of identifying defects but differ in the types of defect
they find.

398
395. What are the phases of a formal review?
In contrast to informal reviews, formal reviews follow a formal process. A typical
formal review process consists of six main steps:
1. Planning
2. Kick-off
3. Preparation
4. Review meeting
5. Rework
6. Follow-up.

399
396. What is the role of moderator in review process?
The moderator (or review leader) leads the review process. He or she determines, 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.

400
397. What is an equivalence partition (also known as an equivalence class)?
An input or output ranges of values such that only one value in the range becomes a
test case.

401
398. When should configuration management procedures be implemented?
During test planning.

402
399. A Type of functional Testing, which investigates the functions relating to
detection of threats, such as virus from malicious outsiders?
Security Testing

403
400. Testing where in we subject the target of the test , to varying workloads to
measure and evaluate the performance behaviours and ability of the target and
of the test to continue to function properly under these different workloads?
Load Testing

404
401. Testing activity which is performed to expose defects in the interfaces and
in the interaction between integrated components is?
Integration Level Testing

405
402. What are the Structure-based (white-box) testing techniques?
Structure-based testing techniques (which are also dynamic rather than static) use
the internal structure of the software to derive test cases. They are commonly called
'white-box' or 'glass-box' techniques (implying you can see into the system) since
they require knowledge of how the software is implemented, that is, how it works.
For example, a structural technique may be concerned with exercising loops in the
software. Different test cases may be derived to exercise the loop once, twice, and
many times. This may be done regardless of the functionality of the software.

406
403. When "Regression Testing" should be performed?
After the software has changed or when the environment has changed Regression
testing should be performed.

407
404. What is negative and positive testing?
A negative test is when you put in an invalid input and receives errors. While a
positive testing, is when you put in a valid input and expect some action to be
completed in accordance with the specification.

408
405. What is the purpose of a test completion criterion?
The purpose of test completion criterion is to determine when to stop testing

409
406. What can static analysis NOT find?
For example memory leaks.

410
407. What is the difference between re-testing and regression testing?
Re-testing ensures the original fault has been removed; regression testing looks for
unexpected side effects.

411
408. What are the Experience-based testing techniques?
In experience-based techniques, people's knowledge, skills and background are a
prime contributor to the test conditions and test cases. The experience of both
technical and business people is important, as they bring different perspectives to the
test analysis and design process. Due to previous experience with similar systems,
they may have insights into what could go wrong, which is very useful for testing.

412
409. What type of review requires formal entry and exit criteria, including
metrics?
Inspection

413
410. Could reviews or inspections be considered part of testing?
Yes, because both help detect faults and improve quality.

414
411. An input field takes the year of birth between 1900 and 2004 what are the
boundary values for testing this field?
1899,1900,2004,2005

415
412. Which of the following tools would be involved in the automation of
regression test? a. Data tester b. Boundary tester c. Capture/Playback d.
Output comparator.
d. Output comparator

416
413. To test a function, what has to write a programmer, which calls the
function to be tested and passes it test data.
Driver

417
414. What is the one Key reason why developers have difficulty testing their
own work?
Lack of Objectivity

418
415."How much testing is enough?"
The answer depends on the risk for your industry, contract and special requirements.

419
416. When should testing be stopped?
It depends on the risks for the system being tested. There are some criteria bases on
which you can stop testing.
1. Deadlines (Testing, Release)
2. Test budget has been depleted
3. Bug rate fall below certain level
4. Test cases completed with certain percentage passed
5. Alpha or beta periods for testing ends
6. Coverage of code, functionality or requirements are met to a specified point

420
417. Which of the following is the main purpose of the integration strategy for
integration testing in the small?
The main purpose of the integration strategy is to specify which modules to combine
when and how many at once.

421
418.What are semi-random test cases?
Semi-random test cases are nothing but when we perform random test cases and do
equivalence partitioning to those test cases, it removes redundant test cases, thus
giving us semi-random test cases.

422
419. Given the following code, which statement is true about the minimum
number of test cases required for full statement and branch coverage?
Read p
Read q
IF p+q> 100
THEN Print "Large"

ENDIF
IF p > 50
THEN Print "p Large"
ENDIF
1 test for statement coverage, 2 for branch coverage

423
420. Which review is normally used to evaluate a product to determine its
suitability for intended use and to identify discrepancies?
Technical Review.

424
421. Faults found should be originally documented by whom?
By testers.

425
422. Which is the current formal world-wide recognized documentation
standard?
There isn't one.

426
423. Which of the following is the review participant who has created the item
to be reviewed?
Author

427
424. A number of critical bugs are fixed in software. All the bugs are in one
module, related to reports. The test manager decides to do regression testing
only on the reports module.
Regression testing should be done on other modules as well because fixing one
module may affect other modules.

428
425. Why does the boundary value analysis provide good test cases?
Because errors are frequently made during programming of the different cases near
the 'edges' of the range of values.

429
426. What makes an inspection different from other review types?
It is led by a trained leader, uses formal entry and exit criteria and checklists.

430
427. Why can be tester dependent on configuration management?
Because configuration management assures that we know the exact version of the
testware and the test object.

431
428. What is a V-Model?
A software development model that illustrates how testing activities integrate with
software development phases

432
429. What is maintenance testing?
Triggered by modifications, migration or retirement of existing software

433
430. What is test coverage?
Test coverage measures in some specific way the amount of testing performed by a
set of tests (derived in some other way, e.g. using specification-based techniques).
Wherever we can count things and can tell whether or not each of those things has
been tested by some test, then we can measure coverage.

434
431. Why is incremental integration preferred over "big bang" integration?
Because incremental integration has better early defects screening and isolation
ability

435
432. When do we prepare RTM (Requirement traceability matrix), is it before
test case designing or after test case designing?
It would be before test case designing. Requirements should already be traceable
from Review activities since you should have traceability in the Test Plan already.
This question also would depend on the organisation. If the organisations do test
after development started then requirements must be already traceable to their
source. To make life simpler use a tool to manage requirements.

436
433. What is called the process starting with the terminal modules?
Bottom-up integration

437
434. During which test activity could faults be found most cost effectively?
During test planning

438
435. The purpose of requirement phase is
To freeze requirements, to understand user needs, to define the scope of testing

439
436. Why we split testing into distinct stages?
We split testing into distinct stages because of following reasons,
1. Each test stage has a different purpose
2. It is easier to manage testing in stages
3. We can run different test into different environments
4. Performance and quality of the testing is improved using phased testing

440
437. What is DRE?
To measure test effectiveness a powerful metric is used to measure test effectiveness
known as DRE (Defect Removal Efficiency) From this metric we would know how
many bugs we have found from the set of test cases. Formula for calculating DRE is
DRE=Number of bugs while testing / number of bugs while testing + number of
bugs found by user

441
438. Which of the following is likely to benefit most from the use of test tools
providing test capture and replay facilities? a) Regression testing b) Integration
testing c) System testing d) User acceptance testing
Regression testing

442
439. How would you estimate the amount of re-testing likely to be required?
Metrics from previous similar projects and discussions with the development team

443
440. What studies data flow analysis?
The use of data on paths through the code.

444
441. What is a failure?
Failure is a departure from specified behaviour.

445
442. What are Test comparators?
Is it really a test if you put some inputs into some software, but never look to see
whether the software produces the correct result? The essence of testing is to check
whether the software produces the correct result, and to do that, we must compare
what the software produces to what it should produce. A test comparator helps to
automate aspects of that comparison.

446
443. Who is responsible for document all the issues, problems and open point
that were identified during the review meeting
Scribe

447
444. What is the main purpose of Informal review
Inexpensive way to get some benefit

448
445. What is the purpose of test design technique?
Identifying test conditions and Identifying test cases

449
446. When testing a grade calculation system, a tester determines that all scores
from 90 to 100 will yield a grade of A, but scores below 90 will not. This
analysis is known as:
Equivalence partitioning

450
447. A test manager wants to use the resources available for the automated
testing of a web application. The best choice is Tester, test automater, web
specialist, DBA

451
448. During the testing of a module tester 'X' finds a bug and assigned it to
developer. But developer rejects the same, saying that it's not a bug. What 'X'
should do?
Send to the detailed information of the bug encountered and check the
reproducibility

452
449. A type of integration testing in which software elements, hardware
elements, or both are combined all at once into a component or an overall
system, rather than in stages.
Big-Bang Testing

453
450. In practice, which Life Cycle model may have more, fewer or different
levels of development and testing, depending on the project and the software
product. For example, there may be component integration testing after
component testing, and system integration testing after system testing.
V-Model

454
451. Which technique can be used to achieve input and output coverage? It can
be applied to human input, input via interfaces to a system, or interface
parameters in integration testing.
Equivalence partitioning

455
452. "This life cycle model is basically driven by schedule and budget risks"
This statement is best suited for…
V-Model

456
453. In which order should tests be run?
The most important one must tests first

457
454. The later in the development life cycle a fault is discovered, the more
expensive it is to fix. Why?
The fault has been built into more documentation, code, tests, etc

458
455. What is Coverage measurement?
It is a partial measure of test thoroughness.

459
456. What is Boundary value testing?
Test boundary conditions on, below and above the edges of input and output
equivalence classes. For instance, let say a bank application where you can
withdraw maximum Rs.20,000 and a minimum of Rs.100, so in boundary value
testing we test only the exact boundaries, rather than hitting in the middle. That
means we test above the maximum limit and below the minimum limit.

460
457. What is Fault Masking?
Error condition hiding another error condition.

461
458. What does COTS represent?
Commercial off The Shelf.

462
459.The purpose of which is allow specific tests to be carried out on a system or
network that resembles as closely as possible the environment where the item
under test will be used upon release?
Test Environment

463
460. What can be thought of as being based on the project plan, but with
greater amounts of detail?
Phase Test Plan

464
461. Rapid Application Development?
Rapid Application Development (RAD) is formally a parallel development of
functions and subsequent integration. Components/functions are developed in
parallel as if they were mini projects, the developments are time-boxed, delivered,
and then assembled into a working prototype. This can very quickly give the
customer something to see and use and to provide feedback regarding the delivery
and their requirements. Rapid change and development of the product is possible
using this methodology. However the product specification will need to be
developed for the product at some point, and the project will need to be placed under
more formal controls prior to going into production.

465
Q461. What is the Process for creating a test script?
Step 1 – is to get a thorough understanding of the AUT –
a) This could be by reading the requirement documents thoroughly
b) In absence of docs, we could try to understand any point of reference that we
have – a previous version of the application or wire-frames or screenshots
Step 2 – After understanding the requirements, we make a list of what are the areas
in this application that will have to be tested. In other words, we identify the test
requirements. The focus in this step is to identify “What” to test. The outcome of
this step is a list of test scenarios.
Step 3 – Once we have the test scenarios, we concentrate next on “How” to test
them. This phase involves writing detailed steps about how to test a particular
feature, what data to enter (test data) and what is the expected result.
Once these 3 steps are done, we are ready for testing.

466
Q462. What are the fields in a bug report?
Following important fields should be included in a good bug report:
1. A unique ID
2. Defect description – a short describing what the bug is
3. Steps to reproduce – details about how to arrive at the error, exact test data, the
time at which defect was found(if applicable) environment – any information that
will help re-encounter the issue
4. Module/section of the application (if applicable)
5. Severity
6. Screenshot
7. Responsible QA – in case of any follow-up questions regarding this issue

467
Q463. How to test a customer facing software?
With any application that we test, we are trying to see if a certain set of requirements
are met by the application or not. But when it comes to a user-facing site, apart from
concentrating on functionality, we also have to look into few the usability features,
may be performance and security aspects also to a certain extent.
The first level of testing is – Does the site satisfy its functional requirements.
Example: if it is a loan management site, we need to look at – are the new customer
able to apply for a loan, are the existing customer able to access their loan info, is
the interest % applied to the loan amount correct, etc.
The next level of testing is – how easy is it to use the site, do the options make a
logical sense and meet the expectations of the user or not.
For example, if the user has to be pass 3-4 screens to submit the basic information
they are going to be annoyed, so such issues have to be addressed.
Another example, after entering username and password, the user might click on
tab- which means the control should go to “Sign in” button, instead if it’s going to
cancel, the user is going to be really annoyed and the experience of using the site is
going to be compromised. Such issues have to be caught.
Performance testing to the complete extent might not be in scope but simple
situations like, how long does the search results take to be displayed and how much
time does it take for the system to retrieve a customer info at the peak hour – these
are some example of the kind of things we would want to keep an eye on.
Security – for sites where there is a secure login to access the site, the minimum
functionality around it has to be tested. For example, if I leave the site idle for more
than 10 minutes, is it auto logging out or not. Something as basic as that should be
focused on.

468
Q464. How to overcome the challenge of not having input documentation for
testing?
IF the detailed standard documentation like BRD and FSD are unavailable, the tester
will have to depend on some point of reference.
a) Screenshots
b) A previous version of the application
c) Wireframes …etc
Another factor that helps immensely, is to talk to the developers or the business
analysts (when available) to get a confirmation on our understanding or
clarifications in case of doubts.
When none of these situations works, we can just conceptualize the application
based on our previous IT application experience and create the basic set of test
scripts. When testing phase comes up, we can set up a portion of test cycle time and
do some test case management (make the already created scripts perfect) so we have
the doc for the next phases.

469
Q465. How to get maximum productivity from an offshore team?
The key is to make sure that all the testers know about all the modules and that there
is no knowledge concentration in one place. Involving everyone in test script peer
reviews, defect meetings, and KT sessions is going to ensure that everyone is aware
of the application to the best extent possible.
Also, by encouraging the concept of teamwork we can have the team members
collaborate, help and aid each other for better productivity.

Regular follow up meetings also help the process very much.

470
Q466. What are the Roles and Responsibilities of an onsite coordinator? Does
he/she test too?
The onsite coordinator is a point of contact for the offshore team and to the client for
any information regarding the testing engagement.
This job includes:

KT from and to offshore and clients


Getting the environment to test all ready
Sanity testing, smoke testing
Testing – the key functionality.
Bug review – found by the offshore team
Bug assigning to the respective dev
Presenting metrics
Providing sign off
Yes, even an onsite coordinator has to test.

471
Q467. Inconsistent bugs – Why onsite can find it but offshore can’t and vice
versa – How to handle this situation?
Every bug has to be noted and analyzed – whether it is encountered at onsite or
offshore, whether repeatable or not. A real value-add to a tester’s job is when we
involve ourselves in the Root Cause Analysis process for a bug rather than simply
reporting it.
Some of the ways we can handle this situation are:
#1. All the onsite and offshore team members should follow a guideline that
screenshots had to be taken for every error that we encounter – repeatable or not
#2. If there are logs, system files or anything like that, that might help us find any
evidence of the issue- we should try to find it

#3. Despite all these steps, if we still can’t tell why and when the problem occurs-
we should report it to the developer all the same – with as much information as we
can.

472
Q468. Video/audio related testing – What does this include?
How to test an application having video or audio?
Here are the important points to consider:
– Access levels (restricted or not – password controlled)
– Different kinds of environments
– Browser compatibility
– Screen resolutions
– Internet connection speeds
– The specific options on a video – like play, stop, mute etc.
– Video by size
– Response to the videos – comments (limitations on the comment length and
number of comments it can take)
– Video responses to the videos
– Interface with social networking sites – interoperability
– Buffering speed
– Embedding the video

473
Q469. Mobile Application Testing – What does it include briefly?
Mobile App Testing Important Test Scenarios:
– Check if the app works well with multiple carriers and multiple devices
– Usability of the features in a mobile screen
– Testing it on different mobile platforms – like Android and iOS
– Installations, uninstalling, launching the app with network and without a network,
testing functionality
– Network connections –WiFi, 2G, etc.
– Logs at iOS iPhone configuration utility for Android Monitor.bat can be used for
debugging

474
470. What is baseline testing?
Baseline testing is the process of running a set of tests to capture performance
information. Baseline testing use the information collected to made the changes
in the application to improve performance and capabilities of the application.
Baseline compares present performance of application with its own previous
performance.

475
471. What is benchmark testing?
Benchmarking testing is the process of comparing application performance
with respect to industry standard which is given by some other organization.
Benchmark informs us where our application stands with respect to others.
Benchmark compares our application performance with other company’s
application’s performance.

476
472. What is verification and validation?
Verification: process of evaluating work-products of a development phase to
determine whether they meet the specified requirements for that phase.

Validation: process of evaluating software during or at the end of the


development process to determine whether it specified requirements.

Difference between Verification and Validation:

- Verification is Static Testing where as Validations is Dynamic Testing.


- Verification takes place before validation.
- Verification evaluates plans, document, requirements and specification, where
as Validation evaluates product.
- Verification inputs are checklist, issues list, walkthroughs and inspection
,where as in Validation testing of actual product.
- Verification output is set of document, plans, specification and requirement
documents where as in Validation actual product is output.

477
473. Explain Branch Coverage and Decision Coverage.
- Branch Coverage is testing performed in order to ensure that every branch of
the software is executed atleast. To perform the Branch coverage testing we
take the help of the Control Flow Graph.

- Decision coverage testing ensures that every decision taking statement is


executed atleast once.

- Both decision and branch coverage testing is done to ensure the tester that no
branch and decision taking statement, will not lead to failure of the software.

- To Calculate Branch Coverage:


Branch Coverage = Tested Decision Outcomes / Total Decision Outcomes.

478
474. What is difference between Retesting and Regression testing?
The differences between Retesting and Regression testing are below:

- Retesting is done to verify defect fix previous in now working correctly


where as regression is perform to check if the defect fix have not impacted
other functionality that was working fine before doing changes in the code.

- Retesting is specific and is performed on the bug which is fixed where as in


regression is not be always specific to any defect fix it is performed when any
bug is fixed.

- Retesting concern with executing those test cases that are failed earlier where
as regression concern with executing test cases that was passed in earlier
builds.

- Retesting has higher priority over regression.

479
475. What is Mutation testing & when can it be done?
Mutation testing is a performed to find out the defect in the program. It is
performed to find put bugs in specific module or component of the application.
Mutation testing is based on two assumptions:

Competent programmer hypothesis: according this hypothesis we suppose


that program write the correct code of the program.
Coupling effect: according to this effect collection of different set of test data
can also find large and complex bugs.
In this testing we insert few bugs into program to examine the optimal test
inputs.

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


Priority: concern with application from the business point of view.

It answers: How quickly we need to fix the bug? Or how soon the bug should
get fixed?
Severity: concern with functionality of application.

How much the bug is affecting the functionality of the application?

Ex.

1. High Priority and Low Severity:


If a company logo is not properly displayed on their website.

2. High Priority and High Severity:


Suppose you are doing online shopping and filled payment information, but
after submitting the form, you get a message like "Order has been cancelled."

3. Low Priority and High Severity:


If we have a typical scenario in which the application get crashed, but that
scenario exists rarely.

4. Low Priority and Low Severity:


There is a mistake like "You have registered success" instead of successfully,

480
success is written.

477. Explain bug leakage and bug release.


Bug Leakage: When customer or end user discovered a bug which can be
detected by the testing team. Or when a bug is detected which can be detected
in pervious build then this is called as Bug Leakage.

Bug release: is when a build is handed to testing team with knowing that
defect is present in the release. The priority and severity of bug is low. It is
done when customer want the application on the time. Customer can tolerate
the bug in the released then the delay in getting the application and the cost
involved in removing that bug. These bugs are mentioned in the Release Notes
handed to client for the future improvement chances.

481
478. What is alpha and beta testing?
Alpha testing: is performed by the IN-House developers. After alpha testing
the software is handed over to software QA team, for additional testing in an
environment that is similar to the client environment.

Beta testing: beta testing becomes active. It is performed by end user. So that
they can make sure that the product is bug free or working as per the
requirement. IN-house developers and software QA team perform alpha
testing. The public, a few select prospective customers or the general public
performs beta testing.

482
479. What is Error guessing and Error seeding?
Error Guessing is a test case design technique where the tester has to guess
what faults might occur and to design the tests to represent them.

Error Seeding is the process of adding known faults intentionally in a program


for the reason of monitoring the rate of detection & removal and also to
estimate the number of faults remaining in the program.

483
480. Explain Compatibility testing with an example.
Compatibility testing is to evaluate the application compatibility with the
computing environment like Operating System, Database, Browser
compatibility, backwards compatibility, computing capacity of the Hardware
Platform and compatibility of the Peripherals. Example, If Compatibility
testing is done on a Game application, before installing a game on a computer,
its compatibility is checked with the computer specification that whether it is
compatible with the computer having that much of specification or not.

484
481. What is Test Harness?
A test harness is a collection of software and test data required to test the
application by running it in different testing condition like stress, load, data-
driven, and monitoring its behavior and outputs. Test Harness contains two
main parts:

- Test execution engine


- Test script repository

Automation testing is the use of a tool to control the execution of tests and
compare the actual results with the expected results. It also involves the setting
up of test pre-conditions.

485
482. Explain Statement coverage.
Statement Coverage is a metric used in White Box Testing. Statement coverage
is used to ensure that all the statement in the program code is executed at least
once. The advantages of Statement Coverage are:

- Verifies that written code is correct.


- Measures the quality of code written.
- Determine the control flow of the program.
- To Calculate Statement Coverage:
- Statement Coverage = Statements Tested / Total No. of Statements.

486
483. What are the types of testing?
There are two types of testing:

- Static testing: Static testing is a technique used in the earlier phase of the
development life cycle. The code error detection and execution of program is
not concern in this type of testing. Also known as non-execution technique.
The Verification of the product is performed in this testing technique like Code
Reviews, Inspections, Walkthroughs are mostly done in this stage of testing.

- Dynamic testing: Dynamic Testing is concern with the execution of the


software. This technique is used to test the dynamic behavior of the code. Most
of the bugs are identified using this technique. These are the Validation
activities. It uses different methodologies to perform testing like Unit Tests,
Integration Tests, System Tests and Acceptance Testing, etc.

487
484. Explain User acceptance testing.
User Acceptance Testing (UAT) is performed by the end users on the
applications before accepting the application.

Alpha testing: is performed by the IN-House developers. After alpha testing


the software is handed for the Beta testing phase, for additional testing in an
environment that is similar to the client environment.

Beta testing: is performed by the end user. So that they can make sure that the
product is bug free or working as per the requirement. IN-house developers and
software QA team perform alpha testing. The public, a few select prospective
customers or the general public performs beta testing.

Gamma Testing: Gamma Testing is done when the software is ready for
release with specified requirements. This testing is done directly by skipping
all the in-house testing activities.

488
485. What should be done after a bug is found?
After finding the bug the first step is bug to be locked in bug report. Then this
bug needs to be communicated and assigned to developers that can fix it. After
the bug is fixes by the developer, fixes should be re-tested, and determinations
made regarding requirements for regression testing to check that fixes didn't
create problems elsewhere.

489
486. What if the software is so buggy it can't really be tested at all?
In this situation is for the testers to go through the process of reporting of bugs
with the focus being on critical bugs. Since this type of problem can severely
affect schedules, and indicates deeper problems in the software development
process project managers should be notified, and provided with some
documentation.

490
487. What are the types of maintenance?
There are four types of maintenance. They are:

- Corrective Maintenance
- Adaptive Maintenance
- Perfective Maintenance
- Preventive Maintenance

491
488. What are the advantages of waterfall model?
The advantages of the waterfall model are:

- Simple to implement and required fewer amounts of resources.


- After every phase output is generate.
- Help in methods of analysis, design, coding, testing and maintenance.
- Preferred in projects where quality is more important than schedule and cost.
- Systematic and sequential model.
- Proper documentation of the project.

492
489. What is Rapid Application Development model (RAD)?
The RAD model Rapid Application development (RAD) is incremental
software development process models that focus on the development of the
project in very short time. It is enhanced version of Waterfall model. It is
proposed when requirements and solutions can be made independently system
or software components, which is developed by different teams. After these
smaller system components are developed, they are integrated to produce the
large software system solution.

493
490. What are the advantages of black box testing?
The advantages of this type of testing include:

- Developer and tester are independent of each other.


- The tester does not need knowledge of any programming languages.
- The test is done from the point-of-view of the user.
- Test cases can be designed when specifications are complete.
- Testing helps to identify issues related to functional specifications.

494
491. What is software review?
A software review can be defined as a filter for the software engineering
process. The purpose of any review is to discover errors in the analysis, design,
and coding, testing and implementation phases of the software development
cycle. The other purpose of a review is to see whether procedures are applied
uniformly and in a manageable manner. It is used to check the process
followed to develop the software is right.

495
492. What is reverse engineering?
By analyzing a final product the process of recreating a design is known as
reverse engineering. Reverse engineering is the process followed in order to
find difficult, unknown, and hidden information about a software system. It is
important when software products lack proper documentation, and are highly
unstructured, or their structure has degraded through a series of maintenance
efforts. Maintenance activities cannot be performed without a complete
understanding of the software system.

496
493. What is data flow diagram?
The Data Flow Diagram gives us information of the flow of data within the
application.

- The DFD can be used to analyze the design of the application.


- It is a graphical representation of the structure of the data.
- A developer draws context level DFD first showing interaction between the
different components of the application.
- DFD help in developing the software by clarifying the requirements and
major functionalities.
- DFDs show the flow of data through a system.
- It is an important modeling tool that allows us to picture a system as a
network of functional processes.

497
494. What is exploratory testing?
Exploratory testing: means testing an application without a test plan and test
script. In exploring testing test explore the application on the basis on his
knowledge. The tester has no knowledge about the application previously. He
explores the application like an end user and try to use it. While using the
application his main motive is to find the bugs which are in the application.

498
495. What is compatibility testing?
Compatibility testing is a type of testing used to find out the compatibility
between the application and platform on which application works, web
browsers, hardware, operating systems etc. Good software must be compatible
with different hardware, web browser and database.

499
496. What is SRS and BRS document?
Software Requirements Specification (SRS) is documented form of the
requirement of the customer. It consists of all requirement of the customer
regarding that software to be developed. The SRS document work as
agreement between the company and the customer consisting of all functional
and non functional requirements.

Business Requirement Specification (BRS) are the requirements as described


by the business people. The business tells “what” they want for the application
to do. In simple word BRS contain the functional requirement of the
application.

500
497. Can you explain V model in manual testing?
V model: it is enhanced version of waterfall model where each level of the
development lifecycle is verified before moving to next level. In this testing
starts at the very beginning. By testing we mean verification by means of
reviews and inspections, static testing. Each level of the development life -
cycle has a corresponding test plan. A test plan is developed to prepare for the
testing of the products of that phase. Be developing the test plans, we can also
define the expected results for testing of the products for that level as well as
defining the entry and exit criteria for each level.

501
498. What is Concurrency Testing?
Concurrency Testing is used to know the effects of using the software by
different users at the same time. In this type of testing we have multiple users
performing the exact same requests at the same time. It helps in identifying and
measuring the problems in Response time, levels of locking and deadlocking in
the application. For this we use Load runner to create VUGen (Virtual User
Generator) is used to add the number of concurrent users and perform
operation on the application on the same time.

502
499. What is an inspection in software testing?
An inspection is more formalized than a walkt hrough. Inspection technique
involves 3 to 8 team member consisting of a moderator, reader, and a recorder
to take notes. The subject of the inspection is typically a document such as a
requirements or a test plan, and the purpose is to find problems and see what is
missing, most problems will be found during this preparation. The result of the
inspection meeting should be a written report. It is one of the most cost
effective methods of ensuring quality.

503
500. A Form has four mandatory fields to be entered before you Submit.
How many numbers of test cases are required to verify this? And what are
they?
Five test cases are required to test:

1. Enter the data in all the mandatory fields and submit, should not display
error message.
2. Enter data in any two mandatory fields and summit, should issue an error
message.
3. Do not enter in any of the fields should issue an error message.
4. If the fields accept only number, enter numbers in the fields and submit,
should not issue an error message, try to enter only in two fields should issue
an error message, and enter alphabets in two fields and number in other two
fields it should issue an error message.
5. If the fields do not accept special characters, then enter the characters and
submit it.

504
501. What is Cyclomatic Complexity?
Cyclomatic complexity is used to measure the complexity of the software
using the control flow graph of the software. It is a graphical representation,
consisting of following:

NODE: statement of the program is taken as node of the graph.

505

You might also like