Bird
Raised Fist0
Testing Fundamentalstesting~20 mins

Data validation rules in Testing Fundamentals - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Data Validation Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Understanding Data Validation Purpose

Why is data validation important in software testing?

ATo check that input data meets required formats and rules before processing
BTo ensure the software accepts all types of data without restrictions
CTo speed up the software by skipping input checks
DTo allow users to enter any data to test software flexibility
Attempts:
2 left
💡 Hint

Think about what happens if wrong data is processed by software.

❓ Predict Output
intermediate
2:00remaining
Output of Validation Function

What is the output of this Python validation function when input is 'abc123'?

Testing Fundamentals
def is_alphanumeric(s):
    return s.isalnum()

result = is_alphanumeric('abc123')
print(result)
ANone
BFalse
CTrue
DSyntaxError
Attempts:
2 left
💡 Hint

Check what isalnum() returns for letters and numbers combined.

❓ assertion
advanced
2:00remaining
Correct Assertion for Email Validation

Which assertion correctly tests that the email validation function rejects an invalid email?

Testing Fundamentals
def validate_email(email):
    import re
    pattern = r'^[\w\.-]+@[\w\.-]+\.\w+$'
    return bool(re.match(pattern, email))
Aassert validate_email('user@domain') == True
Bassert validate_email('user@domain') == False
Cassert validate_email('user@domain.com') == False
Dassert validate_email('userdomain.com') == True
Attempts:
2 left
💡 Hint

Consider if 'user@domain' is a valid email format.

🔧 Debug
advanced
2:00remaining
Find the Bug in Validation Code

What error will this JavaScript code produce when validating a number input?

Testing Fundamentals
function validateNumber(input) {
  if (typeof input === 'number' && input > 0) {
    return true;
  } else {
    return false;
  }
}

console.log(validateNumber('5'));
AReturns false
BReturns true
CThrows TypeError
DReturns undefined
Attempts:
2 left
💡 Hint

Check the type of the input '5' (string) compared to number.

❓ framework
expert
2:00remaining
Choosing Best Locator for Validation Error Message

In automated UI testing, which locator is best to find a validation error message that appears below an input field with id 'username'?

ABy.id('username')
BBy.tagName('span')
CBy.className('error')
DBy.xpath("//input[@id='username']/following-sibling::span[@class='error']")
Attempts:
2 left
💡 Hint

Think about locating the error message specifically related to the username input.

Practice

(1/5)
1. What is the main purpose of data validation rules in software testing?
easy
A. To check if input data is correct and useful
B. To improve the speed of the software
C. To change the data format automatically
D. To delete old data from the system

Solution

  1. Step 1: Understand the role of data validation

    Data validation rules are designed to check input data for correctness and usefulness before processing.
  2. Step 2: Compare options with the definition

    Only To check if input data is correct and useful correctly states this purpose; others describe unrelated tasks.
  3. Final Answer:

    To check if input data is correct and useful -> Option A
  4. Quick Check:

    Data validation = Check correctness [OK]
Hint: Validation means checking data correctness early [OK]
Common Mistakes:
  • Confusing validation with data transformation
  • Thinking validation improves software speed
  • Assuming validation deletes data
2. Which of the following is a correct example of a data validation rule for an email field?
easy
A. The field must contain only numbers
B. The field must not be empty and must contain '@' symbol
C. The field must be exactly 5 characters long
D. The field must be left blank

Solution

  1. Step 1: Identify common email validation rules

    Email fields require non-empty input and must include '@' to be valid.
  2. Step 2: Evaluate each option

    The field must not be empty and must contain '@' symbol matches these rules; A, B, and D do not fit email validation.
  3. Final Answer:

    The field must not be empty and must contain '@' symbol -> Option B
  4. Quick Check:

    Email validation = Non-empty + '@' [OK]
Hint: Emails always need '@' and something before/after [OK]
Common Mistakes:
  • Checking length without '@' for emails
  • Allowing empty email fields
  • Restricting emails to numbers only
3. Consider this validation rule in a test script:
assert age >= 18 and age <= 65

What will happen if age = 70 during test execution?
medium
A. Test will ignore the age value
B. Test will pass because 70 is a valid age
C. Test will raise a syntax error
D. Test will fail because 70 is outside the valid range

Solution

  1. Step 1: Understand the validation condition

    The rule requires age to be between 18 and 65 inclusive.
  2. Step 2: Check the given age value

    Age 70 is greater than 65, so the condition fails and assertion fails.
  3. Final Answer:

    Test will fail because 70 is outside the valid range -> Option D
  4. Quick Check:

    Age 70 > 65 = Fail [OK]
Hint: Check if value fits the range in assertion [OK]
Common Mistakes:
  • Assuming test passes if value is above max
  • Confusing syntax error with assertion failure
  • Ignoring assertion conditions
4. A tester wrote this validation rule:
assert len(username) > 0 and len(username) < 15

What is the problem with this rule if the username length is exactly 15?
medium
A. The test will fail because 15 is not less than 15
B. The test will pass because 15 is allowed
C. The test will cause a runtime error
D. The test will ignore the username length

Solution

  1. Step 1: Analyze the length condition

    The rule requires username length to be greater than 0 and less than 15.
  2. Step 2: Check the boundary value 15

    Length 15 is not less than 15, so assertion fails.
  3. Final Answer:

    The test will fail because 15 is not less than 15 -> Option A
  4. Quick Check:

    Length 15 < 15? No = Fail [OK]
Hint: Check if boundary values are included or excluded [OK]
Common Mistakes:
  • Assuming less than includes the number itself
  • Ignoring boundary conditions
  • Thinking test causes error instead of fail
5. You need to validate a form field that accepts only positive integers less than 1000 and not empty. Which combined validation rule is correct?
hard
A. assert value.isalpha() and int(value) > 0
B. assert value != '' and int(value) >= 1000
C. assert value.isdigit() and 0 < int(value) < 1000
D. assert value == '' or int(value) < 0

Solution

  1. Step 1: Understand the requirements

    Value must be non-empty, only digits, positive, and less than 1000.
  2. Step 2: Evaluate each option

    assert value.isdigit() and 0 < int(value) < 1000 checks digits only, converts to int, and tests range correctly. Others fail one or more conditions.
  3. Final Answer:

    assert value.isdigit() and 0 < int(value) < 1000 -> Option C
  4. Quick Check:

    Digits + positive + <1000 = assert value.isdigit() and 0 < int(value) < 1000 [OK]
Hint: Check digits, non-empty, and range in one assertion [OK]
Common Mistakes:
  • Using isalpha() instead of isdigit()
  • Allowing empty strings
  • Checking wrong numeric ranges
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