Pakistan's best MCQs practice hub — FPSC · PPSC · CSS · NTS · Other Exams
Login
Software Engineering

Software Engineering MCQs with Answers

This page offers software engineering MCQs with answers for NTS and GAT (Subject) tests, FPSC and PPSC tests for IT posts, university semester exams and technical job interviews. The questions follow the standard syllabus through every stage of the software development life cycle (SDLC), and every answer has a short explanation.

Topics include process models (waterfall, spiral, incremental, prototyping, RAD and cleanroom), Agile methods such as Scrum and Extreme Programming, requirements engineering and traceability, design (coupling and cohesion, SOLID principles, design patterns and UML), architecture, microservices and domain-driven design. Other questions cover testing (black-box and white-box techniques, boundary value analysis, decision tables and code coverage), project estimation with COCOMO and function points, risk management, CMM and software quality, and maintenance.

Take a scored quiz instead →

In object-oriented design, which principle states that high-level modules should not depend on low-level modules, but both should depend on abstractions?

ADependency Inversion Principle (DIP)
BSingle Responsibility Principle (SRP)
COpen-Closed Principle (OCP)
DLiskov Substitution Principle (LSP)
Explanation

The Dependency Inversion Principle (the 'D' in SOLID) ensures high-level policy modules remain decoupled from low-level implementation details.

Submitted by: mcqstutor Team

Which SOLID principle states that software entities (classes, modules, functions) should be open for extension, but closed for modification?

ALiskov Substitution Principle (LSP)
BOpen-Closed Principle (OCP)
CInterface Segregation Principle (ISP)
DSingle Responsibility Principle (SRP)
Explanation

The Open-Closed Principle allows system behavior to be extended via polymorphism or inheritance without modifying existing source code.

Submitted by: mcqstutor Team

According to the Liskov Substitution Principle (LSP), objects of a superclass should be replaceable with objects of its subclasses without:

AIncreasing execution time
BChanging database schemas
CAltering the correctness of the program
DModifying compiler settings
Explanation

LSP (the 'L' in SOLID) requires that subclass instances fulfill all contracts of the superclass without introducing unexpected errors.

Submitted by: mcqstutor Team

The Interface Segregation Principle (ISP) dictates that clients should not be forced to depend upon:

AConcrete implementations of factory classes
BAbstract superclasses
CDatabase connection pools
DInterfaces that they do not use
Explanation

ISP advocates breaking large, monolithic interfaces into smaller, specific interfaces so that implementing classes only depend on methods they require.

Submitted by: mcqstutor Team

Which type of cohesion occurs when elements of a module are grouped together because they execute during the same phase of execution (e.g., initialization routines)?

ATemporal Cohesion
BLogical Cohesion
CCoincidental Cohesion
DSequential Cohesion
Explanation

Temporal Cohesion groups operations that must be performed together in time, such as system startup or shutdown routines.

Submitted by: mcqstutor Team

Which type of cohesion is present when functions are placed together in a module purely because they process the same data structures or input stream?

ASequential Cohesion
BCommunicational Cohesion
CProcedural Cohesion
DLogical Cohesion
Explanation

Communicational Cohesion occurs when operations operate on the same shared dataset or input/output data structures.

Submitted by: mcqstutor Team

Which type of cohesion occurs when the output of one component in a module serves as the direct input to the next component?

AProcedural Cohesion
BFunctional Cohesion
CSequential Cohesion
DTemporal Cohesion
Explanation

Sequential Cohesion reflects a assembly-line setup where output from one step flows directly into the input of the next.

Submitted by: mcqstutor Team

Which type of coupling occurs when one module modifies internal data or branch logic of another module directly?

ACommon Coupling
BControl Coupling
CStamp Coupling
DContent Coupling
Explanation

Content Coupling is the most dangerous form of coupling where one module directly accesses or alters the internal working state of another.

Submitted by: mcqstutor Team

Which type of coupling occurs when one module controls the execution flow of another module by passing control flags or switches?

AControl Coupling
BStamp Coupling
CData Coupling
DCommon Coupling
Explanation

Control Coupling exists when one module passes execution flags to direct the conditional logic of another module.

Submitted by: mcqstutor Team

Which type of coupling is considered the cleanest and most desirable where modules interact exclusively by passing elementary primitive data parameters?

AStamp Coupling
BData Coupling
CCommon Coupling
DContent Coupling
Explanation

Data Coupling is the best form of loose coupling, as modules pass only essential parameters with no shared state or control flags.

Submitted by: mcqstutor Team

When entire composite data structures (e.g., a complete record or object) are passed between modules, but the receiving module uses only a subset of fields, it is called:

AData Coupling
BControl Coupling
CStamp Coupling (Data-Structure Coupling)
DCommon Coupling
Explanation

Stamp Coupling occurs when composite structures are passed into functions that only require a few specific fields.

Submitted by: mcqstutor Team

An architectural style where components communicate asynchronously across an enterprise by generating and consuming messages is called:

ALayered (N-Tier) Architecture
BRepository Architecture
CMicrokernel Architecture
DEvent-Driven Architecture
Explanation

Event-Driven Architecture relies on event producers and consumers to maintain high decoupling and scalability.

Submitted by: mcqstutor Team

In Software Testing, the process of executing a program with the deliberate intent of finding errors is the classic definition by:

AGlenford Myers
BBarry Boehm
CFred Brooks
DEdsger Dijkstra
Explanation

Glenford Myers defined testing in 'The Art of Software Testing' as 'the process of executing a program with the intent of finding errors.'

Submitted by: mcqstutor Team

What is the difference between Software Verification and Software Validation?

AVerification involves dynamic code execution; Validation involves static code inspection
BVerification ensures building the product right; Validation ensures building the right product
CVerification is done by end-users; Validation is done by developers
DVerification checks non-functional performance; Validation checks functional specifications
Explanation

Verification checks conformance to specifications ('Are we building the product right?'), whereas Validation checks user satisfaction ('Are we building the right product?').

Submitted by: mcqstutor Team

Static software verification techniques performed without executing program code include:

AUnit Testing and Integration Testing
BStress Testing and Load Testing
CCode Inspections, Walkthroughs, and Static Analysis
DAlpha and Beta Acceptance Testing
Explanation

Static verification inspects design documents, code syntax, and logic without running executable code.

Submitted by: mcqstutor Team

In Integration Testing, combining all software modules simultaneously to test the entire system at once without incremental integration is called:

ATop-Down Integration
BBottom-Up Integration
CSandwich Integration
DBig-Bang Integration
Explanation

Big-Bang Integration delays module combination until all units are coded, making fault isolation extremely difficult.

Submitted by: mcqstutor Team

In Top-Down Integration Testing, dummy control routines used to simulate lower-level modules that are not yet developed are called:

AStubs
BDrivers
CMocks
DSpies
Explanation

Stubs act as dummy modules to receive calls from higher-level components during top-down integration.

Submitted by: mcqstutor Team

In Bottom-Up Integration Testing, dummy modules created to call lower-level components under test are known as:

AStubs
BDrivers
CProxies
DAdapters
Explanation

Drivers simulate higher-level calling modules during bottom-up integration testing.

Submitted by: mcqstutor Team

A formal, rigorous static code review technique led by a trained peer moderator using checklists and defined entry/exit criteria is a:

APeer Walkthrough
BPair Programming
CFormal Inspection (Fagan Inspection)
DDesk Checking
Explanation

Fagan Inspection is a highly structured review process designed by Michael Fagan to detect defects early.

Submitted by: mcqstutor Team

Which testing metric evaluates the percentage of executable branches in a control flow graph evaluated by a test suite?

AStatement Coverage
BCondition Coverage
CPath Coverage
DBranch Coverage (Decision Coverage)
Explanation

Branch Coverage measures whether each decision outcome (True and False branches) has been tested at least once.

Submitted by: mcqstutor Team

Path Coverage criteria requires that every linearly independent control path through a module must be executed at least once. This requires minimum test cases equal to:

AMcCabe's Cyclomatic Complexity V(G)
BTotal Lines of Code (LOC) / 10
CNumber of Module Functions
DNumber of Input Parameters Squared
Explanation

The number of test cases required for 100% basis path coverage equals the Cyclomatic Complexity value V(G).

Submitted by: mcqstutor Team

Software Acceptance Testing conducted by customers at the software developer’s site in a controlled environment is:

ABeta Testing
BAlpha Testing
CGamma Testing
DUser Acceptance Testing (UAT)
Explanation

Alpha testing is conducted at the developer's site by internal teams or end-users in a controlled environment prior to external release.

Submitted by: mcqstutor Team

Software testing conducted by potential users at their own work locations under real-world operational conditions is:

AAlpha Testing
BSmoke Testing
CBeta Testing
DSanity Testing
Explanation

Beta testing collects real-world user feedback outside the controlled developer environment.

Submitted by: mcqstutor Team

Automated regression testing techniques that record user GUI actions and replay them to verify system output are called:

AMutation Testing
BFuzz Testing
CExploratory Testing
DCapture-Replay (Record-and-Playback) Testing
Explanation

Capture-Replay tools record user interactions and play them back to automate UI testing.

Submitted by: mcqstutor Team

In Agile Scrum, what diagram graphically displays the remaining amount of work against time during a Sprint?

ABurndown Chart
BGantt Chart
CPERT Chart
DCumulative Flow Diagram
Explanation

A Sprint Burndown Chart displays completed vs. remaining story points across iteration days.

Submitted by: mcqstutor Team

In Software Risk Management, active measures taken to reduce the probability or magnitude of a risk before it occurs is called:

ARisk Transfer
BRisk Mitigation
CRisk Avoidance
DRisk Acceptance
Explanation

Risk Mitigation seeks to decrease the likelihood or severity of potential risk events.

Submitted by: mcqstutor Team

Transferring risk impact to a third party (e.g., purchasing insurance or outsourcing a risky component) is called:

ARisk Avoidance
BRisk Mitigation
CRisk Transfer
DRisk Retention
Explanation

