SWE 3313 FINAL EXAM NEWEST 2024 ACTUAL EXAM
200 QUESTIONS AND CORRECT DETAILED ANSWERS
(VERIFIED ANSWERS) |ALREADY GRADED A+
What is Software Engineering? - ANSWER: - Programming integrated over time.
- Tools and processes used to build and maintain code.
What is Software Testing? - ANSWER: Verify a program has expected behavior on a
finite set of test cases selected from an almost infinite execution domain.
When does Software Testing take place? - ANSWER: - Should be pervasive through
software life cycle.
- Planning should start early in the software requirements process.
Fault - ANSWER: The cause of a malfunction
Failure - ANSWER: An undesired effect observed from a system
Defect - ANSWER: Synonymous to fault and failure
The 4 Levels of Testing - ANSWER: 1. Unit Testing
2. Integration Testing
3. System Testing
4. Acceptance Testing
Unit Test - ANSWER: Testing individual components
Integration Test - ANSWER: Testing integrated components
System Test - ANSWER: Testing the entire system
Acceptance Test - ANSWER: Testing the final system
Regression Testing - ANSWER: Retesting to verify modification has not caused
failures and that requirements are still met
The Trade-Off of Regression Testing - ANSWER: -> Assurance from testing
VS
-> Resources used by testing
Testing Techniques - ANSWER: Help to ensure the success of Testing Objectives
Testing Objectives - ANSWER: Measurements gathered from tests that provide an
evaluation of the program tested
, Example of a Testing Technique - ANSWER: Branch Coverage: How much of the
codebase is tested. Meeting a branch coverage metric (i.e. 95%) is a way of
improving the chances of finding failures by attempting to systematically exercise
every program branch at every decision point
Software Maintenance - ANSWER: All activities required to provide cost-effective
support to software
Predelivery Activities - ANSWER: Planning for postdelivery, maintenance, and
logistics of deployment
Postdelivery Activities - ANSWER: - Modifying software
- Training for operation of a help desk
What has caused the increased focus on Software Maintenance? - ANSWER:
Organizations trying to squeeze the most out of their software by keeping it
operating as long as possible
Five Key Characteristics of Maintaining Software - ANSWER: 1. Maintaining control
over functions.
2. Maintaining control over modification.
3. Perfecting functionality.
4. Identifying security threats and fixing security vulnerabilities.
5. Preventing degradation of software.
Technical Issues of Software Testing - ANSWER: - Cost of repeated testing.
- Re-validating reported problems.
- Importance of Regression Testing for maintenance.
- Finding time to test.
- Coordinating tests.
- Critical software is hard to bring offline for testing
- Tests can't be executed in the production system.
Maintainability - ANSWER: Capability of modification
Why is Maintainability difficult to achieve? - ANSWER: Sub-characteristics overlooked
during development. This causes a lack of SW Docs and Test Environments
How to enhance Maintainability? - ANSWER: By having systematic and mature
processes, techniques, and tools
Best approach to estimate Maintenance? - ANSWER: Experience combined with
historical data
The Four Levels of Maintenance Planning? - ANSWER: 1. Organization Level
2. Transition Level
3. Software Level
200 QUESTIONS AND CORRECT DETAILED ANSWERS
(VERIFIED ANSWERS) |ALREADY GRADED A+
What is Software Engineering? - ANSWER: - Programming integrated over time.
- Tools and processes used to build and maintain code.
What is Software Testing? - ANSWER: Verify a program has expected behavior on a
finite set of test cases selected from an almost infinite execution domain.
When does Software Testing take place? - ANSWER: - Should be pervasive through
software life cycle.
- Planning should start early in the software requirements process.
Fault - ANSWER: The cause of a malfunction
Failure - ANSWER: An undesired effect observed from a system
Defect - ANSWER: Synonymous to fault and failure
The 4 Levels of Testing - ANSWER: 1. Unit Testing
2. Integration Testing
3. System Testing
4. Acceptance Testing
Unit Test - ANSWER: Testing individual components
Integration Test - ANSWER: Testing integrated components
System Test - ANSWER: Testing the entire system
Acceptance Test - ANSWER: Testing the final system
Regression Testing - ANSWER: Retesting to verify modification has not caused
failures and that requirements are still met
The Trade-Off of Regression Testing - ANSWER: -> Assurance from testing
VS
-> Resources used by testing
Testing Techniques - ANSWER: Help to ensure the success of Testing Objectives
Testing Objectives - ANSWER: Measurements gathered from tests that provide an
evaluation of the program tested
, Example of a Testing Technique - ANSWER: Branch Coverage: How much of the
codebase is tested. Meeting a branch coverage metric (i.e. 95%) is a way of
improving the chances of finding failures by attempting to systematically exercise
every program branch at every decision point
Software Maintenance - ANSWER: All activities required to provide cost-effective
support to software
Predelivery Activities - ANSWER: Planning for postdelivery, maintenance, and
logistics of deployment
Postdelivery Activities - ANSWER: - Modifying software
- Training for operation of a help desk
What has caused the increased focus on Software Maintenance? - ANSWER:
Organizations trying to squeeze the most out of their software by keeping it
operating as long as possible
Five Key Characteristics of Maintaining Software - ANSWER: 1. Maintaining control
over functions.
2. Maintaining control over modification.
3. Perfecting functionality.
4. Identifying security threats and fixing security vulnerabilities.
5. Preventing degradation of software.
Technical Issues of Software Testing - ANSWER: - Cost of repeated testing.
- Re-validating reported problems.
- Importance of Regression Testing for maintenance.
- Finding time to test.
- Coordinating tests.
- Critical software is hard to bring offline for testing
- Tests can't be executed in the production system.
Maintainability - ANSWER: Capability of modification
Why is Maintainability difficult to achieve? - ANSWER: Sub-characteristics overlooked
during development. This causes a lack of SW Docs and Test Environments
How to enhance Maintainability? - ANSWER: By having systematic and mature
processes, techniques, and tools
Best approach to estimate Maintenance? - ANSWER: Experience combined with
historical data
The Four Levels of Maintenance Planning? - ANSWER: 1. Organization Level
2. Transition Level
3. Software Level