Q: 1 Which testing ensures that each function works correctly?
Unit testing.
Integration testing.
System testing.
Acceptance testing.
[ Option A ]
The Unit Testing verifies the functionality of individual components or functions in isolation.
Q: 2 In the context of basis path testing, let the flow graph G (V, E) is drawn using the procedural design or source code. If graph G have 17 edges and 13 nodes, what is cyclomatic complexity of G?
Five
Four
Six
Three
[ Option C ]
Cyclomatic complexity tells us how many independent paths exist in a program. Here, graph has 17 edges and 13 nodes, there are 6 independent paths that must be tested to cover all possible branches in the logic.
Cyclomatic Complexity (V(G)) :
V(G)=E−N+2
Where:
E is number of edges given as 17.
N is number of nodes given as 13.
So,
V(G) = 17−13+2
V(G) = 6
Q: 3
Match the following List – 1 with the List – 2:
| List – 1 | List – 2 |
|---|---|
| (i) Unit Testing | (a) It is concerned with scheduling and resourcing all of the activities in the testing process. It involves defining the testing process, taking into account the people and the time available. |
| (ii) Test Planning | (b) This testing should focus on testing component interactions. Where some or all of the components in a system are integrated and the system is tested as a whole. |
| (iii) Component Testing | (c) This type of testing should focus on testing the functionality of objects or methods. |
| (iv) System Testing | (d) This type of testing should focus on testing component interfaces. |
(i) – a, (ii) – b, (iii) –c, (iv) –d
(i) – c, (ii) – a, (iii) – d, (iv) – b
(i) – c, (ii) – a, (iii) – b, (iv) – d
(i) – a, (ii) – c, (iii) – d, (iv) – b
[ Option B ]
| LIST – I | (LIST – II) | EXPLANATION |
|---|---|---|
| Unit Testing | Testing the functionality of objects or methods. | Tests individual program units or functions. |
| Test Planning | Scheduling and resourcing the testing process. | Defines the testing strategy, schedule, and resources. |
| Component Testing | Testing component interfaces. | Verifies interactions between connected modules. |
| System Testing | Testing component interactions in a complete system. | Checks overall system behavior and performance. |
Q: 4 Which of the following testing techniques does not come under control structure testing?
Condition testing
Data flow testing
Loop testing
Graph-based testing
[ Option D ]
Control structure testing is a type of White-Box testing that focuses on the logical control structures of a program, such as decisions, loops, and conditions, to ensure that all possible execution paths are tested. It includes techniques like, condition testing, data flow testing, Loop testing etc.
The Graph-Based Testing does not belong to control structure testing. It falls under Black-Box testing techniques, where the focus is on relationships between inputs, outputs, and modules rather than internal control flow.
Q: 5 Which of these is fault base testing technique?
Stress Testing
Unit Testing
Beta Testing
Mutation Testing
[ Option D ]
Fault-Based Testing techniques are designed to evaluate how well a software system can handle errors or faults. The idea is to intentionally introduce faults and check whether the testing process can detect them.
Mutation Testing is a well-known fault-based testing technique. It involves making small modifications (called mutants) to the program’s source code intentionally, to check if the existing test cases can detect these faults.
Q: 6 Integration testing focuses on:
Testing complete system.
Testing user interfaces.
Testing interactions between modules.
Testing database performance.
[ Option C ]
The Integration Testing ensures that modules or components work together correctly after individual unit testing.
Q: 7 If software is developed as a product to be used by many customers, most software product builders use a process called __________ to uncover errors that only the end user seems able to find.
Alpha and beta testing
Integration testing
Recovery testing
System testing
[ Option A ]
When software is developed as a product for many users, developers use Alpha and Beta Testing to find errors that only real users can detect. These tests are performed after internal testing to ensure the software works well in real-world conditions.
Q: 8 ____________ tests are performed on a program unit to verify the response time, the execution time, the throughput, primary and secondary memory utilization and traffic rates on data channels and communication links.
Performance
Stress
Parallel
Functional
[ Option A ]
Performance Testing is a software testing method used to check how efficiently a program or system works under a given workload. It focuses on basic aspects like how quickly the system responds, how much time it takes to execute functions, how many users or operations it can handle at once (throughput), and how much primary or secondary memory it consumes during execution.
Q: 9 Which software testing is used to check the defects in software without executing the actual code?
Static Testing
Black Box
White Box
Performance Analysis Testing
[ Option A ]
Static Testing is a type of software testing that does not require executing the code. It focuses on reviewing and analyzing the code, documentation, or design to find defects. Examples include:
Q: 10 Which of the following software testing verifies that all elements mesh properly and that overall system function/performance is achieved?
Unit Testing
Integration Testing
Validation Testing
System Testing
[ Option D ]
System Testing checks the complete integrated system to ensure:
| TESTING TYPE | PURPOSE |
|---|---|
| Unit Testing | Tests individual modules or components for correct functionality. |
| Integration Testing | Checks interactions and data flow between combined modules. |
| System Testing | Verifies that the complete system works as intended and meets performance goals. |
| Acceptance Testing | Confirms the system meets user requirements. It is often done by the client. |
| Regression Testing | Ensures new changes do not break existing functionality. |
Q: 11 In testing, along with batch control, which of the following programmed check cannot be used?
Sequence check
Completeness check
Consistency check
Consumable check
[ Option D ]
Programmed checks help detect errors automatically during processing, improving data quality and reducing manual inspection.
In testing, programmed checks are automated controls embedded within software or batch processes to verify data integrity, correctness, and processing order. Common programmed checks include:
| VALID CHECK | WHY USED |
|---|---|
| Sequence Check | Commonly used to verify correct order. |
| Completeness Check | Ensures required data is present. |
| Consistency Check | Ensures logical correctness. |
Q: 12 The levels of granularity in software testing include all of the following except __________.
Unit Testing
Segment Testing
Component Testing
System Testing
[ Option B ]
In software testing, the term Granularity refers to the level of detail or scope at which the software is tested. There are several recognized levels of testing techniques like unit testing, component testing, and system testing, each focusing on different parts of the system.
The Segment Testing is not a standard level of software testing. It is not formally recognized in the software testing process hierarchy.
Q: 13 _________ test is NOT included in unit testing.
Performance
Stress
Security
Structural
[ Option C ]
Security Testing is generally not included in unit testing. Unit testing focuses on verifying the functionality of individual program units or components in isolation. It includes tests related to the internal structure and behavior of the unit, often through techniques like Structural Testing.
Q: 14 Which testing focuses on heavily testing of one particular module?
Gorilla Testing
Fuzz Testing
Inter System Testing
Breadth Testing
[ Option A ]
Gorilla Testing is a software testing technique that focuses heavily on testing a specific module or feature of an application. It involves intense, repetitive, and rigorous testing of one particular part to find as many defects as possible in that area. This method ensures the robustness and reliability of critical modules, uncovering hidden bugs that might be missed in broader testing.
Fuzz Testing involves providing random or invalid inputs to the software to check how it handles unexpected data.
Inter-System Testing, tests the interaction between two or more different systems to ensure they work together correctly.
Breadth Testing, focuses on testing all modules at a shallow level without going deep into any single one.
Q: 15 Consider Column – I and Column – II in context of software testing.
| Column – I | Column – II |
|---|---|
| a. Basis Path Testing | i. Recovery Testing |
| b. Smoke Testing | ii. Alpha and Beta Testing |
| c. System Testing | iii. While Box Testing |
| d. Acceptance Testing | iv. Integration Testing |
Which of the following is the most suitable Match of Column – I and Column – II?
a-iv, b-i, c-iii, d-ii
a-iii, b-ii, c-iv, d-i
a-iii, b-iv, c-i, d-ii
a-ii, b-iv, c-i, d-iii
[ Option C ]
| TESTING TYPE | EXPLANATION |
|---|---|
| Basis Path Testing | Basis Path Testing is a white-box testing technique that focuses on the internal logic and structure of the code. It uses control flow graphs to identify all possible execution paths. |
| Smoke Testing | Smoke Testing is a preliminary integration test performed after building a software module to ensure that the major functionalities work and the build is stable for further testing. |
| System Testing | System Testing includes different types of testing such as recovery testing, which checks how well a system can recover from crashes, failures, or hardware issues. |
| Acceptance Testing | Acceptance Testing verifies whether the system meets business requirements. It includes Alpha and Beta Testing, which are conducted by end users before final deployment. |
| TESTING TYPE | EXPLANATION |
|---|---|
| Unit Testing | Tests individual components or functions of the program to ensure each part works correctly in isolation. Usually performed by developers. |
| Integration Testing | Checks the interaction between integrated modules or units to identify interface-related defects. |
| System Testing | Tests the complete integrated system as a whole to verify that it meets the specified requirements. |
| Acceptance Testing | Conducted to ensure the software is ready for delivery. It validates whether the system meets business needs. Includes Alpha and Beta testing. |
| Alpha Testing | Performed by internal users or testers at the developer’s site to identify defects before releasing to customers. |
| Beta Testing | Conducted by selected end-users in a real-world environment to gather feedback before the final release. |
| Smoke Testing | A quick test after a new build to ensure that major functionalities are working and the build is stable for further testing. |
| Sanity Testing | Conducted after receiving a software build to check specific functionality or bug fixes. It ensures that the changes did not break existing features. |
| Regression Testing | Performed to confirm that recent code changes have not affected the existing functionalities. |
| Performance Testing | Evaluates the system’s speed, stability, and responsiveness under different workloads. |
| Load Testing | Tests how the system behaves under expected user loads to identify performance bottlenecks. |
| Stress Testing | Determines the system’s breaking point by testing it under extreme conditions or heavy load. |
| Recovery Testing | Verifies how well the system recovers from crashes, power failures, or network outages. |
| Usability Testing | Assesses how user-friendly, efficient, and easy to navigate the software is for end-users. |
| Compatibility Testing | Checks whether the software works properly on different devices, operating systems, and browsers. |
| White Box Testing | Examines the internal code structure and logic of the software. Used mainly by developers. |
| Black Box Testing | Focuses on external behavior of the software without looking at the internal code. Used mainly by testers. |
| Gray Box Testing | Combines aspects of both white-box and black-box testing. Testers have partial knowledge of internal design. |
| Mutation Testing | Introduces small changes (mutations) in the code to check if existing test cases can detect them, ensuring test quality. |
| Ad-hoc Testing | Performed without any formal plan or test cases, relying on tester’s intuition and experience. |
Q: 16 ___________ testing executes a system in a manner that demands resources in abnormal quantity, frequency, or volume. Which of the following correctly fill in the blank?
Performance
Stress
Recovery
Theta
[ Option B ]
Stress Testing is a type of non-functional testing that evaluates how a system behaves under extreme or abnormal conditions.
Q: 17 Which of the following is the correct sequence of software testing process?
Prepare test data → Design test cases → Run program with test data → Compare results to test cases
Design test cases → Prepare test data → Run program with test data → Compare results to test cases
Design test cases → Run test cases → Prepare test data → Compare results
Design test cases → Prepare test data → Compare results
[ Option B ]
The software testing process follows a logical and structured sequence to ensure that the program is tested accurately and efficiently.
| ACTIVITY | DESCRIPTION | PURPOSE |
|---|---|---|
| Design Test Cases | Identify and document test scenarios, input conditions, and expected results based on software requirements. | To ensure all functionalities are covered before testing begins. |
| Prepare Test Data | Create or collect the input data needed to execute the test cases, including valid and invalid values. | To simulate real-world usage and check how the program handles different inputs. |
| Run Program with Test Data | Execute the software using the prepared test data to observe the actual output. | To check if the software behaves as expected under test conditions. |
| Compare Results to Test Cases | Compare the actual output with the expected output defined in the test cases. | To determine whether each test case passes or fails. |
| Report and Fix Defects (Optional) | Record any mismatches, communicate to developers, and retest after fixes. | To ensure that all errors are resolved and the software meets quality standards. |
Q: 18 _________ errors occur when the code executes without errors but the output is not what the programmer intended.
Compilation
Logical
Syntax
Semantic
[ Option B ]
Logical Errors (Semantic Errors) occur when the code executes without any syntax or compilation errors, but the output is not what the programmer intended. These errors arise from mistakes in the program's logic, causing it to produce incorrect or unintended results.
Q: 19 The test levels are performed in which of the following order?
Unit, Integration, System, Acceptance
It is based on nature of the project
Unit, Integration, Acceptance, System
Unit, System, Integration, Acceptance
[ Option A ]
Software Testing is the process of evaluating a software application to check whether it meets the specified requirements and works as expected. It helps to identify defects, errors, or gaps so that they can be fixed before the product is delivered. The main goals of testing are:
After this, testing is usually carried out in different levels (Unit, Integration, System, Acceptance) to make sure the software is correct at every stage.
| Test Level | Description |
|---|---|
| Unit Testing | Tests individual components or functions of the software to ensure they work correctly in isolation. Usually performed by developers during coding. It helps catch bugs early and ensures each part functions as intended. |
| Integration Testing | Tests the interaction and data flow between multiple units or modules to verify they work together properly. Helps identify interface defects between integrated components. Typically performed after unit testing. |
| System Testing | Validates the complete, integrated system to ensure it meets specified requirements. Tests the software as a whole in an environment close to production, including functional and non-functional testing. Usually done by QA teams. |
| Acceptance Testing | The final level of testing to verify the system meets user needs and requirements. Often performed by end-users or clients to decide if the software is acceptable for release. Includes User Acceptance Testing (UAT). |
Q: 20 Each time a new module is added to the system, new data flow paths are established, new input/output may occur and new control logic is invoked. These changes may cause problems with functions that previously worked flawlessly. ________ tests ensure that changes or corrections have not introduced new errors.
Top-Down Integration
Regression
Bottom-Up Integration
Performance
[ Option B ]
When a new module is added to a system, several things change:
Even if these changes are small, they can accidentally affect older parts of the system that were working perfectly earlier. To ensure that new changes do not break the existing functionality, we perform Regression Testing.
Regression Testing is a type of testing that re-checking everything to confirm nothing got disturbed.
Q: 21 A company was recommended to adopt a new Accounting System. The company was advised to use both the old and the new Accounting Systems alongside each other, both being able to operate independently. If all goes well, the old system is discontinued and the new system carries on as the only system. Which of the following new Accounting System implementation strategy was advised to the company?
Phased Implementation
Direct Implementation
Parallel Implementation
Pilot Implementation
[ Option C ]
Parallel Implementation is a strategy where the new system runs alongside the old system for a period of time. Both systems operate independently, and outputs from both are compared to ensure the new system works correctly. Once confident, the old system is discontinued.
Q: 22 ______________ tests on a program unit are performed to check “whether programs do what they are expected to do or not”.
Performance
Structural
Stress
Functional
[ Option D ]
Functional tests on a program unit are performed to check whether programs do what they are expected to do. It focuses on:
Q: 23 The primary goal of coding is:
To test the software.
To convert design into executable programs.
To train users.
To create documentation.
[ Option B ]
Coding translates design specifications into working software using a programming language.
Q: 24 ___________ is the process of fixing errors and problems that have been discovered by testing.
Validation
Verification
Debugging
Refutation
[ Option C ]
Debugging is the process of finding and fixing errors or defects in a program after they have been discovered during testing. It is different from Testing, because testing helps detect the presence of errors, while debugging helps locate and remove them.
Q: 25 Which of the following statement(s) is/are true in the context of software testing?
I. Verification is to ensure that software correctly implements a specific function.
II. Validation is to ensure that the software that has been built is traceable to customer requirements.
Only I
Only II
Both I and II
Neither I nor II
[ Option C ]
Verification is the process of checking whether the software is being built correctly according to design documents, specifications, and plans. It focuses on ensuring that each function, logic, and module is correctly implemented before the product is completed.
Validation is the process of checking whether the final software product meets customer needs and expectations. It ensures that the system performs the intended functions in the actual working environment and satisfies all user requirements.
| VERIFICATION | VALIDATION |
|---|---|
| Ensures the product is built according to specifications and design. | Ensures the final product meets customer requirements. |
| Focus on the process of development. | Focus on the final product and its usefulness. |
| We are building the product right. | We are building the right product. |
| Performed by developers, quality assurance team. | Performed by end users, testers, and clients. |
| Reviews, inspections, walkthroughs. | Functional testing, system testing, acceptance testing. |
Q: 26 In which step of SDLC is actual programming of software code done?
Development and documentation
Maintenance and evaluation
Design
Analysis
[ Option A ]
In the Software Development Life Cycle (SDLC), the actual programming or coding of the software is done during the development phase, which is often referred to as the "development and documentation" phase.
This phase follows the design and analysis phases and involves writing the source code based on detailed design specifications.
| SDLC Phase | Activities | Result |
|---|---|---|
| Requirement Analysis | Collect and analyze requirements from stakeholders, identify system goals, and feasibility study. | Software Requirement Specification (SRS) document. |
| System Design | Create system architecture, data flow, database design, and UI design based on SRS. | Design Document, Data Models, System Architecture. |
| Development (Implementation) & Documentation | Actual programming of software code is done, modules are built, and internal documentation is prepared. | Source Code, Technical Documentation. |
| Testing | Verify and validate the software, perform unit, integration, system, and user acceptance testing. | Test Cases, Test Reports, Bug Fixes. |
| Deployment | Release the software into production environment, install and configure the system for users. | Deployed Software, User Manuals. |
| Maintenance | Fix bugs, update features, improve performance, and ensure software continues to meet user needs. | Patches, Updates, Maintenance Reports. |
Q: 27 Code _________ is the quality of a good coded program that makes it easy to understand, modify and maintain by other developers.
Resistance
Adaptability
Effectiveness
Readability
[ Option D ]
Code Readability is the quality of a well-written program that makes it easy for other developers to understand, modify, and maintain. Readable code is clear, logically structured, and communicates its intent, making it easier for others to work on it without confusion or errors.
THE READABLE CODE HAS:
Q: 28 Which user acceptance testing is generally performed by the external users and normally involves sending the product outside for real world exposure?
Beta Testing
Gamma Testing
Alpha Testing
Regression Testing
[ Option A ]
Beta Testing is a type of User Acceptance Testing (UAT) performed by external users outside the development organization. It involves releasing the nearly completed product to a select group of external users or a broader audience to gain real-world exposure and feedback.
This helps identify issues that may not have been caught during internal testing and validates the product's usability and stability in a real environment.
Thank you so much for taking the time to read my Computer Science MCQs section carefully. Your support and interest mean a lot, and I truly appreciate you being part of this journey. Stay connected for more insights and updates! If you'd like to explore more tutorials and insights, check out my YouTube channel.
Don’t forget to subscribe and stay connected for future updates.