Software Testing Fundamentals

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson
Download our mobile app to listen on the go
Get App

Questions and Answers

Which of the following best defines 'software'?

  • Computer programs and associated documentation. (correct)
  • Any application that can be downloaded from the internet.
  • A set of instructions for a computer.
  • The physical components of a computer system.

Which type of documentation is primarily intended to assist end-users in understanding how to operate a software application?

  • Marketing Documentation
  • Developer Documentation
  • User Documentation (correct)
  • Technical Documentation

What is the primary goal of software testing?

  • To reduce the amount of time spent on software development.
  • To increase the marketing value of the software.
  • To make the software look more appealing to end users.
  • To verify that the software product is defect-free and meets specified requirements. (correct)

Why is software testing considered an important activity in the software development lifecycle?

<p>All of the above (D)</p> Signup and view all the answers

Which of the following is NOT a primary objective of software testing?

<p>Ensuring best performance of the development team. (B)</p> Signup and view all the answers

What is a common cause of bugs in software applications?

<p>All of the above (D)</p> Signup and view all the answers

Which of the following statements accurately describes a common misunderstanding about software testing?

<p>Both A and B (C)</p> Signup and view all the answers

In software testing, what defines a 'bug'?

<p>Any difference between the actual result and the expected result. (C)</p> Signup and view all the answers

Which of the following sequences correctly describes the relationship between 'Error', 'Fault' and 'Failure' in software?

<p>Error -&gt; Fault -&gt; Failure (A)</p> Signup and view all the answers

What does the term 'fault' generally refer to in software errors?

<p>State of software caused by an error. (C)</p> Signup and view all the answers

Consider a program that should return the square of an integer. If, for the input '3', the program returns '6', which type of error does this represent?

<p>Failure (A)</p> Signup and view all the answers

Based on the provided 'froggy.py' code and specification #1522, what will be the output if the user enters 'dragon'?

<p>'You did not enter the expected word' (B)</p> Signup and view all the answers

In the context of test cases and software testing, what is the significance of 'valid inputs'?

<p>They represent data that should be accepted and processed correctly by the system. (A)</p> Signup and view all the answers

During which status of the presented 'Bug Life Cycle' does a developer rectify the identified defect?

<p>Fixed (B)</p> Signup and view all the answers

Which statement is the most accurate regarding software that is said to be 'error-free'?

<p>Although testers aim for 100% error-free software, there may still be a probability that bugs will be missed. (A)</p> Signup and view all the answers

What category does 'Performance Testing' fall under? (Functional, Non-Functional, or Maintenance)

<p>Non-Functional Testing (C)</p> Signup and view all the answers

Which of the following tests a single module or component of the software?

<p>Unit Testing (B)</p> Signup and view all the answers

What does 'Integration Testing' primarily verify?

<p>The interactions between different modules or components are working correctly. (D)</p> Signup and view all the answers

What is the objective of 'System Testing'?

<p>To evaluate the end-to-end functionality of the entire system. (C)</p> Signup and view all the answers

Which of the following is a 'System Testing' type?

<p>Functionality Testing (C)</p> Signup and view all the answers

What is the main characteristic of 'Black Box Testing'?

<p>Doesn't require knowledge of the internal program design. (C)</p> Signup and view all the answers

In 'Black Box Testing', what is 'Equivalence Partitioning'?

<p>A technique that divides the input data into equivalent partitions to reduce the number of test cases. (B)</p> Signup and view all the answers

If a system accepts values between 1 and 100 (inclusive), and 'Boundary Value Analysis (BVA)' is used, which test cases should be included?

<p>Numbers slightly above and below the boundaries like 0, 1, 2, 99, 100, and 101. (B)</p> Signup and view all the answers

What is the main purpose of using a 'Decision Table' in Black Box testing?

<p>To test system behavior for different input combinations. (A)</p> Signup and view all the answers

Which testing technique is used in which outputs are triggered by changes to the input conditions?

<p>State Transition Testing. (A)</p> Signup and view all the answers

What is the focus of 'White Box Testing'?

<p>Testing based on analysis of the internal structure of the component or system. (C)</p> Signup and view all the answers

In white box testing, what does 'Statement Coverage' ensure?

<p>Every line of code is executed at least once. (B)</p> Signup and view all the answers

What is the purpose of 'Branch Coverage' in white box testing?

<p>Evaluating both 'TRUE' and 'FALSE' conditions for each decision. (D)</p> Signup and view all the answers

In white box testing, what does 'Path Coverage' aim to achieve?

<p>All of the above. (D)</p> Signup and view all the answers

Which of the following best describes a 'Test to pass(Happy scenario)' in test case objectives?

<p>Both A and B. (D)</p> Signup and view all the answers