Risk Transfer shifts the financial or operational impact of a risk to external entities.

Submitted by: mcqstutor Team

Completely eliminating a risk exposure by altering project scope or technical approach is:

ARisk Mitigation
BRisk Acceptance
CRisk Transfer
DRisk Avoidance
Explanation

Risk Avoidance changes the project plan to eliminate the risk condition entirely.

Submitted by: mcqstutor Team

The Critical Path Method (CPM) in software project scheduling determines:

AThe sequence of dependent tasks that defines the minimum total time required to complete the project
BThe path with the highest financial cost
CThe tasks with maximum buffer slack time
DThe sequence of unassigned developer tasks
Explanation

The Critical Path represents the longest sequence of dependent activities, determining the earliest possible project completion.

Submitted by: mcqstutor Team

In project management network diagrams, total float (or slack time) represents:

AThe time required to compile the software codebase
BThe amount of time a task can be delayed without delaying the project completion date
CThe total overtime worked by software engineers
DThe total buffer reserved for bug fixing
Explanation

Total Float/Slack is the duration a non-critical activity can slip without postponing overall project delivery.

Submitted by: mcqstutor Team

Tasks located on the Critical Path in a PERT/CPM software project network diagram always have a Total Float of:

AMaximum Float
BPositive Float equal to 10 days
CZero Float
DNegative Float
Explanation

Critical path tasks have zero float (slack time = 0), meaning any delay on these tasks directly delays project completion.

Submitted by: mcqstutor Team

In Function Point Analysis (FPA), software functionality is evaluated across five primary components: External Inputs, External Outputs, External Inquiries, Internal Logical Files, and:

ADatabase Table Constraints
BSystem Call Routines
CHardware Memory Allocation
DExternal Interface Files
Explanation

FPA counts External Inputs (EI), External Outputs (EO), External Inquiries (EQ), Internal Logical Files (ILF), and External Interface Files (EIF).

Submitted by: mcqstutor Team

In software effort estimation, what does a Story Point measure in Agile frameworks?

ARelative size and complexity of a User Story
BExact number of developer working hours
CTotal number of lines of code to write
DNumber of database tables required
Explanation

Story Points measure relative effort, complexity, and risk rather than absolute time.

Submitted by: mcqstutor Team

The rate at which an Agile development team converts User Stories into completed working software per Sprint is called:

AThroughput
BVelocity
CCycle Time
DLead Time
Explanation

Velocity tracks the average number of story points completed per iteration to predict future release schedules.

Submitted by: mcqstutor Team

The mythical law in software engineering stating that ‘adding manpower to a late software project makes it later’ is known as:

ABoehm's Law
BConway's Law
CBrooks' Law
DMoore's Law
Explanation

Coined by Fred Brooks in 'The Mythical Man-Month', Brooks' Law accounts for communication overhead when adding personnel to delayed projects.

Submitted by: mcqstutor Team

Conway’s Law states that organizations design software systems that mirror:

AThe hardware limitations of host servers
BThe programming language design paradigms
CThe competitive market structures
DTheir own communication structures
Explanation

Melvin Conway observed that system architecture inevitably reflects the social communication topology of the organization.

Submitted by: mcqstutor Team

In Object-Oriented Software Engineering, hiding internal state details of an object and restricting direct access via getter/setter methods is:

AEncapsulation
BPolymorphism
CAbstraction
DInheritance
Explanation

Encapsulation bundles data and operating methods together, shielding internal attributes from unauthorized direct access.

Submitted by: mcqstutor Team

The ability of different objects to respond to the same message or method call in their own unique manner is known as:

AEncapsulation
BPolymorphism
CAbstraction
DGeneralization
Explanation

Polymorphism ('many forms') allows uniform treatment of objects via dynamic method dispatch at runtime.

Submitted by: mcqstutor Team

In object-oriented modeling, a relationship representing a ‘has-a’ whole-part connection where child components CAN exist independently of the whole container is:

AComposition
BGeneralization
CAggregation
DDependency
Explanation

Aggregation represents a weak whole-part relationship where child entities survive container destruction.

Submitted by: mcqstutor Team

A strong whole-part ownership relationship where child objects CANNOT exist independently of their parent container (e.g., Building and Rooms) is:

AAggregation
BAssociation
CRealization
DComposition
Explanation

Composition is a strong whole-part association; if the container object is destroyed, all child components are also destroyed.

Submitted by: mcqstutor Team

In Requirements Engineering, the process of resolving conflicting requirements between different stakeholders is known as:

ARequirement Negotiation
BRequirement Elicitation
CRequirement Specification
DRequirement Validation
Explanation

Requirement Negotiation mediates trade-offs and resolves conflicts among opposing stakeholder priorities.

Submitted by: mcqstutor Team

Which document serves as the formal contractual agreement between software developers and customers detailing system functionality?

ASoftware Architecture Document (SAD)
BSoftware Requirement Specification (SRS)
CTest Summary Report
DProject Charter
Explanation

The SRS document formally details all functional and non-functional requirements governing system acceptance.

Submitted by: mcqstutor Team

According to IEEE standards, an ideal Software Requirement Specification (SRS) document must be:

ABrief, Informal, Abstract, and Flexible
BCode-Centric, Technical, Complex, and Rigid
CUnambiguous, Complete, Verifiable, and Consistent
DRedundant, Variable, Dynamic, and Subjective
Explanation

IEEE standards mandate that an SRS must possess clarity, completeness, verifiability, traceability, and consistency.

Submitted by: mcqstutor Team

The phenomenon where software requirements continuously expand during development beyond original scope limits is termed:

AFeature Bloat
BRequirement Drift
CArchitecture Erosion
DScope Creep
Explanation

Scope Creep occurs when unchecked changes or additions are added to project scope without adjusting time, budget, or resources.

Submitted by: mcqstutor Team

In Software Maintenance, Lehman’s Laws of Software Evolution state that continuous change causes software structure to deteriorate unless work is done to maintain it. This is the law of:

AIncreasing Complexity
BContinuing Change
CSelf Regulation
DConservation of Familiarity
Explanation

Lehman's Law of Increasing Complexity dictates that as software evolves, its complexity increases unless actively restructured.

Submitted by: mcqstutor Team

Technique used to assess the specific software components that will be affected by a proposed requirement change is:

ARoot Cause Analysis
BImpact Analysis
CCost-Benefit Analysis
DDefect Density Analysis
Explanation

Impact Analysis evaluates potential consequences, side-effects, and component dependencies before applying code modifications.

Submitted by: mcqstutor Team

The software quality metric calculated as the total number of confirmed defects divided by the size of the software module (e.g., defects per KLOC) is:

ADefect Removal Efficiency
BFailure Rate
CDefect Density
DMean Time To Failure (MTTF)
Explanation

Defect Density measures software quality normalized by code size (e.g., defects / 1000 Lines of Code).

Submitted by: mcqstutor Team

The mean average operating time between consecutive system failures in a repairable software system is measured by:

AMean Time To Repair (MTTR)
BMean Time To Failure (MTTF)
CFailure Rate (λ)
DMean Time Between Failures (MTBF)
Explanation

MTBF calculates operational uptime reliability between repair cycles (MTBF = MTTF + MTTR).

Submitted by: mcqstutor Team

The average time required to troubleshoot, fix, and restore a failed software system back into operational status is:

AMean Time To Repair (MTTR)
BMean Time To Failure (MTTF)
CMean Time Between Failures (MTBF)
DSystem Availability Index
Explanation

MTTR measures maintenance efficiency and downtime recovery speed.

Submitted by: mcqstutor Team

Software System Availability is mathematically defined using MTBF and MTTR as:

AAvailability = MTTR / MTBF
BAvailability = MTBF / (MTBF + MTTR)
CAvailability = MTBF - MTTR
DAvailability = MTTF / MTTR
Explanation

Availability measures operational readiness as the ratio of operational uptime to total time (MTBF / (MTBF + MTTR)).

Submitted by: mcqstutor Team

Which software development lifecycle model is best suited for projects with high uncertainty, changing requirements, and complex risk management needs?

ASpiral Model
BWaterfall Model
CV-Model
DBig Bang Model
Explanation

The Spiral Model, created by Barry Boehm, combines iterative development with systematic risk analysis at each phase.

Submitted by: mcqstutor Team

In Agile software development, what is the recommended duration for a standard Sprint iteration?

A3 to 6 Months
B1 to 4 Weeks
C6 to 12 Months
D1 to 2 Days
Explanation

Agile Sprints are time-boxed iterations usually lasting between 1 to 4 weeks to deliver working increments.

Submitted by: mcqstutor Team

Which SDLC model strictly links each development phase with a corresponding testing phase in a parallel ‘V’ structure?

AWaterfall Model
BAgile Model
CV-Model (Verification and Validation Model)
DSpiral Model
Explanation

The V-Model maps each phase of system development (e.g., Requirements, Design) directly to a corresponding test stage (e.g., Acceptance, Unit Testing).

Submitted by: mcqstutor Team

In Scrum, who is primarily responsible for defining User Stories and managing the Product Backlog prioritization?

AScrum Master
BSoftware Architecture Lead
CDevOps Engineer
DProduct Owner
Explanation

The Product Owner represents the customer/stakeholders and manages the Product Backlog items and priorities.

Submitted by: mcqstutor Team

Which Software Engineering process model is characterized by incremental prototyping followed by strict evolutionary refinement?

AEvolutionary Development Model
BLinear Sequential Model
CCleanroom Software Engineering
DFormal Methods Model
Explanation

Evolutionary models develop initial implementations, expose them to user feedback, and refine them through multiple versions.

Submitted by: mcqstutor Team

The Extreme Programming (XP) practice where two developers work together at a single workstation is known as:

AMob Programming
BPair Programming
CCode Review
DParallel Coding
Explanation

Pair Programming involves a 'Driver' writing code while a 'Navigator' reviews each line as it is typed.

Submitted by: mcqstutor Team

