ccs366 Sta QB Question Bank
ccs366 Sta QB Question Bank
3
COURSE OUTCOMES
Upon completion of the course, students will be able to:
CO1 Understand the basic concepts of software testing and the need for software testing.
CO2 Design Test planning and different activities involved in test planning.
CO3 Design effective test cases that can uncover critical defects in the application
CO4 Carry out advanced types of testing.
CO5 Automate the software testing using Selenium and TestNG.
4
UNIT I FOUNDATIONS OF SOFTWARE TESTING
UNIT-I / PART-A
1 Define software testing(Nov/Dec’14)
Software testing can be stated as the process of verifying and validating whether a
software or application is bug-free,meets the technical requirements as guided by its
design and development and meets the user requirements effectively and efficiently by
handling all the exceptional and boundary cases.
2 Explain how software testing contributes to cost savings in the software
development process.
Software testing identifies and rectifies defects early in the development cycle, reducing
the cost of fixing issues post-release, where costs can be significantly higher.
3 How does software testing help manage risk in software projects?
Software testing helps identify and mitigate potential risks by uncovering defects and
vulnerabilities, allowing for proactive risk management and minimizing unexpected
issues in production.
4 What is black-box testing?
The technique of testing in which the tester doesn’t have access to the source code of
the software and is conducted at the software interface without any concern with the
internal logical structure of the software is known as black-box testing.
5 What is white-box testing?
The technique of testing in which the tester is aware of the internal workings of the
product, has access to its source code and is conducted by making sure that all internal
operations are performed according to the specifications is known as white-box testing.
6 Compare and contrast the objectives of Black-Box Testing and White-Box Testing.
Black-Box Testing focuses on functionality, while White-Box Testing examines the
internal code. Black-Box aims to validate user requirements, while White-Box verifies
code structure and logic.
7 What are the different levels of software testing?
1.Unit Testing 2.Integration Testing 3.System Testing 4.Acceptance Testing
8 What is the Software Testing Life Cycle (STLC)?
STLC is a series of phases and activities that guide the testing process from test planning
through test execution, defect tracking, and reporting.
9 Why is test planning an important phase in the STLC?
Test planning defines the scope, objectives, and strategies for testing, ensuring that
testing efforts are well-organized and focused on goals.
10 Describe the significance of test planning in the Software Testing Life Cycle.
Test planning defines the scope, approach, and resources for testing. It ensures that
testing aligns with project goals, budget, and timelines.
11 How does the Software Testing Life Cycle interact with the Software Development
Life Cycle (SDLC)?
The STLC operates in parallel with the SDLC. While development creates software,
testing ensures its quality and correctness through various stages.
12 Why is test design a critical phase in the STLC?
Test design involves creating test cases, scenarios, and scripts based on requirements,
ensuring comprehensive test coverage.
13 What is the V-model of software testing?
The V-model is a software development and testing approach where each development
phase has a corresponding testing phase, forming a "V" shape.
14 How does the V-model promote early defect detection
The V-model emphasizes testing at each development phase, allowing for early
detection and resolution of defects, reducing the cost of fixing issues later.
15 How does the V-Model reduce post-release defects?
3
The V-Model promotes early defect detection by testing at each development phase,
reducing the likelihood of defects surfacing after release.
16 How the V-Model enhances communication between development and testing
teams?
The V-Model establishes a clear correlation between development phases and
corresponding testing phases, fostering communication by emphasizing the
interdependency of these activities.
17 What are the potential drawbacks of strictly adhering to the V-Model in software
development?
A drawback is that it can be rigid and less adaptable to changes or agile development
practices. It may not suit projects with evolving requirements.
18 What is program correctness?
Program correctness refers to the extent to which a software program meets its intended
specifications and behaves as expected.
19 What is the purpose of program verification?
Program verification is the process of formally or rigorously confirming that a program
adheres to its specifications to ensure its correctness.
20 Differentiate between verification and validation.
VERIFICATION VALIDATION
Verification is the process of evaluating Validation is the process of evaluating
software system or component to software system or component during
determine whether the products of a or at the end of the development phase
given development phase to satisfy to satisfy the conditions imposed at the
the start of that phase.
conditions imposed at the start of
that phase.
Verification is usually associated with Validation is usually associated
activities such as inspections and with traditional execution based
reviews of the software deliverables. testing.
21 Why is safety critical in industries like aviation and healthcare?
Safety is critical in such industries because software failures can lead to severe
consequences, including loss of life or critical system failures.
22 What is the difference between a software failure and a software error?
A software failure is the observable malfunction of the software, while a software error
is the part of the code where the fault (defect) resides.
23 What is integration testing?
Integration testing is the second level of the software testing process which comes after
unit testing.In this testing,units or individual components of the software are tested in a
group.The focus of the integration testing level is to expose defects at the time of
interaction between integrated components or units.
24 What is System testing?
System testing is a type of software testing that is performed on a complete integrated
system to evaluate the compliance of the system with the corresponding requirements.In
system testing,integration testing passed components are taken as input.The goal of
integration testing is to detect any irregularity between the units that are integrated
together.System testing detects defects within both the integrated units and the whole
system.The result of system testing is the observed behaviour of a component or a system
when it is tested.
4
lOMoARcPSD|36439593
5
lOMoARcPSD|36439593
UNIT II
TEST PLANNING
UNIT II / PART A
1 What is the primary goal of test planning in the software testing process?
The primary goal of test planning is to define the scope, objectives, approach, resources,
and schedule for testing activities in a structured and organized manner.
2 What are high-level expectations in the context of test planning, and why are they
important?
High-level expectations are the overarching outcomes or results that stakeholders
anticipate from the testing process. They are crucial because they set clear quality
standards and help align testing activities with project objectives.
3 In the context of software testing, what is the significance of high-level expectations,
and how can they be effectively communicated to stakeholders?
High-level expectations serve as the quality benchmarks and desired outcomes for a
software testing project. They are crucial because they provide a clear vision of what the
stakeholders expect in terms of software quality and functionality. Effective
communication of these expectations involves regular collaboration with stakeholders,
setting specific quality standards, and using visual aids, such as graphs or charts, to
ensure a common understanding of what is expected from the testing process.
4 Describe the complexities associated with intergroup responsibilities in software
testing, and provide an example of how misalignment in responsibilities can impact
a testing project.
Intergroup responsibilities can be intricate due to the need for effective coordination and
collaboration between various teams, such as development, testing, and quality
assurance. For instance, if there is a lack of clarity regarding who is responsible for
maintaining test environments, it can lead to delays in testing, resource conflicts, and,
ultimately, project delays. Clear delineation of responsibilities and collaboration
protocols are vital to avoid such issues.
5 What are the key test phases in the software testing life cycle?
The key test phases in the software testing life cycle typically include unit testing,
integration testing, system testing, and acceptance testing.
6 What is the purpose of a test strategy in software testing, and how does it guide the
testing process?
A test strategy outlines the approach, scope, objectives, and resources for testing. It
provides a high-level plan that guides the testing process, ensuring that it aligns with
project goals and requirements.
7 Why is defining resource requirements essential in test planning, and what types of
resources should be considered?
Defining resource requirements is crucial to ensure that the testing process has the
necessary people, tools, and environments. Resources to consider include test engineers,
testing tools, test data, and testing environments.
8 In the context of software testing, how do test phases evolve from the initial unit
testing to the final acceptance testing, and what are the primary objectives at each
phase?
Test phases evolve in a progressive manner. Unit testing focuses on individual
components to verify their correctness. Integration testing examines the interactions
between these components. System testing evaluates the entire software system's
functionality and performance. Finally, acceptance testing ensures that the software
meets user requirements and is ready for production deployment.
6
lOMoARcPSD|36439593
10 What is the the role of a test strategy in a software testing project, detailing how it
influences test planning, test design, and overall project success?
A test strategy is a critical document that defines the overall approach, scope, and
objectives of the testing effort. It guides test planning by specifying what to test and how
to test it. Test design is influenced by the strategy, ensuring that test cases align with
project goals. A well-defined test strategy enhances the chances of project success by
providing a structured and organized approach to software testing.
11 In the context of resource requirements for software testing, how does the selection
of testing tools and the availability of skilled test engineers impact the testing
process, and what types of resources go beyond personnel and tools?
The selection of testing tools can significantly affect testing efficiency and automation
capabilities. Skilled test engineers can maximize the value derived from these tools
through effective usage. Resource requirements also encompass test data, which should
be representative of real-world scenarios, and testing environments, which should mimic
the production environment as closely as possible.
12 Why is it essential to have a structured and organized set of test cases for a software
application?
Structured and organized test cases ensure thorough testing coverage, help in replicating
scenarios, and enable efficient defect tracking. They act as a blueprint for validating
software functionality and are vital for achieving a high level of software quality.
13 How does a comprehensive test schedule contribute to the successful completion of
a software testing project?
A comprehensive test schedule sets clear timelines, priorities, and milestones for the
testing process. It helps in efficient resource management, timely defect identification,
and adherence to project timelines, ultimately contributing to the successful and on-time
completion of the testing project.
14 What is the importance of well-defined tester assignments in software testing?
Well-defined tester assignments ensure that each tester knows their responsibilities and
areas of focus within the testing project. It optimizes efficiency, enhances accountability,
and facilitates better collaboration among the testing team.
15 How do well-structured and organized test cases contribute to comprehensive test
coverage, and what strategies can be employed to efficiently manage a large
repository of test cases in a complex software application?
Well-structured test cases contribute to comprehensive test coverage by providing clarity
on what to test and how to test it. They enable efficient test execution and defect
tracking. In managing a large repository of test cases, strategies like categorization, test
case management tools, and regular reviews can be employed to ensure efficient
maintenance, execution, and continuous improvement of the test case repository.
16 What is the primary purpose of a bug report in software testing?
The primary purpose of a bug report is to document and communicate defects or issues
found during testing.
17 How do metrics and statistics enhance the effectiveness of software testing
processes, and what are some examples of key testing metrics?
Metrics and statistics help in quantifying testing progress, identifying trends, and making
data-driven decisions. Examples of key testing metrics include defect density, test
coverage, and mean time to failure (MTTF).
18 How can testing metrics, such as pass-fail ratios and defect density, be employed to
improve resource allocation and testing efficiency in a software testing project?
Testing metrics, like pass-fail ratios, can be used to optimize resource allocation by
identifying areas with a high density of defects. Test efforts can then be concentrated on
these areas, improving testing efficiency and directing resources where they are most
needed.
7
lOMoARcPSD|36439593
8
lOMoARcPSD|36439593
9
lOMoARcPSD|36439593
15. Define the concept of equivalence class testing and its benefits in test design.
Equivalence class testing groups input values into classes that should produce similar
results when tested. It helps in reducing the number of test cases while providing good
coverage.
16. How can effective organization and tracking of test cases enhance project
management and ensure comprehensive test coverage?
Effective organization and tracking facilitate categorization of test cases, which helps in
prioritization and execution planning. Test case tracking ensures that each test case is
executed, contributing to comprehensive test coverage and better project management.
17. What is path testing, and how does it differ from other testing techniques?
Path testing aims to test all possible paths through a program or system, ensuring that
each path is executed at least once. It is more exhaustive than many other techniques.
18. What are some challenges associated with path testing?
Challenges include dealing with complex, multi-branching code, which can lead to a
large number of test cases and increased testing effort.
19. What is the concept of data flow testing and its relevance to identifying defects.
Data flow testing focuses on how data is transferred and manipulated within a program.
By examining data flow paths, it helps uncover potential defects related to data
handling.
20. How the effectiveness of test case design can be evaluated using metrics such as
"defects found per test case hour." What factors should be considered when
interpreting this metric?
"Defects found per test case hour" measures how efficiently test cases uncover defects.
Factors to consider include the complexity of the software, testing environment
stability,
tester expertise, and test data quality. A higher ratio indicates more effective test cases,
but it should be balanced with other quality measures.
21. What are test design preparedness metrics, and how can they assist in assessing the
readiness of test cases?
Test design preparedness metrics measure the completeness and quality of test design
activities. They help ensure that test cases are well-prepared and effective.
22. Name a common test design preparedness metric and explain how it can be used to
assess the quality of test cases.
One metric is "test case coverage," which measures the percentage of requirements or
code covered by test cases. A higher coverage indicates better test case quality.
23. Define test case design effectiveness and its relationship to testing efficiency.
Test case design effectiveness refers to the ability of test cases to find defects. Effective
test cases are those that uncover defects efficiently, maximizing testing efficiency.
24 How can test case design effectiveness be evaluated and improved throughout the
testing process?
Evaluation involves analyzing test results to see how many defects were found by each
test case. Improvement can be achieved by enhancing test scenarios and ensuring
comprehensive coverage.
25 What is model-driven test design, and how does it streamline the test case design
process?
Model-driven test design involves using formal models of software behavior to generate
test cases automatically. This approach simplifies and accelerates test case design.
11
lOMoARcPSD|36439593
8. Describe the principles and challenges of path testing, particularly in large and complex
software systems. How does path testing ensure thorough code coverage, and what
strategies can be employed to manage the complexity of path testing effectively?
9. In the context of boundary value testing, discuss the rationale for focusing on values at
the edges of input domains. Provide real-world examples of situations where this testing
technique is crucial for software reliability.
10. Explain the methodology of data flow testing and its role in identifying defects related to
data handling. Provide a practical example of data flow testing in a software system,
including the identification of data flow paths and the creation of test cases.
12
lOMoARcPSD|36439593
13
lOMoARcPSD|36439593
14
lOMoARcPSD|36439593
UNIT IV/PART C
1 Create a recovery testing plan for a financial system to ensure data integrity after a
system failure.
2 How would you explain the role of penetration testing in identifying vulnerabilities and
securing software applications?
3 Design an Agile testing plan for a mobile app development project, incorporating sprint
cycles, user stories, and acceptance criteria.
4 Analyze the challenges associated with testing the performance of a web application
across various browsers and suggest strategies to overcome these challenges.
5 How does the diversity of devices and browsers impact the testing process for web
applications and how is it distinct from mobile app testing?
UNIT V/ PART-A
15
lOMoARcPSD|36439593
16
lOMoARcPSD|36439593
17
lOMoARcPSD|36439593
UNIT V/PART C
1 In the process of automating tests for a complex web application, explain why it's crucial
to select the right test automation tool based on the application's technology stack,
scalability, and maintainability.
2 A new feature has been added to a web application that involves handling asynchronous
elements. Develop a Selenium script that uses explicit waits to interact with these
elements during testing.
3 A Selenium test script you've developed is failing to locate a specific web element
consistently. Analyze the potential reasons for this issue and suggest troubleshooting
steps.
4 Lead a team of testers working on a large-scale web application project. Develop a
strategy for organizing classes and packages within a testing.xml file to optimize test suite
management.
5 As the quality assurance lead, you are tasked with reviewing the generated test reports
from a Selenium testing project. Assess the content and format of these reports and their
usability for different stakeholders.
Downloaded by DURGALAKSHMI B
20