Save
...
Topic 6: Problem Solving with Programming
6.3 Testing and Refining Programs
6.3.1 Testing strategies:
Save
Share
Learn
Content
Leaderboard
Share
Learn
Cards (112)
Why is testing important in software development?
Identifying and fixing bugs
Testing validates that the program behaves as expected and fulfills the user's
needs
Order the main testing strategies used in software development based on their complexity and scope:
1️⃣ Unit Testing
2️⃣ Integration Testing
3️⃣ System Testing
4️⃣ Acceptance Testing
What is black-box testing?
Testing without internal knowledge
Boundary value analysis tests the minimum,
maximum
, and edge values of the input domain.
True
White-box testing requires knowledge of the program's internal
structure
White-box testing focuses on validating the external behavior of the software.
False
What does white-box testing focus on?
Internal logic and code
Branch coverage ensures that every
decision point
in the code is tested at least once.
True
Integration testing focuses on how different components of a system work
together
Black-box testing requires knowledge of the program's internal structure.
False
Match each white-box testing technique with its description:
Statement Coverage ↔️ Ensuring each code statement is executed
Branch Coverage ↔️ Ensuring each decision point is tested
Path Coverage ↔️ Ensuring all execution paths are tested
Unit testing aims to verify that each part of the code functions correctly according to its
specifications
What is one benefit of unit testing?
Early bug detection
What does integration testing focus on?
How components work together
Steps often involved in integration testing
1️⃣ Components are gradually integrated
2️⃣ Testing is performed after each integration
3️⃣ Issues are identified and resolved
What is the purpose of system testing?
Verify system's overall behavior
System testing is performed after unit testing and
integration testing
.
True
What is the primary focus of acceptance testing?
User's perspective
What is one key reason why testing is important in software development?
Identifying and fixing bugs
Equivalence partitioning reduces test cases while covering a wide range of input
conditions
In white-box testing, the tester has knowledge of the internal
structure
Steps in unit testing
1️⃣ Write test cases
2️⃣ Execute test cases
3️⃣ Analyze results
Regression testing is performed to ensure existing
functionality
remains unaffected by new changes.
Match the testing strategy with its focus:
Regression Testing ↔️ Existing features
Unit Testing ↔️ Individual components
Integration Testing ↔️ Component interactions
System Testing ↔️ Overall system functionality
In manual testing, testers manually execute test
cases
to identify defects.
Pytest is used for Python-based unit
testing
Manual testing involves executing test cases
manually
What does integration testing check?
How components work together
Manual testing techniques complement automated testing by covering scenarios where automation is not
feasible
True
Match the testing documentation element with its purpose:
Test Plan ↔️ Outlines the testing scope
Test Cases ↔️ Specifies steps to test features
Test Report ↔️ Summarizes testing results
Steps in bug tracking and management
1️⃣ Bug detection and reporting
2️⃣ Bug prioritization
3️⃣ Bug assignment and tracking
4️⃣ Bug resolution and verification
What is a key feature of Jira?
Customizable workflows
Testing helps identify and fix bugs early in the development
process
Testing validates that the program behaves as expected and meets
user
needs
True
What is the primary purpose of testing in software development?
Ensuring program correctness
What is tested in system testing?
The entire system
Equivalence partitioning reduces test cases by dividing input data into
classes
What is black-box testing in software testing?
Testing without internal knowledge
Testing helps ensure a program is functioning correctly and meets the specified
requirements
See all 112 cards