In Scrum framework, a short 15-minute daily synchronization meeting for the development team is called:

ASprint Planning
BSprint Retrospective
CDaily Stand-up (Daily Scrum)
DBacklog Refinement
Explanation

The Daily Stand-up keeps team members aligned on progress, daily goals, and immediate blockers.

Submitted by: mcqstutor Team

Which architectural software engineering model relies on continuous integration and frequent releases, emphasizing simplicity and feedback?

AWaterfall Model
BRAD Model
CComponent-Based Software Engineering
DExtreme Programming (XP)
Explanation

XP focuses on small, frequent releases, relentless refactoring, and continuous integration.

Submitted by: mcqstutor Team

In software process assessment, CMMI stands for:

ACapability Maturity Model Integration
BComputer Method Management Integration
CComponent Maturity Model Implementation
DCore Management Measurement Integration
Explanation

CMMI is a process and behavioral model that helps organizations streamline process improvement and encourage productive behaviors.

Submitted by: mcqstutor Team

Which maturity level in the CMMI staged representation is characterized by processes that are quantitatively measured and controlled?

ALevel 1 (Initial)
BLevel 4 (Quantitatively Managed)
CLevel 2 (Managed)
DLevel 3 (Defined)
Explanation

At CMMI Level 4, process performance metrics are collected and quantitatively managed using statistical techniques.

Submitted by: mcqstutor Team

The dynamic prototyping approach where a prototype is quickly built to clarify requirements and then discarded is called:

AEvolutionary Prototyping
BIncremental Prototyping
CThrowaway Prototyping
DExtreme Prototyping
Explanation

Throwaway prototyping focuses on resolving ambiguous requirements before constructing the final system.

Submitted by: mcqstutor Team

Which Agile tool or visual board is used to track work in progress (WIP) and optimize workflow efficiency?

AGantt Chart
BPERT Chart
CUML Diagram
DKanban Board
Explanation

Kanban boards visualize tasks across workflow stages and explicitly limit Work-In-Progress (WIP) to prevent bottlenecks.

Submitted by: mcqstutor Team

Requirements that define specific system behaviors, inputs, outputs, and functional reactions to inputs are classified as:

AFunctional Requirements
BNon-Functional Requirements
CDomain Requirements
DBusiness Constraints
Explanation

Functional requirements specify what the system must do, such as processing transactions or generating reports.

Submitted by: mcqstutor Team

Requirements specifying system attributes such as security, scalability, performance, reliability, and maintainability are:

AFunctional Requirements
BNon-Functional Requirements
CUser Requirements
DStructural Requirements
Explanation

Non-Functional Requirements (NFRs) define quality attributes and performance parameters of the overall system.

Submitted by: mcqstutor Team

In Software Design Patterns (GoF), which design pattern restricts the instantiation of a class to one single instance and provides global access to it?

AFactory Method Pattern
BPrototype Pattern
CSingleton Pattern
DBuilder Pattern
Explanation

The Singleton design pattern ensures that only one instance of a class exists in memory throughout application execution.

Submitted by: mcqstutor Team

Which Gang of Four (GoF) design pattern defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified automatically?

AStrategy Pattern
BDecorator Pattern
CAdapter Pattern
DObserver Pattern
Explanation

The Observer pattern is a behavioral pattern commonly used in event-driven systems and GUI frameworks.

Submitted by: mcqstutor Team

The Gang of Four design pattern that allows incompatible interfaces to collaborate by converting the interface of a class into another expected interface is the:

AAdapter Pattern
BBridge Pattern
CFacade Pattern
DProxy Pattern
Explanation

The Adapter pattern acts as a wrapper between two objects with incompatible interfaces.

Submitted by: mcqstutor Team

Which structural design pattern provides a unified, simplified interface to a complex set of interfaces in a subsystem?

AComposite Pattern
BFacade Pattern
CDecorator Pattern
DFlyweight Pattern
Explanation

The Facade pattern shields clients from system complexity by providing a high-level simplified interface.

Submitted by: mcqstutor Team

Which creational pattern provides an interface for creating families of related or dependent objects without specifying their concrete classes?

ABuilder Pattern
BPrototype Pattern
CAbstract Factory Pattern
DSingleton Pattern
Explanation

Abstract Factory defines an interface for creating families of related objects without binding to concrete classes.

Submitted by: mcqstutor Team

Which behavioral design pattern encapsulates a request as an object, thereby letting you parameterize clients with queues, requests, and operations?

AState Pattern
BIterator Pattern
CTemplate Method Pattern
DCommand Pattern
Explanation

The Command pattern decouples the sender of a request from its receiver by encapsulating the action inside an object.

Submitted by: mcqstutor Team

In Unified Modeling Language (UML), which diagram models the static structure of a system including classes, attributes, operations, and relationships?

AClass Diagram
BSequence Diagram
CUse Case Diagram
DState Machine Diagram
Explanation

Class diagrams represent the static structural layout of an object-oriented software system.

Submitted by: mcqstutor Team

Which UML diagram emphasizes the time ordering of messages exchanged between objects during interaction?

ACollaboration Diagram
BSequence Diagram
CActivity Diagram
DDeployment Diagram
Explanation

Sequence diagrams illustrate object interactions arranged in chronological time order.

Submitted by: mcqstutor Team

Which UML diagram models the physical runtime configuration of a system, showing hardware nodes and the software artifacts deployed on them?

AComponent Diagram
BPackage Diagram
CDeployment Diagram
DObject Diagram
Explanation

A deployment diagram is a structural UML diagram showing nodes (servers, devices) and the artifacts deployed on them, with their communication paths.

Component diagrams show software components and their interfaces, package diagrams group model elements, and object diagrams show instances at a point in time.

Submitted by: mcqstutor Team

The software architectural pattern that separates application logic into three interconnected components—Data, User Interface, and Control Logic—is:

APipe and Filter
BRepository Architecture
CLayered Architecture
DModel-View-Controller (MVC)
Explanation

MVC decouples data presentation (View) and data storage (Model) using an intermediate Controller.

Submitted by: mcqstutor Team

Software testing technique where internal logical structure, code paths, and implementation details are fully known to the tester is called:

AWhite-Box Testing (Glass-Box Testing)
BBlack-Box Testing
CGrey-Box Testing
DAcceptance Testing
Explanation

White-box testing focuses on code coverage, control paths, branches, and internal logic verification.

Submitted by: mcqstutor Team

Software testing conducted without any knowledge of internal code structure, focusing purely on inputs and expected outputs, is called:

AWhite-Box Testing
BBlack-Box Testing
CUnit Testing
DMutation Testing
Explanation

Black-box testing evaluates system behavior against specification requirements without examining code implementation.

Submitted by: mcqstutor Team

Testing individual software components or modules in isolation from the rest of the system is called:

AIntegration Testing
BSystem Testing
CUnit Testing
DAcceptance Testing
Explanation

Unit testing verifies the correct behavior of small, isolated units of source code (e.g., functions, methods).

Submitted by: mcqstutor Team

Re-running functional and non-functional tests to ensure that recent code modifications or bug fixes have not adversely affected existing features is called:

ASmoke Testing
BSanity Testing
CStress Testing
DRegression Testing
Explanation

Regression testing prevents unwanted side effects and verifies that legacy functionality remains intact after changes.

Submitted by: mcqstutor Team

The preliminary build-verification testing performed to verify that the core critical functionalities of a software build operate correctly before deep testing is:

ASmoke Testing
BStress Testing
CUsability Testing
DAlpha Testing
Explanation

Smoke testing (Build Verification Testing) validates whether the overall build is stable enough for rigorous testing.

Submitted by: mcqstutor Team

Software testing executed to evaluate system performance and stability under extreme operational loads beyond normal limits is:

ALoad Testing
BStress Testing
CVolume Testing
DUsability Testing
Explanation

Stress testing pushes systems past specified capacity limits to assess failure modes and graceful degradation.

Submitted by: mcqstutor Team

Black-box testing technique that divides input domain data into equivalent groups from which test cases are derived is called:

ABoundary Value Analysis
BCause-Effect Graphing
CEquivalence Partitioning
DOrthogonal Array Testing
Explanation

Equivalence Partitioning assumes that test cases within a valid or invalid partition will produce identical software behavior.

Submitted by: mcqstutor Team

Testing strategy that focuses specifically on testing input values at the extreme lower and upper edges of input partitions is:

AEquivalence Class Testing
BDecision Table Testing
CState Transition Testing
DBoundary Value Analysis (BVA)
Explanation

BVA complements equivalence partitioning by testing boundary conditions where defects frequently occur.

Submitted by: mcqstutor Team

In Software Maintenance, modifying software to fix discovered bugs and operational defects is classified as:

ACorrective Maintenance
BAdaptive Maintenance
CPerfective Maintenance
DPreventive Maintenance
Explanation

Corrective maintenance rectifies faults, errors, or defects detected during active system operation.

Submitted by: mcqstutor Team

Modifying a software system to keep it operational in a changed or evolving environment (e.g., new operating system or DBMS) is:

ACorrective Maintenance
BAdaptive Maintenance
CPerfective Maintenance
DPreventive Maintenance
Explanation

Adaptive maintenance updates software to adapt to environmental, platform, or external API modifications.

Submitted by: mcqstutor Team

Modifying software to enhance system performance, maintainability, or add new user features is termed:

ACorrective Maintenance
BAdaptive Maintenance
CPerfective Maintenance
DPreventive Maintenance
Explanation

Perfective maintenance improves software quality, execution performance, and user-requested feature extensions.

Submitted by: mcqstutor Team

Modifying software to detect and correct latent faults before they manifest as operational failures in the future is:

ACorrective Maintenance
BAdaptive Maintenance
CEmergency Maintenance
DPreventive Maintenance
Explanation

Preventive maintenance (such as re-engineering or refactoring) mitigates future software degradation risks.

Submitted by: mcqstutor Team

In Software Engineering, Cyclomatic Complexity measures:

