0% found this document useful (0 votes)
9 views28 pages

Static Testing and Test Design Techniques

Good

Uploaded by

b739422
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views28 pages

Static Testing and Test Design Techniques

Good

Uploaded by

b739422
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd

STATIC TESTING &

TEST DESIGN
TECHNIQUES

SOAD ALWERFALY
what is static testing?
- Definition: Evaluating work products without executing the code.
- Goal: Find defects early (requirements, design, code) to reduce
cost and risk.
- Techniques: Reviews, walkthroughs, inspections, static analysis
tools.
STATIC VS. DYNAMIC TESTING

- Static: Reviews, walkthroughs, inspections, static analysis


tools. No execution.
- Dynamic: Executes software to validate behavior (functional,
performance, etc.).
- Complementary: Static catches defects early; dynamic
validates runtime behavior.
What Can Be Tested Statically

- Requirements, user stories, acceptance criteria.


- Design models, architecture docs, interfaces.
- Source code, configuration, scripts.
- Test cases, checklists, procedures.
- Contracts, standards, regulatory docs.
static testing techniques
• Informal Reviews
• Formal Reviews
• Technical Reviews
• Walk Through
• Inspection Process
• Static Code Review
informal review
- What: Unstructured peer feedback (comments, chats, quick read-
throughs).
- Participants: Author + peers.- Outputs: Suggestions, notes (often
not formalized).
- Relation to Static Testing: Yes—non-execution review of artifacts;
lowest formality, quick feedback.
formal review
- What: Planned, documented reviews with agenda,
roles, and exit criteria.
- Participants: Moderator, author, reviewers.
- Outputs: meeting minutes, defect list, action items.
- Relation to Static Testing: Yes—structured static
technique that improves traceability and
accountability.
technical review
- What: Expert review of technical content (architecture, design,
algorithms, code).
- Participants: Technical peers(not necessarily managers).
- Outputs: Defect findings, technology improvement proposals.
- Relation to Static Testing: Yes—focuses on technical quality
without running the product.
walkthrough
- What: Author-led tour of the work product; reviewers ask
questions.
- Participants: Author (presents), peers/stakeholders (ask/learn).
- Outputs: Clarified understanding, list of issues or questions.
- Relation to Static Testing: Yes—educational and defect-finding; less
formal than inspections.
inspection
- What: Highly formal review with defined steps and checklists.
- Roles: Moderator, author, reader, recorder, reviewers.
- Steps: Planning → Preparation → Meeting → Rework → Follow-up.
- Outputs: Logged defects, metrics (e.g., defect density).
- Relation to Static Testing :Basic static technique with the highest
accuracy and measurable results.
Static Code Review
- What: Examining source code without executing it (manual or tool-
assisted).
- Focus: Bugs, security, coding standards, complexity,
maintainability.
- Relation to Static Testing: direct static analysis of code elements.
WHEN TO USE WHICH?

- Early drafts or quick checks: Informal Review, Walkthrough.


- Deep technical validation: Technical Review.
- Compliance/governance milestones: Formal Review,
Inspection.
- Continuous code quality: Static Code Review (PRs, pipelines).
Benefits

- Early detection reduces rework costs.


- Improves readability, maintainability, and security.
- Enforces coding and documentation standards.
- Enhances team knowledge sharing.
- Typical findings: Blind spots, inconsistencies, dead code, security smells.
Advantages Of Static Testing

• Since static testing can start early in the life cycle so early feedback
on quality issues can be established.
• As the defects are getting detected at an early stage so the rework
(Review and rewrite) cost most often relatively low.
Disadvantages Of Static Testing

• It is time consuming and is done manually.


• Does not find vulnerabilities introduced in runtime environment.
• Limited number of trained staff to conduct static code analysis.
DEFECTS THAT ARE EASIER TO FIND AND FIX IN STATIC TESTING

[Link] defects
[Link] defects
[Link] defects
[Link] from standards
[Link] interface specification
[Link] defects
[Link] vulnerabilities
WHAT ARE TEST DESIGN TECHNIQUES?
- Definition: Systematic methods to derive test
conditions, cases, and data
- Goals: Increase coverage, reduce duplication,
and focus on risk
- Categories: Black-box, White-box, Experience-
based
BLACK-BOX TECHNIQUES (OVERVIEW)
- Focus on inputs/outputs and
external behavior
- No knowledge of internal code
needed
- Useful at system and acceptance
levels
EQUIVALENCE PARTITIONING (EP)
- Idea: Split inputs into partitions where system
behaves the same
- Types: Valid and invalid partitions
- Benefits: Fewer test cases, broad coverage
- Example: Age field 18–60
- Valid: [18–60]
- Invalid: (<18), (>60)
BOUNDARY VALUE ANALYSIS (BVA)
- Idea: Set of defects at boundaries
- Test min, min±1, max±1, max
- Example: Age 18–60 → 17, 18, 60, 61
DECISION TABLES
- Idea: Model complex business rules as conditions vs actions
- Steps: List conditions, reduce impossible ones, assign
actions
- Example: Loan approval based on income, credit score, debt
ratio
STATE TRANSITION TESTING
- Idea: Validate behavior via states and events
- Model: States, transformations, events, protection
conditions
- Tests: Valid transitions, invalid transitions, boundary
transitions
- Example: Login: Logged out → (enter valid creds) →
Logged in
USE CASE / SCENARIO TESTING

- Idea: End-to-end user flows


- Cover: Main path + alternate/exception paths
- Good for acceptance and high-risk business
flows
WHITE-BOX TECHNIQUES (OVERVIEW)

- Focus on internal structure and logic


- Often applied at unit/integration levels
STATEMENT AND DECISION COVERAGE

- Statement coverage: Execute each statement at least


once
- Decision (branch) coverage: Execute each true/false
outcome
- Aim: Increase confidence and reveal dead
code/unreached branches
CONTROL FLOW AND PATH TESTING
- Build control
- flow graphs (CFG)
- Target independent paths, loops (0, 1, many), and
error handling Experience
Based Techniques (Overview)
- Leverage tester knowledge, product history, and
heuristics
ERROR GUESSING
- Use past defects, checklists, and “what usually breaks”
- Examples: Nulls, empty inputs, special characters, timeouts
Exploratory Testing
- Concurrent learning, test design, and execution
- Use charters, timeboxes, and note-taking
- Great for discovering unknown risks and UX
issues
CHECKLIST- AND HEURISTIC-BASED

- Use standard tours (CRUD, interruptions, boundaries)


- Domain checklists (payments, authentication,
localization)

You might also like