Bird
Raised Fist0
Testing Fundamentalstesting~5 mins

Static analysis tools in Testing Fundamentals - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What are static analysis tools in software testing?
Static analysis tools examine source code without running the program. They find errors, bugs, or style issues early, like a spell-checker for code.
Click to reveal answer
beginner
Name two common problems static analysis tools can detect.
They can detect syntax errors and potential security vulnerabilities before the code runs.
Click to reveal answer
intermediate
How is static analysis different from dynamic analysis?
Static analysis checks code without running it. Dynamic analysis tests the program while it runs to find runtime errors.
Click to reveal answer
beginner
Why is using static analysis tools early in development helpful?
Finding bugs early saves time and cost. Fixing problems before running the program prevents bigger issues later.
Click to reveal answer
beginner
Give an example of a popular static analysis tool.
Examples include SonarQube, ESLint for JavaScript, and Pylint for Python. They help keep code clean and error-free.
Click to reveal answer
What does a static analysis tool do?
ATests user interface responsiveness
BRuns the program to find errors
CManually reviews code by a tester
DChecks code without running it
Which problem can static analysis tools detect?
AMemory leaks during runtime
BSyntax errors
CUser experience issues
DNetwork latency
When is the best time to use static analysis tools?
ADuring user acceptance testing
BAfter the program crashes
CBefore running the program
DOnly after deployment
Which of these is NOT a static analysis tool?
AValgrind
BPylint
CSonarQube
DESLint
Static analysis tools help improve code by:
AFinding bugs early
BMeasuring user satisfaction
CTesting hardware compatibility
DMonitoring server uptime
Explain what static analysis tools do and why they are useful in software testing.
Think about checking your homework before submitting it.
You got /4 concepts.
    Compare static analysis and dynamic analysis in simple terms.
    One is like proofreading, the other like testing a car by driving it.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the main purpose of static analysis tools in software testing?
      easy
      A. To deploy the software to production
      B. To execute the program and check its output
      C. To test the user interface manually
      D. To find errors in code without running the program

      Solution

      1. Step 1: Understand static analysis tools

        Static analysis tools examine code by reading it, not by running it.
      2. Step 2: Compare options

        Only To find errors in code without running the program describes checking code without execution, which is the main purpose.
      3. Final Answer:

        To find errors in code without running the program -> Option D
      4. Quick Check:

        Static analysis = code check without run [OK]
      Hint: Static analysis checks code without running it [OK]
      Common Mistakes:
      • Confusing static analysis with dynamic testing
      • Thinking static analysis runs the program
      • Mixing up manual UI testing with static analysis
      2. Which of the following is a correct example of a static analysis tool?
      easy
      A. Selenium
      B. ESLint
      C. JUnit
      D. Postman

      Solution

      1. Step 1: Identify static analysis tools

        ESLint is a tool that checks JavaScript code for errors and style issues without running it.
      2. Step 2: Eliminate other options

        Selenium is for UI testing, JUnit is for unit testing (dynamic), Postman is for API testing.
      3. Final Answer:

        ESLint -> Option B
      4. Quick Check:

        ESLint = static analysis tool [OK]
      Hint: ESLint is a popular static analysis tool for JavaScript [OK]
      Common Mistakes:
      • Choosing Selenium which is for dynamic UI testing
      • Confusing JUnit with static analysis
      • Selecting Postman which tests APIs dynamically
      3. Consider this Python code snippet checked by a static analysis tool:
      def add(a, b):
          return a + b
      
      result = add(5, '3')

      What issue will the static analysis tool most likely report?
      medium
      A. Type mismatch: adding int and str
      B. Syntax error due to missing colon
      C. Unused variable 'result'
      D. No issues found

      Solution

      1. Step 1: Analyze the code for type errors

        The function adds two parameters. The call adds an integer 5 and a string '3', which is a type mismatch.
      2. Step 2: Understand static analysis detection

        Static analysis tools detect type mismatches like adding int and str without running the code.
      3. Final Answer:

        Type mismatch: adding int and str -> Option A
      4. Quick Check:

        Static analysis finds type errors like int + str [OK]
      Hint: Look for type mismatches in function calls [OK]
      Common Mistakes:
      • Thinking missing colon causes error (it is present)
      • Ignoring type mismatch between int and string
      • Assuming variable 'result' is unused error
      4. A static analysis tool reports a warning: "Unused variable 'temp'" in this code:
      def calculate(x):
          temp = x * 2
          return x + 1

      What is the best fix?
      medium
      A. Add a print statement for 'temp' to use it
      B. Rename 'temp' to 'result' to fix the warning
      C. Remove the variable 'temp' since it is not used
      D. Ignore the warning; it does not affect the code

      Solution

      1. Step 1: Understand the warning

        The variable 'temp' is assigned but never used, which wastes memory and may confuse readers.
      2. Step 2: Choose the best fix

        Removing 'temp' cleans the code and resolves the warning. Renaming or printing does not solve the root cause.
      3. Final Answer:

        Remove the variable 'temp' since it is not used -> Option C
      4. Quick Check:

        Unused variables should be removed [OK]
      Hint: Remove variables that are assigned but never used [OK]
      Common Mistakes:
      • Renaming variable without using it
      • Adding print statements unnecessarily
      • Ignoring warnings thinking they are harmless
      5. You want to use a static analysis tool to improve code quality before testing. Which approach is best?
      hard
      A. Integrate static analysis into the development process early
      B. Run static analysis only on production code
      C. Use static analysis only for UI code
      D. Run static analysis after all tests pass

      Solution

      1. Step 1: Understand when to use static analysis

        Static analysis is most effective when used early during development to catch errors before testing.
      2. Step 2: Evaluate options

        Integrate static analysis into the development process early suggests integrating static analysis early, which improves code quality and reduces bugs later.
      3. Final Answer:

        Integrate static analysis into the development process early -> Option A
      4. Quick Check:

        Early static analysis improves code quality [OK]
      Hint: Use static analysis early in development [OK]
      Common Mistakes:
      • Running static analysis only after tests
      • Limiting static analysis to production code
      • Applying static analysis only to UI code
      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