WorksheetsSoftware Development Quiz
Total questions: 100
Worksheet time: 50mins
Which model is best suited for projects with unclear or evolving requirements?
Waterfall
Spiral
V-Model
Agile
What is the cyclomatic complexity of a program with 10 decision points and 15 edges?
5
6
15
10
Which COCOMO model is used for embedded software projects?
Organic
Semi-Detached
Embedded
Component-Based
In a project network, the critical path is the sequence of activities with:
Shortest duration
Longest duration
Least slack
Most resources
Which of the following is NOT a characteristic of a good SRS?
Unambiguous
Traceable
Implementation-specific
Complete
Equivalence Partitioning is a technique used in:
Unit Testing
Integration Testing
System Testing
Black-Box Testing
Which type of maintenance involves modifying a system to accommodate new requirements?
Corrective
Adaptive
Perfective
Preventive
The Open-Closed Principle states that software entities should be:
Open for modification, closed for extension
Open for extension, closed for modification
Closed for both modification and extension
Open for both modification and extension
Which phase of risk management involves prioritizing risks based on their impact and likelihood?
Risk Identification
Risk Analysis
Risk Mitigation
Risk Monitoring
Which metric is NOT used in Function Point Analysis?
External Inputs
External Outputs
Lines of Code (LOC)
Internal Logical Files
Which tool is used to manage changes to source code over time?
Jenkins
Git
Jira
SonarQube
High cohesion and low coupling are indicators of:
Poor modular design
Good modular design
Tightly coupled modules
High code redundancy
In a use case diagram, an actor represents:
A system function
A user role or external system
A database table
A test case
Which metric measures the probability of failure-free operation over a specific time?
MTBF (Mean Time Between Failures)
MTTR (Mean Time To Repair)
MTTF (Mean Time To Failure)
Failure Rate
Which technique uses work breakdown structure (WBS) for task estimation?
PERT
CPM
COCOMO
Gantt Chart
Which model emphasizes risk analysis at each iteration?
Waterfall
Spiral
V-Model
Agile
Which pattern ensures a class has only one instance?
Factory Method
Singleton
Observer
Adapter
Boundary Value Analysis is most effective for detecting errors in:
Input ranges
Control flow
Database queries
Memory leaks
Which metric measures the ratio of code comments to code lines?
Cyclomatic Complexity
Comment Density
Halstead Volume
Function Points
Which diagram shows object interactions over time?
Class Diagram
Sequence Diagram
Use Case Diagram
Deployment Diagram
The formula Effort = a × (KLOC)^b is used in:
Function Point Analysis
COCOMO
PERT
Critical Path Method
In Scrum, the Product Owner is responsible for:
Managing the team
Prioritizing the backlog
Writing code
Testing
Which CMMI level represents quantitatively managed processes?
Level 2
Level 3
Level 4
Level 5
Which strategy involves accepting the consequences of a risk?
Mitigation
Avoidance
Transfer
Acceptance
Which technique ensures all code paths are executed?
Equivalence Partitioning
Statement Coverage
Boundary Value Analysis
Decision Coverage
Which technique involves role-playing user scenarios?
Interviews
Prototyping
Use Cases
Workshops
Refactoring aims to improve:
Functionality
Performance
Code readability
User interface
Which term refers to a stable version of software?
Baseline
Branch
Fork
Build
"Are we building the product right?" refers to:
Verification
Validation
Testing
Debugging
Which tool is used for continuous integration?
Docker
Jenkins
Kubernetes
Ansible
If a project has 5 developers and takes 60 days, what is the effort in person-months?
5
10
12
15
The Liskov Substitution Principle states that:
Subclasses must be substitutable for base classes
Code should depend on abstractions
Classes should have single responsibilities
Interfaces should be client-specific
Which approach tests top-level modules first?
Big-Bang
Top-Down
Bottom-Up
Sandwich
Fixing a security flaw is an example of:
Corrective Maintenance
Adaptive Maintenance
Perfective Maintenance
Preventive Maintenance
A "has-a" relationship is represented by:
Inheritance
Association
Aggregation
Composition
Which component is counted as an External Inquiry (EQ)?
User login
Database table
Report generation
Input form
Which license allows modification and redistribution?
MIT
Proprietary
GNU GPL
Apache 2.0
The MVC pattern separates:
Data, network, and UI
Data, logic, and presentation
Modules, views, and controllers
Input, processing, and output
If MTTF = 100 hours and MTTR = 10 hours, what is MTBF?
90
100
110
120
ISO 9126 defines standards for:
Risk management
Software quality
Project management
Testing
Which testing level focuses on end-to-end processes?
Unit
Integration
System
Acceptance
IaaS provides:
Virtual machines
Application hosting
Serverless functions
Databases
A burndown chart tracks:
Defects over time
Remaining work vs time
Resource allocation
Budget expenditure
Which technique reduces loop overhead?
Loop Unrolling
Dead Code Elimination
Inlining
Constant Folding
A developer discovers a security flaw in a client's system. Ethically, they should:
Ignore it
Exploit it
Report it privately
Post it publicly
Which architecture style emphasizes independent, loosely coupled services?
Monolithic
Microservices
Layered
Client-Server
The Strategy Pattern is used to:
Encapsulate interchangeable algorithms
Create families of related objects
Notify dependents of state changes
Adapt incompatible interfaces
State Transition Testing is ideal for systems with:
Complex input ranges
Finite states and transitions
High cyclomatic complexity
Database interactions
Halstead's Difficulty Metric measures:
Code readability
Effort required to understand code
Number of bugs per module
Execution time
In PERT, the expected time for an activity with optimistic (O)=2, most likely (M)=4, pessimistic (P)=6 is:
3
4
5
6
Which vulnerability arises from unsanitized user input in web apps?
SQL Injection
Buffer Overflow
Cross-Site Scripting (XSS)
Race Condition
Which tool is used for container orchestration?
Docker
Jenkins
Kubernetes
Ansible
Which framework uses timeboxed iterations called "Sprints"?
Kanban
Scrum
XP (Extreme Programming)
Lean
Which diagram models concurrent system behavior?
Class Diagram
Activity Diagram
State Diagram
Sequence Diagram
A developer discovers a colleague plagiarizing code. Ethically, they should:
Report it to management
Ignore it
Publicly shame the colleague
Copy the code themselves
If a system has a failure rate (λ) of 0.001 per hour, its MTTF is:
100 hours
1000 hours
10,000 hours
1 hour
The Interface Segregation Principle states that:
Clients shouldn't depend on unused interfaces
Subclasses should replace base classes
Code should be open for extension
Classes should have single responsibilities
Which service model provides serverless computing?
IaaS
PaaS
SaaS
FaaS
Which license requires derivative works to be open-source?
MIT
Apache 2.0
GNU GPL
BSD
Which code smell involves a class doing too much?
God Class
Spaghetti Code
Dead Code
Magic Numbers
Which technique tests interactions between modules?
Unit Testing
Integration Testing
Regression Testing
Smoke Testing
A risk with high probability and low impact is managed by:
Mitigation
Avoidance
Transfer
Acceptance
Which term refers to managing parallel development streams?
Branching
Tagging
Merging
Committing
Which component is an External Interface File (EIF)?
A database table
A report generated by the system
A file maintained by another system
An input form
Which type of maintenance involves optimizing code efficiency?
Corrective
Adaptive
Perfective
Preventive
A "is-a" relationship is represented by:
Inheritance
Association
Aggregation
Dependency
A project with 1000 Function Points and a productivity rate of 10 FP per person-month requires how many person-months?
10
100
1000
10,000
Which technique replaces repeated calculations with precomputed values?
Loop Unrolling
Memoization
Dead Code Elimination
Inlining
ISO/IEC 25010 focuses on:
Software quality models
Risk management
Project management
Testing
ISO/IEC 25010 focuses on:
Software quality models
Risk management
Project lifecycle
Testing processes
A Gantt Chart visually represents:
Task dependencies and timelines
Risk impact vs. probability
Code complexity
Test coverage
A developer is asked to collect user data without consent. Ethically, they should:
Comply
Refuse and report the request
Collect anonymized data
Ignore privacy laws
The Observer Pattern is used for:
One-to-many dependency between objects
Creating objects without specifying classes
Encapsulating requests as objects
Simplifying complex interfaces
Which term describes a unique identifier for a software version?
Baseline
Build
Release
Tag
Smoke Testing is also known as:
Sanity Testing
Regression Testing
Load Testing
Alpha Testing
Velocity measures:
Work completed per sprint
Defect density
Team productivity over time
Code coverage
The Hexagonal Architecture prioritizes:
Tight coupling between layers
Separation of core logic from external services
Centralized database management
Monolithic deployment
The Decorator Pattern is used to:
Add responsibilities to objects dynamically
Encapsulate object creation
Notify dependents of state changes
Define a family of algorithms
Mutation Testing evaluates:
Test coverage
The quality of test cases
Performance under load
Security vulnerabilities
Code Churn measures:
Frequency of code changes
Cyclomatic complexity
Comment density
Test coverage
Which practice ensures infrastructure configuration is version-controlled?
Infrastructure as Code (IaC)
Continuous Deployment
Blue-Green Deployment
Canary Releases
Cross-Site Request Forgery (CSRF) exploits:
User authentication tokens
Trusted user sessions
Database connections
Input validation flaws
Story Points estimate:
Time to complete a task
Effort and complexity of a user story
Team velocity
Budget allocation
Which diagram shows component dependencies?
Component Diagram
Object Diagram
Deployment Diagram
Package Diagram
A client asks for a feature violating GDPR. Ethically, you should:
Build it secretly
Refuse and explain the legal risks
Ignore regulations
Charge extra for compliance
PaaS provides:
Virtual machines
Development frameworks and tools
Serverless functions
Network infrastructure
The N-Version Programming technique aims to:
Reduce bugs through redundancy
Simplify code
Improve performance
Enhance user interfaces
The Dependency Inversion Principle states:
High-level modules should depend on low-level modules
Abstractions should not depend on details
Code should be open for extension
Classes should have single responsibilities
A Risk Burn Down Chart tracks:
Mitigation progress over time
Defect density
Resource allocation
Budget expenditure
Trunk-Based Development emphasizes:
Long-lived feature branches
Frequent commits to the main branch
Delayed integration
Manual merges
Fuzz Testing involves:
Sending random inputs to crash software
Validating UI workflows
Checking code coverage
Simulating user behavior
Feature Envy refers to code that:
Accesses data of another class excessively
Contains duplicate logic
Uses global variables
Lacks comments
The Wideband Delphi method relies on:
Historical data
Expert consensus
Lines of code
Function points
Dead Code Elimination improves:
Readability and performance
Security
Test coverage
User experience
ISO/IEC 27001 focuses on:
Software quality
Risk management
Information security
Project lifecycle
The MoSCoW Method prioritizes tasks as:
Must-have, Should-have, Could-have, Won't-have
High, Medium, Low
Critical, Major, Minor
Urgent, Important, Later
The Chain of Responsibility Pattern is used to:
Decouple senders and receivers of requests
Create object families
Encapsulate algorithms
Manage state transitions
Blue-Green Deployment reduces risk by:
Running two identical environments
Gradually rolling out updates
Testing in production
Using feature toggles
Code Stagnation refers to:
Frequent refactoring
Lack of updates leading to obsolescence
High test coverage
Over-documented code
Shift-Left Testing emphasizes:
Testing early in the SDLC
Delaying testing until deployment
Outsourcing QA
Manual testing only
