Q1. Which of the following is NOT a software development life cycle model?
a) Waterfall model
b) Spiral model
c) Agile model
d) Binary model
Answer: d
Q2. Which phase of the SDLC focuses on defining user needs and system requirements?
a) Design
b) Analysis
c) Implementation
d) Testing
Answer: b
Q3. In software engineering, SRS stands for:
a) Software Resource Specification
b) Software Requirements Specification
c) System Resource Setup
d) Standard Requirement Structure
Answer: b
Q4. Which of the following is NOT an Agile methodology?
a) Scrum
b) Kanban
c) Extreme Programming (XP)
d) Waterfall
Answer: d
Q5. Which design pattern ensures only one instance of a class exists?
a) Factory Pattern
b) Singleton Pattern
c) Observer Pattern
d) Adapter Pattern
Answer: b
Q6. Which UML diagram shows object interactions arranged in time sequence?
a) Class diagram
b) Use case diagram
c) Sequence diagram
d) Activity diagram
Answer: c
Q7. In software design principles, “Open/Closed Principle” means:
a) Software should be open to all developers
b) Open for extension, closed for modification
c) Software should be open source
d) Classes must be closed after use
Answer: b
Q8. Which design pattern provides a simplified interface to a complex system?
a) Adapter
b) Facade
c) Proxy
d) Bridge
Answer: b
Q9. What does cohesion in software design mean?
a) Degree to which elements depend on each other
b) Degree to which a module performs a single task
c) Degree to which a system is integrated
d) Degree to which modules communicate
Answer: b
Q10. Which design pattern is also known as “publish-subscribe”?
a) Factory
b) Observer
c) Strategy
d) Decorator
Answer: b
Q11. Which of the following is a Creational design pattern?
a) Singleton
b) Strategy
c) Observer
d) Proxy
Answer: a
Q12. Which testing level checks the complete system against requirements?
a) Unit testing
b) Integration testing
c) System testing
d) Regression testing
Answer: c
Q13. Which design pattern is used to encapsulate algorithms inside classes?
a) Adapter
b) Strategy
c) Prototype
d) Flyweight
Answer: b
Q14. Which of the following is a Structural design pattern?
a) Builder
b) Adapter
c) Command
d) Iterator
Answer: b
Q15. In Agile, a “Sprint” typically lasts:
a) 1–4 weeks
b) 6 months
c) 1 year
d) Until project completion
Answer: a
Q16. What is the main advantage of using design patterns?
a) Increase coding speed only
b) Provide reusable solutions to common problems
c) Replace documentation
d) Avoid testing
Answer: b
Q17. Which UML diagram shows system functionality from the user’s perspective?
a) Sequence diagram
b) Use case diagram
c) State diagram
d) Component diagram
Answer: b
Q18. Which design principle says “depend on abstractions, not on concretions”?
a) Open/Closed Principle
b) Dependency Inversion Principle
c) Single Responsibility Principle
d) Interface Segregation Principle
Answer: b
Q19. The Repository pattern is commonly used in:
a) Database access layer
b) UI design
c) Logging systems
d) Security
Answer: a
Q20. Which of the following is NOT part of SOLID principles?
a) Single Responsibility
b) Open/Closed
c) Linear Abstraction
d) Dependency Inversion
Answer: c
Q21. Which design pattern provides a surrogate or placeholder for another object?
a) Adapter
b) Proxy
c) Bridge
d) Decorator
Answer: b
Q22. The Factory Method pattern belongs to which category?
a) Creational
b) Structural
c) Behavioral
d) Testing
Answer: a
Q23. Which Agile ceremony is used to review progress and demonstrate working software?
a) Daily Standup
b) Sprint Review
c) Sprint Retrospective
d) Planning Meeting
Answer: b
Q24. Which of the following patterns is used to dynamically add behavior to objects?
a) Decorator
b) Singleton
c) Builder
d) Prototype
Answer: a
Q25. In software testing, regression testing is performed to:
a) Check system performance
b) Verify that new changes haven’t broken existing functionality
c) Test user interfaces only
d) Test security flaws
Answer: b
Q26. Which design pattern creates an interface for creating families of related objects without
specifying their concrete classes?
a) Prototype
b) Abstract Factory
c) Builder
d) Adapter
Answer: b
Q27. Which testing method is also called “white-box testing”?
a) Unit testing
b) Structural testing
c) Functional testing
d) Black-box testing
Answer: b
Q28. Which of the following is NOT a characteristic of good software?
a) Maintainability
b) Portability
c) Scalability
d) Complexity
Answer: d
Q29. The Command pattern is classified as:
a) Creational
b) Structural
c) Behavioral
d) Developmental
Answer: c
Q30. Which of the following is an example of a Behavioral design pattern?
a) Bridge
b) Prototype
c) Observer
d) Factory
Answer: c
Q31. Which software engineering principle reduces coupling and increases reusability?
a) Cohesion
b) Modularity
c) Redundancy
d) Replication
Answer: b
Q32. The Prototype pattern is used for:
a) Creating new objects by cloning existing ones
b) Defining a family of algorithms
c) Allowing multiple observers to listen to events
d) Providing a unified interface
Answer: a
Q33. In the Waterfall model, which phase comes immediately after Design?
a) Analysis
b) Implementation (Coding)
c) Testing
d) Deployment
Answer: b
Q34. The Decorator pattern is an alternative to:
a) Inheritance
b) Abstraction
c) Aggregation
d) Polymorphism
Answer: a
Q35. Which diagram shows the dynamic behavior of a system based on states?
a) Activity diagram
b) Sequence diagram
c) State machine diagram
d) Use case diagram
Answer: c
Q36. Which Agile role ensures that the Scrum team follows the Agile process?
a) Product Owner
b) Scrum Master
c) Developer
d) Tester
Answer: b
Q37. The Bridge pattern is mainly used to:
a) Separate abstraction from implementation
b) Create only one instance
c) Notify observers
d) Encapsulate object creation
Answer: a
Q38. The DRY principle stands for:
a) Do Repeat Yourself
b) Don’t Repeat Yourself
c) Do Reuse Yourself
d) Dynamic Reuse Yield
Answer: b
Q39. Which pattern provides a way to access elements of an aggregate object without exposing
its internal structure?
a) Visitor
b) Iterator
c) Strategy
d) Proxy
Answer: b
Q40. Which testing type checks how the system handles heavy load and stress?
a) Functional testing
b) Regression testing
c) Performance testing
d) Unit testing
Answer: c
Q41. The Adapter pattern is also known as:
a) Wrapper
b) Proxy
c) Facade
d) Observer
Answer: a
Q42. Which of the following is a key principle of Agile development?
a) Heavy documentation over working software
b) Contract negotiation over customer collaboration
c) Following a strict plan over responding to change
d) Customer collaboration over contract negotiation
Answer: d
Q43. Which UML diagram is best for representing workflows and business processes?
a) Sequence diagram
b) Class diagram
c) Activity diagram
d) Use case diagram
Answer: c
Q44. The Builder pattern is useful when:
a) The object to be built has a complex structure
b) Only one instance is needed
c) Objects need to notify observers
d) Many small objects are required
Answer: a
Q45. Which type of coupling is the least desirable in software systems?
a) Data coupling
b) Control coupling
c) Content coupling
d) Stamp coupling
Answer: c
Q46. The Visitor pattern allows:
a) Dynamic addition of behavior without modifying classes
b) Multiple inheritance in C#
c) Simplifying interfaces
d) Building objects step by step
Answer: a
Q47. Which Agile practice involves delivering small increments frequently?
a) Iterative development
b) Big Bang approach
c) Waterfall model
d) V-Model
Answer: a
Q48. The Observer pattern is commonly used in:
a) Event handling and notifications
b) Object cloning
c) Data persistence
d) Code generation
Answer: a
Q49. Which design principle is violated when a class has too many responsibilities?
a) Dependency Inversion Principle
b) Interface Segregation Principle
c) Single Responsibility Principle
d) Open/Closed Principle
Answer: c
Q50. Which design pattern provides a global point of access to a resource?
a) Factory
b) Singleton
c) Proxy
d) Builder
Answer: b
Q51. In software engineering, a “use case” is used to describe:
a) Database structure
b) User interactions with the system
c) Source code flow
d) Deployment process
Answer: b
Q52. The Facade pattern provides:
a) Multiple interfaces to the same subsystem
b) A unified interface to a set of interfaces in a subsystem
c) Object cloning
d) Dynamic object creation
Answer: b
Q53. Which model of software development is best suited for projects with unclear
requirements?
a) Waterfall model
b) Spiral model
c) V-Model
d) Big Bang model
Answer: b
Q54. The Strategy pattern is used to:
a) Swap algorithms dynamically
b) Build complex objects step by step
c) Provide a global object
d) Create families of related objects
Answer: a
Q55. Which of the following is NOT an Agile framework?
a) Scrum
b) Kanban
c) Extreme Programming (XP)
d) Waterfall
Answer: d
Q56. The Proxy pattern is useful for:
a) Controlling access to an object
b) Notifying multiple objects of changes
c) Encapsulating a request
d) Wrapping multiple subsystems
Answer: a
Q57. Regression testing ensures:
a) The software runs faster after changes
b) Old features still work after new changes
c) The system supports high load
d) All modules are compiled together
Answer: b
Q58. The Open/Closed Principle states that software entities should be:
a) Open for extension, closed for modification
b) Closed for extension, open for modification
c) Both open and closed
d) Open for everything
Answer: a
Q59. Which design pattern encapsulates a request as an object?
a) Proxy
b) Command
c) Adapter
d) Strategy
Answer: b
Q60. Which type of testing validates the software against user requirements?
a) Unit testing
b) System testing
c) Acceptance testing
d) Regression testing
Answer: c
Q61. Which pattern decouples senders and receivers of requests?
a) Chain of Responsibility
b) Mediator
c) Observer
d) Visitor
Answer: a
Q62. Which UML diagram shows how objects interact with each other over time?
a) Class diagram
b) Activity diagram
c) Sequence diagram
d) State diagram
Answer: c
Q63. The Factory Method pattern defines:
a) A single instance per application
b) An interface for creating an object but lets subclasses decide the instantiation
c) A step-by-step object creation
d) An object composed of smaller objects
Answer: b
Q64. Which software development model combines both iterative and incremental development?
a) Agile
b) Waterfall
c) V-Model
d) Big Bang
Answer: a
Q65. The principle of “high cohesion” implies:
a) Modules should be independent
b) A module should have a single, focused responsibility
c) Modules should call each other frequently
d) Code should be duplicated for clarity
Answer: b
Q66. The Memento pattern is used for:
a) Saving and restoring an object’s state
b) Delegating requests
c) Wrapping complex APIs
d) Simplifying object creation
Answer: a
Q67. Which testing approach is based on the internal structure of code?
a) White-box testing
b) Black-box testing
c) Functional testing
d) Acceptance testing
Answer: a
Q68. Which design pattern centralizes complex communication and control between objects?
a) Mediator
b) Observer
c) Facade
d) Proxy
Answer: a
Q69. Which of the following is a Creational pattern?
a) Flyweight
b) Bridge
c) Factory Method
d) Interpreter
Answer: c
Q70. In software project estimation, which method is based on historical data and mathematical
models?
a) Expert judgment
b) COCOMO model
c) Delphi method
d) Function point analysis
Answer: b
Q71. The Template Method pattern defines:
a) A skeleton of an algorithm with steps defined in subclasses
b) A single instance object
c) An interface for object creation
d) Object pooling
Answer: a
Q72. Which Agile artifact contains the list of features prioritized by the Product Owner?
a) Sprint Backlog
b) Product Backlog
c) Burndown Chart
d) Kanban Board
Answer: b
Q73. Which testing ensures that integrated modules work together?
a) Unit testing
b) Integration testing
c) Regression testing
d) System testing
Answer: b
Q74. The Flyweight pattern is mainly used for:
a) Reducing memory usage by sharing common objects
b) Encapsulating algorithms
c) Notifying observers
d) Simplifying APIs
Answer: a
Q75. Which software engineering concept states that subclasses should be replaceable for their
base classes without affecting correctness?
a) Open/Closed Principle
b) Liskov Substitution Principle
c) Single Responsibility Principle
d) Dependency Inversion Principle
Answer: b
Q76. The Observer pattern is used when:
a) One object needs to notify multiple dependent objects about changes
b) Multiple objects must be combined into one
c) Object creation is required step by step
d) System needs a global object
Answer: a
Q77. Which of the following is NOT a principle of Agile development?
a) Customer collaboration over contract negotiation
b) Working software over comprehensive documentation
c) Processes over people
d) Responding to change over following a plan
Answer: c
Q78. Which software engineering document describes how the system will be built?
a) SRS (Software Requirements Specification)
b) Software Design Document (SDD)
c) User Manual
d) Feasibility Study
Answer: b
Q79. Which design pattern provides a surrogate or placeholder for another object?
a) Proxy
b) Adapter
c) Bridge
d) Mediator
Answer: a
Q80. Which SDLC model is most rigid and sequential?
a) Agile
b) Waterfall
c) Spiral
d) Incremental
Answer: b
Q81. The Builder pattern is typically used when:
a) Object creation involves many steps and configurations
b) Object creation must be delegated to subclasses
c) A single instance is required
d) A lightweight shared object is required
Answer: a
Q82. Which metric measures how strongly a module depends on other modules?
a) Cohesion
b) Coupling
c) Reliability
d) Complexity
Answer: b
Q83. The Adapter pattern is used to:
a) Convert one interface into another expected by the client
b) Build complex objects step by step
c) Manage shared object states
d) Provide a simplified interface
Answer: a
Q84. Which Agile ceremony reviews completed work and demonstrates it to stakeholders?
a) Sprint Planning
b) Daily Standup
c) Sprint Review
d) Retrospective
Answer: c
Q85. Which design pattern is most suitable for implementing a Publish/Subscribe system?
a) Observer
b) Singleton
c) Factory
d) Command
Answer: a
Q86. Which is NOT a benefit of software modularization?
a) Easier maintenance
b) Code reusability
c) Increased coupling
d) Parallel development
Answer: c
Q87. The Decorator pattern allows:
a) Adding new behavior to an object dynamically
b) Simplifying complex subsystems
c) Encapsulating requests as objects
d) Defining algorithms independently
Answer: a
Q88. Which testing ensures the system meets the business needs and expectations?
a) System Testing
b) Acceptance Testing
c) Regression Testing
d) Unit Testing
Answer: b
Q89. The Repository pattern is commonly used in:
a) UI rendering
b) Data access layer abstraction
c) Object creation
d) Algorithm strategy switching
Answer: b
Q90. Which process model emphasizes risk analysis at each iteration?
a) Spiral Model
b) Waterfall Model
c) V-Model
d) Agile Model
Answer: a
Q91. Which design pattern is best for restoring previous states in an application (like
undo/redo)?
a) Command
b) Memento
c) Proxy
d) Strategy
Answer: b
Q92. Which quality attribute of software refers to its ability to be modified easily?
a) Usability
b) Maintainability
c) Reliability
d) Portability
Answer: b
Q93. The Bridge pattern is primarily used to:
a) Separate abstraction from its implementation
b) Clone objects
c) Create object families
d) Convert one interface to another
Answer: a
Q94. Which Agile meeting focuses on identifying improvements for the next sprint?
a) Sprint Review
b) Retrospective
c) Daily Scrum
d) Backlog Grooming
Answer: b
Q95. Which design pattern is most useful when you want to provide a simplified interface to a
complex subsystem?
a) Adapter
b) Facade
c) Mediator
d) Flyweight
Answer: b
Q96. In software engineering, “refactoring” means:
a) Fixing bugs
b) Optimizing system performance
c) Restructuring code without changing its behavior
d) Adding new features
Answer: c
Q97. Which of the following is an example of a Behavioral pattern?
a) Factory Method
b) Singleton
c) Observer
d) Prototype
Answer: c
Q98. Which Agile role is responsible for maximizing product value and managing backlog
priorities?
a) Scrum Master
b) Development Team
c) Product Owner
d) Project Manager
Answer: c
Q99. Which testing technique uses equivalence partitioning and boundary value analysis?
a) White-box testing
b) Black-box testing
c) Regression testing
d) Load testing
Answer: b
Q100. The Singleton pattern violates which software engineering principle if overused?
a) Cohesion
b) Encapsulation
c) Dependency Inversion
d) Single Responsibility Principle
Answer: d