AThe number of linearly independent paths through a program's source code
BThe total number of lines of source code (LOC)
CThe total execution time required by a module
DThe number of global variables used in a module
Explanation

Developed by Thomas McCabe, Cyclomatic Complexity measures control flow paths using graph theory formula V(G) = E - N + 2P.

Submitted by: mcqstutor Team

If a software control flow graph has 10 edges (E) and 7 nodes (N) with 1 connected component (P=1), its Cyclomatic Complexity V(G) is:

A3
B5
C7
D12
Explanation

Using McCabe's formula V(G) = E - N + 2P = 10 - 7 + 2(1) = 5.

Submitted by: mcqstutor Team

Degree to which a software component or module performs a single, tightly-focused purpose is termed:

ACoupling
BAbstraction
CCohesion
DEncapsulation
Explanation

High Cohesion inside a module implies that its elements are strongly related and focused on a single function.

Submitted by: mcqstutor Team

Degree of interdependence and direct connection between different software modules is termed:

ACohesion
BPolymorphism
CInheritance
DCoupling
Explanation

Software design strives for Low Coupling to reduce dependencies and ensure modularity.

Submitted by: mcqstutor Team

Which type of cohesion is considered the strongest and most desirable in software design?

AFunctional Cohesion
BCoincidental Cohesion
CLogical Cohesion
DTemporal Cohesion
Explanation

Functional Cohesion occurs when all elements of a module contribute to executing one single, well-defined task.

Submitted by: mcqstutor Team

Which software estimation technique decomposes a system into Function Points based on inputs, outputs, inquiries, files, and interfaces?

ACOCOMO Model
BDelphi Technique
CFunction Point Analysis (FPA)
DLines of Code (LOC)
Explanation

Function Point Analysis, developed by Allan Albrecht, measures software size independently of programming language.

Submitted by: mcqstutor Team

In the Constructive Cost Model (COCOMO), software projects with small team size and well-understood requirements are classified as:

ASemi-Detached Mode
BEmbedded Mode
CIterative Mode
DOrganic Mode
Explanation

COCOMO Organic mode applies to small software teams working with familiar constraints.

Submitted by: mcqstutor Team

Software development projects operating within tight hardware constraints and strict operational regulation fall under COCOMO’s:

AEmbedded Mode
BOrganic Mode
CSemi-Detached Mode
DAgile Mode
Explanation

Embedded mode software projects face complex hardware, software, and regulatory restrictions.

Submitted by: mcqstutor Team

In Risk Management, the process of prioritizing risks based on their probability of occurrence and potential impact is:

ARisk Mitigation
BRisk Analysis (Risk Assessment)
CRisk Monitoring
DRisk Identification
Explanation

Risk Analysis ranks identified risks according to probability and impact scores to plan response strategies.

Submitted by: mcqstutor Team

Re-organizing and internal refactoring of existing software source code without changing its external behavior is known as:

ARe-engineering
BReverse Engineering
CRefactoring
DReverse Compilation
Explanation

Refactoring cleans up code structure, improves readability, and reduces technical debt without altering functional output.

Submitted by: mcqstutor Team

The process of analyzing a software system to identify its components and interrelationships, creating abstractions at higher levels, is:

AForward Engineering
BRestructuring
CRefactoring
DReverse Engineering
Explanation

Reverse engineering analyzes existing system artifacts to extract design details and architectural documentation.

Submitted by: mcqstutor Team

In Software Architecture, a pipe-and-filter architectural pattern is best suited for:

ASystems that perform sequential data stream transformations
BInteractive GUI-driven desktop applications
CDatabase-centric CRUD applications
DReal-time client-server web apps
Explanation

Pipe-and-Filter architecture processes continuous streams of data through independent filter transformations.

Submitted by: mcqstutor Team

In Clean Architecture and SOLID principles, the ‘S’ in SOLID stands for:

ASoftware Reliability Principle
BSingle Responsibility Principle (SRP)
CSystem Scalability Principle
DSequential Processing Principle
Explanation

Single Responsibility Principle dictates that a class or module should have one, and only one, reason to change.

Submitted by: mcqstutor Team

Which software engineering process model emphasizes zero-defect software development through formal mathematical verification and statistical quality assurance?

ACleanroom Software Engineering
BAgile Software Development
CRapid Application Development (RAD)
DWaterfall Model
Explanation

Cleanroom Software Engineering, pioneered by Harlan Mills, uses formal specification, correctness verification, and statistical testing to achieve near zero-defect software.

Submitted by: mcqstutor Team

In Cleanroom Software Engineering, traditional unit testing by developers is replaced by:

AAutomated Selenium Test Scripts
BFormal Correctness Proofs and Peer Code Inspection
CBlack-Box Acceptance Testing
DCrowdsourced Beta Testing
Explanation

Cleanroom avoids program execution/unit testing by developers, relying instead on mathematical proofs of correctness and code verification before statistical testing.

Submitted by: mcqstutor Team

Which software development model focuses on assembling pre-built, reusable software components rather than custom coding from scratch?

AExtreme Programming (XP)
BCleanroom Software Engineering
CComponent-Based Software Engineering (CBSE)
DPrototyping Model
Explanation

CBSE emphasizes software reuse by composing applications using standardized off-the-shelf software components.

Submitted by: mcqstutor Team

The software process framework designed by Rational Software Corporation that operates in four sequential phases (Inception, Elaboration, Construction, Transition) is:

AScrum Framework
BExtreme Programming (XP)
CV-Model
DRational Unified Process (RUP)
Explanation

RUP is an iterative process framework structured across four lifecycle phases: Inception, Elaboration, Construction, and Transition.

Submitted by: mcqstutor Team

In Rational Unified Process (RUP), during which phase are system requirements clarified and core architectural baselines established?

AElaboration Phase
BInception Phase
CConstruction Phase
DTransition Phase
Explanation

The Elaboration phase in RUP focuses on analyzing problem domain requirements and designing a stable architectural baseline.

Submitted by: mcqstutor Team

In Rational Unified Process (RUP), which phase delivers the final software product to end-users in their operational production environment?

AConstruction Phase
BTransition Phase
CInception Phase
DElaboration Phase
Explanation

The Transition phase transfers the software system from development to actual customer production deployment.

Submitted by: mcqstutor Team

Which capability level in the CMMI Continuous Representation indicates that a process is standardized, documented, and integrated into organizational processes?

ALevel 1 (Initial)
BLevel 2 (Managed)
CLevel 3 (Defined)
DLevel 5 (Optimizing)
Explanation

In CMMI Continuous Representation, Level 3 (Defined) means processes are well documented, standardized, and integrated across the enterprise.

Submitted by: mcqstutor Team

In CMMI, the highest maturity level (Level 5) characterized by continuous process improvement through innovative technological and process enhancements is:

AQuantitatively Managed
BDefined
CManaged
DOptimizing
Explanation

Level 5 (Optimizing) focuses on continuously refining process performance through innovative engineering and technology improvements.

Submitted by: mcqstutor Team

The Software Engineering Institute (SEI) Capability Maturity Model (CMM) defines how many key maturity levels?

A5 Levels
B3 Levels
C7 Levels
D10 Levels
Explanation

CMM/CMMI defines 5 maturity levels: Initial, Managed, Defined, Quantitatively Managed, and Optimizing.

Submitted by: mcqstutor Team

Which software engineering methodology uses ‘Timeboxing’ to strictly limit the time allocated to complete a project iteration or task?

AWaterfall Model
BDynamic Systems Development Method (DSDM)
CSpiral Model
DFormal Specification Model
Explanation

DSDM is an Agile framework that mandates strict Timeboxing to guarantee on-time delivery of core features.

Submitted by: mcqstutor Team

In Agile software development, a user story estimate written in relative terms using modified Fibonacci numbers (1, 2, 3, 5, 8, 13, 21) is used in:

ADelphi Technique
BCOCOMO Modeling
CPlanning Poker
DPERT Analysis
Explanation

Planning Poker uses a modified Fibonacci sequence for consensus-based relative effort estimation.

Submitted by: mcqstutor Team

In Software Process Improvement, the ISO/IEC standard that provides a framework for software process assessment (also known as SPICE) is:

AISO/IEC 27001
BISO 9001
CISO/IEC 12207
DISO/IEC 15504
Explanation

ISO/IEC 15504 (SPICE) defines standard international criteria for assessing software software development processes.

Submitted by: mcqstutor Team

Which creational design pattern provides a mechanism to create objects by cloning or copying an existing instance rather than instantiating via new operator?

APrototype Pattern
BBuilder Pattern
CFactory Method Pattern
DSingleton Pattern
Explanation

The Prototype pattern creates new objects by copying an existing prototype instance, avoiding expensive creation steps.

Submitted by: mcqstutor Team

Which creational design pattern separates the construction of a complex object from its representation, allowing the same process to create different representations?

AAbstract Factory Pattern
BBuilder Pattern
CSingleton Pattern
DAdapter Pattern
Explanation

The Builder pattern constructs complex objects step-by-step using a Director and Builder interface.

Submitted by: mcqstutor Team

Which structural design pattern dynamically attaches additional responsibilities and behavior to an object without modifying its original source code?

AAdapter Pattern
BProxy Pattern
CDecorator Pattern
DComposite Pattern
Explanation

The Decorator pattern wraps an object to dynamically extend its functionality at runtime without inheritance.

Submitted by: mcqstutor Team

Which structural design pattern provides a surrogate or placeholder for another object to control access, delay instantiation, or provide logging?

AFlyweight Pattern
BFacade Pattern
CBridge Pattern
DProxy Pattern
Explanation

The Proxy pattern acts as an intermediary or surrogate to control or restrict access to the underlying real object.

Submitted by: mcqstutor Team

Which structural design pattern uses sharing to support large numbers of fine-grained objects efficiently by sharing common intrinsic state?

AFlyweight Pattern
BComposite Pattern
CBridge Pattern
DDecorator Pattern
Explanation

The Flyweight pattern minimizes memory usage by sharing common data across multiple similar objects.

Submitted by: mcqstutor Team

