Define test case. • A test case is a set of actions executed to verify a particular functionality of the software application.
• The
primary goal of a test case is to ensure whether different features within an application are working as expected.
Define static testing . Static testing is a type of testing which requires only the source code of the product, not the binaries or
.1
executables. 2. Structural testing takes into account the code, code structure, internal design, and how they are coded.
What is test incident report? An incident report provides a formal mechanism for recording software incidents, defects,
enhancements and their status. • It is a communication that happens through the testing cycle, when defects are encountered.
What is test plan? A test plan can be defined as, a detailed document that describes the scope, approach, schedule, resources
etc., of intended software product testing activities.
What is design defect? Design Defects: • These defects generally refer to the way of design creation or its usage while creating
a software product. • The customer may or may not be in a position to understand these defects, if structures are not correct.
Enlist the two open source automation testing tools. 1. Katalon Studio: 2. QA Wolf: 3. Selenium: 4. Appium:
What is defect? A defect is an error or a bug in the application. While designing and building the software programmer can make
mistakes or error. These mistakes are flaws in the software. These are called defects
What is entry criteria? entry criteria defines the conditions to be satisfied in order for the testing to begin and exit criteria define
the conditions that have to be satisfied in order to stop the testing. The exit criteria for a test case are a set of conditions based
on which we can determine that the test case execution is finished. For example, after clicking the Submit button on the web
page, if the web page navigates to the results page, then this is the exit criteria.
In software testing, the bug can arise for reasons like Wrong coding, Missing coding and Extra coding. 1. Wrong Coding: Wrong
coding means improper implementation. For example: Assume that if in Gmail application if we click on the "inbox" link, and it
navigates 2. Missing Coding: Here, missing coding means, we can say that the developer won't have developed the code only for
that specific part of software. 3. Extra Coding: Extra coding means that the developers add some extra features in the system
which is not needed as per the requirements given by client.
Write two limitation of manual testing. 1. Manual Testing is Slow and Costly: 2. Manual Tests do not Scale Well: 3. Manual
Testing is Not Consistent or Repeatable: 4. Lack of Training is a Common Problem
Define Test Automation. Developing or producing software to test the software is called test automation/ automated testing.
What is test report? A test report is any description, explanation or justification the status of a test project. A comprehensive test
report is all of those things together.
What is error? the measure of deviation of the output given by the software from the outputs expected by the user.
Define Smoke testing. is a type of software testing that checks whether the most critical functions of a program work correctly. It
is usually performed after a new build or release to determine whether the build is stable enough for further testing.
What is Cyclomatic complexity? Cyclomatic Complexity in Software Testing is a testing metric used for measuring the complexity
of a software program. It is a quantitative measure of independent paths in the source code of a software program.
How many types of testing tools? Test Management Tools Functional Testing Tools Performance Testing Tools Defect Tracking
Tools
Define code coverage in white box testing. Code coverage is white-box testing because it requires us to have full access to the
code to view what parts of the software we pass through when we run the test and what parts of the software fail.
Selenium installation Steps: 1. Download and Install latest version of Java JDK o
[Link] 2. Download and Install latest version of Eclipse o While installing Eclipse
select “Eclipse IDE for Java Developers” option at the beginning and click on install o [Link] 3.
Download Zip of Selenium and Extract it in one folder(.jar files) o [Link]
Software bug is classified as follows: 1. Functional bugs are associated with the functionality of a specific software component.
For example, a Login button doesn’t allow users to login. 2. A logical bug disrupts the intended workflow of software and causes
it to behave incorrectly. For example, assigning a value to the wrong variable.
Define errors with its different types. • An error is an incorrect human action that produces an incorrect result. In short, human
mistakes cause error. • Errors are of following types: 1. A syntax error occurs in the source code of a program and prevents the
program from being properly compiled. This type of error is very common and typically occurs when there are one or more
missing or incorrect characters in the code. For example, a single missing bracket could cause a syntax error. 2. A logic error
represents a mistake in the software flow and causes the software to behave incorrectly. This type of error can cause the
program to produce an incorrect output or even hang or crash. Unlike syntax errors, logic errors will not prevent a program from
compiling
Enlist the different types of loop testing. 1. Simple Loop Testing: • Testing performed in a simple loop is known as simple loop
testing. • Simple loop is basically a normal “for”, “while” or “do-while” in which a condition is given and loop runs and
terminates according to True and False occurrence of the condition respectively. 2. Nested Loop Testing: • Testing performed in
a nested loop in known as nested loop testing. Nested loop is basically one loop inside another loop. • In nested loop there can
be finite number of loops inside a loop and there a nest is made. It may be either of any of three loops i.e., for, while or do-
while. 3. Concatenated Loop Testing: • Testing applied on a concatenated loop is recognized as concatenated loop testing.
Concatenated loops are loops after the loop. • Concatenated loop is a series of loops. Nested loop means loop inside the loop
and concatenated means loop is after the loop. 4. Unstructured Loop Testing: • Testing applied on an unstructured loop is
known as unstructured loop testing. • Unstructured loop is the combination of concatenated and nested loops.
Write objective of writing test cases. Verifying that the software meets its requirements and specifications. Identifying defects
or bugs in the software. Ensuring the software behaves as expected under different conditions. Providing documentation for
how the software should be tested and used. Facilitating regression testing to ensure that new changes do not introduce new
defects.
What is testing defect? List its different types. • These defects are introduced in an application due to wrong testing or defects
in the test artifacts leading to wrong testing. I)Test design defects refer to defects in test artifacts. These can be defects in test
plans, test scenarios, test cases and test data definition which can lead to defect introduction in software if it is not handled
correctly. (ii) Test tool defects generally, assumed that there are no defects in a test tool. Any defect introduced by a test tool
may be very difficult to find and resolve, as one may have to find the defect using manual tests as against automated tools. (iii)
Test environment defects may arise when test environment is not set properly. Test environment may be comprised of
hardware, software, simulators and people doing testing.
Write the name of test automation frameworks 1. Data Driven Automation Framework: 2. Keyword Driven Automation
Framework: 3. Modular Automation Framework: 4. Hybrid Automation Framework:
List the goals of loop coverage testing. 1. To fix the infinite loop repetition problem. 2. To know the performance. 3. To identify
the loop initialization problems. 4. To determine the uninitialized variables.
Define test criteria and explain its types. Test Criteria: Test criteria denote to standards or rules governing all activities in a
testing project. The two main test criteria are: Suspension Criteria: Defines the benchmarks for suspending all tests. For
example, if QA team members find that 50% of all test cases have failed, then all testing is suspended until the developers
resolve all of the bugs that have been identified so far. Exit Criteria: Defines the benchmarks that signify the successful
completion of a test phase or project. The exit criteria are the expected results of tests and must be met before moving on to
the next stage of development.
List any two web based open source automation software testing tools. Selenium WebDriver: Selenium is a popular
automation testing tool for web applications that supports multiple programming languages and browsers. Puppeteer:
Puppeteer is a [Link] library developed by Google that provides a high-level API for controlling headless Chrome and
Chromium over the DevTools Protocol. 1. Katalon Studio: • Katalon Studio is a test automation tool that enables us to test Web,
apps, Mobile apps and Desktop APIs. • It is Powerful in enabling cross-functional operations for product development teams at
scale. 2. QA Wolf: • It is an open-source end-to-end automated testing tool and one of the fastest ways to create QA tests. • It
is fully hosted, so no downloads or installation needed.
Define priority defect and its different levels. Priority is defined on the basis of how the project decides a schedule to take the
defects for fixing. Defect or Bug Priority indicates the importance or urgency of fixing a defect. Though priority may be initially
set by the Software Tester, it is usually finalized by the Project/Product Manager.(i) High (P1): Must be fixed in any of the
upcoming builds but should be included in the release. (ii) Medium (P2): May be fixed after the release / in the next release. (iii)
Low (P3): May or may not be fixed at all.
Write any two features of Bugzilla tool. o A bug can be list in multiple formats. o Email notification controlled by user
preferences. o Advanced searching capabilities. o Excellent security. o Time tracking.
Define bug and explain bug tracking tools. def:A software bug is an error, flaw, failure or fault in a computer program or system
that causes it to produce an incorrect or unexpected result in operation or to behave in unintended ways. 1. Jira: Jira is one of
the most important bug tracking tools. Jira is an open-source tool that is used for bug tracking, project management, and issue
tracking in manual testing. Jira comprises different features like recording, reporting, and workflow. 2. Bugzilla: Bugzilla is
another important bug tracking tool, which is most widely used by many organizations to track the bugs. Bugzilla is an open
source tool that is used to assist the customer, and the client to keep the track of the bugs. 3. Redmine: It is an open-source
tool which is used to track the issues and web-based project management tool. Redmine tool is written in Ruby programming
language and also compatible with multiple databases like MySQL, Microsoft SQL, and SQLite. 4. Mantis: MantisBT stands for
Mantis Bug Tracker. Along with the open source tool, it is also a web based bug tracking system. MantisBT is used to track the
software defects. It is executed in the PHP programming language.
Explain branch coverage testing with its advantages and disadvantages. Branch Coverage Testing: • Branch coverage is an
improvement over statement coverage, in that a series of tests are run to ensure that all branches are tested at least once. •
Branch coverage is also sometimes referred to as all edge coverage. • Branch coverage requires sufficient test cases for each
program decision or branch to be executed so that each possible outcome occurs at least once. Advantages of Branch
Coverage: 1. It allows to validate-all the branches in the code. 2. It helps to ensure that no branched lead to any abnormality of
the program’s operation. 3. Branch coverage method removes issues which happen because of statement coverage testing.
Disadvantages of Branch coverage: 1. This metric ignores branches within Boolean expressions which occur due to short-circuit
operators. 2. It is costly. 3. It is take more time for performing this task.
Code Coverage = Number of lines of the code exercised / Total number of lines of the code × 100
Statement Coverage Testing: • Statement coverage testing is the simplest form of white-box testing, whereby a series of test
cases are run such that each statement is executed at least once. • Statement coverage testing’s achievement is insufficient to
provide confidence in a software product's behavior.
Benefits of Automated Testing: 1. Faster Feedback Cycle: Test automation helps to reduce the feedback cycle and bring faster
validation for phases in the development of software product. 2. Increased Efficiency: Test automation useful because to
detect problems or bugs early on during the development phase, which increases the team’s efficiency. 3. Reliable: Tests in
automation perform precisely the same operations each time they are run, thereby eliminating human error.
Write benefits of automated testing: 1. Faster Feedback Cycle: Test automation helps to reduce the feedback cycle and bring
faster validation for phases in the development of software product. 2. Increased Efficiency: Test automation useful because to
detect problems or bugs early on during the development phase, which increases the team’s efficiency. 3. Reliable: Tests in
automation perform precisely the same operations each time they are run, thereby eliminating human error. 4. Repeatable:
We can test how the software reacts under repeated execution of the same operations. 5. Programmable: We can program
sophisticated tests that bring out hidden information from the application. 6. Comprehensive: We can build a suite of tests that
covers every feature in the application. 7. Reusable: We can reuse tests on different versions of an application, even if the User
Interface (UI) changes. 8. Better Quality Software: Because we can run more tests in less time with fewer resources.
Explain IEEE Std. test summary report with its various parameters. The IEEE Std. 829-2008 standard specifies the format and
content of a Test Summary Report (TSR), which provides a comprehensive overview of the testing activities performed during a
software testing project. The test summary report typically includes various parameters to summarize the testing effort and
outcomes. 1. Test Summary Report Identifier: It is a unique number that identifies the report and is used to place the test
summary report under configuration management. 2. Summary: It summarizes what testing activities took place, including the
versions/releases of the software, the environment and so forth. It also supply references to the test plan, test-design
specifications, test procedures and test cases. 3. Variances: It describes any variances between the testing that was planned
and the testing that really occurred. 4. Comprehensive Assessment: We should evaluate the comprehensiveness of the testing
process against the criteria specified in the test plan. These criteria are based upon the inventory, requirements, design, code
coverage or some combination thereof. 5. Summary of Results: It summarizes the results of testing here. Identify all resolved
incidents and summarize their resolution. It identify all unresolved incidents and also will be contain metrics about defects and
their 6. Evaluation: It provides an overall evaluation of each test item, including its limitations. This evaluation should be based
upon the test results and the item pass/fail criteria. 7. Recommendations: It is test manager's job to make recommendations
based on what they discover during the testing. 8. Summary of Activities: They summarize the major testing activities and
events. Summarize resource consumption data; for example, total staffing level, total machine time, and elapsed time used for
each of the major testing activities. 9. Approvals: They specify the names and titles of all persons who must approve this
report. Provide space for the signatures and dates. Ideally, we would like the approvers of this report to be the same people
who approved the corresponding test plan, since the test summary report summarizes all of the activities outlined in the plan.
Explain IEEE [Link] Incident report in details: • The Incident Summary Report Identifier uses the organization's incident
tracking numbering scheme to identify this incident and its corresponding report. • The Incident Summary is the information
that relates the incident back to the procedure or test case that discovered it. • The Author of the incident report should
include enough information so that the readers of the report will be able to understand and replicate the incident. • The
Impact of the incident report form refers to the potential impact on the user, so the users or their representative should
ultimately decide the impact of the incident. The impact will also be one of the prime determinants in the prioritization of bug
fixes, although the resources required to fix each bug will also have an effect on the prioritization. • The Investigation of the
incident report explains who found the incident and who the key players are in its resolution. Some people also collect some
metrics here on the estimated amount of time required to isolate the bug. • The Metrics of the incident report can be used to
record any number of different metrics on the type, location and cause of the incidents. • The Disposition (Status) shows the
current status of all incidents with log of incidents. In a good defect tracking system, there should be the capability to maintain
a log or audit trail of the incident as it goes through the analysis, debugging, correction, re-testing and implementation process.
Explain defect life cycle. 1. New: Whenever any new defect is found in application, it is defined as a ‘New’ state, and validations
and testing are performed on this defect in the later stages of the Defect Life Cycle. 2. Assigned: Newly created defect is assigned
to the development team to work on the defect. This is assigned by the project lead or the manager of the testing team to a
developer. It’s state is now defined as “assign” 3. Open: Developer analyzes the defect and works on it and fix it, if required. If
the developer feels that the defect is not appropriate then it may get transferred to any of the below four states namely
Duplicate, Deferred, Rejected, or Not a Bug-based upon a specific reason. 4. Fixed: When the developer finishes the task of fixing
a defect by making the required changes then it is marked as “Fixed”. 5. Pending Retest: After fixing the defect, the developer
assigns the defect to the tester to retest the defect at their end, and until the tester works on retesting the defect, the state of
the defect remains in “Pending Retest”. 6. Retest: At this point, the tester starts the task of retesting the defect to verify if the
defect is fixed accurately by the developer as per the requirements or not. 7. Reopen: If any issue persists in the defect, then it
will be assigned to the developer again for testing and the status of the defect gets changed to ‘Reopen’. 8. Verified: If the tester
does not find any issue in the defect after being assigned to the developer for retesting and he feels that if the defect has been
fixed accurately then the status of the defect gets assigned to ‘Verified’. 9. Closed: When the defect does not exist any longer,
then the tester changes the status of the defect to “Closed”.
Explain STLC with its phases. The Software Testing Life Cycle (STLC) is a systematic approach to carrying out software testing
activities in a structured and organized manner. It consists of several phases, each with specific objectives, tasks, and
deliverables. Here's an explanation of the STLC with its phases: 1. Requirement Analysis: - In this phase, testers analyze the
project requirements to understand the scope of testing, define testing objectives, and identify testable components. They
review requirements documents, specifications, and other project artifacts to gain insights into the software under test. 2. Test
Planning: - Test planning involves developing a comprehensive test plan that outlines the testing approach, strategies, resources,
and timelines. Testers define testing scope, objectives, entry and exit criteria, test deliverables, roles and responsibilities, and risk
management strategies in this phase. The test plan serves as a roadmap for the testing process. 3. Test Design: - Test design
involves creating test cases and test scenarios based on the requirements and specifications. Testers define test cases to verify
the functionality, performance, security, and other aspects of the software. Test design techniques such as equivalence
partitioning, boundary value analysis, and decision tables are used to generate effective test cases. 4. Test Environment Setup: -
In this phase, testers set up the test environment, which includes hardware, software, tools, and other resources required for
testing. They configure test servers, install testing tools, create test data, and establish connections to external systems or
databases. A stable and representative test environment is essential for conducting accurate and reliable tests. 5. Test Execution:
- Test execution involves running the test cases in the test environment to verify the behavior of the software under different
conditions. Testers execute test cases manually or using automated testing tools, record test results, and report any defects or
deviations from expected outcomes. They may also perform regression testing to ensure that new changes do not introduce new
defects. 6. Defect Tracking and Management: - During test execution, testers identify defects or issues in the software and log
them in a defect tracking system. They assign severity and priority levels to defects, communicate with developers to resolve
them, and verify fixes to ensure they are implemented correctly. Defect tracking and management help in maintaining the
quality of the software and improving its reliability. 7. Test Reporting and Closure: - Test reporting involves documenting the
testing activities, results, and findings in a test summary report or test closure report. Testers analyze test metrics, summarize
test outcomes, and provide recommendations for further improvements. Once testing objectives are met, and exit criteria are
satisfied, the STLC comes to a closure, and the software is ready for release or deployment.
Write short note on Classification of Defects. 1. Requirement Defects: • These defects arise in a product when one fails to
understand what is required by the customer. • Requirement defects may be due to customer gap, where the customer is unable
to define his requirements or producer gap, where developing team is not able to make a product as per requirements. 2. Design
Defects: • These defects generally refer to the way of design creation or its usage while creating a software product. • The
customer may or may not be in a position to understand these defects, if structures are not correct. • They may be due to
problems with design creation and implementation during SDLC (Software Development Life Cycle). 3. Coding Defects: • These
defects may arise when designs are implemented wrongly. If there is absence of development/coding standards or if they are
wrong, it may lead to coding defects. • Some coding defect are given below: (i) Variable declaration/initialization defects arise
when variables are not initialized properly, or variables are not declared correctly. These types of defects refer to wrong coding
practices which may arise due to wrong standards of development. (ii) Commenting/Documentation defects, coding also needs
adequate commenting to make it readable and maintainable in future. (iii) Database related defects may occur when a database
is not created appropriately or it is not optimized. 4. Testing Defects: • These defects are introduced in an application due to
wrong testing or defects in the test artifacts leading to wrong testing. (i) Test design defects refer to defects in test artifacts.
These can be defects in test plans, test scenarios, test cases and test data definition which can lead to defect introduction in
software if it is not handled correctly. (ii) Test tool defects generally, assumed that there are no defects in a test tool. Any defect
introduced by a test tool may be very difficult to find and resolve, as one may have to find the defect using manual tests as
against automated tools. (iii) Test environment defects may arise when test environment is not set properly. Test environment
may be comprised of hardware, software, simulators and people doing testing
Give any three features of winRunner and selenium. WinRunner: [Link] allows testers to record their interactions
with the software application, such as clicking buttons, entering data, and navigating through screens. 2. WinRunner can
recognize and interact with various objects within the software application, such as buttons, text fields, dropdown menus, and
dialog boxes. This allows testers to perform actions on these objects during test execution, such as entering text, selecting
options, and verifying properties. 3. WinRunner supports data-driven testing, where test scripts can be parameterized to use
different sets of test data during execution.
Selenium: • Selenium is one of the most commonly used open-source test automation tool that is used to automate browsers.
• The tool supports multiple programming languages such as Java, C#, Python, etc. to create selenium test scripts. • Helps to
create very effective test scripts for regression testing, exploratory testing, and quick bug reproduction.
Test Case template in MS Excel 1. Test Case ID field is defined by what type of system we are testing. Each test case should be
represented by a unique ID. To indicate test types follow some convention like “TC_UI_01” indicating “User Interface Test
Case#1.” 2. Test Case Name field contains name of the feature we are testing, Requirement number from the specifications
and Requirement name as classified in client's document. 3. Test Description field explains what type of feature we will test on
which condition. This description should detail what unit, feature, or function is being tested or what is being verified. 4. Steps
To Execute field contains the steps to be executed on the system being tested to get the expected results. Steps should be
understandable and correct. 5. Pre-conditions field must be fulfilled before the execution of the test case. Preconditions
should be satisfied before the test case execution starts. 6. Execution Steps field contains the steps to be performed on the
system under test to get the desired results. Steps must be defined clearly and must be accurate. 7. Expected Result field
contains the desired outputs from the execution steps performed. Results should be clearly defined for every step. It specifies
what the specifications are and what we will get from a particular specification. 8. Actual Result field has the real/actual result
after the performed execution steps on the system under testing. If the result matches with the expected result then we can
write as expected. 9. Status field can state the test is Pass/Fail. If the result is showing according to the expected result, the
test mark as pass and if not get the output according to the expected, result mark as fail. We can use color for status. Use the
green color for Pass and red color for Fail. 10. Comment field column is for additional information for e.g. if status is set to
“cannot be tested”, then tester can give the reason in this column.
Advantage of Statement Coverage: 1. It verifies what the written code is expected to do and not to do 2. It measures the
quality of code written 3. It checks the flow of different paths in the program and it also ensures that whether those path are
tested or not.
Disadvantage of statement coverage: 1. It cannot test the false conditions. 2. It does not report that whether the loop reaches
its termination condition. 3. It does not understand the logical operators.
Total number of statements = 7.
Number of executed statements = 6
Statement coverage = Number of executed statements / Total number of statements × 100
Statement coverage = 6/7 × 100 = 600/7 = 85%
path coverage testing Path Testing is a method that is used to design the test cases. In the path testing method, the control
flow graph of a program is designed to find a set of linearly independent paths of execution. In this method, Cyclomatic
Complexity is used to determine the number of linearly independent paths and then test cases are generated for each path. It
gives complete branch coverage but achieves that without covering all possible paths of the control flow graph. McCabe’s
Cyclomatic Complexity is used in path testing. It is a structural testing method that uses the source code of a program to find
every possible executable path.
Exit criteria, on the other hand, are conditions that signify the completion of the testing phase. They help determine when it's
time to wrap up testing and move forward in the software development lifecycle. Exit criteria provide a sense of closure and
help evaluate the overall quality of the software.c