IEEE Computer Society Professional Software Engineering Master Certification (PSEM) β Questions and Answers
Question 1: In Kanban, what does WIP stand for?
- Work In Pipeline
- Workflow Integration Plan
- Work Item Priority
- Work In Progress (Correct answer)
Correct answer: Work In Progress
WIP stands for Work In Progress, and Kanban uses WIP limits to prevent bottlenecks and improve flow.
Question 2: 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)
- The cost of hardware needed to run software
- The time needed to train developers on a new codebase
- Money owed to software vendors for licenses
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 3: What does the 'F-measure' (F1 score) combine when assessing a classifier or test suite?
- Accuracy and specificity
- Sensitivity and throughput
- Coverage and complexity
- Precision and recall (Correct answer)
Correct answer: Precision and recall
The F1 score is the harmonic mean of precision and recall, balancing both metrics for classification performance.
Question 4: In software architecture, what does a microservices architecture emphasize?
- Small, independently deployable services (Correct answer)
- One large deployable application unit
- Single programming language for all services
- Shared global state across all components
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 5: What does the term 'idempotent' mean when describing an HTTP method?
- Making multiple identical requests has the same effect as one (Correct answer)
- The request always returns the same response body
- The request cannot be cached
- The request must include authentication
Correct answer: Making multiple identical requests has the same effect as one
An idempotent operation produces the same server state regardless of how many times it is applied, making retries safe.
Question 6: What is 'exploratory testing'?
- Random testing without any plan
- Testing only documented scenarios
- Simultaneous learning, test design, and test execution (Correct answer)
- Automated test execution
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 7: 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 8: What is the primary intent of the Proxy design pattern?
- Add new behaviors to objects
- Control access to another object (Correct answer)
- Notify observers of state changes
- 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 9: In a technical debt assessment, which scenario represents 'deliberate' technical debt?
- A developer unaware of best practices writing poor code
- Accidentally using a deprecated API
- A bug introduced during a rushed hotfix
- Choosing a quick implementation now with a plan to refactor later (Correct answer)
Correct answer: Choosing a quick implementation now with a plan to refactor later
Deliberate technical debt is a conscious trade-off where a team knowingly takes a shortcut and plans to address it later.
Question 10: What is 'technical debt' in software engineering?
- Outstanding bug reports in a project backlog
- The cost of purchasing developer tools and licenses
- Dependencies on deprecated third-party libraries
- The implied cost of rework caused by choosing a quick, easy solution instead of a better but longer-term approach (Correct answer)
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 11: Which type of testing validates software from the end-user's perspective based on business requirements?
- Unit Testing
- White-box Testing
- Integration 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 12: 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 13: What is the difference between functional and non-functional requirements?
- Functional requirements are optional; non-functional are mandatory
- There is no meaningful difference between them
- Functional requirements describe what a system does; non-functional describe how well it does it (Correct answer)
- Functional requirements cover UI; non-functional cover business logic
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 14: What is the primary goal of requirements engineering?
- To write code that meets user expectations
- To deploy software to production environments
- To test the software against user needs
- 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 15: What is a 'test double' in software testing?
- A generic term for objects that stand in for real objects during testing (Correct answer)
- Running the same test twice
- Two testers reviewing the same code
- A test that covers two requirements
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 16: What is 'gold plating' in the context of software requirements?
- Using expensive tools to document and manage requirements
- Prioritizing high-value requirements over low-priority ones
- Implementing extra features beyond what was specified in the requirements (Correct answer)
- Adding premium security features to meet compliance requirements
Correct answer: Implementing extra features beyond what was specified in the requirements
Gold plating occurs when developers add unrequested features or enhancements beyond agreed requirements, increasing scope, cost, and risk without stakeholder approval.
Question 17: Which metric measures the percentage of source code executed by a test suite?
- Defect removal efficiency
- Mean time to failure
- Defect density
- Test coverage (code coverage) (Correct answer)
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 18: What are the results of the requirements analysis and specifications phase ultimately?
- The User Manual
- Drawing the data flow diagram
- The SRS Document (Correct answer)
- Coding the project
Correct answer: The SRS Document
The requirements analysis and specifications phase culminates in the creation of the Software Requirements Specification (SRS) Document. This formal document details all functional and non-functional requirements of the software system. It serves as a comprehensive blueprint, ensuring a shared understanding between stakeholders and the development team regarding what the system should do.
Question 19: 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 covers security; regression testing covers performance
- Smoke testing is detailed; regression testing is high-level
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 20: Customers receive updates for XP every ______ weeks.
- 3
- 4
- 1
- 2 (Correct answer)
Correct answer: 2
Extreme Programming (XP) emphasizes short development cycles and frequent releases to gather continuous feedback. A common practice in XP is to deliver new system increments or updates to customers every two weeks, ensuring rapid iteration and responsiveness to changing needs.
Question 21: Which of the following best describes 'continuous integration' (CI)?
- Writing tests before writing production code
- Integrating third-party APIs into the codebase regularly
- Frequently merging code changes into a shared repository and running automated builds and tests (Correct answer)
- Deploying code to production automatically after every commit
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 22: Which design pattern ensures only one instance of a class exists throughout an application?
- Decorator
- Observer
- Factory
- Singleton (Correct answer)
Correct answer: Singleton
The Singleton pattern restricts instantiation of a class to a single object and provides global access to that instance.
Question 23: What is the term for a software defect introduced when fixing another bug, often caused by insufficient test coverage?
- Regression (Correct answer)
- Mutation
- Degradation
- Cascade failure
Correct answer: Regression
A regression is a bug that reappears or a new bug introduced by a change, typically caught by regression testing suites.
Question 24: Which two models' components were combined to create the incremental model?
- Software can be custom built or custom build.
- Software can be custom built or custom build.
- Software doesnβt β wear out β
- Software is developed or engineered; it is not manufactured in the classical sense. (Correct answer)
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 25: In Test-Driven Development (TDD), what is the correct order of steps?
- Refactor, write test, write code
- Write code, write test, refactor
- Write code, refactor, write test
- Write test, write code, refactor (Correct answer)
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 26: What is the purpose of a 'requirements baseline'?
- 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
- To compare current requirements with those of competing products
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 27: What does 'refactoring' mean in software development?
- Migrating a codebase to a new programming language
- Fixing bugs identified during QA testing
- 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 28: What does DRY stand for in software engineering principles?
- Distribute, Reuse, Yield
- Dynamic Runtime Yardstick
- Don't Repeat Yourself (Correct answer)
- Define, Refactor, 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 29: Which of these software engineering processes is not included in software engineering?
- Software dependence (Correct answer)
- Software development
- Software validation
- Software specification
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 30: What is a 'stub' in the context of software testing?
- A type of regression test
- A performance bottleneck
- A component that provides predefined responses to calls (Correct answer)
- 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.
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