Which structural design pattern composes objects into tree structures to represent part-whole hierarchies, allowing clients to treat individual objects and compositions uniformly?

AFacade Pattern
BComposite Pattern
CDecorator Pattern
DAdapter Pattern
Explanation

The Composite pattern lets clients treat individual objects and groups of objects in a tree structure identically.

Submitted by: mcqstutor Team

Which behavioral design pattern defines an algorithm’s skeleton in a base class, allowing subclasses to override specific steps without changing the overall structure?

AStrategy Pattern
BState Pattern
CTemplate Method Pattern
DChain of Responsibility Pattern
Explanation

Template Method sets up an algorithm framework in a method, delegating step implementations to subclasses.

Submitted by: mcqstutor Team

Which behavioral design pattern enables selecting an algorithm’s implementation dynamically at runtime from a family of interchangeable algorithms?

AState Pattern
BCommand Pattern
CMediator Pattern
DStrategy Pattern
Explanation

The Strategy pattern encapsulates alternative algorithms inside separate classes and makes them interchangeable at runtime.

Submitted by: mcqstutor Team

Which behavioral design pattern allows an object to alter its behavior when its internal state changes, appearing as if its class changed?

AState Pattern
BStrategy Pattern
CMemento Pattern
DObserver Pattern
Explanation

The State pattern encapsulates state-specific behaviors in distinct classes and delegates calls to the active state object.

Submitted by: mcqstutor Team

Which behavioral design pattern encapsulates how a set of objects interact, preventing explicit direct references and promoting loose coupling through a central coordinator?

AFacade Pattern
BMediator Pattern
CCommand Pattern
DObserver Pattern
Explanation

The Mediator pattern centralizes complex communications between collating objects to prevent direct tight coupling.

Submitted by: mcqstutor Team

Which behavioral pattern provides a way to capture and restore an object’s internal state without violating encapsulation (enabling Undo mechanisms)?

APrototype Pattern
BCommand Pattern
CMemento Pattern
DVisitor Pattern
Explanation

The Memento pattern captures an object's internal state so it can be restored later without exposing its private fields.

Submitted by: mcqstutor Team

An architecture made up of small, independently deployable services that communicate through lightweight APIs such as REST over HTTP is known as:

AMonolithic Architecture
BMainframe Architecture
CBlackboard Architecture
DMicroservices Architecture
Explanation

Microservices Architecture structures an application as a collection of loosely coupled, independently deployable services.

Submitted by: mcqstutor Team

Which testing technique automatically feeds large volumes of invalid, malformed or random data into a program’s inputs to find crashes and security vulnerabilities?

AFuzz Testing (Fuzzing)
BMutation Testing
CSmoke Testing
DRegression Testing
Explanation

Fuzz testing (fuzzing) automatically sends invalid, unexpected or random inputs to a program to expose crashes, memory leaks and security flaws.

Mutation testing changes the program code to check how good the tests are, smoke testing is a quick check that a build's main functions work, and regression testing re-runs tests after changes.

Submitted by: mcqstutor Team

A fault-based software testing technique where small intentional errors (mutants) are introduced into the source code to evaluate test suite quality is:

AFuzz Testing
BMutation Testing
CStress Testing
DSmoke Testing
Explanation

Mutation testing tests the effectiveness of a test suite by modifying code and checking if existing tests detect (kill) the mutants.

Submitted by: mcqstutor Team

A white-box testing metric that checks whether every boolean sub-expression in a logical decision has been evaluated independently as True and False is:

AStatement Coverage
BLine Coverage
CCondition Coverage
DPath Coverage
Explanation

Condition Coverage verifies that each individual boolean condition in a decision statement evaluates to both true and false.

Submitted by: mcqstutor Team

The advanced code coverage metric mandated for critical safety-avionics systems (DO-178C) requiring every condition in a decision to independently affect the outcome is:

AStatement Coverage
BBranch Coverage
CPath Coverage
DModified Condition/Decision Coverage (MC/DC)
Explanation

MC/DC ensures that every condition inside a decision is tested to independently affect the decision's overall output.

Submitted by: mcqstutor Team

System testing focused on evaluating how effectively a software system recovers from intentional hardware or software crashes is:

ARecovery Testing
BSecurity Testing
CVolume Testing
DCompliance Testing
Explanation

Recovery testing forces system failures to verify that recovery algorithms execute correctly and maintain data integrity.

Submitted by: mcqstutor Team

Testing performed to measure system response times, throughput, and resource utilization under normal expected operational workload is:

AStress Testing
BLoad Testing
CSoak Testing
DSpike Testing
Explanation

Load testing validates system performance characteristics under anticipated normal and peak user concurrency loads.

Submitted by: mcqstutor Team

Performance testing that subjects a system to a high operational workload over an extended continuous period to detect memory leaks is:

ASpike Testing
BStress Testing
CSoak Testing (Endurance Testing)
DSanity Testing
Explanation

Soak testing monitors system performance over long durations to uncover memory leaks, resource depletion, or performance degradation.

Submitted by: mcqstutor Team

Testing conducted to check software performance when subjected to sudden, massive surges in traffic volume is called:

ALoad Testing
BStress Testing
CVolume Testing
DSpike Testing
Explanation

Spike testing checks system stability during sudden dramatic increases and decreases in transaction traffic.

Submitted by: mcqstutor Team

In Software Testing, testing a system with large volumes of database data to evaluate performance under big data conditions is:

AVolume Testing
BSoak Testing
CLoad Testing
DStress Testing
Explanation

Volume testing subjects software to huge volumes of data in database records or file transfers to identify storage bottlenecks.

Submitted by: mcqstutor Team

The percentage of test cases in a test suite that executed successfully without detecting failures is called:

ADefect Removal Efficiency
BTest Pass Rate
CTest Execution Coverage
DCode Velocity
Explanation

Test Pass Rate measures the percentage of executed test cases that passed against total tests executed.

Submitted by: mcqstutor Team

Defect Removal Efficiency (DRE) is calculated as DRE = E / (E + D), where E is defects found before release and D is:

ATotal test cases executed
BLines of code written
CDefects found by customers after release
DTotal development hours spent
Explanation

DRE calculates the percentage of total defects caught by QA internal testing prior to production release.

Submitted by: mcqstutor Team

A system that remains operational continuously even during hardware component failures is said to possess high:

AMaintainability
BPortability
CUsability
DFault Tolerance
Explanation

Fault tolerance allows a system to continue operating properly in the event of component failure.

Submitted by: mcqstutor Team

The process of maintaining track of requirements from their origin through analysis, design, coding, and testing is known as:

ARequirement Traceability
BRequirement Elicitation
CRequirement Validation
DRequirement Refinement
Explanation

Requirement Traceability links requirements across artifacts using a Requirements Traceability Matrix (RTM).

Submitted by: mcqstutor Team

A matrix used to map customer requirements to corresponding design modules and test cases is called a:

AResponsibility Assignment Matrix (RAM)
BRequirements Traceability Matrix (RTM)
CRisk Assessment Matrix
DPERT Chart
Explanation

RTM verifies that all requirements are tracked and validated by corresponding test cases.

Submitted by: mcqstutor Team

In Software Configuration Management (SCM), a baseline is defined as:

AThe initial line of code written in a project
BThe minimal hardware required to compile the application
CA formally approved version of a configuration item that can only be changed through formal change control procedures
DThe final database schema backup file
Explanation

A baseline serves as an officially agreed landmark configuration item subject to formal change control.

Submitted by: mcqstutor Team

In Version Control Systems (VCS), creating an isolated parallel line of development to work on new features without affecting main code is:

AMerging
BChecking Out
CReverting
DBranching
Explanation

Branching creates an isolated development path for feature additions or experimental fixes.

Submitted by: mcqstutor Team

Combining code modifications from an isolated feature branch back into the main baseline branch is called:

AMerging
BBranching
CForking
DStashing
Explanation

Merging integrates independent commits from one branch back into another targeted development branch.

Submitted by: mcqstutor Team

In SCM, the formal group of stakeholders responsible for reviewing, evaluating, approving, or rejecting proposed software changes is the:

AScrum Steering Committee
BChange Control Board (CCB)
CQuality Assurance Guild
DSystem Architecture Board
Explanation

The CCB reviews change requests to analyze project impact, cost, and necessity before approving implementations.

Submitted by: mcqstutor Team

In software cost estimation, the Basic COCOMO model calculates effort (E) in person-months using the formula E = a × (KLOC)^b. What does KLOC stand for?

AKey Logic Operations Count
BKnown Output Logic Classes
CKilo Lines of Code (Thousands of Lines of Source Code)
DKernel Logic Overhead Cost
Explanation

KLOC measures source code volume in thousands of lines of code.

Submitted by: mcqstutor Team

In Intermediate COCOMO (COCOMO 81), the nominal effort is adjusted by multiplying it by fifteen factors called:

ACost Drivers (Effort Multipliers)
BRisk Factors
CFunction Drivers
DProcess Vectors
Explanation

Intermediate COCOMO adjusts the nominal effort using 15 cost drivers (effort multipliers), grouped into product, computer (hardware), personnel and project attributes, such as required reliability, analyst capability and use of software tools.

COCOMO II's Post-Architecture model uses 17 effort multipliers plus 5 scale factors.

Submitted by: mcqstutor Team

Which software engineering technique involves transforming an existing system’s implementation into a new higher-quality form without changing system functionality?

AReverse Engineering
BSoftware Re-engineering
CForward Engineering
DSoftware Maintenance
Explanation

Software Re-engineering involves reverse engineering, code restructuring, and forward engineering to modernize legacy software.

Submitted by: mcqstutor Team

In Software Project Risk Analysis, Risk Exposure (RE) is calculated as:

ARisk Probability + Risk Cost
BRisk Impact / Project Budget
CRisk Frequency × Lines of Code
DRisk Probability × Risk Impact (RE = P × I)
Explanation

Risk Exposure measures overall potential loss by multiplying occurrence probability by financial/operational impact.