What is the goal of 'Test to fail(Bad scenario)'?

<p>Designing test cases to appear the weaknesses in software. (D)</p> Signup and view all the answers

What is the primary purpose of the Software Development Life Cycle (SDLC)?

<p>To design and develop high-quality software in a structured manner. (B)</p> Signup and view all the answers

What is the Software Testing Life Cycle (STLC)?

<p>The series of activities carried out by Testers methodologically to test a software product. (D)</p> Signup and view all the answers

Which phase of the 'STLC Life Cycle' involves in defining the scope and objectives of testing?

<p>Test Planning (A)</p> Signup and view all the answers

In the V-Model, which testing level corresponds to the 'Requirement Analysis' phase?

<p>System Testing (A)</p> Signup and view all the answers

What is the relationship between High Level Design and Integration Testing in the V-model?

<p>Integration Testing validates the High Level Design. (C)</p> Signup and view all the answers

In the V-model, which phase precedes 'Unit Testing'?

<p>Low Level Design (B)</p> Signup and view all the answers

Flashcards

What comprises software?

Software includes computer programs plus associated documentation.

What is software testing?

Checks if the software matches expected requirements and is defect-free.

Why is Testing Important?

To ensure the software satisfies user needs and to avoid problems.

Objectives of Testing

Ensure requirements are met, define/prevent defects, and ensure high quality.

Signup and view all the flashcards

Why do bugs occur?

Miscommunication, time pressure, programming mistakes, and changing requirements.

Signup and view all the flashcards

Testing Misunderstandings-Coding Complete (FALSE)

Testing activities start only after the coding is complete.

Signup and view all the flashcards

What is a Bug?

Deviation of the actual result from the expected result.

Signup and view all the flashcards

Errors in Software (progression)

An error a human makes that causes a fault, leading to software failure.

Signup and view all the flashcards

Valid

Input for

Signup and view all the flashcards

Invalid

Input for which output does not match with the specification.

Signup and view all the flashcards

Bug Life Cycle

The sequence of steps to address a bug from discovery to resolution.

Signup and view all the flashcards

Software Free Error Aim

Aim to ensure 100% software reliability, but bugs can still be missed.

Signup and view all the flashcards

Types of SW Testing

Functional, Non-Functional, and Maintenance Testing.

Signup and view all the flashcards

Levels of Testing

Unit, Integration, System, and Acceptance testing.

Signup and view all the flashcards

Unit Testing

Tests individual components or modules of the software.

Signup and view all the flashcards

Integration Testing

Tests the interaction between software components.

Signup and view all the flashcards

System Testing

Tests the entire system as a whole, end to end.

Signup and view all the flashcards

Testing Methodology

Black box and white box testing approaches.

Signup and view all the flashcards

Black Box Testing

Testing without knowledge of internal program design.

Signup and view all the flashcards

Black Box Techniques

Equivalence Partitioning, Boundary Value Analysis, Decision Table Testing, State Transition Testing.

Signup and view all the flashcards

Equivalence Partitioning

range of data -> if VALUE is between 1 and 100 then print 'Pass

Signup and view all the flashcards

Boundary Value Analysis

Test around the boundaries of input values.

Signup and view all the flashcards

Decision Table

A tabular representation of inputs versus rules/cases/test conditions.

Signup and view all the flashcards

State Transition Testing

Outputs are triggered by changes to the input conditions, state transitions.

Signup and view all the flashcards

White Box Testing

Testing with knowledge of the internal program design and code.

Signup and view all the flashcards

White Box Techniques

Statement, branch, and path coverage.

Signup and view all the flashcards

Test Case Objectives

Need to test to have happy and bad flow.

Signup and view all the flashcards

Software Deployment Cycle

The software deployment cycle takes code from developer to tester to deployment.

Signup and view all the flashcards

SDLC

Software Development Life Cycle

Signup and view all the flashcards

STLC

Software Testing Life Cycle

Signup and view all the flashcards

STLC Steps

Requirement Analysis, Test Planning, Test Case Development, Test Environment Setup, Test Execution, Test Closure.

Signup and view all the flashcards

V Model

A development model linking each development stage to a testing stage.

Signup and view all the flashcards

Study Notes

Intro to Software Testing

  • Includes agenda items like what is software, what is software testing, why is testing important, what is a bug, types of errors, testing specifications, and types of software testing.
  • Discusses SDLC and STLC, and V models.

What is Software

  • Software is computer programs plus associated documentation.
  • Documentation types include user, technical, and marketing.

What is Software Testing

  • Software testing checks whether the software product aligns with expected requirements and is defect-free.

