Intro To Software Testing

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 describes software?

  • Only the executable code of a computer program.
  • A collection of computer programs.
  • The hardware components of a computer system.
  • Computer programs and associated documentation. (correct)

What is the primary purpose of software testing?

  • To improve the software's performance speed.
  • To reduce the size of the software's codebase.
  • To ensure the software is defect-free and meets specified requirements. (correct)
  • To demonstrate the software's functionality.

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

  • It primarily helps in marketing the software product.
  • It ensures that the software is developed quickly.
  • It is only important for large-scale software projects.
  • It helps to find/correct defects, satisfy user needs and provide quality products. (correct)

Which of the following is a key objective of software testing?

<p>To prevent and define defect and ensure high-quality test cases. (B)</p> Signup and view all the answers

Which factor commonly contributes to the presence of bugs in software?

<p>Miscommunication or changing requirements. (A)</p> Signup and view all the answers

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

<p>Testing can only begin after the development is complete. (B)</p> Signup and view all the answers

What is the definition of a 'bug' in software testing?

<p>A deviation between the expected and actual result. (D)</p> Signup and view all the answers

Consider a scenario where a developer makes an error while coding, which then leads to a defect in the software. How would you classify the defect?

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

In the context of software errors, what is the difference between a 'fault' and a 'failure'?

<p>A fault is the state of software caused by an error and a failure is deviation of the software from its expected result. (B)</p> Signup and view all the answers

Consider the example code: Int square(int x) { return x*2; } If the specification states that the function should return the square of the input, what type of error is present?

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

A program requires users to input either 'frog' or 'cat'. If a user inputs 'dragon', what message should the program produce based on the testing specification shown?

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

In the 'Bug Life Cycle', what does the 'Re-open' status typically indicate?

<p>That the bug has been fixed, but later reappears or the fix is incorrect. (B)</p> Signup and view all the answers

Why is it often impossible to ensure software is 100% error-free?

<p>Testing cannot cover all possible scenarios and combinations. (A)</p> Signup and view all the answers

Which type of software testing focuses on evaluating aspects like performance, usability, and scalability?

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

Which type of testing ensures that individual units or components of the software are working correctly in isolation?

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

What is the purpose of Integration Testing?

<p>To test the interaction between different modules or components of the software system. (A)</p> Signup and view all the answers

Which level of testing validates the complete and fully integrated software product?

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

Which system testing type checks the capacity of the system?

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

What is the primary difference between Black Box Testing and White Box Testing?

<p>Black Box Testing focuses on functionality without knowledge of internal program design, while White Box Testing requires knowledge of internal code and structure. (D)</p> Signup and view all the answers

Equivalence Partitioning is a software testing technique, If a value is between 1 AND 100 should print 'Pass'. What are the test cases for this?

<p>Less than 1, Between 1 and 100 and greater than 100. (A)</p> Signup and view all the answers

What is Boundary Value Analysis(BVA)?

<p>Testing of limit values and data (B)</p> Signup and view all the answers

A program has two inputs: Username and Password. Which black box testing technique would be most effective in testing different combinations of these inputs?

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

What is State Transition Testing mainly used for?

<p>Testing scenarios where outputs are triggered by changes to input conditions. (D)</p> Signup and view all the answers

In White Box Testing, what is the focus?

<p>Testing internal code structure. (B)</p> Signup and view all the answers

Which of the following best describes 'Statement Coverage' in white box testing?

<p>A method to ensure that every statement in the code is executed at least once. (D)</p> Signup and view all the answers

What is the goal of Branch Coverage?

<p>To ensure that every possible condition in the code is tested. (B)</p> Signup and view all the answers

When is Path Coverage implemented?

<p>Path Coverage is used to test complex code snippets. (A)</p> Signup and view all the answers

What is the objective of a 'Test to fail(Bad scenario)' test case?

<p>To uncover weaknesses and potentially break the software. (B)</p> Signup and view all the answers

Within the software deployment cycle, what is the role of the 'Software Tester'?

<p>To review the system, find flaws and hand it off to deployment. (B)</p> Signup and view all the answers

What is the main focus of the Software Development Life Cycle (SDLC)?

<p>Designing and developing high-quality software. (C)</p> Signup and view all the answers

What is the purpose of the Software Testing Life Cycle (STLC)?