Submitted by: mcqstutor Team

If a software risk has a probability of occurrence P = 0.20 and a financial impact I = $50,000, its Risk Exposure (RE) is:

A$10,000
B$50,000
C$2,500
D$25,000
Explanation

Using the formula RE = P × I = 0.20 × $50,000 = $10,000.

Submitted by: mcqstutor Team

Which software development model integrates automated code building, continuous testing, and immediate deployment into production pipelines?

AWaterfall Model
BDevOps (CI/CD Pipeline)
CV-Model
DFormal Cleanroom Model
Explanation

DevOps establishes Continuous Integration and Continuous Deployment (CI/CD) pipelines to automate building, testing, and deployment.

Submitted by: mcqstutor Team

In Model-View-Presenter (MVP) architecture, what role does the Presenter play compared to the Controller in MVC?

AIt queries the database directly without model interaction
BIt acts as a middleman that handles view events and updates the view via an interface directly
CIt serves as a CSS styling framework
DIt executes network serialization routines
Explanation

In MVP, the Presenter retrieves data from the model and formats it for the View, keeping the View entirely passive.

Submitted by: mcqstutor Team

Which architectural pattern uses independent processing units (filters) connected by data transmission channels (pipes) where output of one filter flows into the next?

ABlackboard Architecture
BClient-Server Architecture
CPipe and Filter Architecture
DPeer-to-Peer Architecture
Explanation

Pipe and Filter architecture processes data streams sequentially through discrete, independent transformation filters.

Submitted by: mcqstutor Team

Which architectural style uses a central data repository surrounded by independent specialized worker components (agents) that solve complex AI or signal problems cooperatively?

AMicrokernel Architecture
BLayered Architecture
CSpace-Based Architecture
DBlackboard Architecture
Explanation

Blackboard architecture allows heterogenous specialized knowledge sources to iteratively update a central shared blackboard state.

Submitted by: mcqstutor Team

Which architectural style consists of a minimal core application system with feature extensions added dynamically through plug-in modules?

AMicrokernel (Plug-in) Architecture
BMonolithic Architecture
CLayered Architecture
DEvent-Driven Architecture
Explanation

Microkernel architecture provides a minimal core system along with standalone plugin modules to supply extended capabilities.

Submitted by: mcqstutor Team

In Object-Relational Mapping (ORM), which pattern maps a database table record directly to an object instance where object methods mirror column fields?

AData Mapper Pattern
BActive Record Pattern
CRepository Pattern
DUnit of Work Pattern
Explanation

Active Record encapsulates both table database access and business logic directly inside a single domain object.

Submitted by: mcqstutor Team

Which ORM design pattern keeps domain objects completely independent of database access logic by using a separate mapper object to transfer data?

AActive Record Pattern
BTable Module Pattern
CData Mapper Pattern
DTransaction Script Pattern
Explanation

Data Mapper separates domain business objects from persistence logic, promoting clean separation of concerns.

Submitted by: mcqstutor Team

Which enterprise pattern maintains a list of database operations affected by a business transaction and coordinates writing out changes in a single unified operation?

ARepository Pattern
BService Locator Pattern
CDomain Model Pattern
DUnit of Work Pattern
Explanation

Unit of Work tracks everything done during a transaction that affects the database and coordinates the resolution of changes.

Submitted by: mcqstutor Team

Which pattern mediates between domain logic and data mapping layers using a collection-like interface for accessing domain objects?

ARepository Pattern
BFactory Pattern
CAdapter Pattern
DFacade Pattern
Explanation

Repository pattern acts as an in-memory domain object collection, insulating application logic from data persistence details.

Submitted by: mcqstutor Team

In distributed software engineering, Remote Procedure Call (RPC) client-side stub proxies perform marshaling, which means:

ACompiling C++ code into machine assembly
BConverting high-level programming language data structures into a standardized wire format for network transmission
CDecrypting TLS network packets
DAllocating virtual memory heaps
Explanation

Marshaling converts complex in-memory data structures into a standard byte stream for cross-network transmission.

Submitted by: mcqstutor Team

The process of converting a transmitted network byte stream back into in-memory object structures on the remote server is termed:

ACompilation
BParsing
CUnmarshaling (Deserialization)
DLinking
Explanation

Unmarshaling converts serialized wire data formats back into runtime programming language object representations.

Submitted by: mcqstutor Team

In object-oriented distributed systems, what middleware standard allows heterogeneous objects written in different languages to communicate across network boundaries?

ASOAP
BGraphQL
CODBC
DCORBA (Common Object Request Broker Architecture)
Explanation

CORBA is an Object Management Group (OMG) standard enabling multi-language distributed object communication.

Submitted by: mcqstutor Team

In Mutation Testing, a mutant program is classified as ‘Killed’ when:

AAt least one test case in the test suite fails when executed against the mutant
BAll test cases pass without detecting changes
CThe compiler throws a syntax error
DThe mutant causes a deadlock
Explanation

A mutant is 'killed' when test cases detect the seeded defect, proving the test suite's diagnostic power.

Submitted by: mcqstutor Team

In Mutation Testing, a mutant program that produces functionally identical output to the original program for all possible inputs is a:

ADead Mutant
BEquivalent Mutant
CSurviving Mutant
DStale Mutant
Explanation

Equivalent mutants cannot be killed by any test case because their behavior is semantically identical to original code.

Submitted by: mcqstutor Team

The ratio of killed mutants to total non-equivalent mutants generated during Mutation Testing is called:

ABranch Coverage Ratio
BDefect Density Ratio
CMutation Score (Mutation Indicator)
DTest Pass Index
Explanation

Mutation Score measures the quality of a test suite ($ ext{Mutation Score} = rac{ ext{Killed Mutants}}{ ext{Total Mutants} - ext{Equivalent Mutants}}$).

Submitted by: mcqstutor Team

Testing technique where software execution is conducted by generating inputs based on formal state transition models is:

AEquivalence Partitioning
BBoundary Value Analysis
CUse Case Testing
DState Transition Testing
Explanation

State Transition testing validates system behaviors as it transitions between discrete finite states upon input events.

Submitted by: mcqstutor Team

Black-box testing technique that uses a tabular grid to represent complex business logic rules and their corresponding system actions is:

ADecision Table Testing
BEquivalence Partitioning
CCause-Effect Graphing
DOrthogonal Array Testing
Explanation

Decision Tables systematically detail combinations of input conditions and resulting output actions.

Submitted by: mcqstutor Team

If an integer input field accepts values between 10 and 100 inclusive, the critical boundary values for Boundary Value Analysis (BVA) are:

A10, 50, 100
B0, 10, 100, 1000
C9, 10, 100, 101
D5, 15, 95, 105
Explanation

Two-value BVA tests the exact boundary values and their immediate outer neighbors (10-1=9, 10, 100, 100+1=101).

Submitted by: mcqstutor Team

Software static code analysis metric that counts the total number of decision statements (D) in a function to compute Cyclomatic Complexity using V(G) = D + 1 is:

AMcCabe's Cyclomatic Complexity Formula
BHalstead's Volume Metric
CHenry-Kafura Information Flow
DChidamber & Kemerer Metric
Explanation

McCabe's formula calculates complexity based on decision predicates (V(G) = D + 1 or E - N + 2P).

Submitted by: mcqstutor Team

In Halstead’s Software Science, program length (N) is calculated using total operators (N₁) and total operands (N₂) as:

AN = N₁ × N₂
BN = N₁ + N₂
CN = log₂(N₁ + N₂)
DN = N₁ / N₂
Explanation

Halstead defines total program length as the simple sum of total operator count N₁ and operand count N₂.

Submitted by: mcqstutor Team

In Chidamber & Kemerer (C&K) Object-Oriented metrics, Weighted Methods per Class (WMC) measures:

ATotal lines of code in a class
BNumber of subclass children
CSum of complexities of all methods defined within a class
DNumber of inherited interfaces
Explanation

WMC calculates class complexity by summing the individual complexity metrics of all methods contained in that class.

Submitted by: mcqstutor Team

In C&K OO metrics, Depth of Inheritance Tree (DIT) measures:

AThe total number of subclasses inheriting from a base class
BThe number of private fields
CThe total overriding methods
DThe maximum structural length from the class node to the root of the inheritance hierarchy
Explanation

DIT measures inheritance depth; deeper trees indicate higher design complexity and potential reuse challenges.

Submitted by: mcqstutor Team

In PERT project estimation, the expected activity duration (Te) is calculated using Optimistic (a), Most Likely (m), and Pessimistic (b) estimates as:

ATe = (a + 4m + b) / 6
BTe = (a + m + b) / 3
CTe = (a + 2m + b) / 4
DTe = (a + 6m + b) / 4
Explanation

PERT uses a weighted beta distribution formula Te = (a + 4m + b) / 6 to calculate expected task duration.

Submitted by: mcqstutor Team

In PERT scheduling, the variance (σ²) of a task duration estimate is mathematically given by:

Aσ² = (b - a) / 6
Bσ² = ((b - a) / 6)²
Cσ² = (b + a) / 2
Dσ² = (b - m)²
Explanation

PERT standard deviation is σ = (b - a) / 6, so variance is σ² = ((b - a) / 6)².

Submitted by: mcqstutor Team

If a software task has optimistic estimate a = 4 days, most likely m = 7 days, and pessimistic b = 16 days, its PERT expected duration Te is:

A7 Days
B9 Days
C8 Days
D10 Days
Explanation

Using formula Te = (4 + 4(7) + 16) / 6 = (4 + 28 + 16) / 6 = 48 / 6 = 8 days.

Submitted by: mcqstutor Team

The systematic technique used to analyze failure modes, their immediate effects on system operation, and criticality ranking is:

AFault Tree Analysis (FTA)
BHazard and Operability Study (HAZOP)
CCause-Effect Analysis
DFailure Mode and Effects Analysis (FMEA)
Explanation

FMEA systematically identifies potential failure modes within individual components and evaluates their severity.

