Software Testing Chapter 6

TriumphantChicago avatar
TriumphantChicago
·
·
Download

Start Quiz

Study Flashcards

25 Questions

What is the purpose of software testing?

To ensure software quality

Exhaustive testing is possible for all software.

False

According to IEEE standard 1059, how is software testing defined?

a process of checking a software to detect the differences between existing and required conditions and to evaluate the features of the software

Testing should begin at the component (Unit) level and works ________ toward the integration of the entire system.

outward

Match the following software testing types:

Static Testing = Technical Reviews Dynamic Testing = Manual and Automation Testing Black Box Testing = Manual Testing White Box Testing = Automation Testing

What was the consequence of the software failure in the China Airlines Airbus A300 (1994) incident?

260 people died

Software testing is only important for critical systems.

False

What is one of the potential consequences of software bugs?

Loss of human lives

In 2005, _______________ recalled 1 million cars due to software failure.

Toyota Motor Corporation

Match the following software failures with their respective consequences:

China Airlines Airbus A300 (1994) = 260 people died, millions of dollars were lost SystemOne (2016) = Many patients suffered from heart attacks and side effects Toyota Motor Corporation (2005) = 36 people died, over 1 million cars were recalled Nissan Automobile Company (2010) = 3 million cars were recalled, company's stock price decreased by 27%

Why is software testing important?

Because software bugs could be expensive or even dangerous

What is the primary difference between static and dynamic testing?

Static testing checks code without execution while dynamic testing checks code with execution

Black box testing is a type of dynamic testing.

True

What are the two primary forms of dynamic testing?

Manual and automated

The primary goal of testing is to ensure _______________ quality.

product

Match the following types of testing with their descriptions:

White Box Testing = Involves testing the internal workings of the code Walkthrough = A type of formal review Black Box Testing = Involves testing the software without knowing the internal workings of the code

Static testing can be performed at any stage of the SDLC.

True

What is the main goal of software testing?

To detect as many errors as possible

Testing is only necessary at the end of the software development cycle.

False

What is the benefit of conducting technical reviews during software testing?

Many errors will be eliminated before testing begins.

Testing is a method to check whether the actual software product matches expected ________.

requirements

When testing software, what are you trying to do?

Demonstrate that the software meets its requirements and find errors

All tests should be planned before testing begins.

True

What is the fourth principle of software testing?

Testing is context-dependent.

Match the following purposes of software testing with their descriptions:

To detect as many errors as possible = Purpose 1 To ensure that the software meets the agreed requirements = Purpose 2 To ensure that the software works as expected = Purpose 3 To bring the software to an acceptable level of quality = Purpose 4

Study Notes

Software Testing

  • A crucial stage in software engineering that ensures the quality of software and produces reliable products.
  • According to IEEE standard 1059, software testing is a process of checking software to detect differences between existing and required conditions and to evaluate the software's features.

Purpose of Testing

  • To detect as many errors as possible.
  • To ensure that the software meets the agreed requirements.
  • To ensure that the software works as expected.
  • To bring the software to an acceptable level of quality.

Principles of Testing

  • Exhaustive testing is not possible.
  • Testing shows the presence of errors, not their absence.
  • Start testing as early as possible.
  • Testing is context-dependent.
  • All tests should be planned before.

Importance of Testing

  • Software bugs can cause significant consequences, including customer dissatisfaction, loss of financial assets, permanent injuries, mission failure, and even loss of human lives.
  • Examples of software bugs' consequences include:
    • 260 people died, and millions of dollars were lost in the China Airlines Airbus A300 crash (1994).
    • Many patients suffered from heart attacks, and others suffered from side effects due to SystemOne software failure (2016).
    • 36 people died, and over 1 million cars were recalled, causing the company's stock price to decrease by 20% in the Toyota Motor Corporation case (2005).
    • 3 million cars were recalled, and the company's stock price decreased by 27% in the Nissan Automobile Company case (2010).

Types of Testing

  • Static Testing:
    • Technical Reviews
    • Inspection
    • Walkthrough
    • Formal Reviews
    • Informal Reviews
  • Dynamic Testing:
    • Manual Testing
    • Automation Testing
    • Black Box Testing
    • White Box Testing
    • Non-Functional Testing
    • Functional Testing

Benefits of Testing

  • Cost Effective
  • Ensures Product Quality
  • Ensures Customer Satisfaction
  • Safety

Importance of Software Testing

  • Software testing is crucial for the success of software as it contributes to the quality of software and production of more reliable products.
  • Testing ensures that the software meets its requirements and detects differences between existing and required conditions.

What is Software Testing?

  • Software testing is a process of checking a software to detect differences between existing and required conditions and to evaluate the features of the software.
  • It involves demonstrating that the software meets its requirements and finding inputs or input sequences where the behavior of the software is incorrect or does not conform to its specification.

Purposes of Testing

  • To detect as many errors as possible.
  • To ensure that the software meets the agreed requirements.
  • To ensure that the software works as expected.
  • To bring the software to an acceptable level of quality.

Principles of Testing

  • Exhaustive testing is not possible.
  • Testing shows the presence of errors, not their absence.
  • Start testing as early as you can.
  • Testing is context-dependent.
  • All tests should be planned before.

Types of Testing

  • Static Testing:
    • Includes technical reviews, inspections, walkthroughs, and formal and informal reviews.
    • Focuses on reviewing documents and code without executing the software.
  • Dynamic Testing:
    • Includes manual and automated testing.
    • Focuses on executing the software to test its behavior.

Dynamic Testing Methods

  • Black Box Testing: testing without knowledge of the internal workings of the software.
  • White Box Testing: testing with knowledge of the internal workings of the software.
  • Non-Functional Testing: testing of non-functional requirements such as performance and security.

Benefits of Testing

  • Cost-effective: detects errors early, reducing costs.
  • Ensures safety: prevents software bugs that can cause harm or loss of life.
  • Improves product quality: ensures software meets requirements and works as expected.
  • Increases customer satisfaction: provides reliable and efficient software.

Learn about the importance of software testing in software engineering and its contribution to producing reliable products.

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free
Use Quizgecko on...
Browser
Browser