Bird
Raised Fist0
Testing Fundamentalstesting~10 mins

Device fragmentation challenges in Testing Fundamentals - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to identify the device type for testing.

Testing Fundamentals
device_type = get_device_info().[1]
Drag options to blanks, or click blank then click option'
Anetwork_status
Bbattery_level
Cos_version
Dscreen_size
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing battery_level or network_status which do not define device type.
2fill in blank
medium

Complete the code to check if the app supports the device OS version.

Testing Fundamentals
if device_os_version [1] supported_versions:
Drag options to blanks, or click blank then click option'
Ain
Bequals
Cnot in
Dgreater
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'equals' which is not valid syntax for membership.
3fill in blank
hard

Fix the error in the code to correctly log device capabilities.

Testing Fundamentals
log('Device capabilities: ' + [1] )
Drag options to blanks, or click blank then click option'
AdeviceCapabilities
Bdevice_capabilities
CdeviceCapabilities.toString()
Ddevice_capabilities.toString()
Attempts:
3 left
💡 Hint
Common Mistakes
Using camelCase variable names or calling toString() in Python.
4fill in blank
hard

Fill both blanks to filter devices with screen width greater than 720 and OS version 'Android'.

Testing Fundamentals
filtered_devices = [d for d in devices if d.[1] [2] 720 and d.os == 'Android']
Drag options to blanks, or click blank then click option'
Ascreen_width
B>
C<
Dscreen_height
Attempts:
3 left
💡 Hint
Common Mistakes
Using screen_height or less than operator which filters wrong devices.
5fill in blank
hard

Fill all three blanks to create a test report dictionary with device name, OS, and status.

Testing Fundamentals
test_report = { [1]: device.name, [2]: device.os, [3]: 'Passed' }
Drag options to blanks, or click blank then click option'
A'device_name'
B'os_version'
C'test_status'
D'device_id'
Attempts:
3 left
💡 Hint
Common Mistakes
Using unclear or unrelated keys like 'device_id'.

Practice

(1/5)
1. What does device fragmentation mean in software testing?
easy
A. All devices run the software exactly the same way
B. There are many different devices and OS versions to test on
C. Testing is done only on one device type
D. Testing is only done on simulators, not real devices

Solution

  1. Step 1: Understand device fragmentation concept

    Device fragmentation means there are many different devices and operating system versions in use.
  2. Step 2: Match the meaning to options

    There are many different devices and OS versions to test on correctly describes this as many devices and OS versions to test on, making testing harder.
  3. Final Answer:

    There are many different devices and OS versions to test on -> Option B
  4. Quick Check:

    Device fragmentation = many devices and OS versions [OK]
Hint: Device fragmentation means many device types exist [OK]
Common Mistakes:
  • Thinking fragmentation means testing on only one device
  • Assuming all devices behave the same
  • Confusing simulators with real device variety
2. Which of the following is the correct way to handle device fragmentation during testing?
easy
A. Ignore OS versions and test only on one device brand
B. Test only on the newest device model
C. Use a mix of real devices and simulators covering popular OS versions
D. Test only on simulators without real devices

Solution

  1. Step 1: Identify best practice for device fragmentation

    Testing on a mix of real devices and simulators covering popular OS versions helps catch issues across many device types.
  2. Step 2: Compare options to best practice

    Use a mix of real devices and simulators covering popular OS versions matches this approach, while others ignore variety or real devices.
  3. Final Answer:

    Use a mix of real devices and simulators covering popular OS versions -> Option C
  4. Quick Check:

    Best practice = mix real devices + simulators [OK]
Hint: Use both real devices and simulators for broad coverage [OK]
Common Mistakes:
  • Testing only on newest devices misses older versions
  • Ignoring OS versions reduces test coverage
  • Relying solely on simulators misses real device issues
3. Consider this test plan snippet:
devices = ['iPhone 12', 'Samsung S21', 'Pixel 6']
results = []
for device in devices:
    if device == 'iPhone 12':
        results.append('Pass')
    else:
        results.append('Fail')
print(results)

What will be the output?
medium
A. ['Pass', 'Fail', 'Fail']
B. ['Pass', 'Pass', 'Pass']
C. ['Fail', 'Fail', 'Fail']
D. ['Fail', 'Pass', 'Fail']

Solution

  1. Step 1: Analyze the loop and condition

    The loop checks each device; if it is 'iPhone 12', append 'Pass', else 'Fail'.
  2. Step 2: Evaluate each device

    'iPhone 12' -> 'Pass', 'Samsung S21' -> 'Fail', 'Pixel 6' -> 'Fail'. So results = ['Pass', 'Fail', 'Fail'].
  3. Final Answer:

    ['Pass', 'Fail', 'Fail'] -> Option A
  4. Quick Check:

    Only iPhone 12 passes, others fail [OK]
Hint: Check condition for each device in the list [OK]
Common Mistakes:
  • Assuming all devices pass
  • Mixing up Pass and Fail logic
  • Ignoring the else condition
4. A tester wrote this code to test multiple devices:
devices = ['iPhone 11', 'Galaxy S20', 'Pixel 5']
for i in range(len(devices)):
    print(devices[i+1])

What error will occur when running this code?
medium
A. IndexError: list index out of range
B. SyntaxError: invalid syntax
C. TypeError: unsupported operand type(s)
D. No error, prints all devices

Solution

  1. Step 1: Understand the loop and indexing

    The loop runs from i=0 to i=2 (length 3). The code tries to access devices[i+1].
  2. Step 2: Identify when index goes out of range

    When i=2, devices[3] is accessed, which is out of range, causing IndexError.
  3. Final Answer:

    IndexError: list index out of range -> Option A
  4. Quick Check:

    Accessing devices[i+1] at last index causes IndexError [OK]
Hint: Check index +1 against list length to avoid errors [OK]
Common Mistakes:
  • Thinking code runs without error
  • Confusing IndexError with SyntaxError
  • Ignoring loop range and indexing
5. You must design a test strategy to handle device fragmentation for an app supporting Android and iOS. Which approach best balances coverage and resources?
hard
A. Test only on the latest Android and iOS devices
B. Test only on simulators for both Android and iOS
C. Test on every device model available in the market
D. Test on popular devices from both OS families plus simulators for older versions

Solution

  1. Step 1: Understand resource constraints and coverage needs

    Testing every device is impossible; testing only latest devices misses many users.
  2. Step 2: Choose balanced approach

    Test on popular devices from both OS families plus simulators for older versions tests popular devices plus simulators for older OS versions, balancing coverage and resources effectively.
  3. Final Answer:

    Test on popular devices from both OS families plus simulators for older versions -> Option D
  4. Quick Check:

    Balanced test strategy = popular devices + simulators [OK]
Hint: Cover popular devices and OS versions, not all [OK]
Common Mistakes:
  • Trying to test every device wastes resources
  • Testing only newest devices misses many users
  • Relying solely on simulators misses real device issues
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard