IEEE Computer Society Professional Software Engineering Master Certification (PSEM) ā Questions and Answers
Question 1: A 'user story' in Agile typically follows which format?
- Feature: [name], Scenario: [description]
- As a [role], I want [goal], so that [reason] (Correct answer)
- Given [condition], When [action], Then [outcome]
- Task: [action], Priority: [level], Estimate: [points]
Correct answer: As a [role], I want [goal], so that [reason]
User stories follow the format 'As a [role], I want [goal] so that [reason]' to capture requirements from the end user's perspective.
Question 2: What is a 'use case' in software requirements analysis?
- A diagram showing the database schema
- A test scenario written by QA engineers
- A description of how a user interacts with a system to achieve a specific goal (Correct answer)
- A list of all the functions a system must perform
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 3: Which of the following is an example of a functional requirement?
- The system must respond within 2 seconds
- The system must be available 99.9% of the time
- The system must use TLS 1.3 for all communications
- The system must allow users to reset their password via email (Correct answer)
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 4: Which pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable?
- State
- Template Method
- Strategy (Correct answer)
- Command
Correct answer: Strategy
The Strategy pattern lets the algorithm vary independently from the clients that use it.
Question 5: What is a 'stub' in the context of software testing?
- A performance bottleneck
- A type of regression test
- 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.
Question 6: 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 7: A team's post-mortem assessment identifies that most defects were found only during system testing. Which earlier-phase practice would most directly address this?
- Code obfuscation
- Continuous deployment
- Shift-left testing (Correct answer)
- Feature flagging
Correct answer: Shift-left testing
Shift-left testing moves testing activities earlier in the development lifecycle to catch defects sooner and at lower cost.
Question 8: In software architecture, what does 'loose coupling' mean?
- Database tables have no foreign key constraints
- Components depend minimally on each other, making them easier to change independently (Correct answer)
- All components are deployed as a single unit
- Components share as much state as possible to improve performance
Correct answer: Components depend minimally on each other, making them easier to change independently
Loose coupling means components have minimal knowledge of each other, so changes to one component rarely require changes to others.
Question 9: Which concept in DevOps security integrates security practices throughout the entire CI/CD pipeline?
- DevSecOps (Correct answer)
- SecureFlow
- PenTestOps
- AgileSec
Correct answer: DevSecOps
DevSecOps integrates security testing and practices into every stage of the DevOps pipeline rather than treating security as a final gate.
Question 10: Which of the following activities is a part of quality assurance?
- Coding
- Code review
- Testing
- Process audit (Correct answer)
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 11: Which algorithm traversal visits all nodes at the current depth level before moving to the next level?
- Inorder traversal
- Postorder traversal
- Depth-First Search (DFS)
- Breadth-First Search (BFS) (Correct answer)
Correct answer: Breadth-First Search (BFS)
BFS uses a queue to explore all neighbors at the present depth prior to moving on to nodes at the next depth level.
Question 12: What is the term for a software defect introduced when fixing another bug, often caused by insufficient test coverage?
- Degradation
- Mutation
- Cascade failure
- Regression (Correct answer)
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 13: What is the primary goal of requirements engineering?
- To deploy software to production environments
- To define and document what the software system must do (Correct answer)
- To test the software against user needs
- To write code that meets user expectations
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 14: RAD is short for
- Rapid Application Document
- None of the above
- Relative Application Development
- Rapid Application Development (Correct answer)
Correct answer: Rapid Application Development
RAD is an acronym that stands for Rapid Application Development. It is a software development methodology that prioritizes rapid prototyping, iterative development, and extensive user involvement. The goal of RAD is to accelerate the development process and deliver functional software quickly, often in response to evolving requirements.
Question 15: Which behavioral pattern encapsulates a request as an object, allowing parameterization and queuing?
- Visitor
- Mediator
- Memento
- Command (Correct answer)
Correct answer: Command
The Command pattern encapsulates actions as objects, enabling undo/redo, logging, and queued requests.
Question 16: Which type of testing verifies that individual components of a software application work correctly in isolation?
- Unit testing (Correct answer)
- Integration testing
- Acceptance testing
- System 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 17: Program of the highest caliber must be adhered to
- Testing methodology
- Design method
- Coding method
- S/w dev method (Correct answer)
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 18: In Test-Driven Development (TDD), what is the correct order of steps?
- Write code, write test, refactor
- Write code, refactor, write test
- Refactor, write test, write code
- 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 19: Which sorting algorithm has the best average-case time complexity of O(n log n) and is commonly used in practice due to its in-place operation?
- Quick Sort (Correct answer)
- Merge Sort
- Insertion Sort
- Bubble Sort
Correct answer: Quick Sort
Quick Sort averages O(n log n) and sorts in-place, making it very cache-efficient and practical despite an O(n²) worst case.
Question 20: Which approach involves testing a system against its specification to verify it meets requirements?
- Experience-based testing
- Defect-based testing
- Specification-based testing (Correct answer)
- Exploratory testing
Correct answer: Specification-based testing
Specification-based (black-box) testing derives test cases directly from the software specification to verify functional correctness.
Question 21: What is the primary intent of the Proxy design pattern?
- Add new behaviors to objects
- Control access to another object (Correct answer)
- Define a skeleton algorithm
- Notify observers of state changes
Correct answer: Control access to another object
The Proxy pattern provides a surrogate or placeholder for another object to control access to it.
Question 22: In continuous testing, tests are executed:
- Manually by QA engineers only
- Only in the production environment
- Once before release
- Automatically as part of the CI/CD pipeline (Correct answer)
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 23: Which SOLID principle states that a class should have only one reason to change?
- Open/Closed Principle
- Interface Segregation Principle
- Single Responsibility Principle (Correct answer)
- Liskov Substitution Principle
Correct answer: Single Responsibility Principle
The Single Responsibility Principle (SRP) states that a class should have only one job or responsibility.
Question 24: In a requirements document, what is the distinction between 'shall' and 'should'?
- Both terms are interchangeable in requirements documentation
- 'Shall' indicates a mandatory requirement while 'should' indicates a desirable but optional one (Correct answer)
- 'Shall' indicates optional features while 'should' indicates mandatory ones
- 'Shall' applies to functional requirements and 'should' to non-functional 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 25: Which testing technique divides inputs into groups where all values are expected to behave the same?
- Decision table testing
- State transition testing
- Equivalence partitioning (Correct answer)
- 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 26: What is 'exploratory testing'?
- Testing only documented scenarios
- Simultaneous learning, test design, and test execution (Correct answer)
- Random testing without any plan
- 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 27: What is 'gold plating' in the context of software requirements?
- Implementing extra features beyond what was specified in the requirements (Correct answer)
- Using expensive tools to document and manage requirements
- Prioritizing high-value requirements over low-priority ones
- 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 28: What is the main goal of refactoring in software engineering?
- Fix critical security vulnerabilities
- Optimize database query performance
- Add new features to the codebase
- Improve internal code structure without changing behavior (Correct answer)
Correct answer: Improve internal code structure without changing behavior
Refactoring restructures existing code to improve readability and maintainability while preserving its external behavior.
Question 29: SDLC is short for
- Software Development Life Cycle
- System Design Life Cycle
- System Development Life cycle (Correct answer)
- Software Design Life Cycle
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 30: Which testing approach tests the integration between different software modules or services?
- Static Testing
- Unit Testing
- Acceptance Testing
- Integration Testing (Correct answer)
Correct answer: Integration Testing
Integration Testing verifies that different modules or services work together correctly when combined.
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