Understanding Unit Testing
Which of the following best describes a unit test in the context of software development?
- A test that checks individual pieces of code like functions or methods in isolation.
- A test that checks the overall performance of the entire application.
- A test that only runs once before deployment.
- A test completed manually by a team member.
- A test that compares two different programming languages.
Purpose of Snapshot Tests
What is the primary goal of snapshot testing in mobile app development?
- To check that the user interface matches a previously stored version.
- To monitor network traffic while the app runs.
- To measure the speed of background processes.
- To test code on different operating systems.
- To verify database connection strings.
Role of Manual Testing
In a typical release process, why might manual testing still be required even with many automated tests?
- Because some issues are easier for humans to notice, such as visual glitches.
- Because automated tools cannot run on mobile devices.
- Because manual tests are always faster than automated tests.
- Because code changes don't affect app behavior.
- Because only manual tests can catch spelling errors in code.
Scaling UI Tests
What is a common challenge when increasing the number of UI tests in a mobile app project?
- Managing test failures and identifying the root cause of breakages.
- Ensuring the app supports multiple languages.
- Reducing server downtime.
- Shortening code review times.
- Synchronizing team calendars.
Automated vs. Manual Testing
Which of the following is an advantage of automated tests over manual tests?
- Automated tests can be run repeatedly without human intervention.
- Automated tests do not require any initial setup.
- Manual tests run faster than automated tests.
- Automated tests never fail.
- Manual tests can check code syntax automatically.
Test Coverage Improvement
Why is improving unit test coverage important for a development team?
- It helps detect bugs early by testing more parts of the codebase.
- It increases the number of developers in the team.
- It guarantees zero bugs in the app.
- It shortens the app's startup time.
- It automatically publishes the app after each test.
Reverse Dependency Tree
When developers run tests affected by their changes, what is the reverse dependency tree used for?
- To identify which tests are related to the changed files.
- To reverse the order of test execution.
- To remove unnecessary lines of code.
- To track user login locations.
- To schedule team meetings.
Types of Tests
Which type of test is MOST likely to be written and maintained by a Quality Assurance (QA) team?
- User Interface (UI) tests that simulate user interactions.
- Database integration scripts.
- Memory usage analysis.
- Automated code formatting.
- Application logging setup.
Reducing Manual Testing
How can adding more UI test cases help reduce the need for manual testing before a release?
- By automatically checking that app screens work as expected without human input.
- By increasing the size of the development team.
- By lowering the overall complexity of the app.
- By eliminating the need for any form of documentation.
- By slowing down the continuous integration process.
Testing Workflow Productivity
What is one productivity hurdle developers may face when using snapshot tests?
- Accepting new or changed snapshots efficiently after updates.
- Writing code in the wrong programming language.
- Merging unrelated pull requests together.
- Forgetting to update team calendars.
- Storing tests in external hard drives only.