Software quality, reliability, risk management, estimation and scheduling (COCOMO), testing methodologies (unit, integration, white-box, black-box) and configuration management. - Question Bank

1. What is the role of a 'release' in configuration management?
A) The process of writing new code.
B) A specific version of the software product that is made available to users or customers.
C) The design of the software architecture.
D) The estimation of project effort.
2. Which of the following is a common technique for black-box testing that involves dividing input data into partitions that are expected to be processed similarly?
A) Decision Table Testing
B) Equivalence Partitioning
C) State Transition Testing
D) Pairwise Testing
3. What is the main goal of system testing?
A) To test individual functions in isolation.
B) To test the interaction between modules.
C) To evaluate the system's compliance with specified requirements as a whole.
D) To verify the source code.
4. In COCOMO, what does 'person-month' represent?
A) The number of people working on the project.
B) The total duration of the project in months.
C) The effort required to complete a task, typically measured in terms of one person working for one month.
D) The cost of employing one person for one month.
5. Which phase of the software development lifecycle is most impacted by effective risk management?
A) Requirements Gathering
B) Design
C) Testing
D) All phases
6. What is 'usability' as a software quality attribute?
A) The efficiency with which the software performs its tasks.
B) The ease with which users can learn and operate the software.
C) The ability of the software to recover from failures.
D) The security of the software against unauthorized access.
7. What is the purpose of a 'build' in configuration management?
A) To design the software architecture.
B) To create an executable version of the software from source code and other components.
C) To manage project documentation.
D) To plan the project schedule.
8. What is the primary advantage of white-box testing over black-box testing?
A) It requires less technical expertise.
B) It can uncover hidden errors in the code logic.
C) It is generally faster to perform.
D) It is not dependent on the programming language.
9. Which estimation technique relies on decomposing the software into smaller, manageable components and estimating the effort for each component?
A) Expert Judgment
B) Analogy-Based Estimation
C) Work Breakdown Structure (WBS) Estimation
D) COCOMO
10. What kind of risk is associated with the potential for the chosen technology to become obsolete or unsupported?
A) Organizational Risk
B) Project Risk
C) Technical Risk
D) External Risk
11. In software reliability, what does 'Mean Time To Repair (MTTR)' measure?
A) The average time it takes for the system to fail.
B) The average time required to repair a failed system and restore it to operational status.
C) The total time the system is operational.
D) The time spent on preventive maintenance.
12. Which of the following best describes 'test coverage'?
A) The total number of test cases executed.
B) The percentage of code that has been executed by tests.
C) The number of bugs found during testing.
D) The time spent on testing.
13. What is the main purpose of configuration auditing?
A) To write new code for the project.
B) To verify that the software product conforms to its configuration management plan.
C) To design the user interface.
D) To estimate project costs.
14. Which testing technique is most suitable for verifying the control flow within a program?
A) Boundary Value Analysis
B) Equivalence Partitioning
C) Statement Coverage
D) Use Case Testing
15. What is the primary goal of integration testing?
A) To test individual components in isolation.
B) To test the complete system against user requirements.
C) To verify that integrated components work together as expected.
D) To identify defects in the user interface.
16. The COCOMO model uses 'Effort Multipliers' to adjust the nominal effort estimate. What do these multipliers represent?
A) The number of lines of code.
B) Factors that influence the development effort, such as required reliability or team capability.
C) The project schedule.
D) The software testing strategy.
17. What is a 'risk assessment' in the context of software projects?
A) The process of identifying potential risks.
B) The process of analyzing the likelihood and impact of identified risks.
C) The process of developing strategies to deal with risks.
D) The process of tracking project progress.
18. Which of the following is a measure of software reliability?
A) Lines of Code (LOC)
B) Mean Time Between Failures (MTBF)
C) Cyclomatic Complexity
D) Function Points
19. What does 'validation' in software engineering typically refer to?
A) Ensuring that the software is built correctly according to design and specifications.
B) Testing the software for security vulnerabilities.
C) Ensuring that the software meets the user's actual needs and requirements.
D) Optimizing the code for speed.
20. What does 'verification' in software engineering typically refer to?
A) Ensuring that the software meets the user's needs.
B) Ensuring that the software is built correctly according to design and specifications.
C) Testing the software for performance issues.
D) Designing the software architecture.
21. In configuration management, what is 'change control'?
A) Allowing any developer to make any change at any time.
B) A formal process for requesting, evaluating, approving, and implementing changes to the software.
C) The process of writing new code.
D) Testing the software for bugs.
22. What is the primary challenge in estimating software development effort and cost?
A) The abundance of precise historical data.
B) The inherent uncertainty and complexity of software development.
C) The lack of available estimation models.
D) The simplicity of software projects.
23. Which testing methodology focuses on verifying that the software behaves according to the specifications and user stories, without regard to the internal implementation?
A) White-box testing
B) Black-box testing
C) Grey-box testing
D) Unit testing
24. What is the purpose of regression testing?
A) To test new features introduced in the latest release.
B) To ensure that recent code changes have not adversely affected existing functionality.
C) To test the performance of the software under heavy load.
D) To verify that the software meets user requirements.
25. In software testing, what is a 'test case'?
A) A set of steps to execute a program.
B) A document describing the software requirements.
C) A plan for how to test the entire system.
D) A summary report of all test results.
26. COCOMO II is an evolution of the original COCOMO model. What does it incorporate that the original COCOMO did not?
A) Only lines of code as an input.
B) More cost drivers and models for different development stages.
C) No consideration for team experience.
D) Focus solely on large, complex projects.
27. Which of the following is an example of a 'project risk'?
A) A complex algorithm that is difficult to implement.
B) A misunderstanding of user requirements.
C) The project team lacks specific expertise.
D) The client changes the project scope significantly.
28. In the context of risk management, what does 'risk mitigation' involve?
A) Ignoring potential risks until they occur.
B) Developing strategies to reduce the probability or impact of identified risks.
C) Assigning blame for project failures.
D) Increasing the project budget.
29. What is the primary concern of 'maintainability' as a software quality attribute?
A) How quickly the software can be deployed.
B) How easily the software can be modified, corrected, or enhanced.
C) How fast the software executes.
D) How intuitive the user interface is.
30. Which type of testing involves testing the complete, integrated system to evaluate its compliance with specified requirements?
A) Unit Testing
B) Integration Testing
C) System Testing
D) Component Testing
31. What is the purpose of a baseline in configuration management?
A) To track individual developer performance.
B) A formally reviewed and agreed-upon state of a system or component at a particular point in time.
C) To manage project communication channels.
D) To estimate the project cost.
32. Which of the following is a key process within configuration management?
A) Requirements elicitation
B) Version control
C) System design
D) User training
33. Configuration management in software engineering is responsible for:
A) Writing the software code.
B) Managing and controlling changes to the software product and its documentation throughout the lifecycle.
C) Designing the user interface.
D) Performing customer support.
34. What is the main objective of acceptance testing?
A) To test the internal logic of the code.
B) To verify that the software meets the business requirements and is acceptable to the end-users.
C) To test the integration of different modules.
D) To find defects in individual functions.
35. Black-box testing treats the software as a 'black box', meaning the internal structure is not known. What is a primary technique used in black-box testing?
A) Path testing
B) Loop testing
C) Equivalence partitioning
D) Control flow testing
36. White-box testing requires knowledge of the internal code structure. What is a common technique used in white-box testing?
A) Equivalence partitioning
B) Boundary value analysis
C) Statement coverage
D) Use case testing
37. Which type of testing focuses on testing the internal structure and logic of the code?
A) Black-box testing
B) White-box testing
C) Acceptance testing
D) System testing
38. Integration testing aims to verify the interaction between different software modules. What is a common approach to integration testing?
A) Testing each module independently.
B) Testing the entire system at once.
C) Combining modules and testing them as a group.
D) Testing only the user interface.
39. Unit testing is performed on the smallest testable parts of an application. What is the primary focus of unit testing?
A) The interaction between different modules.
B) The overall system functionality.
C) Individual functions, methods, or components in isolation.
D) The user interface design.
40. A Gantt chart is a common tool used in software scheduling. What does it visually represent?
A) The software architecture.
B) The dependencies between tasks and their durations.
C) The project's budget allocation.
D) The team's communication network.
41. What is the main objective of software scheduling?
A) To assign tasks to developers randomly.
B) To determine the timeline for project activities and milestones.
C) To ensure that all features are developed simultaneously.
D) To delay the project as much as possible.
42. Which COCOMO mode is characterized by projects developed by relatively large teams, with complex software and hardware requirements, and often a need for innovation?
A) Organic
B) Semi-Detached
C) Embedded
D) Systematic
43. In COCOMO, what does the 'Organic' mode typically represent?
A) Projects with tight schedules and small, experienced teams.
B) Projects with complex hardware and software requirements.
C) Projects developed in a familiar, stable environment with a relaxed schedule.
D) Projects involving new, challenging technology.
44. The COCOMO (Constructive Cost Model) is a model for software cost estimation. What is its primary basis?
A) The number of lines of code (LOC) to be produced.
B) The complexity of the user interface.
C) The number of developers assigned to the project.
D) The project's budget.
45. Which type of risk is associated with the potential for the project to be canceled or delayed due to external factors like economic downturns or new regulations?
A) Technical Risk
B) Project Risk
C) Organizational Risk
D) External Risk
46. What is the main purpose of risk management in software engineering?
A) To eliminate all possible risks.
B) To identify, assess, and control potential problems that could affect a project.
C) To ensure the software is delivered on time, regardless of quality.
D) To focus only on technical risks.
47. Software reliability is defined as the probability of failure-free software operation for a specified period in a specified environment. What does this imply?
A) Software will never fail.
B) Software is guaranteed to work under all conditions.
C) Software has a certain likelihood of performing its intended function without failure.
D) Software reliability is solely dependent on hardware.
48. Which of the following is NOT a common attribute of software quality?
A) Reliability
B) Usability
C) Performance
D) Marketing appeal
49. What is the primary goal of software quality assurance?
A) To develop software as quickly as possible.
B) To ensure that the software meets specified requirements and standards.
C) To reduce the cost of software development.
D) To implement new features requested by the client.