Podcast
Questions and Answers
What is the primary goal of software testing?
What is the primary goal of software testing?
Exhaustive testing is possible in software development.
Exhaustive testing is possible in software development.
False
Name one of the characteristics that define a good test.
Name one of the characteristics that define a good test.
High probability of finding an error
The principle that states 80% of errors come from 20% of a program is known as the ________ principle.
The principle that states 80% of errors come from 20% of a program is known as the ________ principle.
Signup and view all the answers
Match the roles of the testers to their characteristics:
Match the roles of the testers to their characteristics:
Signup and view all the answers
What should all tests reflect according to general testing principles?
What should all tests reflect according to general testing principles?
Signup and view all the answers
Independent testers are typically biased towards meeting delivery deadlines.
Independent testers are typically biased towards meeting delivery deadlines.
Signup and view all the answers
What is one aspect of testability that ensures testing can be automated?
What is one aspect of testability that ensures testing can be automated?
Signup and view all the answers
Which of the following best describes Black Box Testing?
Which of the following best describes Black Box Testing?
Signup and view all the answers
Black Box Testing requires knowledge of the internal workings of the software.
Black Box Testing requires knowledge of the internal workings of the software.
Signup and view all the answers
What is Equivalence Partitioning in Black Box Testing?
What is Equivalence Partitioning in Black Box Testing?
Signup and view all the answers
The methods used in Black Box Testing include __________, Boundary Value Analysis, and Cause Effect Graphing.
The methods used in Black Box Testing include __________, Boundary Value Analysis, and Cause Effect Graphing.
Signup and view all the answers
Which method is NOT a part of Black Box Testing?
Which method is NOT a part of Black Box Testing?
Signup and view all the answers
Match the following testing techniques with their categories:
Match the following testing techniques with their categories:
Signup and view all the answers
What is another name for White Box Testing?
What is another name for White Box Testing?
Signup and view all the answers
What do we mean by 'Stability' in the context of test case design?
What do we mean by 'Stability' in the context of test case design?
Signup and view all the answers
White Box Testing guarantees that all independent paths within a module have been exercised at least twice.
White Box Testing guarantees that all independent paths within a module have been exercised at least twice.
Signup and view all the answers
White Box Testing focuses solely on the outputs of a software system.
White Box Testing focuses solely on the outputs of a software system.
Signup and view all the answers
Who proposed the Basis Path Testing technique?
Who proposed the Basis Path Testing technique?
Signup and view all the answers
White Box Testing uses the __________ structure of procedural design to derive test cases.
White Box Testing uses the __________ structure of procedural design to derive test cases.
Signup and view all the answers
Match the following aspects of White Box Testing with their descriptions:
Match the following aspects of White Box Testing with their descriptions:
Signup and view all the answers
What does Boundary Value Analysis focus on in testing?
What does Boundary Value Analysis focus on in testing?
Signup and view all the answers
White Box Testing can guarantee a 100% correct program.
White Box Testing can guarantee a 100% correct program.
Signup and view all the answers
What is the main purpose of Black Box Testing?
What is the main purpose of Black Box Testing?
Signup and view all the answers
In Cause-Effect Graphing, identifying the cases is referred to as the ______.
In Cause-Effect Graphing, identifying the cases is referred to as the ______.
Signup and view all the answers
Match the following testing types with their characteristics:
Match the following testing types with their characteristics:
Signup and view all the answers
Which of the following statements is true regarding Exhaustive Testing?
Which of the following statements is true regarding Exhaustive Testing?
Signup and view all the answers
Selective Testing involves testing all possible paths through the program.
Selective Testing involves testing all possible paths through the program.
Signup and view all the answers
What combines attributes of both Black Box and White Box testing?
What combines attributes of both Black Box and White Box testing?
Signup and view all the answers
Study Notes
Software Testing Techniques
- Software testing is the process of exercising a program to find errors before it's released to users.
- The goal of testing is to identify defects and ensure the software functions correctly according to specifications.
- Testing focuses on discovering errors, but it cannot prove the absence of errors.
- A good tester should approach testing with the mindset of trying to break the software.
- Developers often have a preconceived notion that their software is perfect.
- Software testing needs minimal effort and time.
- Testing should be planned before the testing process begins.
- The Pareto principle applies to software testing, with about 80% of errors originating from 20% of the program's paths.
- Exhaustive testing is impossible; the number of possible paths through code is too large.
- Testing should ideally be performed by a third-party independent tester, to ensure unbiased testing.
Software Development Process
- The software development process transforms an abstract concept into a tangible product.
- Testing is an integral part of the process, aiming to break the software to identify issues.
Software Testing Objectives
- Identifying various error cases.
- Minimizing testing effort and duration.
- Confirming that software functions match specifications.
Who Tests the Software?
- Developers understand the system but test gently, focusing on delivering the software.
- Independent testers have a different perspective and aim to actively break the system to find errors.
- Independent testers are driven by quality, not delivery.
What is a Good Test?
- A good test has a high probability of finding an error.
- A good test is not redundant. Each test should have a distinct purpose.
- It's neither too simple, nor too complex.
What Testing Shows
- Testing reveals errors.
- Testing verifies adherence to requirements.
- Testing assesses performance.
- Testing demonstrates the quality of the software.
Testability
- Operability: The software runs correctly during testing.
- Observability: Results of tests are easily visible.
- Controllability: Testing can be automated and optimized efficiently.
- Decomposability: Testing can be focused on specific areas.
- Simplicity: Simplifying complex architectures and logics for easier testing.
- Stability: Minimizing changes during testing.
- Understandability: The design of the software is easily understood.
Test Case Design
- Designing test cases is as challenging as designing the software itself, requiring a specific approach.
- Testing methods have evolved, aiming for a systematic approach that covers various aspects of the system, and guarantees the probability of error detection.
Software Testing Methods
- White-box methods focus on the internal structure of the software.
- Black-box methods focus on the input and output of the software without looking at its internal structure.
- The two methods can be combined for a more thorough approach.
Black-Box Testing (Functional Testing)
- Focuses on input and output, ignoring internal program details.
- Examples include:
- Equivalence Partitioning
- Boundary Value Analysis
- Cause-Effect Graphing
Black-Box Testing – Methods
- Equivalence Partitioning: Dividing input values into valid and invalid partitions for representative testing.
- Boundary Value Analysis: Analyzing inputs around boundary values (critical values) to discover errors.
- Cause-Effect Graphing: Visual representation of causes and effects helps in test case development.
Black-Box Testing
- Derived test cases must satisfy two essential criteria.
- Reduce the number of additional test cases needed, based on reasonable testing practices
- Identify classes of errors, rather than specific errors from individual test cases.
White-Box Testing (Structural Testing)
- Focuses on internal structure of the software.
- Examples include:
- Coverage testing (Statement coverage, Branch coverage, Path coverage)
White-Box Testing
- Close examination of the program logic and procedural details.
- Test cases are designed to exercise specific conditions and control structures.
- Status of the program is checked at various points to check expected output.
White Box Testing (Continued)
- Exhaustive Testing is not achievable for all paths within a program because the possible paths are too large.
- This requires selective testing instead for effective software testing.
White-Box Testing - Types of Testing
- Statement coverage: Ensure every line of code is executed at least once.
- Branch or decision coverage: Make sure each decision (if-then-else, conditional) is examined for both its true and false cases.
- Path coverage: Guarantees execution of every possible path in the software.
Is White-Box Testing Enough for 100% Correct Software
- No. Exhaustive testing of all possible program paths is not feasible.
Exhaustive testing
- Trying all possible paths in a program to ensure its correct behavior.
- Not possible for most software because the number of potential program paths are practically too numerous to check.
Selective Testing
- Choosing a subset of test paths to thoroughly verify important parts of the software, based on a suitable strategy.
Black Box Testing - Overview
- Focuses on the software's functions without assessing internal structure.
- Purposefully testing function input/output for defects, considering how the system reacts and the quality of output given the input.
White Box Testing - Overview
- Assess internal structures, procedural detail, and the logic within the software.
- Testing various points to confirm the actual process aligns with the expected outcomes.
Basis Path Testing
- White-box testing technique developed by Tom McCabe.
- Measures logical complexity of the program for test cases.
- Test cases ensure execution of every statement at least once.
White-Box Testing Goal
- Ensure all statements and conditions within the software have been executed at least once.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.
Related Documents
Description
Test your knowledge about the fundamentals of software testing with this quiz. Covering key concepts such as Black Box Testing, Equivalence Partitioning, and the characteristics of effective tests, this quiz will enhance your understanding of the testing landscape. Perfect for software development students and professionals.