What is testing in software development?
a) Writing code
b) Designing user interfaces
c) Executing software to find defects or verify requirements
d) Deploying software to production
c) Executing software to find defects or verify requirements
What is Integration Testing?
a) Testing individual units
b) Testing the entire system
c) Testing interaction between components
d) Testing after changes
c) Testing interaction between components
What are bugs in software?
a) Features
b) Defects or errors causing unexpected behaviour
c) Design patterns
d) Testing tools
b) Defects or errors causing unexpected behaviour
What does CI in CI/CD stand for?
a) Code Insertion
b) Continuous Integration
c) Code Iteration
d) Continuous Iteration
b) Continuous Integration
Imagine a spaceship being sent to the moon. If there is an error in the code for this spaceship, it’s a loss of millions of pounds. Now imagine a game being released on steam. If there is an error, the game would crash.
In the spaceship vs. game example, what is emphasised?
a) Both have the same safety needs
b) Games need more safety
c) Different projects require different levels of safety
d) Safety is never important
c) Different projects require different levels of safety
Why is testing important?
a) To make the code look better
b) To identify and fix bugs early
c) To increase the code's length
d) To confuse users
b) To identify and fix bugs early
What is System Testing?
a) Testing individual units
b) Testing interaction between components
c) Testing the entire system as a whole
d) Testing code style
c) Testing the entire system as a whole
Why should all code undergo extensive testing?
a) To make developers work overtime
b) To slow down the project
c) To ensure reliability, functionality, and quality
d) To increase code complexity
c) To ensure reliability, functionality, and quality
What happens in Continuous Integration?
a) Code is manually combined
b) Code changes are automatically checked and tested
c) Code is deployed without testing
d) Code is only reviewed visually
b) Code changes are automatically checked and tested
How do we handle errors in code?
a) By ignoring them
b) By using special code blocks to catch and deal with problems
c) By restarting the computer
d) By blaming the user
b) By using special code blocks to catch and deal with problems
Which is NOT a method for testing?
a) Unit Testing
b) Integration Testing
c) System Testing
d) Performance Testing
d) Performance Testing
In Test-Driven Development (TDD), what is written first?
a) The actual code test strategy
b) The tests
c) The documentation of tests
d) The deployment test
b) The tests
What does testing guarantee?
a) Zero defects in software
b) Nothing, as it's impossible to test all scenarios
c) Perfect user satisfaction
d) No need for updates
b) Nothing, as it's impossible to test all scenarios
What does CD in CI/CD stand for?
a) Code Deployment
b) Continuous Delivery or Continuous Deployment
c) Code Design
d) Continuous Design
b) Continuous Delivery or Continuous Deployment
What is an example of defensive coding?
a) Using complex algorithms
b) Checking for zero before division to avoid errors
c) Always assuming correct input
d) Ignoring edge cases
b) Checking for zero before division to avoid errors
What is Unit Testing?
a) Testing the entire system
b) Testing individual components in isolation
c) Testing interaction between components
d) Testing after changes
b) Testing individual components in isolation
What is a characteristic of TDD?
a) Writing all possible code
b) Writing only code necessary to pass tests
c) Ignoring test results
d) Avoiding code refactoring
b) Writing only code necessary to pass tests
What is exception handling in programming?
a) Ignoring all errors
b) Having a backup plan for unexpected events
c) Making code more complex
d) Avoiding error messages
b) Having a backup plan for unexpected events
What is Continuous Delivery about?
a) Writing more code
b) Ensuring software changes are always ready to go live
c) Ignoring testing
d) Manual deployments only
b) Ensuring software changes are always ready to go live
What is System Testing?
a) Testing individual units
b) Testing interaction between components
c) Testing the entire as a whole
d) Testing code style
c) Testing the entire as a whole
What is Regression Testing?
a) Testing individual units
b) Testing interaction between components
c) Testing the entire system
d) Testing that new changes don't break existing functionality
d) Testing that new changes don't break existing functionality
What is a benefit of TDD?
a) It makes code more complex
b) It slows down development
c) It helps design cleaner, more modular code
d) It reduces test coverage
c) It helps design cleaner, more modular code
What is defensive programming?
a) Making code more aggressive
b) Writing code to protect it from unexpected problem
c) Ignoring all potential issues
d) Only focusing on speed
b) Writing code to protect it from unexpected problem
In Continuous Delivery, how are changes released to the public?
a) Manually
b) Automatically
c) Without testing
d) Only on weekends
a) Manually
In Continuous Deployment, how are changes deployed to the public?
a) Manually after thorough testing
b) Automatically after passing tests
c) Without any testing
d) Only during off-hours
b) Automatically after passing tests