Testing is the process of checking if a software program works correctly by running it with different inputs and conditions to find errors or bugs.
Click to reveal answer
beginner
Define quality assurance (QA) in simple terms.
Quality assurance is a set of activities that ensure the software meets certain standards and works well before it is released to users.
Click to reveal answer
intermediate
What is the difference between manual testing and automated testing?
Manual testing is when a person tests the software by hand, while automated testing uses special programs to test the software automatically.
Click to reveal answer
intermediate
Why is early testing important in software development?
Early testing helps find and fix problems sooner, which saves time and money and improves the final software quality.
Click to reveal answer
beginner
What is a bug report?
A bug report is a document or message that describes a problem found in the software, including how to reproduce it and why it is a problem.
Click to reveal answer
Which of the following best describes quality assurance?
AFinding and fixing bugs after software release
BEnsuring software meets standards before release
CWriting code for new features
DDesigning the user interface
✗ Incorrect
Quality assurance focuses on processes and activities to ensure software quality before it is released.
What is the main advantage of automated testing over manual testing?
AIt replaces the need for developers
BIt requires no programming skills
CIt finds all bugs automatically
DIt can run tests faster and repeatedly without human effort
✗ Incorrect
Automated testing runs tests quickly and repeatedly, saving time and reducing human error.
When should testing ideally start in the software development process?
AAs early as possible during development
BOnly after users report problems
CAfter the software is fully completed
DTesting is not necessary
✗ Incorrect
Early testing helps catch issues sooner, making fixes easier and cheaper.
What is a bug in software?
AA feature request
BA user manual
CA mistake or error in the software
DA software update
✗ Incorrect
A bug is an error or flaw in software that causes it to behave unexpectedly.
Which activity is NOT part of quality assurance?
AMarketing the software
BWriting test plans
CProcess improvement
DCode reviews
✗ Incorrect
Marketing is unrelated to quality assurance activities.
Explain in your own words why testing is important in software development.
Think about what happens if software is released without testing.
You got /4 concepts.
Describe the difference between manual and automated testing with a real-life example.
Imagine checking a list of tasks yourself versus using a machine to check them.
You got /3 concepts.
Practice
(1/5)
1. What is the main purpose of testing in software development?
easy
A. To check if the software works as expected
B. To design the user interface
C. To write the software code
D. To deploy the software to users
Solution
Step 1: Understand the role of testing
Testing is done to verify that software behaves correctly and meets requirements.
Step 2: Compare options with testing purpose
Only To check if the software works as expected describes checking software functionality, which matches testing's main goal.
Final Answer:
To check if the software works as expected -> Option A
Quick Check:
Testing = Check software works [OK]
Hint: Testing means checking software behavior matches expectations [OK]
Common Mistakes:
Confusing testing with coding
Thinking testing is deployment
Mixing testing with design tasks
2. Which of the following is the correct syntax to write a test case name in many testing frameworks?
easy
A. test_function
B. TestFunction
C. testFunction()
D. functionTest
Solution
Step 1: Identify common test naming conventions
Many testing frameworks use lowercase with underscores for test case names, like test_function.
Step 2: Compare options with naming style
test_function matches the common snake_case style used in tests, while others do not follow typical test naming.
Final Answer:
test_function -> Option A
Quick Check:
Test case names often use snake_case [OK]
Hint: Test names usually use lowercase with underscores [OK]
Common Mistakes:
Using camelCase or PascalCase for test names
Omitting 'test' prefix in test names
Confusing function names with test names
3. Consider this pseudocode for a test checking if a number is positive:
function testIsPositive() {
input = -5
result = isPositive(input)
assert(result == false)
}
What will the test result be if isPositive returns true for negative numbers by mistake?
medium
A. Test passes successfully
B. Test is skipped automatically
C. Test causes a runtime error
D. Test fails because assertion is false
Solution
Step 1: Understand the test logic
The test expects isPositive(-5) to return false. The assertion checks if result equals false.
Step 2: Analyze the wrong function behavior
If isPositive wrongly returns true for -5, the assertion result == false fails.
Final Answer:
Test fails because assertion is false -> Option D
Quick Check:
Wrong output causes assertion failure [OK]
Hint: If output differs from expected, assertion fails [OK]
Common Mistakes:
Assuming test passes despite wrong output
Confusing assertion failure with runtime error
Thinking test skips on failure
4. A developer wrote this test code:
def test_divide():
result = divide(10, 0)
assert(result == 0)
What is the main problem with this test?
medium
A. It has a syntax error in assert
B. It uses wrong variable names
C. It does not check for division by zero error
D. It tests the wrong function
Solution
Step 1: Understand division by zero behavior
Dividing by zero usually causes an error or exception, not a result of zero.
Step 2: Analyze the test assertion
The test expects result to be zero, but it should check if an error is raised instead.
Final Answer:
It does not check for division by zero error -> Option C
Quick Check:
Division by zero needs error handling test [OK]
Hint: Division by zero should raise error, not return zero [OK]
Common Mistakes:
Assuming divide returns zero on zero divisor
Ignoring exception handling in tests
Confusing syntax errors with logic errors
5. A software team wants to improve overall quality by combining testing with good development practices. Which approach best describes quality assurance?
hard
A. Only running automated tests before release
B. Using testing plus code reviews, documentation, and process checks
C. Writing code without any tests to save time
D. Ignoring user feedback after software release
Solution
Step 1: Define quality assurance scope
Quality assurance (QA) includes testing and also good practices like code reviews, documentation, and process improvements.
Step 2: Evaluate options against QA definition
Using testing plus code reviews, documentation, and process checks covers testing plus other practices, matching QA's broad approach. Others focus only on testing or ignore quality.
Final Answer:
Using testing plus code reviews, documentation, and process checks -> Option B
Quick Check:
QA = Testing + good practices [OK]
Hint: QA means testing plus good development practices [OK]
Common Mistakes:
Thinking QA is only testing
Skipping documentation and reviews
Ignoring user feedback importance
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.