Software Testing Flashcards

1
Q

Verification & Validation

A

Verification:
It focuses on checking if the software is built correctly according to the specified requirements.
Often involves static testing techniques like reviews, inspections, and static analysis.
Asks the question, “Are we building the product right?”
Validation:
It focuses on checking if the software meets the user’s needs and fulfills its intended purpose.
Often involves dynamic testing techniques like user acceptance testing, demonstrations, and beta testing.
Asks the question, “Are we building the right product?”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Inspections

A

Definition: A more formal and structured review process with a defined 5-step procedure.
Steps:
Overview: The author presents the document.
Preparation: Participants study the document and use checklists of common fault types.
Inspection: A reader guides the team through the document, meticulously finding faults.
Rework: The author corrects the identified faults.
Follow-up: The moderator ensures all issues are resolved and no new faults were introduced.
Team: 4 members, including:
Moderator (manager and leader)
Designer
Implementer
Tester (preferably from SQA)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Walkthroughs

A

Definition: A less formal review process where a team examines a software artifact to identify defects and clarify misunderstandings.
Team: 4-6 experienced senior staff members, including representatives from:
Specifications team
Analysis team
Client
Design team (next workflow)
SQA group (chairs the walkthrough)
Preparation: Reviewers study the material beforehand, creating lists of items they don’t understand or believe are incorrect.
Focus: Detecting faults, not correcting them.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Inspection vs Walkthroughs

A

Formality: Inspections are more formal and structured with a 5-step process.
Checklist: Inspections often use checklists of common fault types to aid detection.
Documentation: Inspections require more thorough documentation and reporting.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Metrics for Inspections

A

Inspection Rate: Pages or lines of code inspected per hour.
Fault Density: Faults per page or per 1000 lines of code (KLOC).
Fault Detection Rate: Number of faults detected per hour.
Fault Detection Efficiency: Number of faults detected per person per hour.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Execution-Based Testing vs Non-Execution-Based Testing

A
  1. Execution-Based Testing:
    This involves actually running the software code and observing its behavior.
    It’s primarily used for functional testing, as you need to execute the code to see if features work as intended.
    Examples: All the examples under “Functional Testing” above (unit, integration, system, acceptance testing) would fall under this category.
  2. Non-Execution-Based Testing:
    This doesn’t involve running the code. It focuses on reviewing and analyzing the software artifacts without executing them.
    It’s primarily used for non-functional testing and also for catching potential issues early in development.
    Examples:
    Reviews and Inspections: Analyzing requirements documents, design documents, and code for defects, inconsistencies, or deviations from standards.
    Static Analysis: Using tools to automatically scan code for potential vulnerabilities, performance bottlenecks, or coding standard violations.
    Walkthroughs: Guided review sessions where team members discuss and evaluate software artifacts.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly