Chp1 - Intro to Software Testing Flashcards

(24 cards)

1
Q

What is the formal definition of Software Testing provided in the slides?

A

A systematic process to evaluate and improve software reliability, performance, and compliance by identifying defects before deployment

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

What is the reality from the Myth : Testing only involves running the software?

A

It also includes planning, design, review, and evaluation

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

What is the reality from the Myth : Testing guarantees defect-free software?

A

It reduces risks but cannot prove the absence of defects

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

Distinguish between Dynamic Testing and Static Testing.

A
  1. Dynamic Testing involves executing the software to validate functionality.
  2. Static Testing involves reviewing code and documents without execution to detect issues early
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Explain the difference between Verification and Validation.

A
  1. Verification ensures the product is built correctly according to specifications.
  2. Validation confirms the product meets user needs and intended use
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What does testing ensures?

A

Ensures software quality by identifying defects before deployment

It prevents failures in critical applications (banking systems, healthcare)

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

List the 4 typical objectives of testing mentioned in the slides (Prevent, Build, Ensure, Provide

A
  1. Prevent defects by identify issues in requirements, design or implementation.
  2. Build confidence in quality for stakeholders.
  3. Ensure compliance (contractual/legal).
  4. Provide actionable insights for decision-making
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the focuses on Testing and Debugging?

A
  1. Testing: Focuses on identifying defects and evaluating quality.
  2. Debugging: Involves fixing identified defects.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

List out why testing is necessary? ( 3 )

A
  1. Reduces the risk of operational failures and associated costs
  2. Ensure software meets functional and performance standards
  3. Demonstrates compliance with industry standards and regulations
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

List out 3 benefits of Software Testing

A
  1. Early defect detection reduces cost and time for corrections
  2. Improves collaboration between teams by aligning understanding of requirements
  3. Enhances software reliability and customer satisfaction through validation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is the difference between Quality Assurance (QA) and Testing?

A
  1. QA ensures processes are correctly implemented to prevent defects.
  2. Testing focuses on detecting and addressing defects in the product
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Define the relationship between Error, Defect, and Failure.

A
  1. Error: A human mistake during design or coding.
  2. Defect: A flaw in the software resulting from an error.
  3. Failure: The manifestation of a defect when the software doesn’t perform as expected
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

List out 3 root causes of defects

A
  1. Miscommunication, complexity, and time pressure
  2. Environment factors such as hardware issues
  3. Identifying root causes prevent recurrence of similar defects
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

List out 1 - 3 Testing Principles

A
  1. Testing shows the presence of defects, not their absence
  2. Exhautive testing is impossible except for trivial cases
  3. Early testing saves time and money by detecting degects early in the lifecycle
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

List out 4 - 7 Testing Principles

A
  1. Defects cluster together in specific areas
  2. Testing is context-dependent and must adapt to the project
  3. The pesticide paradox: Repeated testing reduces effectiveness unless updated
  4. The absence of errors fallacy: A defect-free product may still fail to meet user needs
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the 4 Levels of Testing?

A
  1. Unit Testing
  2. Integration Testing
  3. System Testing
  4. Acceptance Testing
17
Q

List out 2 types of Testing

A
  1. Functional Testing ( Validates specific functions based on requirements )
  2. Non-Functional Testing ( Evaluates performance, usability, scalability, etc )
18
Q

List out 2 types of Static Testing Techniques

A
  1. Reviews: Peer Reviews, Walkthroughs to Identify Issues Early
  2. Static Analysis: Tool-based checks for compliance and standards
19
Q

List out 2 Dynamic Testing Techniques

A
  1. Functional Testing: Ensures the software behaves as expected
  2. Strutural Testing: Evaluates the internal workings of the software
20
Q

What are the 3 key activities in Test Planning and Design?

A
  1. Define scope, objectives, and strategies tailored to the project.
  2. Design comprehensive test cases and scenarios based on requirements.
  3. Ensure alignment of testing activities with project goals.
21
Q

What are the 3 key activities involved in Test Execution and Reporting?

A
  1. Execute tests systematically, recording results and defects.
  2. Provide clear and actionable reports on findings.
  3. Facilitate informed decision-making by stakeholders.
22
Q

What are the 3 key activities involved in Risk-Based Testing?

A
  1. Focus on high-risk areas to maximize efficiency.
  2. Use risk analysis to guide testing priorities.
  3. Ensures critical functionalities are thoroughly tested.
23
Q

What are the 3 key activities involved in Test Automation?

A
  1. Benefits: Increases speed and consistency, reduces manual effort.
  2. Challenges: Requires significant setup and maintenance efforts.
  3. Identify suitable scenarios for automation to optimize ROI.
24
Q

List out 3 future of Software Testing

A
  1. AI-driven testing for smarter defect detection.
  2. Enhanced test automation with low-code/no-code tools.
  3. Greater integration of testing in DevOps practices.