Submitted by: mcqstutor Team

A top-down deductive safety analysis technique that uses boolean logic diagrams (AND/OR gates) to trace system failure causes to root events is:

AFault Tree Analysis (FTA)
BFailure Mode and Effects Analysis (FMEA)
CCleanroom Verification
DImpact Analysis
Explanation

FTA works backwards from an undesirable top-level system failure event down to basic cause events using boolean logic.

Submitted by: mcqstutor Team

In safety-critical software engineering, Hazard Analysis focuses primarily on identifying conditions that could lead to:

ABudget overruns in project management
BAccidents, injuries, loss of life, or catastrophic damage
CSoftware compilation warnings
DUI layout discrepancies
Explanation

Hazard Analysis identifies physical hazards and failure conditions that threaten safety or cause catastrophic loss.

Submitted by: mcqstutor Team

The international functional safety standard governing safety-critical electrical/electronic/programmable software systems across industries is:

AISO 9001
BIEEE 830
CIEC 61508
DISO 27001
Explanation

IEC 61508 is the umbrella international standard for functional safety of programmable electronic safety systems.

Submitted by: mcqstutor Team

In Agile project management, what chart plots project scope backlog growth alongside sprint completion progress to predict release dates?

ABurndown Chart
BGantt Chart
CControl Chart
DBurnup Chart
Explanation

A Burnup chart tracks total scope changes alongside work completed, making scope expansion clearly visible.

Submitted by: mcqstutor Team

The total time elapsed from the moment a user request or requirement is submitted until it is fully delivered into production is:

ALead Time
BCycle Time
CThroughput
DResponse Time
Explanation

Lead Time encompasses the full end-to-end duration from request initiation to final release delivery.

Submitted by: mcqstutor Team

The duration of time required by a software development team to actively work on and complete a task once development actually begins is:

ALead Time
BCycle Time
CLatency
DIdle Time
Explanation

Cycle Time measures active work duration from start of coding execution to completion.

Submitted by: mcqstutor Team

In Agile Kanban frameworks, setting a Work In Progress (WIP) limit on workflow columns prevents:

ACode compilation errors
BDatabase schema migration delays
CMultitasking bottlenecks and overloaded team capacity
DAutomated test suite failures
Explanation

WIP limits restrict active work items to maintain smooth throughput and expose workflow bottlenecks.

Submitted by: mcqstutor Team

A software development estimation model that combines historical project data, statistical regression, and mathematical modeling (like COCOMO) is a:

AAnalogous Estimation Model
BExpert Judgment Model
CBottom-Up Model
DParametric Estimation Model
Explanation

Parametric estimation relies on statistical algorithms and historical metrics to estimate cost and effort.

Submitted by: mcqstutor Team

In Requirements Engineering, non-functional requirements specifying performance, response time, and throughput are classified as:

AQuality Requirements (Efficiency)
BFunctional Requirements
CInterface Requirements
DDomain Constraints
Explanation

Non-functional performance parameters define quality attributes such as efficiency and response speed.

Submitted by: mcqstutor Team

Non-functional requirements governing compliance with laws, privacy regulations (e.g. GDPR), and safety rules are classified as:

AFunctional Requirements
BRegulatory / Operational Requirements
CAlgorithmic Requirements
DDesign Constraints
Explanation

Regulatory requirements enforce compliance with legal mandates, industry standards, and privacy laws.

Submitted by: mcqstutor Team

A prototyping approach where software begins as a simple core model and is iteratively refined until it becomes the final production system is:

AThrowaway Prototyping
BPaper Prototyping
CStatic Mockup
DEvolutionary Prototyping
Explanation

Evolutionary prototyping continuously refines a working baseline system into the final software product.

Submitted by: mcqstutor Team

In Requirements Validation, verifying that software requirements do not contradict each other across different documentation sections is checking for:

AConsistency
BCompleteness
CTraceability
DVerifiability
Explanation

Consistency checks ensure that no two requirement statements express conflicting capabilities or constraints.

Submitted by: mcqstutor Team

Verification checking that an SRS contains all necessary functional descriptions required by the customer is checking for:

AConsistency
BCompleteness
CModifiability
DPortability
Explanation

Completeness guarantees that all user needs, constraints, and system responses are fully specified.

Submitted by: mcqstutor Team

According to Lientz and Swanson, which category accounts for the largest proportion (over 50%) of total software maintenance effort?

ACorrective Maintenance
BAdaptive Maintenance
CPerfective Maintenance
DPreventive Maintenance
Explanation

Lientz & Swanson's studies showed perfective maintenance (enhancing user features and performance) comprises >50% of maintenance effort.

Submitted by: mcqstutor Team

The software maintenance metric representing the percentage of software changes that introduce new defects into the system is the:

AMean Time To Repair
BCode Turnover Ratio
CFix Latency Index
DChange Error Rate (Defect Injection Rate)
Explanation

Change Error Rate evaluates how frequently modification activities inject fresh bugs into existing functionality.

Submitted by: mcqstutor Team

In software architecture, the principle that modules should exhibit high cohesion internally while maintaining low coupling externally is:

ALoose Coupling & High Cohesion Principle
BSingle Responsibility Principle
COpen-Closed Principle
DLaw of Demeter
Explanation

High cohesion inside modules combined with loose coupling between modules is the foundational cornerstone of robust software architecture.

Submitted by: mcqstutor Team

The Law of Demeter (Principle of Least Knowledge) states that an object’s method should only invoke methods of:

AAny global object anywhere in the application
BItself, its parameters, objects it instantiates, and its immediate direct component fields
CSubclasses located 3 levels deep in the inheritance tree
DRemote microservices without authentication
Explanation

The Law of Demeter restricts method call chains to immediate neighbors to prevent tight structural coupling.

Submitted by: mcqstutor Team

In Domain-Driven Design (DDD), an entity that acts as the root gatekeeper for a cluster of associated domain objects to enforce consistency boundaries is an:

AAggregate Root
BValue Object
CDomain Service
DRepository
Explanation

In DDD, an Aggregate Root guarantees consistency of changes within an aggregate boundary by treating internal elements as a unit.

Submitted by: mcqstutor Team

In Domain-Driven Design (DDD), an object defined solely by its attribute values rather than a unique identity is a:

AEntity
BValue Object
CAggregate Root
DFactory
Explanation

Value Objects (e.g. Money, Address) have no identity; two Value Objects are considered equal if all their attributes match.

Submitted by: mcqstutor Team

An architectural pattern that segregates the read data model from the write data model to optimize performance and scalability is:

AEvent Sourcing
BDomain-Driven Design
CCommand Query Responsibility Segregation (CQRS)
DModel-View-Controller
Explanation

CQRS separates mutative operations (Commands) from read-only retrieval operations (Queries) into distinct domain models.

Submitted by: mcqstutor Team

An architectural pattern that captures all changes to an application state as a chronological sequence of immutable events is:

ACQRS
BPublish-Subscribe
CObserver Pattern
DEvent Sourcing
Explanation

Event Sourcing persists state changes as an append-only log of events, enabling complete state replaying and historical auditing.

Submitted by: mcqstutor Team

In microservices architecture, what resiliency pattern prevents cascade failures by wrapping remote calls and immediately returning a fallback if error thresholds are exceeded?

ACircuit Breaker Pattern
BBulkhead Pattern
CRetry Pattern
DSaga Pattern
Explanation

The Circuit Breaker pattern detects remote service faults and short-circuits requests to prevent network thread starvation across dependent services.

Submitted by: mcqstutor Team

Which microservices pattern isolates elements into pools so that if one component fails, the remaining components continue operating without system-wide crash?

ACircuit Breaker Pattern
BBulkhead Pattern
CStrangler Fig Pattern
DSidecar Pattern
Explanation

Named after ship compartments, the Bulkhead pattern partitions service resources (e.g., thread pools) to isolate failures.

Submitted by: mcqstutor Team

An architectural migration pattern that incrementally replaces legacy monolithic system features with new microservices until the monolith is phased out is:

ABig Bang Migration Pattern
BAdapter Pattern
CStrangler Fig Pattern
DProxy Pattern
Explanation

The Strangler Fig pattern gradually replaces legacy monolithic components with microservices until the old system can be retired.

Submitted by: mcqstutor Team

In microservices architecture, managing distributed transactions across multiple independent service databases without global two-phase commit relies on the:

ATwo-Phase Commit (2PC)
BUnit of Work Pattern
CActive Record Pattern
DSaga Pattern
Explanation

The Saga pattern manages distributed transactions across microservices using a sequence of local transactions and compensating actions.

Submitted by: mcqstutor Team

Which deployment pattern deploys a secondary helper component alongside a primary application container to share logging, proxy, or monitoring services?

ASidecar Pattern
BAmbassador Pattern
CAdapter Pattern
DDecorator Pattern
Explanation

The Sidecar pattern attaches co-located supporting tasks (e.g. logging, proxying) alongside the main container process.

Submitted by: mcqstutor Team

In cloud-native applications, Twelve-Factor App methodology recommends storing all application configuration settings in:

AHardcoded Source Files
BEnvironment Variables
CLocal XML Config Files
DDatabase Primary Tables
Explanation

Twelve-Factor App guidelines state configuration options must be stored in environment variables to remain distinct across dev, staging, and prod.

Submitted by: mcqstutor Team

In RESTful API design, the concept where server responses include dynamic hypermedia links informing clients of next available state transitions is known as:

AREST Maturity Level 0
BGraphQL Schema
CSwagger Definition
DHATEOAS (Hypermedia As The Engine Of Application State)
Explanation

HATEOAS allows clients to dynamically navigate REST API resources via hypermedia links embedded in JSON/XML responses.

Submitted by: mcqstutor Team

A grey-box software testing technique that combines static analysis with dynamic execution by executing code with symbolic input variables is:

ASymbolic Execution
BFuzz Testing
CMutation Testing
DEquivalence Partitioning
Explanation

Symbolic Execution evaluates software execution paths using symbolic input expressions rather than concrete data values.

