SWE Final Exam (Answered) 100%
Correct, With Complete Verified
solution.
What is Software Engineering?
- Programming integrated over time.
- Tools and processes used to build and maintain code.
What is Software Testing?
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?
- Should be pervasive through software life cycle.
- Planning should start early in the software requirements process.
Fault
The cause of a malfunction
Failure
An undesired effect observed from a system
Defect
Synonymous to fault and failure
The 4 Levels of Testing
1. Unit Testing
2. Integration Testing
3. System Testing
4. Acceptance Testing
Unit Test
Testing individual components
Integration Test
Testing integrated components
System Test
Testing the entire system
Acceptance Test
Testing the final system
, Regression Testing
Retesting to verify modification has not caused failures and that requirements are still met
The Trade-Off of Regression Testing
-> Assurance from testing
VS
-> Resources used by testing
Testing Techniques
Help to ensure the success of Testing Objectives
Testing Objectives
Measurements gathered from tests that provide an evaluation of the program tested
Example of a Testing Technique
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
All activities required to provide cost-effective support to software
Predelivery Activities
Planning for postdelivery, maintenance, and logistics of deployment
Postdelivery Activities
- Modifying software
- Training for operation of a help desk
What has caused the increased focus on Software Maintenance?
Organizations trying to squeeze the most out of their software by keeping it operating as long as
possible
Five Key Characteristics of Maintaining Software
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
- Cost of repeated testing.
- Re-validating reported problems.
- Importance of Regression Testing for maintenance.
- Finding time to test.
- Coordinating tests.
Correct, With Complete Verified
solution.
What is Software Engineering?
- Programming integrated over time.
- Tools and processes used to build and maintain code.
What is Software Testing?
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?
- Should be pervasive through software life cycle.
- Planning should start early in the software requirements process.
Fault
The cause of a malfunction
Failure
An undesired effect observed from a system
Defect
Synonymous to fault and failure
The 4 Levels of Testing
1. Unit Testing
2. Integration Testing
3. System Testing
4. Acceptance Testing
Unit Test
Testing individual components
Integration Test
Testing integrated components
System Test
Testing the entire system
Acceptance Test
Testing the final system
, Regression Testing
Retesting to verify modification has not caused failures and that requirements are still met
The Trade-Off of Regression Testing
-> Assurance from testing
VS
-> Resources used by testing
Testing Techniques
Help to ensure the success of Testing Objectives
Testing Objectives
Measurements gathered from tests that provide an evaluation of the program tested
Example of a Testing Technique
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
All activities required to provide cost-effective support to software
Predelivery Activities
Planning for postdelivery, maintenance, and logistics of deployment
Postdelivery Activities
- Modifying software
- Training for operation of a help desk
What has caused the increased focus on Software Maintenance?
Organizations trying to squeeze the most out of their software by keeping it operating as long as
possible
Five Key Characteristics of Maintaining Software
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
- Cost of repeated testing.
- Re-validating reported problems.
- Importance of Regression Testing for maintenance.
- Finding time to test.
- Coordinating tests.