Why Testing is Important

  • Important for finding and correcting defects.
  • Checks if user's needs are satisfied.
  • Crucial for avoiding user-detected problems, and providing quality products.

Objectives of Testing

  • Ensure requirements match customer needs.
  • Define and prevent defects, provide quality assurance, and generate high-quality test cases

Why Software has Bugs

  • Bugs happen due to miscommunication, time pressure, programming mistakes, and changing requirements.

Common Misunderstandings in Software Testing:

  • Testing is not the same as debugging.
  • Testing is always necessary.
  • Testing activities should not start only after the coding is complete.
  • Testing never ends.
  • Testing is a creative task.

What is a Bug

  • A bug is a deviation of the actual result from the expected result.

Types of Errors

  • Error: Is a human action that produces an incorrect result that results in a fault.
  • Bug: Is the presence of error at the time of execution of the software.
  • Fault: State of software caused by an error.
  • Failure: Deviation of the software from its expected result, and is considered to be an event.

Testing specification

  • Test specification involves creating test cases based on code and specifications.
  • It ensures program meets requirements by testing various inputs such as a valid word, a null entry, or an unexpected word.

Test Cases

  • Valid inputs such as "cat" or "frog" are valid inputs, therefore "cat is a great animal" and "frog is a great animal" are both expected results.
  • A null input results in "You didn't type anything"
  • Invalid inputs such as "dragon" triggers output "You didn't enter the expected word".

Bug Life Cycle

  • A bug progresses through stages: New/Open, Assigned, Fixed, Re-test, and Close
  • Bugs can be Re-opened if not properly fixed, also, bug statuses may include Duplicate, Invalid, Deferred, and Not Reproducible.

Software Free Errors

  • Tester must ensure that 100% of the software work effectively and is error-free.
  • Bugs will be missed by testers, that testing cannot cover 100% of possibilities.

Types of Software Testing

  • Include Functional, Non-Functional, and Maintenance Testing

Types of Software Testing in Software Engineering

  • Functional Testing types: Unit, Integration, and UAT(User Accepted Testing)
  • Non-Functional Testing types: Performance, Usability, Scalability
  • Maintenance types: Regression, Maintenance

Level of Testing

  • Testing is conducted at different levels: Unit Testing, Integration Testing, System Testing, and Acceptance Testing

Unit testing example

  • Testing individual modules or components in isolation.

Integration testing example

  • Focuses on how different units interact with each other.

System Testing

  • Tests the entire system, ensuring different components work together.
  • System testing includes functionality, performance, scalability, reliability, configuration, and security.

Testing Methodologies

  • Black box testing: Doesn't require internal program design knowledge and tests are based on the requirements and functionality.
  • White box testing: Requires internal program design and code knowledge, and tests are based on code statements, branches, paths, conditions.

Black Box Testing

  • Applied for functional and non-functional testing, without reference to the internal structure of the system.
  • Focuses on requirements, input, output and events.

Black box testing techniques.

  • Equivalence partitioning: If a Value range is between 1 and 100 then print "Pass", invalid partitions would include -1,0 and 101,.
  • Boundary value analysis: If a Value is between 1 and 100 exclusive, then print "Pass", lower boundary is 1 and upper boundary is 100.
  • Decision table testing: Tests system behavior for input combinations.
  • State transition testing: Outputs are triggered by input condition changes.

White box testing techniques.

  • In Software Engineering, the goal is to verify code decision branches, loops, and statements.
  • Statement Coverage: Needs one test case to check all the lines of code
  • Branch Coverage: Evaluates the false conditions, ensuring maximum coverage.
  • Path Coverage: Used to test complex code snippets and involves loop statement combinations.

Test Cases Objectives

  • Test to pass: assures software minimally works and applies straightforward test cases
  • Test to fail: chooses test cases to reveal software weaknesses and to break the software

Software Deployment Cycle

  • The activities go from developers to software testers and deployment.

SDLC and STLC

  • SDLC: Software Development Life Cycle is the sequence of activities by the Developers to design high-quality software.
  • STLC: Software Testing Life Cycle consists of the activities by the Testers for testing the software product.

SDLC

  • SDLC includes planning, analysis, design, implementation, testing and integration, and maintenance

STLC

  • Consists of requirement analysis, test planning, test case development, test environment setup, test execution, and test closure.

V-Model

  • Highlights relationship between development and testing phases
  • Requirement Analysis relates to System Testing
  • High Level Design relates to Integration Testing
  • Low Level Design relates to Unit Testing
  • Coding relates to Unit Testing

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

More Like This

Software Testing Fundamentals
37 questions
Intro To Software Testing
37 questions

Intro To Software Testing

VerifiableAstronomy8646 avatar
VerifiableAstronomy8646
Use Quizgecko on...
Browser
Browser