Submitted by: mcqstutor Team

A formal verification technique that exhaustively checks whether a finite-state model of a system satisfies a given temporal logic property is:

ACleanroom Engineering
BModel Checking
CRegression Testing
DSmoke Testing
Explanation

Model Checking uses automated mathematical verification algorithms to systematically check system states against formal properties.

Submitted by: mcqstutor Team

In formal specifications, Linear Temporal Logic (LTL) and Computation Tree Logic (CTL) are mathematical frameworks used to model:

ASoftware project labor costs
BSQL database query performance
CSystem behavior and properties over time
DUser interface layout dimensions
Explanation

LTL and CTL are temporal logics used to specify safety, liveness, and correctness properties of dynamic reactive systems over time.

Submitted by: mcqstutor Team

In formal software specification, a ‘Liveness Property’ mathematically states that:

ABad things will never happen in system execution
BThe program contains zero bugs
CMemory consumption is bounded
DSomething good will eventually happen in system execution
Explanation

Liveness properties guarantee that desired conditions (e.g. task completion, deadlock freedom) will eventually be fulfilled.

Submitted by: mcqstutor Team

In formal software specification, a ‘Safety Property’ mathematically states that:

ABad things will never happen during system execution
BSomething good will eventually happen
CExecution speed is linear
DAll test cases pass
Explanation

Safety properties guarantee that unwanted or unsafe states (e.g. system deadlock, illegal memory access) will never occur.

Submitted by: mcqstutor Team

A white-box software testing technique that measures execution of all independent paths through a control flow graph is:

AStatement Coverage
BBasis Path Testing
CCondition Coverage
DDecision Coverage
Explanation

Basis path testing uses McCabe's cyclomatic complexity V(G) to define a basis set of linearly independent paths through the control flow graph.

Executing these V(G) paths ensures that every statement and every branch runs at least once, although it does not cover every possible combination of paths.

Submitted by: mcqstutor Team

In Control Flow Graph (CFG) analysis, a node with two or more outgoing edges is called a:

AJunction Node
BTerminal Node
CPredicate Node (Decision Node)
DEntry Node
Explanation

Predicate nodes contain conditional logic statements causing execution paths to split into multiple branches.

Submitted by: mcqstutor Team

In testing automation, test double objects that store pre-configured canned answers to calls made during test execution are called:

AMocks
BDummies
CSpies
DStubs
Explanation

Stubs provide canned responses to method calls made during a test, without verifying execution behavior.

Submitted by: mcqstutor Team

In testing automation, test double objects that record calls they receive and verify expected method invocations are called:

AMocks
BStubs
CDummies
DFake Objects
Explanation

Mocks are configured with expectations to inspect and verify behavior and interactions during unit test execution.

Submitted by: mcqstutor Team

In testing automation, test double objects that possess working business logic implementations but take shortcuts (e.g. in-memory database) are called:

AMocks
BFake Objects
CStubs
DSpies
Explanation

Fakes have functional implementations suitable for testing (e.g., lightweight in-memory storage) but are unsuited for production.

Submitted by: mcqstutor Team

Software static analysis tool warning where the tool reports a flaw or vulnerability in code that does NOT actually exist in reality is a:

AFalse Negative
BTrue Positive
CFalse Positive
DTrue Negative
Explanation

A False Positive occurs when an automated tool flags clean code as erroneous or vulnerable.

Submitted by: mcqstutor Team

Software static analysis result where the analysis tool FAILS to detect an actual bug or security flaw that exists in code is a:

AFalse Positive
BTrue Positive
CTrue Negative
DFalse Negative
Explanation

A False Negative represents a missed defect that static analysis failed to identify.

Submitted by: mcqstutor Team

In Scrum, a timeboxed iteration where a development team produces a potentially releasable product increment is called a:

ASprint
BEpic
CMilestone
DRelease Wave
Explanation

A Sprint is a core timeboxed unit of development in Scrum, typically lasting between 1 to 4 weeks.

Submitted by: mcqstutor Team

In Scrum, the artifact that represents an ordered list of everything that is known to be needed in the software product is the:

ASprint Backlog
BProduct Backlog
CDefinition of Done
DIncrement
Explanation

The Product Backlog is an evolving, prioritized inventory of user requirements, enhancements, and fixes.

Submitted by: mcqstutor Team

In Scrum, the meeting held at the end of a Sprint where the team inspects its own performance and identifies process improvements is the:

ASprint Review
BBacklog Refinement
CDaily Scrum
DSprint Retrospective
Explanation

The Sprint Retrospective focuses on team process continuous improvement, analyzing what went well and what can be improved.

Submitted by: mcqstutor Team

In Scrum, the event where the Scrum Team and stakeholders inspect the working product increment delivered during the Sprint is the:

ASprint Review
BSprint Retrospective
CDaily Scrum
DSprint Planning
Explanation

The Sprint Review demonstrates working software to stakeholders and collects feedback to refine the Product Backlog.

Submitted by: mcqstutor Team

In Extreme Programming (XP), the principle stating that any team member can modify any part of the project codebase at any time is:

APair Programming
BContinuous Integration
CSimple Design
DCollective Code Ownership
Explanation

Collective Code Ownership empowers developers to fix bugs or enhance code anywhere in the system without permission silos.

Submitted by: mcqstutor Team

In Agile project planning, a large user story that is too complex to be completed within a single Sprint and must be broken down is an:

AEpic
BTheme
CSpike
DUser Story
Explanation

An Epic is a body of work that can be broken down into smaller specific user stories based on customer feedback.

Submitted by: mcqstutor Team

In Agile development, a timeboxed research or prototyping task undertaken to investigate an unknown technical solution or estimate effort is a:

AEpic
BSpike
CSprint
DRefactor
Explanation

A Spike is a brief research activity designed to eliminate technical uncertainty before estimating feature user stories.

Submitted by: mcqstutor Team

The deployment strategy where two identical production environments exist, with one live receiving traffic and the other updated with new software, is:

ACanary Deployment
BRolling Deployment
CBlue-Green Deployment
DShadow Deployment
Explanation

Blue-Green deployment reduces downtime and risk by running two identical environments and toggling router traffic.

Submitted by: mcqstutor Team

A deployment strategy where new software features are gradually released to a small percentage of production users before full rollout is:

ABlue-Green Deployment
BBig Bang Deployment
CIn-Place Deployment
DCanary Deployment
Explanation

Canary Deployment tests new releases on a small live user subset to detect production errors before full deployment.

Submitted by: mcqstutor Team

In Function Point Analysis (FPA), Function Points (FP) are calculated using Unadjusted Function Points (UFP) and Value Adjustment Factor (VAF) as:

AFP = UFP × VAF
BFP = UFP + VAF
CFP = UFP / VAF
DFP = UFP - VAF
Explanation

Function Point Analysis multiplies Unadjusted Function Points by the Value Adjustment Factor (FP = UFP × VAF).

Submitted by: mcqstutor Team

In Function Point Analysis (FPA), the Value Adjustment Factor (VAF) is calculated from 14 General System Characteristics (GSC) using:

AVAF = 0.50 + 0.05 × ΣGSC
BVAF = 0.65 + 0.01 × ΣGSC
CVAF = 1.0 + ΣGSC
DVAF = 0.10 × ΣGSC
Explanation

The standard FPA formula scales VAF between 0.65 and 1.35 using VAF = 0.65 + 0.01 × ΣGSC.

Submitted by: mcqstutor Team

In Function Point Analysis, files generated, owned, and maintained entirely within the boundaries of the application being measured are:

AExternal Interface Files (EIF)
BExternal Inputs (EI)
CInternal Logical Files (ILF)
DExternal Outputs (EO)
Explanation

ILFs are logical groups of user-data maintained within the software system application boundary.

Submitted by: mcqstutor Team

In Function Point Analysis, user-data files referenced by the application but maintained and updated by an external application are:

AInternal Logical Files (ILF)
BExternal Inquiries (EQ)
CExternal Outputs (EO)
DExternal Interface Files (EIF)
Explanation

EIFs are read-only referenced data sources maintained inside an external application boundary.

Submitted by: mcqstutor Team

In Software Maintenance, Lehman’s Law of Continuing Change states that a software application used in a real-world environment must:

AContinually evolve and adapt, or become progressively less useful
BDecrease in complexity over time automatically
CMaintain fixed cost structures
DRequire zero corrective patches
Explanation

Lehman's 1st Law states that systems must undergo continual change to stay useful in operational environments.

Submitted by: mcqstutor Team

In Object-Oriented metrics, the Lack of Cohesion in Methods (LCOM) metric measures:

AThe number of subclasses
BThe execution speed of class methods
CThe degree of dissimilarity or un-relatedness among methods in a class based on shared instance variables
DThe total lines of code in a class
Explanation

High LCOM indicates low cohesion (methods do not share instance variables), suggesting the class should be split.

Submitted by: mcqstutor Team

In Object-Oriented metrics, Coupling Between Object Classes (CBO) measures:

AThe total methods in a class hierarchy
BThe depth of the inheritance tree
CThe number of unit tests written for a class
DThe number of other non-inherited classes to which a class is coupled
Explanation

CBO counts non-inherited class references; high CBO indicates tight coupling and reduced maintainability.

Submitted by: mcqstutor Team

In Software Cost Estimation, COCOMO II replaces KLOC with which alternative early-stage size metric when source code is not yet written?

AUnadjusted Function Points (UFP) / Object Points
BCyclomatic Complexity
CNumber of Database Tables
DClass Inheritance Depth
Explanation

COCOMO II uses Function Points or Object Points for early sizing before line-of-code metrics are available.

Submitted by: mcqstutor Team

The Software Configuration Management process of creating a record of changes, release notes, and build manifests for audit compliance is:

AVersion Branching
BConfiguration Audit & Status Accounting
CCode Refactoring
DRegression Testing
Explanation

Status Accounting and Configuration Audits document change histories, baselines, and release compliance.

Submitted by: mcqstutor Team