Podcast
Questions and Answers
What is the primary intent of program testing?
What is the primary intent of program testing?
- To improve the program's design
- To verify the code quality
- To showcase the program to stakeholders
- To discover program defects before use (correct)
What distinguishes validation testing from defect testing?
What distinguishes validation testing from defect testing?
- Validation testing is only done after deployment, while defect testing is pre-deployment.
- Validation testing uses expected use cases, while defect testing uses obscure test cases. (correct)
- Validation testing assesses design integrity, while defect testing focuses on functionality.
- Validation testing checks for incorrect behavior, while defect testing checks for compliance.
Which of the following is NOT a goal of program testing?
Which of the following is NOT a goal of program testing?
- To improve user experience (correct)
- To uncover defects in the software
- To demonstrate the software's compliance with requirements
- To ensure the software can handle unexpected situations
What must be tested for custom software according to the testing goals?
What must be tested for custom software according to the testing goals?
What does defect testing primarily focus on?
What does defect testing primarily focus on?
Which technique is included in the verification and validation process along with testing?
Which technique is included in the verification and validation process along with testing?
What aspect does program testing aim to reveal about software performance?
What aspect does program testing aim to reveal about software performance?
What is a key outcome expected from successful validation testing?
What is a key outcome expected from successful validation testing?
What is the primary goal of defect testing?
What is the primary goal of defect testing?
What does verification assess in software development?
What does verification assess in software development?
Which type of fault occurs during the execution of a program?
Which type of fault occurs during the execution of a program?
Why might some users have low expectations for certain software types?
Why might some users have low expectations for certain software types?
What is a significant disadvantage of testing during the software development process?
What is a significant disadvantage of testing during the software development process?
Which of the following activities can software inspections NOT be applied to?
Which of the following activities can software inspections NOT be applied to?
What is the main purpose of a test case?
What is the main purpose of a test case?
What is the primary purpose of validation in software testing?
What is the primary purpose of validation in software testing?
Which aspect cannot be verified through inspections?
Which aspect cannot be verified through inspections?
What type of fault arises from mistakes in the code syntax?
What type of fault arises from mistakes in the code syntax?
What does a test plan primarily outline?
What does a test plan primarily outline?
What is the significance of deadlines in a test plan?
What is the significance of deadlines in a test plan?
What type of testing takes place during the development phase?
What type of testing takes place during the development phase?
Which statement about inspections is true?
Which statement about inspections is true?
What is a limitation of inspections compared to testing?
What is a limitation of inspections compared to testing?
What is a primary function of test harnesses?
What is a primary function of test harnesses?
Which type of testing is conducted in the user's environment with a nearly finished product?
Which type of testing is conducted in the user's environment with a nearly finished product?
What aspect of user testing helps identify issues that may not be captured in a controlled environment?
What aspect of user testing helps identify issues that may not be captured in a controlled environment?
Which of the following is a primary step in requirements-based testing?
Which of the following is a primary step in requirements-based testing?
What is the significance of defining testing policies?
What is the significance of defining testing policies?
Which testing strategy aims to confirm that the software meets user needs and is ready for deployment?
Which testing strategy aims to confirm that the software meets user needs and is ready for deployment?
What does general testing guidelines suggest regarding input handling?
What does general testing guidelines suggest regarding input handling?
What can testing demonstrate about a software program?
What can testing demonstrate about a software program?
Flashcards
Inspection
Inspection
A static process where you examine code for defects without running it.
Test Case
Test Case
A specific set of instructions used to test a part of a software application.
Test Plan
Test Plan
A document that outlines the overall plan for software testing.
Development Testing
Development Testing
Signup and view all the flashcards
Release Testing
Release Testing
Signup and view all the flashcards
User Testing
User Testing
Signup and view all the flashcards
Inspection and Testing
Inspection and Testing
Signup and view all the flashcards
Inspections vs. Testing
Inspections vs. Testing
Signup and view all the flashcards
Program Testing
Program Testing
Signup and view all the flashcards
Testing Objective
Testing Objective
Signup and view all the flashcards
Testing Limitations
Testing Limitations
Signup and view all the flashcards
Validation Testing
Validation Testing
Signup and view all the flashcards
Defect Testing
Defect Testing
Signup and view all the flashcards
Verification and Validation
Verification and Validation
Signup and view all the flashcards
Fault
Fault
Signup and view all the flashcards
Software Inspection and Testing
Software Inspection and Testing
Signup and view all the flashcards
Input-Output Model of Program Testing
Input-Output Model of Program Testing
Signup and view all the flashcards
Verification vs Validation
Verification vs Validation
Signup and view all the flashcards
V & V Confidence
V & V Confidence
Signup and view all the flashcards
What is A Fault?
What is A Fault?
Signup and view all the flashcards
Inspections and Testing Cont.
Inspections and Testing Cont.
Signup and view all the flashcards
Software inspections
Software inspections
Signup and view all the flashcards
Unit Testing
Unit Testing
Signup and view all the flashcards
Integration Testing
Integration Testing
Signup and view all the flashcards
System Testing
System Testing
Signup and view all the flashcards
Alpha Testing
Alpha Testing
Signup and view all the flashcards
Beta Testing
Beta Testing
Signup and view all the flashcards
Acceptance Testing
Acceptance Testing
Signup and view all the flashcards
Study Notes
Chapter 6 - Introduction to Software Testing
- Software testing aims to demonstrate that a program functions as intended and to find defects before deployment.
- Testing involves executing the program with artificial data to check results for errors, anomalies, and non-functional attributes.
- Testing reveals the presence of errors, but not their absence.
- Testing is part of verification and validation, including static validation techniques.
Program Testing Goals
- Demonstrate to developers and customers that the software meets requirements.
- For custom software, one test per requirement is needed in the requirement document. For generic software, tests for all features and combinations are needed.
- Discover situations in which software behavior is incorrect, undesirable, or doesn't match specifications.
- Defect testing focuses on undesirable behaviors like crashes, incorrect computations, and data corruption.
Validation and Defect Testing
- Validation testing ensures the system performs correctly based on expected use.
- Defect testing, also called failure-oriented testing, uses test cases to uncover defects and doesn't need to reflect normal system use, rather, it aims to expose failures.
Testing Process Goals
- Validation testing demonstrates software meets its requirements; a successful test indicates intended operation.
- Defect testing finds software faults where behavior is incorrect or doesn't meet specifications; a successful test reveals a system deficiency.
An Input-Output Model of Program Testing
- Input test data leads to output test results.
- Inputs can lead to anomalous system behavior, while outputs expose defects.
Verification vs. Validation
- Verification: "Are we building the product right?" Does the software conform to its specifications?
- Validation: "Are we building the right product?" Does the software meet the user's needs?
V & V Confidence
- V&V (Verification and Validation) aims to establish confidence that the system fits its purpose, depending on system purpose, user expectations, and marketing environment. Software criticality impacts confidence levels. User expectations may be low for certain kinds of software. Getting a product to market quickly sometimes outweighs finding defects.
What is a Fault?
- A fault (or bug) is an error in the software that causes unexpected or incorrect behavior.
- Types of faults: Syntax errors (in the code's grammar), Logic errors (miscalculations), Runtime errors (errors during execution)
Inspections and Testing
- Software inspections analyze static system representations (requirements, design) to identify problems. Often supplemented by tools analyzing documents and code.
- Software testing exercises and observes the system's operational behavior using test data.
Software Inspections
- Involve people examining the source code to detect anomalies and faults, without needing to run the system. Useful before implementation.
- Can be applied to any system representation (e.g., requirements, design, configuration data, testing data).
- Effective techniques for uncovering program errors.
Advantages of Inspections
- Errors can mask others during testing; inspections, being static, avoid these interactions.
- Incomplete systems can be inspected without extra costs (no need for test harnesses).
- Inspections can detect broader quality attributes, like compliance with standards, portability, and maintainability.
- Inspections and testing are complementary, not opposing techniques, and both are employed during the verification and validation (V&V) process.
A Model of the Software Testing Process
- A model illustrating the sequence: design test cases, prepare test data, run program, compare results, generate reports.
What is a Test Case?
- A specific set of instructions or conditions used to test a software application aspect. Identifies specific defects. Serves as documentation for future testing and debugging.
- Describes steps and expected behavior in a successful run.
What is a Test Plan?
- A document outlining the overall strategy and scope for testing a software project. Serves as a guide for the process. Includes tools, team members, steps, and deadlines to keep testing properly aligned with project deadlines.
Stages of Testing
- Development testing: Involves testing during development to identify and fix bugs or defects. (Unit, Integration, System)
- Release testing: A separate team tests a complete software version before delivery.
- User testing: Users or potential users test the software in their own environment. (Alpha, Beta, Acceptance)
Development Testing
- Unit testing: Assesses individual components or modules.
- Integration testing: Ensures modules work together well.
- System testing: Checks behavior of the entire system.
Release Testing
- Conducted by a separate team on a complete software version.
- Ensures all specified features, functionality, and performance requirements are upheld.
User Testing
- Done in the user's real-world environment; conducted by users or potential users.
- Alpha Testing: Testing at the developer's site, with user involvement.
- Beta Testing: Testing in the users' environment, with a nearly final product.
- Acceptance Testing: Users confirm if the product meets their needs.
General Testing Guidelines
- Provide inputs to create and check all error messages.
- Design inputs that cause overflow of input buffers.
- Repeat the same input or input series several times.
- Force invalid outputs from the system.
- Force computation outputs to be too large or too small.
Testing Policies
- Exhaustive system testing is impossible, so testing policies are developed to define desired test coverage.
Examples of testing policies
- Test all system functions accessed through menus.
- Test combinations of functions within the same menu (e.g., menu functions such as text formatting).
- If user input is necessary, then functions must tested with both correct and incorrect data.
Requirements-Based Testing
- Focuses on the system's requirements for each individual requirement to generate test cases to demonstrate expected behavior.
Key Points
- Testing can only show errors; it cannot prove absence of errors; this is often highlighted in a testing summary. System testing should be conducted by a group separate from the development team.
- Deliberately "break" the software using experience and guidelines, and implement automated tests wherever possible.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.