🎧 New: AI-Generated Podcasts Turn your study notes into engaging audio conversations. Learn more

Software Testing Chapter 7
14 Questions
0 Views

Software Testing Chapter 7

Created by
@TougherArtDeco

Podcast Beta

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What is the difference between an error and a defect in software testing?

An error is a mistake in coding, while a defect is an error found by the tester.

What is the purpose of software testing?

  • To identify errors in the design
  • To ensure the reliability of the software
  • To check if the actual results match expected results
  • All of the above (correct)
  • Regression testing is performed to verify that a fixed bug hasn't resulted in another fault being uncovered.

    True

    What type of testing is used to verify that a software has all the desired functionality specific to its functional requirements? Functional _______________.

    <p>testing</p> Signup and view all the answers

    Match the following testing levels with their descriptions:

    <p>Unit testing = Testing individual software modules Integration testing = Testing multiple modules integrated logically System testing = Testing the application as a whole User acceptance testing = Testing if the application meets client's requirements</p> Signup and view all the answers

    What is the difference between Defect Severity and Priority?

    <p>Severity defines how badly the defect has affected the application's functionality, while Priority describes the order in which developers will fix defects.</p> Signup and view all the answers

    Which category does a defect fall into if it completely blocks the functionality of an application?

    <p>Critical</p> Signup and view all the answers

    Which defect category may prevent significant system functionalities from working but does not cause a complete system shutdown?

    <p>Major</p> Signup and view all the answers

    Match the defect severity and priority levels:

    <p>Low Severity, Low Priority = Spelling mistakes on a webpage Low Severity, High Priority = Mismatched theme in a non-critical website section High Severity, High Priority = Non-clickable 'Login' button on a login form High Severity, Low Priority = Page not loading in older IE versions</p> Signup and view all the answers

    What is the purpose of localization testing?

    <p>Localization testing is used for checking the localized version of a product for a particular culture or locale settings.</p> Signup and view all the answers

    What does security testing aim to check for?

    <p>Flaws and errors in the software</p> Signup and view all the answers

    Usability testing is a black box testing technique.

    <p>True</p> Signup and view all the answers

    Performance testing is mainly used to identify any bottlenecks or _________ issues in a software.

    <p>performance</p> Signup and view all the answers

    Match the following Black Box Test Design Techniques with their descriptions:

    <p>Equivalence Partitioning = Partition a set of test conditions into equivalent groups Boundary Value Analysis = Test boundary values of valid and invalid partitions State Transition Testing = Test changes in input conditions causing state changes Decision Table Testing = Test based on combinations of inputs and their outcomes</p> Signup and view all the answers

    Study Notes

    Software Testing

    • Software testing is the process of verifying and validating a software application to check whether it is working as expected.
    • The intent is to find defects and improve the product quality.

    Error vs Defect vs Bug vs Failure

    • Error: a mistake in coding
    • Defect: error found by the tester
    • Bug: defect accepted by the development team
    • Failure: software build does not meet the requirements

    Software Validation vs Verification

    • Verification: checks whether the system is being developed in the right way
    • Validation: checks whether the system is built right

    Why Software Testing is Required

    • To check the reliability of the software
    • To ensure that the system is free from any bug that can cause any kind of failure
    • To ensure that the product is in line with the requirement of the client
    • To make sure that the final product is user-friendly
    • To ensure the quality of the product
    • To stay in the business

    Trend of Software Testing

    • The earlier the testing team starts testing the software, the easier it would be for the developers to complete the project on time
    • Starting testing in the later stages of development can turn out to be an expensive matter

    Software Testing Levels

    • Unit testing: individual software modules are tested
    • Integration testing: individual software modules are integrated logically and tested as a group
    • System testing: the application is tested as a whole
    • User Acceptance Testing (UAT): checks whether the application meets the intended specifications and satisfies client requirements

    Types of Software Testing

    • Functional testing: verifies that a software has all the desired functionality specific to its functional requirements
    • Non-functional testing: tests the characteristics (or quality) of the software

    Functional Testing

    • Regression testing: verifies that a fixed bug hasn’t resulted in another functionality or business rule violation
    • Mutation testing: a type of software testing where certain statements in the source code are changed and checked if the test cases are able to find the errors
    • Smoke testing: a kind of software testing performed after receiving a software build, with minor changes in code, or functionality
    • Sanity testing: a kind of software testing performed after receiving a software build, with minor changes in code, or functionality

    Non-functional Testing

    • Performance testing: identifies any bottlenecks or performance issues
    • Usability testing: identifies errors and defects as well as improvements in the software
    • Scalability testing: ensures that the application can function in any culture or locale
    • Security testing: checks for flaws and errors in the software as well as the system in which it will be implemented
    • Maintainability testing: tests how well an application is able to recover from crashes, hardware failures, and other problems
    • Recoverability testing: tests how well an application can recover from crashes, hardware failures, and other problems
    • Reliability testing: tests how well an application can perform over a certain period of time

    Software Testing Techniques

    • Static testing techniques: find defects in application under test without executing the code
    • Dynamic testing techniques: test the dynamic behavior of the application under test by executing the code

    Black Box Testing

    • Testing that ignores the internal mechanism of a system or component and focuses solely on the outputs generated in response to selected inputs and execution conditions
    • Equivalence partitioning: partitions a set of test conditions into groups or sets that can be considered the same or equivalent
    • Boundary value analysis: tests the boundary values of valid and invalid partitions
    • Decision table testing: tests systems with multiple conditions and rules
    • State transition testing: tests changes in input conditions that cause state changes in the application under test### Software Testing
    • White-box Testing: Requires knowledge of internal program structure
      • Also known as clear box testing, open box testing, glass box testing, structural testing, code-based testing, and transparent testing
      • Techniques include:
        • Condition coverage
        • Decision coverage
        • Branch coverage
        • Statement coverage

    White-box Testing Techniques

    • Condition Coverage: Ensures all Boolean expressions are evaluated to both TRUE and FALSE
      • Example: ( (A or B) and C ) requires 3 tests to cover all conditions
    • Statement Coverage: Involves executing all statements in the source code at least once
    • Branch Coverage: Tests every outcome from a code module (statement or loop)
    • Decision Coverage: Involves testing every decision (condition) in the code

    Gray-box Testing

    • Experience-Based: Neither involves internal nor external structure, but is based on experience
      • Techniques include:
        • Exploratory testing
        • Fault attack
        • Error guessing
        • Checklist-based

    Defect Life Cycle

    • New: New defect reported
    • Assigned: Defect assigned to developer team
    • Open: Developer starts analyzing and working on defect fix
    • Fixed: Developer makes necessary code changes and verifies fix
    • Pending Retest: Defect fixed, awaiting retesting by tester
    • Retest: Tester retests code to ensure defect is fixed
    • Verified: Defect fixed and verified by tester
    • Reopen: Defect reopened if fix is incomplete
    • Closed: Defect no longer exists
    • Duplicate: Duplicate defect report
    • Rejected: Defect rejected as not genuine
    • Deferred: Defect prioritized for future release
    • Not a Bug: Defect does not affect application functionality

    Defect Severity and Priority

    • Defect Severity: How badly the defect affects application functionality
      • Categorized as Critical, Major, Minor, and Low
    • Defect Priority: Order in which developers will fix defects (business importance)
      • Categorized as High, Medium, and Low

    Defect Severity Levels

    • Critical: Defect blocks entire application functionality
      • Example: Login screen not working, making application inaccessible
    • Major: Defect prevents significant system functionalities
      • Example: User cannot transfer money to beneficiaries
    • Minor: Defect affects application functionality, but not significantly
      • Example: Download link in Help section not working, but user can still read online
    • Low: Cosmetic defects that don't affect functionality
      • Example: Spelling mistakes on webpage

    Defect Priority and Severity Combinations

    • High Severity and High Priority: Defect requires immediate attention
    • Low Severity vs. High Priority: Defect has minor impact, but high business importance
    • High Severity vs. Low Priority: Defect has significant impact, but low business importance
    • Low Severity vs. Low Priority: Defect has minor impact and low business importance

    Studying That Suits You

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

    Quiz Team

    Description

    Learn about software testing, including validation vs verification, QA vs QC, testing levels, and techniques. Understand defect life cycle and levels of defect.

    More Quizzes Like This

    Use Quizgecko on...
    Browser
    Browser