<p>To methodologically test the software product. (A)</p> Signup and view all the answers

During which phase of the SDLC does testing primarily occur?

<p>Testing &amp; Integration (A)</p> Signup and view all the answers

Arrange the following stages of STLC in correct order:

  1. Test Case Development
  2. Test Planning
  3. Requirement Analysis
  4. Test Environment Setup

<p>3-&gt;2-&gt;1-&gt;4 (A)</p> Signup and view all the answers

What activity is performed first in STLC?

<p>Requirement Analysis (D)</p> Signup and view all the answers

Which of the following phases directly corresponds to Unit Testing in the V-Model?

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

How does the V-model illustrate the software development process?

<p>By relating each development stage to a corresponding testing stage (A)</p> Signup and view all the answers

Which testing and design pair do not relate to each other through the V model?

<p>Coding and Integration Testing (D)</p> Signup and view all the answers

Flashcards

What is software?

Software is computer programs and associated documentation.

Documentation Types

Types include user, technical, and marketing.

What is Software Testing?

Software testing ensures the software matches expected requirements and is defect-free.

Why is Testing Important?

Testing finds/corrects defects, satisfies users, avoids problems, and provides quality products.

Signup and view all the flashcards

Objectives of Testing

Objectives include matching requirements, defining/preventing defects, and ensuring quality.

Signup and view all the flashcards

Why does SW have Bugs?

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

Signup and view all the flashcards

Software Testing Truths

Testing is not debugging; it's always necessary, starts early, and is creative.

Signup and view all the flashcards

What is a Bug?

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

Signup and view all the flashcards

Types of Errors in SW

An error is a human mistake, a fault is a software defect, and a failure is deviation from expected result.

Signup and view all the flashcards

Testing Specification

This verifies code meets specifications with test inputs and expected outputs.

Signup and view all the flashcards

Test Cases

Cat, Frog, Null and Dragon

Signup and view all the flashcards

Bug Life Cycle Stages

This includes 'New,' 'Assigned,' 'Fixed,' 'Re-test,' and 'Re-open'.

Signup and view all the flashcards

Types of SW Testing

It includes functional, non-functional, and maintenance testing.

Signup and view all the flashcards

Functional Testing Types

This includes unit, integration, and user acceptance testing (UAT).

Signup and view all the flashcards

Non-Functional Testing

This includes performance, usability, and scalability testing.

Signup and view all the flashcards

Maintenance Testing

Regression and maintenance testing are part of this.

Signup and view all the flashcards

Levels of Testing

It progress through testing levels from unit to acceptance.

Signup and view all the flashcards

Unit Testing

Testing individual components or modules.

Signup and view all the flashcards

Integration Testing

Combining and testing integrated units.

Signup and view all the flashcards

System Testing

Testing the entire system.

Signup and view all the flashcards

Types of System Testing

Includes Functionality, Performance, Scalability, Reliability, Configuration and Security testing.

Signup and view all the flashcards

Black Box Testing

This is testing without internal program design knowledge.

Signup and view all the flashcards

White Box Testing

Testing requires knowledge of internal program design and code.

Signup and view all the flashcards

Equivalence Partitioning

Black box technique: valid / invalid input ranges.

Signup and view all the flashcards

Boundary Value Analysis (BVA)

Black box: tests values at boundaries.

Signup and view all the flashcards

Decision Table Testing

Black box: Input combinations vs. outputs.

Signup and view all the flashcards

State Transition Testing

outputs, triggered by changing input conditions.

Signup and view all the flashcards

Statement Coverage

Achieved by checking all lines of code.

Signup and view all the flashcards

Branch Coverage

Evaluates TRUE/FALSE conditions

Signup and view all the flashcards

Path Coverage

Tests every path/ combination of code.

Signup and view all the flashcards

Test to pass

Validate if software works

Signup and view all the flashcards

Test to Fail

Software fails and breaks.

Signup and view all the flashcards

What are SDLC and STLC?

SDLC is steps for creating software. STLC tests software.

Signup and view all the flashcards

Study Notes

Intro To Software Testing

  • Introduction to software testing overview

Agenda

  • The presentation will cover:
    • Software definition
    • Testing and software testing
    • Importance of testing why
    • Bugs and bug finding
    • Software error types
    • Testing specifications
    • Types of software testing in engineering
    • Testing levels
    • Testing methodology
    • SDLC and STLC
    • V model

