IEEE Computer Society Professional Software Engineering Master Certification (PSEM) β Questions and Answers
Question 1: What is a 'use case' in software requirements analysis?
- A description of how a user interacts with a system to achieve a specific goal (Correct answer)
- A test scenario written by QA engineers
- A list of all the functions a system must perform
- A diagram showing the database schema
Correct answer: A description of how a user interacts with a system to achieve a specific goal
A use case captures the interaction between an actor and a system to accomplish a particular objective.
Question 2: In software architecture, what does 'loose coupling' mean?
- Services communicate only through shared memory
- The system uses weak data types throughout
- Components are tightly integrated and share internal state
- Components have minimal dependencies on each other, making them easier to change independently (Correct answer)
Correct answer: Components have minimal dependencies on each other, making them easier to change independently
Loose coupling reduces dependencies between components so that changes in one component have minimal impact on others.
Question 3: What does the acronym 'SRS' stand for in software engineering?
- System Requirements Summary
- System Runtime Standards
- Software Requirements Specification (Correct answer)
- Software Release Specification
Correct answer: Software Requirements Specification
SRS stands for Software Requirements Specification, the primary document that captures all functional and non-functional requirements for a system.
Question 4: Iterative process describes requirements analysis.
- True (Correct answer)
- False
Correct answer: True
Requirements analysis is indeed an iterative process, meaning it involves repeated cycles of elicitation, analysis, specification, and validation. As stakeholders provide feedback and new insights emerge, requirements are continuously refined and clarified over time. This iterative nature helps to reduce ambiguities and ensure the final requirements accurately reflect user needs.
Question 5: What is the primary purpose of regression testing?
- Test performance under load
- Ensure that existing functionality still works after changes (Correct answer)
- Verify security vulnerabilities
- Test new features only
Correct answer: Ensure that existing functionality still works after changes
Regression testing ensures that previously working functionality has not been broken by recent code changes or new features.
Question 6: Which pattern is used to reduce the cost of creating and manipulating a large number of similar objects?
- Object Pool
- Flyweight (Correct answer)
- Singleton
- Prototype
Correct answer: Flyweight
The Flyweight pattern shares common state among many fine-grained objects to reduce memory usage.
Question 7: If there is a tight deadline for project development, one may opt for the waterfall model.
- True
- False (Correct answer)
Correct answer: False
The waterfall model is a linear and sequential approach to software development, requiring all requirements to be fully defined upfront. Its rigid structure makes it difficult and costly to accommodate changes or unforeseen issues that often arise under tight deadlines. Agile or iterative models are generally preferred for projects with strict time constraints due to their flexibility and adaptability.
Question 8: A group of software development approaches that create software quickly and allow for more design or change.
- Traditional Process Models
- Agile Processes and Traditional Process Models
- None of the above
- Agile Processes (Correct answer)
Correct answer: Agile Processes
Agile processes are a set of software development methodologies designed to create software quickly and adaptively. They emphasize iterative development, flexibility to changes, and rapid delivery of working software, contrasting with more rigid traditional models.
Question 9: In Agile, what is the primary purpose of a retrospective meeting?
- Demo completed features to stakeholders
- Estimate story points for new tasks
- Reflect and improve team process (Correct answer)
- Plan the next sprint backlog
Correct answer: Reflect and improve team process
A retrospective is held at the end of a sprint to identify what went well, what didn't, and how to improve the team's process.
Question 10: Which pattern separates the construction of a complex object from its representation?
- Flyweight
- Builder (Correct answer)
- Abstract Factory
- Prototype
Correct answer: Builder
The Builder pattern constructs a complex object step by step and allows the same construction process to create different representations.
Question 11: Which of the following characteristics does a good Software Requirements Specification (SRS) not have?
- Initial, Repeatable, Defined, Managed, Optimizing (Correct answer)
- Initial, Repeatable, Managed, Defined, Optimizing
- Optimizing, Managed, Defined, Repeatable, Initial
- Initial, Managed, Repeatable, Defined, Optimizing
Correct answer: Initial, Repeatable, Defined, Managed, Optimizing
The options provided (Initial, Repeatable, Defined, Managed, Optimizing) represent the five maturity levels of the Capability Maturity Model Integration (CMMI), which assesses an organization's process maturity. These are not characteristics of a Software Requirements Specification (SRS). A good SRS is typically characterized by being unambiguous, complete, consistent, verifiable, modifiable, and traceable, focusing on the document's quality rather than the development process's maturity level.
Question 12: What is the purpose of a 'requirements baseline'?
- To compare current requirements with those of competing products
- To establish a formally approved version of requirements against which changes are measured (Correct answer)
- To define the initial rough cost estimate based on requirements volume
- To set the minimum performance standards for the system
Correct answer: To establish a formally approved version of requirements against which changes are measured
A requirements baseline is a formally reviewed and agreed-upon snapshot of requirements that serves as the reference point for all future change control decisions.
Question 13: Which pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable?
- Strategy (Correct answer)
- State
- Command
- Template Method
Correct answer: Strategy
The Strategy pattern lets the algorithm vary independently from the clients that use it.
Question 14: A prototype is what?
- Working model of existing system.
- None of the above
- Mini model of the proposed system (Correct answer)
- Mini model of existing system
Correct answer: Mini model of the proposed system
A prototype is a preliminary, often scaled-down, working model of a proposed system or a specific part of it. Its purpose is to demonstrate key functionalities, gather early feedback from users, and refine requirements before full-scale development. It helps visualize the system and validate design choices without investing in a complete build.
Question 15: An assessment reveals that a microservices architecture has created excessive inter-service dependencies, slowing deployments. This is an example of which anti-pattern?
- Strangler Fig pattern
- Spaghetti code
- Big Ball of Mud
- Distributed monolith (Correct answer)
Correct answer: Distributed monolith
A distributed monolith occurs when microservices are so tightly coupled they cannot be deployed independently, negating the architecture's benefits.
Question 16: What does REST stand for in the context of web API design?
- Relational Entity State Transmission
- Resource Entity Sharing Template
- Representational State Transfer (Correct answer)
- Remote Execution State Transfer
Correct answer: Representational State Transfer
REST (Representational State Transfer) is an architectural style for distributed hypermedia systems, coined by Roy Fielding in 2000.
Question 17: A phase of the software life cycle during which the interfaces between the system's component pieces are specified.
- Detailed design
- Interface design (Correct answer)
- Implementation
- Architectural design
Correct answer: Interface design
Interface design is the specific phase where the interactions and communication protocols between different components or modules of a system are defined. This ensures that separate parts of the software can effectively work together, which is a more granular focus than overall architectural or detailed design.
Question 18: In software quality, what does 'defect density' measure?
- The number of defects per size unit of software (e.g., per KLOC) (Correct answer)
- The speed at which defects are found
- The percentage of defects fixed
- The cost per defect
Correct answer: The number of defects per size unit of software (e.g., per KLOC)
Defect density is the number of defects per thousand lines of code (KLOC) or another size unit, used to assess software quality.
Question 19: What is the primary purpose of a code review?
- To enforce coding style rules automatically
- To track how many lines of code each developer writes
- To measure developer performance for HR evaluations
- To catch defects, ensure code quality, and share knowledge (Correct answer)
Correct answer: To catch defects, ensure code quality, and share knowledge
Code reviews improve software quality by identifying bugs and design issues early, and they help spread knowledge across the team.
Question 20: In the software development life cycle, which of the following is not a designated phase?
- Testing
- Assessment (Correct answer)
- Development
- Maintenance
Correct answer: Assessment
The standard phases of the Software Development Life Cycle (SDLC) typically include Requirements Gathering, Design, Implementation (Development/Coding), Testing, Deployment, and Maintenance. While assessment might occur within or after phases (e.g., risk assessment, post-implementation assessment), it is not typically listed as a distinct, standalone phase in the same way as Development, Maintenance, or Testing.
Question 21: What is the primary purpose of a software design pattern?
- To enforce a specific programming language syntax
- To provide reusable solutions to commonly occurring design problems (Correct answer)
- To replace the need for unit testing
- To document the history of code changes
Correct answer: To provide reusable solutions to commonly occurring design problems
Design patterns are proven templates that address recurring design problems, improving code reuse and maintainability.
Question 22: What, not how, should be specified in requirements.
- True (Correct answer)
- False
Correct answer: True
Requirements should focus on 'what' the software system needs to do, rather than 'how' it will achieve those functionalities. Specifying 'what' allows for flexibility in design and implementation, giving developers the freedom to choose the most efficient and effective technical solutions. Prematurely defining 'how' can constrain design choices and lead to less optimal solutions.
Question 23: Which of the following characteristics doesn't make for a strong Software Requirements Specification (SRS)?
- Verifiable
- Complete
- Traceable
- Ambiguous (Correct answer)
Correct answer: Ambiguous
A strong Software Requirements Specification (SRS) must be clear, precise, and unambiguous to avoid misinterpretations during development. Ambiguity in an SRS leads to confusion, rework, and potential project failures, as developers may implement features differently than intended. Therefore, an ambiguous SRS is a characteristic that *doesn't* make for a strong specification.
Question 24: The Factory Method pattern is classified under which category of design patterns?
- Behavioral
- Structural
- Creational (Correct answer)
- Architectural
Correct answer: Creational
The Factory Method pattern is a Creational pattern that defines an interface for creating objects but lets subclasses decide which class to instantiate.
Question 25: Which data structure would be most efficient for implementing an undo/redo feature in a text editor?
- Queue
- Stack (Correct answer)
- Binary tree
- Hash table
Correct answer: Stack
A stack's LIFO (Last In, First Out) behavior naturally supports undo by popping the most recent action off the top.
Question 26: Which metric measures the percentage of source code executed by a test suite?
- Test coverage (code coverage) (Correct answer)
- Defect density
- Defect removal efficiency
- Mean time to failure
Correct answer: Test coverage (code coverage)
Code coverage measures the percentage of production code that is exercised when a test suite runs, indicating how thoroughly the code is tested.
Question 27: In CI/CD pipelines, what does 'continuous delivery' mean?
- Code is automatically tested and kept in a deployable state (Correct answer)
- Developers integrate code multiple times per day
- Infrastructure is provisioned automatically
- Code is automatically deployed to production on every commit
Correct answer: Code is automatically tested and kept in a deployable state
Continuous delivery ensures code is always in a releasable state by automating build, test, and staging, but deployment to production is triggered manually.
Question 28: In database design, what does normalization primarily aim to achieve?
- Maximizing query performance by denormalizing tables
- Eliminating data redundancy and ensuring data integrity (Correct answer)
- Distributing data across multiple servers
- Encrypting sensitive columns in a table
Correct answer: Eliminating data redundancy and ensuring data integrity
Normalization organizes a database to reduce data duplication and prevent update anomalies by structuring data into related tables.
Question 29: What is the difference between a compiler and an interpreter?
- A compiler runs code line by line; an interpreter translates the whole program first
- An interpreter produces machine code; a compiler does not
- A compiler only works with object-oriented languages
- A compiler translates the whole program before execution; an interpreter executes line by line (Correct answer)
Correct answer: A compiler translates the whole program before execution; an interpreter executes line by line
Compilers translate source code entirely into machine code before execution, while interpreters execute it line by line at runtime.
Question 30: SDLC is short for
- Software Design Life Cycle
- Software Development Life Cycle
- System Design Life Cycle
- System Development Life cycle (Correct answer)
Correct answer: System Development Life cycle
SDLC is a widely recognized acronym in the field of software and systems development. It stands for System Development Life Cycle. This term refers to a structured process that outlines the stages involved in planning, creating, testing, deploying, and maintaining an information system or software application.
Question 31: What is the difference between functional and non-functional requirements?
- Functional requirements cover UI; non-functional cover business logic
- Functional requirements are optional; non-functional are mandatory
- Functional requirements describe what a system does; non-functional describe how well it does it (Correct answer)
- There is no meaningful difference between them
Correct answer: Functional requirements describe what a system does; non-functional describe how well it does it
Functional requirements define specific behaviors or functions, while non-functional requirements define quality attributes like performance, scalability, and security.
Question 32: Which of the following best describes a 'microservices' architecture?
- A minimalist programming approach using as few lines of code as possible
- A mobile-first design pattern for web applications
- An application structured as a collection of small, independently deployable services (Correct answer)
- A single large application deployed on many servers
Correct answer: An application structured as a collection of small, independently deployable services
Microservices breaks an application into small services that each own a specific business capability and communicate via APIs.
Question 33: What is a 'deadlock' in concurrent programming?
- A memory leak caused by circular object references
- A state where two or more threads are each waiting for resources held by the other, preventing any from proceeding (Correct answer)
- An exception thrown when a thread accesses a null pointer
- A situation where a thread runs indefinitely without producing output
Correct answer: A state where two or more threads are each waiting for resources held by the other, preventing any from proceeding
Deadlock occurs when processes are stuck in a circular wait, each holding a resource the other needs, so none can make progress.
Question 34: What does 'technical debt' refer to in software engineering?
- Cost of hardware infrastructure upgrades
- Financial loss due to a software project failure
- Future rework caused by choosing quick solutions now (Correct answer)
- Software licensing fees owed to vendors
Correct answer: Future rework caused by choosing quick solutions now
Technical debt represents the implied cost of future rework required when developers choose quick, easy solutions over better but more time-consuming approaches.
Question 35: Which of the following describes interactions in use case descriptions?
- Product(System) and Actor (Correct answer)
- Product
- Use case
- Actor
Correct answer: Product(System) and Actor
Use case descriptions detail the interactions between an external entity (the 'actor') and the system (the 'product') to achieve a specific goal. They describe how the actor uses the system and how the system responds, outlining the sequence of events and alternative flows. This interaction-centric view between the product and the actor is fundamental to understanding system behavior.
Question 36: Which activity in requirements engineering verifies that requirements accurately reflect stakeholder needs?
- Requirements validation (Correct answer)
- Requirements elicitation
- Requirements implementation
- Requirements specification
Correct answer: Requirements validation
Requirements validation confirms that documented requirements correctly represent what stakeholders actually need before development begins.
Question 37: Which Agile ceremony is held daily and limited to 15 minutes?
- Backlog Refinement
- Daily Standup (Correct answer)
- Sprint Retrospective
- Sprint Review
Correct answer: Daily Standup
The Daily Standup (or Daily Scrum) is a short synchronization meeting where team members share progress, plans, and blockers.
Question 38: Which HTTP method is conventionally used to update an existing resource in a RESTful API?
- PUT (Correct answer)
- POST
- GET
- DELETE
Correct answer: PUT
PUT replaces an existing resource at a specified URI with the provided representation, making it the standard for full updates in REST.
Question 39: Which architectural pattern separates an application into Model, View, and Controller components?
- Layered Architecture
- Microservices
- Event-Driven Architecture
- MVC (Correct answer)
Correct answer: MVC
MVC (Model-View-Controller) divides an application into data (Model), UI (View), and logic (Controller) to separate concerns.
Question 40: Which of the following phases in the Software Development Life Cycle (SDLC) is the most crucial?
- Coding
- Testing
- Designing
- Requirements analysis (Correct answer)
Correct answer: Requirements analysis
Requirements analysis is often considered the most crucial phase in the Software Development Life Cycle (SDLC) because it lays the foundation for the entire project. Errors or omissions in this phase are significantly more expensive and difficult to correct later in the development cycle. A clear understanding of requirements ensures that the right product is built, minimizing rework and maximizing project success.
Question 41: In software assessment, what does a 'baseline' primarily serve as?
- The final version of the software
- The initial project cost estimate
- A list of all known defects
- A performance benchmark for future comparisons (Correct answer)
Correct answer: A performance benchmark for future comparisons
A baseline is an established reference point used to measure and compare future changes or performance.
Question 42: Which version control strategy involves each developer having a full copy of the repository history?
- Linear Version Control
- Centralized Version Control
- Lock-Based Version Control
- Distributed Version Control (Correct answer)
Correct answer: Distributed Version Control
In distributed version control systems like Git, every developer has a complete local copy of the entire repository history.
Question 43: Static analysis tools assess software WITHOUT doing which of the following?
- Parsing the source code
- Detecting potential null pointer dereferences
- Checking for coding standards
- Executing the program (Correct answer)
Correct answer: Executing the program
Static analysis examines code structure and patterns without running the program, unlike dynamic analysis.
Question 44: The Software Requirement Specifications Document (SRS) is written by whom?
- System Analyst
- None of the above
- System Tester
- System Developer (Correct answer)
Correct answer: System Developer
The Software Requirements Specification (SRS) document is primarily written by a System Analyst. The System Analyst acts as a crucial bridge between the stakeholders (users, clients) and the development team, gathering, analyzing, and documenting the requirements. While developers use the SRS, their primary role is implementation, not initial specification writing.
Question 45: A system engineer collaborates with the _________ to comprehend system needs.
- Future users
- All of the above (Correct answer)
- Customer
- Stakeholders
Correct answer: All of the above
A system engineer collaborates with various stakeholders to fully comprehend system needs. This includes future users who will interact with the system, the customer who commissions the project, and other stakeholders who have an interest or influence on the system. Gathering input from all these groups ensures a comprehensive understanding of requirements and a successful system.
Question 46: Which software testing technique tests the internal workings and code paths of a system, requiring knowledge of the source code?
- White-box testing (Correct answer)
- Black-box testing
- Smoke testing
- Grey-box testing
Correct answer: White-box testing
White-box (or clear-box) testing exercises specific code paths, branches, and conditions with full knowledge of the implementation.
Question 47: During a readiness assessment before a production release, which criterion directly evaluates operational preparedness rather than software quality?
- Code review approval is obtained
- The feature branch is merged to main
- Runbooks and rollback procedures are documented and tested (Correct answer)
- All unit tests pass
Correct answer: Runbooks and rollback procedures are documented and tested
Runbooks and rollback procedures address operational readiness β the ability to run, monitor, and recover the system in production.
Question 48: In continuous testing, tests are executed:
- Automatically as part of the CI/CD pipeline (Correct answer)
- Once before release
- Only in the production environment
- Manually by QA engineers only
Correct answer: Automatically as part of the CI/CD pipeline
Continuous testing integrates automated test execution into the CI/CD pipeline so that software is tested at every stage of delivery.
Question 49: In Big O notation, what is the space complexity of a recursive Fibonacci function without memoization?
- O(log n)
- O(n) (Correct answer)
- O(2^n)
- O(1)
Correct answer: O(n)
The call stack depth reaches O(n) at most since each recursive chain goes n levels deep before returning.
Question 50: The Software Requirement Specifications Document (SRS) is written by?
- None of the above
- System Developer
- System Tester
- System Analyst (Correct answer)
Correct answer: System Analyst
The System Analyst is typically responsible for writing the Software Requirements Specification (SRS) document. They act as a bridge between stakeholders and the development team, eliciting, analyzing, and documenting requirements in a clear, concise, and unambiguous manner for all parties involved. This role ensures that the technical team understands the business needs.
Question 51: Which Agile manifesto value prioritizes 'Working software over comprehensive documentation'?
- Customer collaboration over contract negotiation
- Working software over comprehensive documentation (Correct answer)
- Individuals and interactions over processes and tools
- Responding to change over following a plan
Correct answer: Working software over comprehensive documentation
One of the four Agile Manifesto values explicitly states that working software is valued more than comprehensive documentation.
Question 52: What does an API gateway do in a distributed system?
- Acts as a single entry point that routes client requests to the appropriate backend services (Correct answer)
- Monitors database query performance across services
- Compiles source code from multiple microservices
- Stores user credentials for all backend services
Correct answer: Acts as a single entry point that routes client requests to the appropriate backend services
An API gateway serves as a reverse proxy that handles request routing, authentication, rate limiting, and load balancing for backend services.
Question 53: What is the time complexity of looking up an element in a balanced binary search tree (BST)?
- O(n log n)
- O(1)
- O(n)
- O(log n) (Correct answer)
Correct answer: O(log n)
A balanced BST halves the search space at each node, yielding O(log n) lookup time for n elements.
Question 54: What is the primary goal of requirements engineering?
- To test the software against user needs
- To write code that meets user expectations
- To deploy software to production environments
- To define and document what the software system must do (Correct answer)
Correct answer: To define and document what the software system must do
Requirements engineering aims to define and document what the system must do before design and development begin.
Question 55: Which testing technique tests the software without knowledge of its internal structure?
- Glass-box testing
- Black-box testing (Correct answer)
- White-box testing
- Gray-box testing
Correct answer: Black-box testing
Black-box testing evaluates software behavior without any knowledge of internal implementation or source code.
Question 56: The Composite pattern is most useful when you need to treat individual objects and compositions of objects:
- Randomly
- Uniformly (Correct answer)
- Differently
- Sequentially
Correct answer: Uniformly
The Composite pattern lets clients treat individual objects and compositions uniformly through a common interface.
Question 57: Which tool is commonly used for declarative infrastructure provisioning across multiple cloud providers?
- Terraform (Correct answer)
- Puppet
- Chef
- Ansible
Correct answer: Terraform
Terraform by HashiCorp is the leading IaC tool that uses a declarative language to provision and manage infrastructure across multiple cloud providers.
Question 58: Which software development methodology emphasizes responding to change over following a plan?
- PRINCE2
- Agile (Correct answer)
- Waterfall
- Six Sigma
Correct answer: Agile
The Agile Manifesto explicitly values 'responding to change over following a plan' as one of its four core values.
Question 59: Which Scrum event serves as an opportunity to inspect the Increment and adapt the Product Backlog?
- Sprint Retrospective
- Sprint Review (Correct answer)
- Daily Scrum
- Sprint Planning
Correct answer: Sprint Review
The Sprint Review is held at the end of the Sprint to inspect the Increment and gather stakeholder feedback to adapt the Product Backlog.
Question 60: What does ISTQB stand for in software testing?
- Integrated Software Test Quality Base
- International Software Testing Qualifications Board (Correct answer)
- International Software Testing Qualification Bureau
- Institute for Software Testing and Quality Benchmarks
Correct answer: International Software Testing Qualifications Board
ISTQB stands for International Software Testing Qualifications Board, the global organization for software testing certification.
Question 61: This paradigm was proposed by D. L. Parnas. A small subset of the entire system that was nonetheless a useful system had to be created and delivered to the customer. Through the entire life cycle, the procedure will iterate once more in little steps. Giving the customer a functional system as soon as possible and working increments are two benefits.
- Extreme Programming
- Spiral Model
- Linear Sequential Model
- Incremental Model (Correct answer)
Correct answer: Incremental Model
The Incremental Model, often associated with D.L. Parnas, delivers a series of functional, usable subsets of the complete system to the customer in successive increments. This approach allows for early delivery of core functionality and continuous feedback, iterating through the life cycle in small, manageable steps.
Question 62: Which of the following activities is a part of quality assurance?
- Testing
- Coding
- Process audit (Correct answer)
- Code review
Correct answer: Process audit
Quality Assurance (QA) focuses on preventing defects by ensuring that the processes used to develop software are effective and followed correctly. A process audit is a key QA activity that systematically examines whether development processes comply with established standards, procedures, and best practices, aiming to improve overall quality and prevent future issues.
Question 63: Which version control operation integrates changes from one branch into another?
- Push
- Clone
- Merge (Correct answer)
- Commit
Correct answer: Merge
Merging combines the history and changes of one branch into another, reconciling differences between them.
Question 64: Which pattern provides a way to access elements of an aggregate object sequentially without exposing its underlying representation?
- Iterator (Correct answer)
- Memento
- Chain of Responsibility
- Visitor
Correct answer: Iterator
The Iterator pattern provides a standard way to traverse a collection without exposing its internal structure.
Question 65: What does the term 'technical debt' refer to in software engineering?
- Accumulated cost of shortcuts and poor design decisions made for short-term gain (Correct answer)
- Money owed to software vendors for licenses
- The time needed to train developers on a new codebase
- The cost of hardware needed to run software
Correct answer: Accumulated cost of shortcuts and poor design decisions made for short-term gain
Technical debt represents the implied future rework caused by choosing an easy solution now instead of a better approach that would take longer.
Question 66: The design step includes the writing of test cases.
- False
- True (Correct answer)
Correct answer: True
Writing test cases during the design phase, or even earlier during requirements analysis, is a best practice in software engineering. This approach ensures that the system is designed with testability in mind, helps clarify requirements, and allows for the early detection of design flaws, ultimately leading to a more robust and verifiable product.
Question 67: Which design pattern is used to convert the interface of a class into another interface that clients expect?
- Bridge
- Strategy
- Proxy
- Adapter (Correct answer)
Correct answer: Adapter
The Adapter pattern acts as a bridge between two incompatible interfaces by wrapping an object.
Question 68: Which monitoring concept tracks the four key metrics: deployment frequency, lead time, change failure rate, and MTTR?
- CSAT metrics
- SLAS framework
- ITIL metrics
- DORA metrics (Correct answer)
Correct answer: DORA metrics
DORA (DevOps Research and Assessment) metrics measure software delivery performance through four key indicators that predict organizational performance.
Question 69: Which approach involves testing a system against its specification to verify it meets requirements?
- Defect-based testing
- Exploratory testing
- Experience-based testing
- Specification-based testing (Correct answer)
Correct answer: Specification-based testing
Specification-based (black-box) testing derives test cases directly from the software specification to verify functional correctness.
Question 70: In a CI/CD pipeline, what does 'CD' typically stand for?
- Continuous Documentation
- Continuous Delivery or Continuous Deployment (Correct answer)
- Code Deployment
- Configuration Drift
Correct answer: Continuous Delivery or Continuous Deployment
CD stands for Continuous Delivery (automated release preparation) or Continuous Deployment (automated release to production).
Question 71: Which assessment technique involves systematically walking through code with a group of peers to identify defects?
- Formal inspection (Correct answer)
- Load testing
- Regression testing
- Unit testing
Correct answer: Formal inspection
A formal inspection (e.g., Fagan inspection) is a structured peer review where a team walks through code to find defects.
Question 72: What is the purpose of an abstract class in object-oriented programming?
- To store only static methods and constants
- To define a common interface and partial implementation that subclasses must complete (Correct answer)
- To prevent any other class from inheriting its properties
- To create objects that cannot hold any data
Correct answer: To define a common interface and partial implementation that subclasses must complete
An abstract class provides a template with some implemented behavior and declares abstract methods that concrete subclasses are required to implement.
Question 73: During a software capability assessment, evaluators discover that a team's estimates consistently run 40% over actual effort. What root cause category does this most likely indicate?
- Poor version control
- Estimation process weakness (Correct answer)
- Insufficient testing
- Inadequate requirements
Correct answer: Estimation process weakness
Systematic over-estimation points to a flawed or immature estimation process rather than individual technical issues.
Question 74: What does CI/CD stand for in modern software delivery?
- Continuous Integration / Continuous Delivery (or Deployment) (Correct answer)
- Code Inspection / Code Deployment
- Component Interface / Component Design
- Centralized Infrastructure / Cloud Delivery
Correct answer: Continuous Integration / Continuous Delivery (or Deployment)
CI/CD automates building, testing, and deploying code changes to reduce manual effort and release risk.
Question 75: What is 'requirements traceability'?
- The ability to track changes to requirements over time
- A technique for prioritizing requirements by business value
- The process of linking requirements to their origins and to design and test artifacts (Correct answer)
- A method for estimating how many requirements a project needs
Correct answer: The process of linking requirements to their origins and to design and test artifacts
Requirements traceability links each requirement to its source and to downstream artifacts like design documents and test cases, enabling impact analysis.
Question 76: What does 'refactoring' mean in software development?
- Fixing bugs identified during QA testing
- Migrating a codebase to a new programming language
- Adding new features to an existing codebase
- Restructuring existing code without changing its external behavior to improve readability or performance (Correct answer)
Correct answer: Restructuring existing code without changing its external behavior to improve readability or performance
Refactoring improves the internal structure of code while preserving its observable behavior, reducing complexity and technical debt.
Question 77: In an agile retrospective used as a team assessment tool, the 'What went well / What to improve' format primarily aims to assess which dimension?
- Individual developer skill gaps
- Product feature completeness
- Customer satisfaction scores
- Team process and collaboration effectiveness (Correct answer)
Correct answer: Team process and collaboration effectiveness
Retrospectives assess team dynamics and process health to identify actionable improvements for the next iteration.
Question 78: A security assessment finds that user input is directly concatenated into SQL queries. Which vulnerability class does this represent?
- SQL injection (Correct answer)
- Insecure deserialization
- Cross-site scripting (XSS)
- Broken authentication
Correct answer: SQL injection
Concatenating unsanitized user input into SQL queries allows attackers to manipulate the query structure, a classic SQL injection vulnerability.
Question 79: Which performance assessment test determines how a system behaves when subjected to loads beyond its normal operating capacity?
- Load testing
- Smoke testing
- Stress testing (Correct answer)
- Soak testing
Correct answer: Stress testing
Stress testing pushes the system beyond its capacity limits to identify breaking points and observe failure behavior.
Question 80: Which of these software engineering processes is not included in software engineering?
- Software specification
- Software development
- Software dependence (Correct answer)
- Software validation
Correct answer: Software dependence
Software engineering processes typically include software specification (defining requirements), software development (designing and coding), and software validation (testing and verification). "Software dependence" is not a standard, distinct process activity within the generally accepted software engineering life cycle.
Question 81: In git, what does 'git rebase' do compared to 'git merge'?
- Rebase is only used for hotfixes; merge is for feature branches
- Rebase and merge are functionally identical
- Rebase replays commits onto a new base, creating a linear history; merge creates a merge commit (Correct answer)
- Rebase deletes the feature branch; merge keeps it
Correct answer: Rebase replays commits onto a new base, creating a linear history; merge creates a merge commit
Rebase rewrites commit history to appear as if the branch was created from the latest base, resulting in a cleaner linear history.
Question 82: What is 'exploratory testing'?
- Simultaneous learning, test design, and test execution (Correct answer)
- Automated test execution
- Random testing without any plan
- Testing only documented scenarios
Correct answer: Simultaneous learning, test design, and test execution
Exploratory testing is a simultaneous process of learning about the system, designing tests, and executing them without predefined test scripts.
Question 83: Which testing approach tests the integration between different software modules or services?
- Acceptance Testing
- Integration Testing (Correct answer)
- Unit Testing
- Static Testing
Correct answer: Integration Testing
Integration Testing verifies that different modules or services work together correctly when combined.
Question 84: A specific kind of software life cycle activity that entails assessing the value of a proposed development.
- Market analysis
- Domain analysis
- Requirement elicitation
- Feasibility (Correct answer)
Correct answer: Feasibility
Feasibility analysis is a critical early-stage activity in the software development life cycle where the viability of a proposed project is assessed. This involves evaluating technical, economic, operational, and legal factors to determine if the project is practical and worthwhile to pursue. It helps decide whether to proceed with development or abandon the idea, making it an assessment of value.
Question 85: Which sorting algorithm has an average-case time complexity of O(n log n)?
- Selection Sort
- Merge Sort (Correct answer)
- Insertion Sort
- Bubble Sort
Correct answer: Merge Sort
Merge Sort divides the array recursively and merges in sorted order, achieving O(n log n) in all cases.
Question 86: What is a 'test double' in software testing?
- Two testers reviewing the same code
- A test that covers two requirements
- A generic term for objects that stand in for real objects during testing (Correct answer)
- Running the same test twice
Correct answer: A generic term for objects that stand in for real objects during testing
A test double is a generic term for any object used in place of a real object for testing purposes, including mocks, stubs, and fakes.
Question 87: Which of the following does not describe a software feature?
- Software is flexible
- Software is always correct (Correct answer)
- Software does not wear out
- Software is not manufactured
Correct answer: Software is always correct
Software, being a product of human creation, is susceptible to defects and errors; therefore, it is not always correct. While software does not physically wear out like hardware, is not manufactured in the traditional sense, and can be flexible and adaptable, its correctness is a goal to be achieved through rigorous development and testing, not an inherent feature.
Question 88: Which HTTP status code indicates that a client request was successfully received, understood, and accepted?
- 201 Created
- 204 No Content
- 202 Accepted
- 200 OK (Correct answer)
Correct answer: 200 OK
HTTP 200 OK is the standard success response indicating the request was fulfilled without error.
Question 89: One of the myths among developers is:
- A general statement of objectives from the customer is all that is needed to begin a software project
- We have all the standards available, that will be sufficient to develop a program.
- Changes are easy to accommodate
- Once a program is written, our work is finished (Correct answer)
Correct answer: Once a program is written, our work is finished
The belief that 'Once a program is written, our work is finished' is a common myth among developers. In reality, software development is an ongoing process that includes significant post-development activities like testing, deployment, maintenance, and updates. Ignoring these crucial lifecycle phases can lead to software that is not functional, secure, or relevant over time.
Question 90: In Scrum, what is the 'Definition of Done'?
- The acceptance criteria written by the product owner for a single story
- The list of features planned for the next release
- A shared checklist that a story must meet to be considered complete (Correct answer)
- The date by which the sprint must end
Correct answer: A shared checklist that a story must meet to be considered complete
The Definition of Done is a team agreement on the quality standards a work item must satisfy before it can be marked complete.
Question 91: What is the primary intent of the Proxy design pattern?
- Notify observers of state changes
- Control access to another object (Correct answer)
- Add new behaviors to objects
- Define a skeleton algorithm
Correct answer: Control access to another object
The Proxy pattern provides a surrogate or placeholder for another object to control access to it.
Question 92: In object-oriented design, what does 'encapsulation' refer to?
- Creating multiple classes from a single base class
- Writing code that works with multiple data types
- Bundling data and the methods that operate on that data within a single unit and restricting direct access (Correct answer)
- Replacing conditional logic with polymorphism
Correct answer: Bundling data and the methods that operate on that data within a single unit and restricting direct access
Encapsulation hides internal state and implementation details behind a public interface, reducing coupling and protecting data integrity.
Question 93: Which of the following problems with conventional processes led to the development of agile methods?
- None of the above
- Lengthy development times - Project lengths ranging from 1 to 5 years
- Waste/Duplication of effort - Much documentation is mandated, including documentation that may or may not be needed.
- Both answers are correct (Correct answer)
Correct answer: Both answers are correct
Agile methods were developed to address significant problems inherent in conventional, 'heavyweight' software development processes. These issues included lengthy development times, often spanning years, and excessive, sometimes unnecessary, documentation. Agile approaches aim to mitigate these problems by promoting iterative development, flexibility, and reduced overhead.
Question 94: In object-oriented design, what does the Liskov Substitution Principle state?
- Subclasses should extend but not replace base class behavior in a way that breaks correctness (Correct answer)
- Each class should have only one reason to change
- Depend on abstractions, not on concrete implementations
- Interfaces should be client-specific and not force unnecessary methods
Correct answer: Subclasses should extend but not replace base class behavior in a way that breaks correctness
The Liskov Substitution Principle states that objects of a subclass should be substitutable for objects of the superclass without altering the correctness of the program.
Question 95: What distinguishes smoke testing from regression testing?
- Smoke testing is a quick sanity check; regression testing is comprehensive (Correct answer)
- They are the same type of testing
- Smoke testing is detailed; regression testing is high-level
- Smoke testing covers security; regression testing covers performance
Correct answer: Smoke testing is a quick sanity check; regression testing is comprehensive
Smoke testing is a quick, high-level check to verify basic functionality works before deeper testing, while regression testing is comprehensive.
Question 96: Which diagram type is most commonly used to visualize the system boundary and interactions between actors and the system?
- Class diagram
- Entity-relationship diagram
- Sequence diagram
- Use case diagram (Correct answer)
Correct answer: Use case diagram
A use case diagram shows the system boundary as a box, with actors outside it and use cases inside, illustrating all interactions at a high level.
Question 97: What is the main purpose of an API gateway in a microservices architecture?
- To synchronize databases across services
- To compile and deploy services automatically
- To act as a single entry point that handles routing, authentication, and rate limiting (Correct answer)
- To store shared configuration for all services
Correct answer: To act as a single entry point that handles routing, authentication, and rate limiting
An API gateway provides a unified entry point for clients, offloading cross-cutting concerns like authentication, logging, and rate limiting from individual services.
Question 98: Which pattern provides a simplified interface to a complex subsystem?
- Chain of Responsibility
- Composite
- Flyweight
- Facade (Correct answer)
Correct answer: Facade
The Facade pattern provides a unified, simplified interface to a set of interfaces in a subsystem.
Question 99: What format do Agile user stories typically follow?
- As a [user], I want [goal] so that [benefit] (Correct answer)
- Given [context] when [event] then [outcome]
- The system shall [action] when [condition] so that [outcome]
- Feature: [name] β Priority: [level] β Effort: [points]
Correct answer: As a [user], I want [goal] so that [benefit]
User stories follow the format 'As a [user type], I want [goal] so that [benefit]' to capture requirements from the user's perspective and express value.
Question 100: The security level for a client in the financial sector must be
- Medium
- Depends
- High (Correct answer)
- Client
Correct answer: High
For clients in the financial sector, the security level of software systems must be exceptionally high due to the sensitive nature of financial data and transactions. Robust security measures are crucial to protect against fraud, data breaches, cyberattacks, and to ensure compliance with stringent industry regulations, safeguarding both client assets and trust.
Question 101: A paradigm for the life cycle of software that creates a throwaway version.
- None of the above
- Prototyping Model (Correct answer)
- Prototyping Model and Linear Sequential Model
- Linear Sequential Model
Correct answer: Prototyping Model
The Prototyping Model is a software development paradigm where a working model (prototype) of the system is built quickly to understand requirements and test design choices. This 'throwaway' version helps clarify user needs and refine the design before committing to the full development of the final system, reducing risks and improving user satisfaction. It explicitly creates a throwaway version for early feedback.
Question 102: What is the maximum length of a Sprint in Scrum?
- 3 weeks
- 2 weeks
- 4 weeks (Correct answer)
- 6 weeks
Correct answer: 4 weeks
Scrum specifies that a Sprint is a time-box of one month or less, with one month (4 weeks) being the maximum.
Question 103: What is 'refactoring' in the context of Agile and XP?
- Restructuring existing code without changing its external behavior (Correct answer)
- Adding new features to existing code
- Fixing bugs in production
- Rewriting the entire codebase
Correct answer: Restructuring existing code without changing its external behavior
Refactoring is the process of restructuring existing code to improve readability and reduce complexity without changing its observable behavior.
Question 104: What is a 'stub' in the context of software testing?
- A minimal fake implementation of a dependency used to isolate the unit under test (Correct answer)
- A tool that measures test coverage
- A placeholder comment in source code
- A bug reported by end users
Correct answer: A minimal fake implementation of a dependency used to isolate the unit under test
A stub replaces a real dependency with a simplified version that returns predefined data, allowing testing without invoking the actual component.
Question 105: Which Agile ceremony specifically focuses on improving the team's process and collaboration?
- Sprint Retrospective (Correct answer)
- Daily Scrum
- Sprint Planning
- Sprint Review
Correct answer: Sprint Retrospective
The Sprint Retrospective is a time-boxed event where the Scrum team inspects itself and creates a plan for improvements.
Question 106: What is 'technical debt' in software engineering?
- Dependencies on deprecated third-party libraries
- Outstanding bug reports in a project backlog
- The implied cost of rework caused by choosing a quick, easy solution instead of a better but longer-term approach (Correct answer)
- The cost of purchasing developer tools and licenses
Correct answer: The implied cost of rework caused by choosing a quick, easy solution instead of a better but longer-term approach
Technical debt is the future cost of maintaining or reworking expedient but suboptimal code, analogous to financial debt that accrues interest.
Question 107: The Observer pattern is best described as which type of relationship?
- One-to-one
- Many-to-many
- One-to-many (Correct answer)
- Many-to-one
Correct answer: One-to-many
The Observer pattern defines a one-to-many dependency so that when one object changes state, all its dependents are notified automatically.
Question 108: In Test-Driven Development (TDD), what is the correct order of steps?
- Write code, refactor, write test
- Write code, write test, refactor
- Write test, write code, refactor (Correct answer)
- Refactor, write test, write code
Correct answer: Write test, write code, refactor
TDD follows the Red-Green-Refactor cycle: write a failing test first, write code to pass it, then refactor.
Question 109: Which of the following is an example of a functional requirement?
- The system must respond within 2 seconds
- The system must allow users to reset their password via email (Correct answer)
- The system must use TLS 1.3 for all communications
- The system must be available 99.9% of the time
Correct answer: The system must allow users to reset their password via email
A functional requirement describes a specific behavior or function the system must perform, such as enabling password resets via email.
Question 110: Which pattern allows an object to alter its behavior when its internal state changes, appearing to change its class?
- Strategy
- Iterator
- Interpreter
- State (Correct answer)
Correct answer: State
The State pattern encapsulates state-dependent behavior in separate state objects and delegates behavior to the current state.
Question 111: The waterfall model is inappropriate for?
- None of the above
- Small Projects
- Accommodating change (Correct answer)
- Complex Projects
Correct answer: Accommodating change
The waterfall model follows a strict, linear progression where each phase must be completed before the next begins. This rigid structure makes it highly unsuitable for projects where requirements are likely to change, as accommodating modifications in later stages can be extremely costly and time-consuming, often requiring extensive rework of previous phases.
Question 112: In requirements engineering, what are 'quality attributes' (sometimes called '-ilities')?
- Measurements of how complete the requirements document is
- Metrics measuring the number of defects per line of code
- Acceptance criteria lists for functional requirements
- Non-functional characteristics describing how well the system performs its functions (Correct answer)
Correct answer: Non-functional characteristics describing how well the system performs its functions
Quality attributes like scalability, maintainability, and reliability are non-functional characteristics that describe system performance qualities rather than specific behaviors.
Question 113: What does DRY stand for in software engineering principles?
- Don't Repeat Yourself (Correct answer)
- Dynamic Runtime Yardstick
- Define, Refactor, Yield
- Distribute, Reuse, Yield
Correct answer: Don't Repeat Yourself
DRY (Don't Repeat Yourself) states that every piece of knowledge should have a single, unambiguous representation in a system.
Question 114: Which SOLID principle states that a class should have only one reason to change?
- Liskov Substitution Principle
- Open/Closed Principle
- Interface Segregation Principle
- Single Responsibility Principle (Correct answer)
Correct answer: Single Responsibility Principle
The Single Responsibility Principle (SRP) dictates that a class should encapsulate only one concern, so only one type of change would require it to be modified.
Question 115: Which of the following best describes 'continuous integration' (CI)?
- Writing tests before writing production code
- Frequently merging code changes into a shared repository and running automated builds and tests (Correct answer)
- Deploying code to production automatically after every commit
- Integrating third-party APIs into the codebase regularly
Correct answer: Frequently merging code changes into a shared repository and running automated builds and tests
CI is the practice of automatically building and testing code every time a developer pushes changes, catching integration errors early.
Question 116: What is the role of a 'build system' in software development?
- Managing team communication and task assignment
- Automating the compilation, linking, and packaging of source code into deployable artifacts (Correct answer)
- Providing a code editor with syntax highlighting
- Tracking bugs and feature requests
Correct answer: Automating the compilation, linking, and packaging of source code into deployable artifacts
A build system automates transforming source code into executable programs, including compilation, dependency resolution, and packaging.
Question 117: Which type of testing validates software from the end-user's perspective based on business requirements?
- Unit Testing
- Integration Testing
- White-box Testing
- User Acceptance Testing (UAT) (Correct answer)
Correct answer: User Acceptance Testing (UAT)
User Acceptance Testing (UAT) verifies that the software meets business requirements and is ready for delivery from the end-user's perspective.
Question 118: Which type of testing evaluates how a system performs under expected and peak load conditions?
- Load testing (Correct answer)
- Stress testing
- Spike testing
- Soak testing
Correct answer: Load testing
Load testing evaluates system behavior under expected and peak load conditions to ensure performance requirements are met.
Question 119: Which requirements elicitation method involves creating a working model of the system to gather user feedback?
- Prototyping (Correct answer)
- Document analysis
- Interviews
- Brainstorming
Correct answer: Prototyping
Prototyping creates a preliminary working version of the system to help users visualize, evaluate, and refine their requirements.
Question 120: The person who is entirely responsible for the project's success and is answerable to the sponsors and stakeholders.
- Systems Analyst
- Project Manager (Correct answer)
- Project Leader
- End-User
Correct answer: Project Manager
The Project Manager is the central figure responsible for planning, executing, and closing a project, ensuring it meets its objectives within scope, time, and budget. They are accountable to sponsors and stakeholders for the overall success or failure of the project, managing resources, risks, and communication throughout its lifecycle. Their leadership is critical for project delivery.
Question 121: Which metric measures the average number of defects found per lines of code during a code review?
- Code churn
- Defect density (Correct answer)
- Cyclomatic complexity
- Test coverage
Correct answer: Defect density
Defect density is calculated as the number of defects divided by the size of the software (usually per KLOC).
Question 122: Which type of testing verifies that individual units or components of a software system work correctly in isolation?
- Integration Testing
- System Testing
- Unit Testing (Correct answer)
- Acceptance Testing
Correct answer: Unit Testing
Unit Testing tests individual components or functions in isolation to verify that each unit performs as expected.
Question 123: What is the purpose of environment variables in software deployment?
- To define CSS styling for different environments
- To track user session data
- To externalize configuration so the same code runs in dev, staging, and production (Correct answer)
- To store compiled binary files
Correct answer: To externalize configuration so the same code runs in dev, staging, and production
Environment variables decouple configuration from code, enabling the same build artifact to behave differently per environment.
Question 124: What is a 'stakeholder' in the context of requirements engineering?
- The project manager who approves requirements documents
- An investor who provides funding for the project
- The lead developer responsible for implementing requirements
- Any person or organization with an interest in or affected by the system (Correct answer)
Correct answer: Any person or organization with an interest in or affected by the system
A stakeholder is any person, group, or organization that has an interest in the system or is affected by its development, deployment, or operation.
Question 125: A risk assessment matrix plots risks by severity and what other dimension?
- Cost to fix
- Number of stakeholders affected
- Time to detect
- Likelihood of occurrence (Correct answer)
Correct answer: Likelihood of occurrence
A risk matrix maps risks on two axes: severity (impact) and likelihood (probability of occurrence).
Question 126: Which HTTP status code indicates that a resource was successfully created?
- 201 Created (Correct answer)
- 202 Accepted
- 204 No Content
- 200 OK
Correct answer: 201 Created
HTTP 201 Created is returned when a request has succeeded and a new resource has been created as a result.
Question 127: Which software development model is best suited for projects where requirements are well-understood and unlikely to change?
- Waterfall (Correct answer)
- Scrum
- Agile
- Spiral
Correct answer: Waterfall
The Waterfall model works best when requirements are stable and fully defined upfront, following a strict sequential flow.
Question 128: In object-oriented programming, what is encapsulation?
- Defining a class that cannot be instantiated
- Creating multiple classes with the same method name
- Bundling data and methods that operate on that data within a single unit, restricting direct access (Correct answer)
- Inheriting properties from a parent class
Correct answer: Bundling data and methods that operate on that data within a single unit, restricting direct access
Encapsulation hides an object's internal state and exposes only what is necessary through a public interface.
Question 129: Which testing technique divides inputs into groups where all values are expected to behave the same?
- Decision table testing
- Equivalence partitioning (Correct answer)
- State transition testing
- Boundary value analysis
Correct answer: Equivalence partitioning
Equivalence Partitioning divides input data into valid and invalid partitions where all values in a partition are expected to behave equivalently.
Question 130: Which of the following is the suitable software for creating a system for a client whose requirements are always changing?
- Iterative (Correct answer)
- Maintenance
- Incremental
- Waterfall
Correct answer: Iterative
Iterative software development models are highly suitable for projects with evolving or uncertain requirements because they allow for continuous feedback and adaptation. The software is developed in small, repeating cycles, enabling the client to provide input and changes to be incorporated throughout the development process, rather than being locked into initial specifications.
Question 131: Which metric measures the percentage of source code executed during testing?
- Mean Time to Failure
- Defect Density
- Halstead Volume
- Code Coverage (Correct answer)
Correct answer: Code Coverage
Code coverage measures the proportion of source code lines, branches, or paths that are executed by a test suite.
Question 132: What is 'boundary value analysis' in software testing?
- Testing all possible inputs
- Testing at the limits of input domains (Correct answer)
- Testing random inputs
- Testing invalid inputs only
Correct answer: Testing at the limits of input domains
Boundary Value Analysis tests values at the edges of input partitions, as defects are most likely to occur at boundary conditions.
Question 133: An independent verification and validation (IV&V) assessment differs from standard V&V primarily because it is performed by whom?
- An automated CI/CD pipeline
- End users of the product
- A party organizationally independent from the development team (Correct answer)
- The same team that built the software
Correct answer: A party organizationally independent from the development team
IV&V requires an independent third party to perform verification and validation, ensuring objectivity and avoiding conflicts of interest.
Question 134: What is a 'requirements conflict' and how is it typically resolved?
- A security vulnerability identified in requirements, resolved by the security team
- Two or more requirements that cannot all be satisfied simultaneously, resolved through stakeholder negotiation (Correct answer)
- An ambiguous requirement, resolved by adding more technical detail
- A technical error in the requirements document, resolved by the lead developer
Correct answer: Two or more requirements that cannot all be satisfied simultaneously, resolved through stakeholder negotiation
Requirements conflicts occur when two or more requirements cannot be simultaneously satisfied; resolution requires negotiation with stakeholders to prioritize or compromise.
Question 135: The Mediator pattern reduces dependencies between objects by:
- Centralizing communication (Correct answer)
- Delegating responsibilities
- Hiding implementation
- Cloning objects
Correct answer: Centralizing communication
The Mediator pattern defines an object that encapsulates how a set of objects interact, promoting loose coupling.
Question 136: Which type of requirement specifies constraints on how a system must operate, such as performance and security?
- Domain requirements
- Business requirements
- Functional requirements
- Non-functional requirements (Correct answer)
Correct answer: Non-functional requirements
Non-functional requirements specify quality attributes and constraints like performance, security, and scalability rather than specific system behaviors.
Question 137: What is a 'stub' in the context of software testing?
- A component that provides predefined responses to calls (Correct answer)
- A performance bottleneck
- A type of regression test
- An incomplete test case
Correct answer: A component that provides predefined responses to calls
A stub is a test double that provides predefined answers to calls made during the test, simulating the behavior of dependencies.
Question 138: In asymptotic analysis, what does O(1) space complexity mean for an algorithm?
- The algorithm uses no memory at all
- The algorithm runs in constant time
- The algorithm allocates exactly one variable
- The algorithm's memory usage is constant regardless of input size (Correct answer)
Correct answer: The algorithm's memory usage is constant regardless of input size
O(1) space complexity means the additional memory the algorithm requires does not grow with the size of the input.
Question 139: Which two models' components were combined to create the incremental model?
- Software can be custom built or custom build.
- Software is developed or engineered; it is not manufactured in the classical sense. (Correct answer)
- Software doesnβt β wear out β
- Software can be custom built or custom build.
Correct answer: Software is developed or engineered; it is not manufactured in the classical sense.
This statement highlights a fundamental characteristic of software: it is engineered and developed, not manufactured in the classical sense like physical goods. Unlike hardware, software doesn't physically 'wear out,' but it can degrade due to changes, bugs, or lack of maintenance. This distinction is crucial for understanding software's unique properties and development challenges.
Question 140: In a requirements document, what is the distinction between 'shall' and 'should'?
- 'Shall' indicates a mandatory requirement while 'should' indicates a desirable but optional one (Correct answer)
- Both terms are interchangeable in requirements documentation
- 'Shall' applies to functional requirements and 'should' to non-functional ones
- 'Shall' indicates optional features while 'should' indicates mandatory ones
Correct answer: 'Shall' indicates a mandatory requirement while 'should' indicates a desirable but optional one
In requirements documentation, 'shall' denotes a mandatory requirement while 'should' denotes something desirable but not strictly required.
Question 141: In software architecture, what does a microservices architecture emphasize?
- One large deployable application unit
- Small, independently deployable services (Correct answer)
- Shared global state across all components
- Single programming language for all services
Correct answer: Small, independently deployable services
Microservices architecture structures an application as a collection of small, loosely coupled services that can be deployed and scaled independently.
Question 142: Which type of testing verifies that individual components of a software application work correctly in isolation?
- Unit testing (Correct answer)
- Integration testing
- System testing
- Acceptance testing
Correct answer: Unit testing
Unit testing focuses on verifying the smallest testable parts of an application independently from the rest of the system.
Question 143: Choosing a model to analyze while placing a restaurant order for a plate
- Iterative
- Maintenance
- Incremental
- Waterfall (Correct answer)
Correct answer: Waterfall
Ordering a plate at a restaurant is a straightforward process with well-defined, stable requirements and a clear, sequential flow (order, prepare, serve). The waterfall model, with its linear and predictable stages, is well-suited for such small, simple projects where all requirements are known and unlikely to change upfront.
Question 144: What number of phases does Scrum have?
- 2
- 4
- 3 (Correct answer)
- Scrum is an agile method which means it does not have phases
Correct answer: 3
Scrum, an agile framework, is structured around iterative cycles called sprints. While it doesn't have 'phases' in the traditional sequential sense, its core components are often grouped into three main categories: the three primary roles (Product Owner, Scrum Master, Development Team), the three main artifacts (Product Backlog, Sprint Backlog, Increment), and the iterative process of planning, execution, and review within each sprint.
Question 145: What is the difference between verification and validation in software quality assurance?
- Verification uses black-box testing; validation uses white-box testing
- Verification tests functionality; validation tests performance
- Verification is done by clients; validation is done by developers
- Verification checks if the product is built right; validation checks if the right product was built (Correct answer)
Correct answer: Verification checks if the product is built right; validation checks if the right product was built
Verification ensures the product meets its specification ('built right'), while validation ensures the product meets the actual user needs ('right product built').
Question 146: What is 'canary deployment'?
- Reverting to a previous version
- Rolling out a new version to a small subset of users before full deployment (Correct answer)
- A deployment that requires canary testing tools
- Deploying to all servers simultaneously
Correct answer: Rolling out a new version to a small subset of users before full deployment
Canary deployment gradually rolls out a new version to a small percentage of users first, monitoring for issues before expanding to all users.
Question 147: What is a 'use case' in requirements engineering?
- A design pattern for organizing code modules
- A test case used to verify software behavior
- A scenario describing how a user interacts with the system to achieve a goal (Correct answer)
- A description of how the system is implemented internally
Correct answer: A scenario describing how a user interacts with the system to achieve a goal
A use case describes an interaction between a user (actor) and the system to accomplish a specific goal.
Question 148: What are the dependability's four dimensions?
- Security, Safety, Testability, Usability
- Availability, Reliability, Maintainability, Security
- Usability, Reliability, Security, Flexibility
- Availability, Reliability, Security, Safety (Correct answer)
Correct answer: Availability, Reliability, Security, Safety
Dependability in software engineering refers to the trustworthiness of a system. Its four key dimensions are Availability (readiness for use), Reliability (correct operation over time), Security (protection against unauthorized access/harm), and Safety (prevention of harm to users or environment).
Question 149: What is the primary purpose of a software configuration management (SCM) system?
- Automate deployment to production servers
- Generate automated documentation from code
- Monitor application runtime performance
- Track and control changes to software artifacts (Correct answer)
Correct answer: Track and control changes to software artifacts
SCM systems track and control changes to software artifacts such as source code, configuration files, and documentation throughout the development lifecycle.
Question 150: Which Scrum artifact represents an ordered list of everything that might be needed in the product?
- Increment
- Sprint Backlog
- Product Backlog (Correct answer)
- Definition of Done
Correct answer: Product Backlog
The Product Backlog is an ordered list of everything that is known to be needed in the product, managed by the Product Owner.
Question 151: What is 'Big O notation' used to express?
- The number of bugs in a codebase
- The asymptotic time or space complexity of an algorithm (Correct answer)
- The size of the development team needed
- The percentage of code covered by tests
Correct answer: The asymptotic time or space complexity of an algorithm
Big O notation describes how an algorithm's runtime or memory usage grows relative to the size of its input.
Question 152: Which design pattern ensures a class has only one instance and provides a global point of access to it?
- Factory
- Singleton (Correct answer)
- Decorator
- Observer
Correct answer: Singleton
The Singleton pattern restricts instantiation of a class to a single object and provides a global access point.
Question 153: What does 'velocity' measure in Agile development?
- Team speed in miles per hour
- Code quality
- Amount of work completed per sprint (Correct answer)
- Number of bugs fixed
Correct answer: Amount of work completed per sprint
Velocity measures the amount of work (usually in story points) a team completes during a single Sprint.
Question 154: In Scrum, what is the role of the Product Owner?
- Approve all pull requests before code is merged
- Manage team velocity and assign tasks to developers
- Facilitate daily standups and remove impediments
- Prioritize the product backlog and represent stakeholder interests (Correct answer)
Correct answer: Prioritize the product backlog and represent stakeholder interests
The Product Owner is responsible for maximizing the product's value by managing and prioritizing the product backlog and representing stakeholders' interests.
Question 155: Which GoF pattern category does the Bridge pattern belong to?
- Creational
- Architectural
- Structural (Correct answer)
- Behavioral
Correct answer: Structural
The Bridge pattern is a Structural pattern that decouples an abstraction from its implementation so the two can vary independently.
Question 156: Which principle in SOLID design states that a class should have only one reason to change?
- Open/Closed Principle
- Single Responsibility Principle (Correct answer)
- Liskov Substitution Principle
- Interface Segregation Principle
Correct answer: Single Responsibility Principle
The Single Responsibility Principle (SRP) states each class should encapsulate only one aspect of functionality, reducing coupling.
Question 157: Program of the highest caliber must be adhered to
- Coding method
- Testing methodology
- S/w dev method (Correct answer)
- Design method
Correct answer: S/w dev method
To achieve the highest caliber program, adherence to a well-defined software development methodology (S/w dev method) is paramount. This encompasses a structured approach to all phases, from requirements gathering to maintenance, ensuring consistency, quality control, and the application of best practices throughout the entire development lifecycle.
Question 158: What is cyclomatic complexity primarily used to measure?
- Number of logical paths through code (Correct answer)
- Database query efficiency
- Memory usage of a program
- Class hierarchy depth
Correct answer: Number of logical paths through code
Cyclomatic complexity measures the number of linearly independent paths through a program's source code, indicating its testability and maintainability.
Question 159: The two dimensions of the spiral model are _____ and ____.
- diagonal, angular
- radial, perpendicular
- diagonal, perpendicular
- radial, angular (Correct answer)
Correct answer: radial, angular
The Spiral Model is graphically represented as a spiral with two main dimensions. The radial dimension represents the cumulative cost of the project, increasing with each loop. The angular dimension represents the progress made through the four phases (objectives setting, risk assessment, development and validation, planning the next phase) of each iteration.
Question 160: What is a 'race condition' in concurrent software?
- A deadlock between two competing processes
- A performance benchmark comparing two algorithms
- A scheduling algorithm that prioritizes faster processes
- A bug that occurs when the outcome depends on the unpredictable timing of multiple threads (Correct answer)
Correct answer: A bug that occurs when the outcome depends on the unpredictable timing of multiple threads
A race condition occurs when two or more threads access shared data simultaneously and the result depends on which one executes first.
IEEE Computer Society Professional Software Engineering Master Certification (PSEM)
The IEEE CS PSEM certification validates mastery of software engineering principles and practices defined in the SWEBOK, covering software requirements, design, construction, testing, quality, process, and management across 11+ knowledge areas.
Exam Rules
- You can skip questions and return to them later
- Flag questions for review before submitting
- No feedback shown until you submit the entire exam
- Unanswered questions count as wrong β answer everything
- 10 pretest questions are mixed in and don't affect your score
- Timer auto-submits when time runs out
- Your progress is auto-saved every 30 seconds