Challenge - 5 Problems
Testing Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this Swift code with a failing test?
Consider this Swift code that tests a function. What will be printed when running this test?
Swift
func add(_ a: Int, _ b: Int) -> Int { return a + b } func testAdd() { let result = add(2, 3) if result == 6 { print("Test passed") } else { print("Test failed") } } testAdd()
Attempts:
2 left
💡 Hint
Check what the add function returns and what the test expects.
✗ Incorrect
The add function returns 5 for inputs 2 and 3, but the test expects 6, so it prints 'Test failed'.
🧠 Conceptual
intermediate1:30remaining
Why is testing important in software development?
Choose the best reason why testing is important.
Attempts:
2 left
💡 Hint
Think about how testing affects software quality.
✗ Incorrect
Testing helps catch errors early, improving software quality and user experience.
🔧 Debug
advanced2:00remaining
What error does this Swift test code produce?
Look at this Swift code snippet. What error will it cause when run?
Swift
func divide(_ a: Int, _ b: Int) -> Int { return a / b } func testDivide() { let result = divide(10, 0) print("Result is \(result)") } testDivide()
Attempts:
2 left
💡 Hint
What happens if you divide by zero in Swift?
✗ Incorrect
Dividing by zero causes a runtime crash in Swift.
🚀 Application
advanced1:30remaining
How many tests are needed to cover all cases for this function?
Given this Swift function, how many tests do you need to cover all possible outputs?
Swift
func checkNumber(_ n: Int) -> String { if n < 0 { return "Negative" } else if n == 0 { return "Zero" } else { return "Positive" } }
Attempts:
2 left
💡 Hint
Think about the different conditions in the function.
✗ Incorrect
There are three possible outputs: Negative, Zero, and Positive, so three tests are needed.
❓ Predict Output
expert2:00remaining
What is the output of this Swift code using a test with assertion?
What will this Swift code print when run?
Swift
func multiply(_ a: Int, _ b: Int) -> Int { return a * b } func testMultiply() { assert(multiply(3, 4) == 12, "Test failed: 3*4 should be 12") print("Test passed") } testMultiply()
Attempts:
2 left
💡 Hint
Check if the assertion condition is true.
✗ Incorrect
The assertion passes because 3*4 equals 12, so 'Test passed' is printed.