What is Software?

  • Software is computer programs plus associated documentation

Documentation Types

  • User Documentation is a documentation type
  • Technical Documentation is a documentation type
  • Marketing Documentation is a documentation type

What is Software Testing

  • Software testing checks if the software product meets expected requirements
  • The checks ensure the software product is defect free

Why Testing is Important?

  • Testing is important to find and correct defects
  • Testing is important to check if the user’s needs are satisfied
  • Testing avoids users detecting problems
  • Testing provides quality products

Objectives of Testing

  • Ensure customer requirements are met
  • Define defects
  • Prevent defects
  • Ensure best quality
  • Generate high quality test cases

Why Bugs Occur in Software?

  • Bugs occur due to miscommunication or lack of communication, leading to unclear application behavior
  • Time pressure contributes to bugs
  • Programming mistakes lead to bugs
  • Changing requirements introduce bugs

Common Misunderstandings About Software Testing

  • Testing is not just debugging
  • Testing is still key even if programmers are much more careful
  • Testing isn't reserved as an activity after coding is complete
  • Testing is never complete or ends
  • Testing is a creative process

What is a Bug?

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

Types of Errors in Software

  • Error: A human action producing an incorrect result that leads to a fault
  • Bug: The presence of an error at the time the software is being used
  • Fault: A state of software caused by an error
  • Failure: Deviation of the software from its expected result and is an event

Software Testing Specifications

  • Specifications of the code is to have the script prompt the user to type in "what animal do you like more: frog or cat?"
    • If the user types either frog or cat, the output on screen will say "frog / cat is a great animal"
    • If nothing is entered in the prompt from the user, the output on the screen will display "You did not type anything"
    • If any other words are types, it will display on the screen "You did not enter the expected words"

Software Free Error

  • Testers must ensure the software works as expected and is error free
  • There is a probability that bugs will be missed by testers
  • Testing cannot cover 100% of software operation possibilities

Types of SW Testing

  • Functional Testing
  • Non-Functional Testing
  • Maintenance Testing

Types of SW Testing in SW Engineering

  • Functional Testing entails unit, integration, and UAT testing
  • Non-Functional Testing entails performance, usability, and scalability
  • Maintenance Testing entails regression and maintenance

Level of Testing

  • Acceptance Testing
  • System Testing
  • Integration Testing
  • Unit Testing

Testing Methodology

  • Black box testing does not require knowledge of internal program design; tests are based on requirements and functionality
  • White box testing requires knowledge of the internal program design and code, and tests are based on code coverage

Black Box Testing

  • Applied for functional and non functional testing, without reference to the internal structure of the system

Black Box Testing Techniques

  • Equivalence Partitioning (EP):
    • If VALUE is between 1 and 100, then the output is ‘Pass’
  • Boundary value analysis(BVA):
    • Applicable for numeric fields and date
    • 6 Test cases

Decision Table Testing

  • Used to test system behavior for different input combinations
  • The decision table is a tabular representation of inputs versus rules, cases and test conditions

State Transition Testing

  • Outputs are triggered by changes to the input conditions
  • It is designed to execute valid and invalid state transitions

White Box Testing

  • Testing based on analysis of the internal structure of the component
  • Goal is to verify all the decision branches, loops, and statements in the code
    • Statement Coverage
    • Branch Coverage
    • Path Coverage

Test Cases Objectives

  • Test to pass(Happy scenario)
    • Assures that the software minimally works
    • Applies simple and straightforward test cases
  • Test to fail(Bad scenario)
    • Choose test cases to appear the weaknesses in software
    • Designing test cases with the sole purpose of breaking the software

Software Deployment Cycle

  • The software development cycle is developer -> software tester - > Deployment

SDLC and STLC

  • SDLC (Software Development Life Cycle): A sequence of activities carried out by Developers to design and develop high-quality software
  • STLC (Software Testing Life Cycle): A series of activities carried out by Testers methodologically to test the software product

V Model

  • A development process where execution of processes happens in a sequential manner in a V-shape

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 Concepts Quiz
48 questions
Software Testing Fundamentals
37 questions
Software Testing Fundamentals
37 questions

Software Testing Fundamentals

AppreciatedAntigorite3332 avatar
AppreciatedAntigorite3332
Use Quizgecko on...
Browser
Browser