PAPER 1
PAPER 1
a) What is Software Testing? Software Testing is the process of evaluating and verifying that a software application or product meets
the required business and technical requirements. It is a quality control measure aimed at ensuring the reliability and performance of
software under specified conditions. The main goal of software testing is to identify errors, gaps, or missing requirements.
b) What is Static Testing? Static Testing is a method of testing software without executing the program. It involves the manual or
automated analysis of the program's source code, documentation, and other project artifacts. Examples include code reviews,
walkthroughs, and inspections. Static testing helps in early detection of defects.
d) What are formulae for calculating Cyclomatic Complexity? Cyclomatic Complexity (CC) is a quantitative measure of the number
of linearly independent paths through a program's source code. The formula is: CC = E - N + 2P Where: E = Number of Edges, N =
Number of Nodes, P = Number of connected components (usually 1). It helps determine the complexity and maintainability of the code.
e) What is Gray-box testing? Gray-box testing is a combination of both Black-box and White-box testing techniques. The tester has
partial knowledge of the internal workings of the application. It is used to identify context-specific errors and is effective in testing web
applications and integration points.
f) Define validation testing. Validation Testing is the process of evaluating software during or at the end of the development process to
determine whether it satisfies specified business requirements. It answers the question: "Are we building the right product?"
g) What is Debugging? Debugging is the process of locating, analyzing, and fixing bugs or defects in the software code. It involves
identifying the root cause of an issue and correcting the underlying code to prevent recurrence.
i) Define regression testing. Regression Testing is a type of software testing that ensures recent code or program changes have not
adversely affected existing features and functionality. It is essential after patches, enhancements, or configuration changes.
j) What is software metric? A software metric is a standard of measurement used to quantify the attributes of software development
and testing. Examples include lines of code, code complexity, defect density, and test coverage.
• Verification:
o It is a static method.
• Validation:
o It is a dynamic method.
b) Explain Software Testing Life Cycle (STLC) with diagram. STLC refers to a sequence of activities conducted to perform software
testing. Phases:
1. Requirement Analysis
2. Test Planning
5. Test Execution
c) Explain Boundary-Value Analysis in details. Boundary-Value Analysis (BVA) is a black-box testing technique that focuses on the
values at the boundaries. It is based on the principle that errors often occur at the edges rather than the center of input ranges. For
example, for a field accepting values 1–100, test cases would include 0, 1, 2, 99, 100, and 101.
d) Explain Acceptance Testing in details. Acceptance Testing is the final level of testing performed to determine whether the software
system has met all business and functional requirements. Types include:
e) Explain Test Case Design along with example. Test Case Design is the creation of a set of input values, execution conditions, and
expected results to evaluate a particular software feature. Example:
1. Testing shows presence of defects: Testing helps in revealing the presence of defects, not their absence.
2. Exhaustive testing is not possible: It's impossible to test all input combinations.
3. Early testing saves time and cost: Begin testing in early stages to reduce defects.
b) Explain white-box testing and its techniques. White-box testing is based on knowledge of the internal logic of the code. Techniques:
• Big-Bang Testing: All units are integrated at once and tested together.
• Load Testing: Determines how the system behaves under expected and peak user loads.
• Smoke Testing: Initial testing to check critical functionalities before moving on to deeper testing.
• Static Testing:
• Dynamic Testing:
c) Explain GUI Testing in details. GUI Testing evaluates the graphical elements of the application. It involves checking:
• Field validations
• Responsiveness
• Client/Server Testing:
• Web-Based Testing:
Q5) Write a short note on Any TWO of the following (out of THREE):
a) Testing for Real-Time System. Real-time system testing ensures the software responds within strict time constraints. It includes
testing of:
• Timing behavior
• Data accuracy
• Interrupt handling
b) Stub and Driver Concept in Unit Testing. Stub and Driver are temporary replacements:
c) Load Runner. LoadRunner is a performance testing tool by Micro Focus. It simulates multiple virtual users to test how the application
behaves under heavy load. It supports a wide range of protocols and is widely used in load, stress, and endurance testing.