COMP 3521 chapter 8

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 activity exemplifies software validation?

  • Identifying and rectifying syntax errors present in the source code.
  • Determining if the developed software aligns with the actual needs and expectations of its intended users. (correct)
  • Ensuring the code adheres to established coding standards and guidelines.
  • Confirming that the software accurately implements the requirements outlined in the design specification.

What is a primary goal of defect testing?

  • To validate the software design against architectural patterns.
  • To verify the software meets its performance requirements.
  • To demonstrate to clients that the software requirements are met.
  • To identify situations where software behaviour is incorrect, undesirable, or does not conform to its specification. (correct)

What distinguishes validation testing from defect testing?

  • Validation testing ensures the software meets security standards, while defect testing focuses on performance metrics.
  • Validation testing is performed by developers, while defect testing is carried out by QA engineers.
  • Validation testing aims to identify defects, while defect testing confirms the software operates as intended.
  • Validation testing uses test cases reflecting normal system use, whereas defect testing employs obscure test cases to expose defects. (correct)

Which of the following is a key goal of verification and validation (V&V)?

<p>To establish confidence that a system is 'fit for purpose'. (B)</p> Signup and view all the answers

In what way do static verification techniques differ from dynamic verification techniques in software testing?

<p>Static verification assesses the software without executing it, while dynamic verification involves observing product behavior during execution. (D)</p> Signup and view all the answers

Why are software inspections considered advantageous in the software development lifecycle?

<p>They can assess broader quality attributes like compliance, portability, and maintainability, and can find errors that might be masked during testing. (A)</p> Signup and view all the answers

During the software development process, when is it most appropriate to use both inspections and testing?

<p>Both should be used concurrently throughout the Verification and Validation (V&amp;V) process. (D)</p> Signup and view all the answers

Which strategy is most effective for minimizing bugs and defects during software development?

<p>Using development testing to discover bugs and defects early in the development process. (A)</p> Signup and view all the answers

What does unit testing primarily focus on?

<p>Testing individual program units or object classes in isolation. (D)</p> Signup and view all the answers

Why can inheritance complicate object class testing?

<p>It distributes the information to be tested across multiple classes, making tests harder to localize. (B)</p> Signup and view all the answers

In automated testing, which part is responsible for verifying that calling an object or method returns the expected outcome?

<p>The assertion part. (C)</p> Signup and view all the answers

What principle underlies partition testing?

<p>Identifying groups of inputs with common characteristics that should be processed similarly. (A)</p> Signup and view all the answers

What is an 'equivalence partition' in software testing?

<p>A class or domain where the program behaves in an equivalent way for each class member. (C)</p> Signup and view all the answers

What should the focus be when testing composite components?

<p>Showing that the component interface behaves according to its specification. (B)</p> Signup and view all the answers

What is a primary objective of interface testing?

<p>To detect faults due to interface errors or invalid assumptions about interfaces. (A)</p> Signup and view all the answers

What should testers consider when designing interface tests?

<p>Sending parameters to called procedures at the extreme ends of their ranges and testing pointer parameters with null pointers. (D)</p> Signup and view all the answers

What is the primary emphasis of system testing?

<p>Testing the interactions between components. (A)</p> Signup and view all the answers

Which of the following describes how use-cases can be leveraged during system testing?

<p>Each use-case involves system components, making it possible to test interactions. (B)</p> Signup and view all the answers

Which aspect defines testing policies?

<p>The required system test coverage. (A)</p> Signup and view all the answers

What is the role of tests in Test-Driven Development (TDD)?

<p>Tests are written before code and 'passing' the tests is the critical driver of development. (B)</p> Signup and view all the answers

What is the initial step in the Test-Driven Development (TDD) cycle?

<p>Writing the test. (A)</p> Signup and view all the answers

What benefit does regression testing provide?

<p>Checking that changes have not 'broken' previously working code. (D)</p> Signup and view all the answers

How is release testing different from system testing performed by the development team?

<p>A separate team that has not been involved in the system development should be responsible for release testing. (D)</p> Signup and view all the answers

What is a primary objective of release testing?

<p>To convince the supplier of the system that it is good enough for use. (D)</p> Signup and view all the answers

What does requirements-based testing involve?

<p>Examining each requirement and developing a test or tests for it. (A)</p> Signup and view all the answers

When is user testing considered most essential?

<p>Even when comprehensive system and release testing have been carried out. (D)</p> Signup and view all the answers

In the context of user testing for software, what does alpha testing typically involve?

<p>Testing the software by users working with the development team at the developer's site. (C)</p> Signup and view all the answers

What is 'acceptance testing'?

<p>Testing to decide whether or not a system is ready to be accepted from the system developers and deployed in the customer environment. (B)</p> Signup and view all the answers

What is the primary concern regarding the embedded user in agile methods and acceptance testing?

<p>Whether the embedded user is 'typical' and can represent the interests of all system stakeholders. (B)</p> Signup and view all the answers

Which of these is considered a key point in software testing?

<p>Testing can only show the presence of errors in a program. (B)</p> Signup and view all the answers

During software testing, which action is most effective for identifying defects?

<p>Trying to 'break' the software using experience and guidelines to choose effective test cases. (C)</p> Signup and view all the answers

How can software developers ensure the repeatability and reliability of their tests?

<p>Wherever possible, you should write automated tests (D)</p> Signup and view all the answers

Which of the following correctly describes the purpose of 'stress testing'?

<p>To test the system by deliberately overloading it to test its failure behavior. (B)</p> Signup and view all the answers

What is the main focus of scenario testing?

<p>To test the system by inventing a typical usage scenario. (D)</p> Signup and view all the answers

During inspections, what aspects of the software can be assessed?

<p>Program defects, compliance with standards, portability and maintainability. (C)</p> Signup and view all the answers

What constitutes a 'unit' in the context of unit testing?

<p>Individual functions or methods within an object, object classes with attributes and methods, or composite components with defined interfaces. (D)</p> Signup and view all the answers

What is the main advantage of automating unit testing?

<p>It allows tests to be run and checked without manual intervention, improving efficiency and consistency. (B)</p> Signup and view all the answers

What is the primary characteristic that distinguishes development testing from other testing stages?

<p>It is carried out by the team developing the system. (B)</p> Signup and view all the answers

How does incorporating inheritance in object-oriented programming impact the design of object class tests?

<p>It complicates test design because the information to be tested is not localized. (A)</p> Signup and view all the answers

Which of the following is a main component of an automated test?

<p>A set-up part, where you initialize the system with the test case, namely the inputs and expected outputs. (C)</p> Signup and view all the answers

What is the purpose of choosing tests from within each identified group in partition testing?

<p>To represent all inputs with common characteristics. (A)</p> Signup and view all the answers

In the context of interface testing, designing tests to cause a component to fail aims primarily to achieve what?

<p>Ensure graceful degradation and error handling. (B)</p> Signup and view all the answers

What is the main goal when system testing during software development?

<p>To ensure components are compatible and interact correctly. (A)</p> Signup and view all the answers

How can use-case testing aid in the process of system testing?

<p>By forcing interactions between system components through use-case scenarios. (B)</p> Signup and view all the answers

What statement accurately reflects a key characteristic of testing policies in software development?

<p>They define the required system test coverage, as exhaustive testing is unfeasible. (C)</p> Signup and view all the answers

When writing tests in Test-Driven Development (TDD), what serves as the critical driver of development?

<p>Passing the tests. (A)</p> Signup and view all the answers

How does regression testing contribute to software development when changes are made to the code?

<p>It verifies that changes have not introduced new faults into previously working code. (A)</p> Signup and view all the answers

What is the focus of release testing?

<p>Validating if the system is good enough for external use and meets requirements. (D)</p> Signup and view all the answers

What action is central to the process of requirements-based testing?

<p>Developing tests for each requirement. (A)</p> Signup and view all the answers

What influence from the user has a major effect on the reliability, performance, usability and robustness of a system?

<p>The user's working environment. (D)</p> Signup and view all the answers

In which testing type do users of the software work with the development team to test at the developer's site?

<p>Alpha testing (C)</p> Signup and view all the answers

In agile methods and acceptance testing, what is the primary challenge concerning the embedded user?

<p>Verifying the user represents the interests of all system stakeholders. (D)</p> Signup and view all the answers

In software testing, what can testing only demonstrate?

<p>The presence of errors in a program (D)</p> Signup and view all the answers

When testing software, what should you try to do?

<p>Break the software using experience and guidelines to choose effective test cases for discovering defects (B)</p> Signup and view all the answers

What is a key characteristic of software inspections?

<p>They are concerned with analysis of the static system representation. (C)</p> Signup and view all the answers

What is the main advantage of inspection over testing regarding error detection?

<p>Inspections can detect errors that testing might miss because errors can mask other errors. (D)</p> Signup and view all the answers

What limitation applies specifically to inspections as a verification technique?

<p>Inspections cannot check non-functional characteristics such as performance. (D)</p> Signup and view all the answers

Within development testing, what is the main focus of unit testing?

<p>Testing the functionality of object classes or methods. (A)</p> Signup and view all the answers

In automated testing, what is the role of the 'call' part?

<p>To execute the object or method under test. (B)</p> Signup and view all the answers

What represents an 'equivalence partition' effectively?

<p>A set of inputs where the program behaves in an equivalent way. (C)</p> Signup and view all the answers

When testing composite software components, on which aspect should there be a primary focus?

<p>The component interfaces and their behavior. (D)</p> Signup and view all the answers

What is a key objective of interface testing?

<p>To detect faults due to interface errors or invalid assumptions about interfaces. (C)</p> Signup and view all the answers

What is a key consideration when designing interface tests?

<p>Considering testing with parameters at the extreme ends of their ranges. (A)</p> Signup and view all the answers

During system testing, what should be confirmed regarding components in the system?

<p>Components are compatible, interact correctly, and transfer the right data properly. (A)</p> Signup and view all the answers

What is a factor defined by testing policies?

<p>The required system test coverage. (C)</p> Signup and view all the answers

In what way does regression testing provide a valuable contribution to software development?

<p>It ensures that changes have not broken previously working code. (D)</p> Signup and view all the answers

What distinguishes release testing from system testing performed by the development team?

<p>Release testing is performed by a separate team to check if the system meets requirements for external use. (A)</p> Signup and view all the answers

Flashcards

Program testing

Testing to show the program does what it should and to find defects before use.

Program testing goals

Demonstrate software meets requirements, discover incorrect/undesirable behaviour.

Validation testing

Testing to show the software meets the customer's requirements.

Defect testing

Testing to discover faults or defects in the software.

Signup and view all the flashcards

Verification

Ensuring software conforms to its specification.

Signup and view all the flashcards

Validation

Ensuring the software does what the user really requires.

Signup and view all the flashcards

Software inspections

Analysis of the static system representation to discover problems.

Signup and view all the flashcards

Software testing

Exercising and observing product behavior.

Signup and view all the flashcards

Software inspections

Examining source code to discover anomalies and defects.

Signup and view all the flashcards

Advantages of inspections

Testing is a static process; inspections don't need interactions between errors.

Signup and view all the flashcards

Development testing

Testing during development to discover bugs and defects.

Signup and view all the flashcards

Release testing

Testing a complete system version before release to users

Signup and view all the flashcards

User testing

Users test the system in their own environment.

Signup and view all the flashcards

Unit testing

Testing individual program units or object classes.

Signup and view all the flashcards

Component Testing

Several individual units integrated to create composite components.

Signup and view all the flashcards

System testing

Some or all components integrated, system tested as a whole.

Signup and view all the flashcards

Object class testing

Testing all operations, attributes, and states of an object.

Signup and view all the flashcards

Automated testing

Unit testing should be automated so tests are run without intervention.

Signup and view all the flashcards

Set-up part

Initialize the system with the test case.

Signup and view all the flashcards

Call part

Call the object or method to be tested.

Signup and view all the flashcards

Assertion part

Compare call result with expected result.

Signup and view all the flashcards

Partition testing

Identify groups of inputs, processed in the same way.

Signup and view all the flashcards

Guideline-based testing

Use guidelines to choose test cases.

Signup and view all the flashcards

Equivalence partition

Classes where all members are related.

Signup and view all the flashcards

Parameter interfaces

Interfaces: data passed between methods.

Signup and view all the flashcards

Shared memory interfaces

Block of memory shared between procedures or functions.

Signup and view all the flashcards

Procedural interfaces

Subsystem encapsulates procedures called by other sub-systems.

Signup and view all the flashcards

Message passing interfaces

Subsystems request services from other subsystems.

Signup and view all the flashcards

Interface misuse

Calling component makes an error in interface use.

Signup and view all the flashcards

Interface misunderstanding

Component assumptions about called component's behavior are incorrect.

Signup and view all the flashcards

Timing errors

The called and calling components operate at different speeds.

Signup and view all the flashcards

System testing

Integrating components, testing interactions between them.

Signup and view all the flashcards

Use-case testing

Developed to identify system interactions - basis for system testing.

Signup and view all the flashcards

Testing policies

Testing policies define required system test coverage.

Signup and view all the flashcards

Test-driven development

Interleaving testing and code development.

Signup and view all the flashcards

Test-driven development

Tests written before code; passing is the critical driver.

Signup and view all the flashcards

Regression testing

Test suite developed incrementally as a program is developed.

Signup and view all the flashcards

Release testing

Testing a system release intended for use outside the development team.

Signup and view all the flashcards

Release testing

Black-box where tests are only derived from the system specification.

Signup and view all the flashcards

Requirements-based testing

Examining each requirement and developing tests for it.

Signup and view all the flashcards

Scenario testing

Involves testing a typical usage scenario to derive test cases.

Signup and view all the flashcards

Performance testing

Testing, system steadily increases until unacceptable performance.

Signup and view all the flashcards

Stress testing

Overloading a system to test its failure behavior.

Signup and view all the flashcards

User testing

Essential stage where users provide input and advice on testing.

Signup and view all the flashcards

Alpha testing

Users work with the development team to test at the developer’s site.

Signup and view all the flashcards

Beta testing

Software is made available to users to experiment and raise issues.

Signup and view all the flashcards

Acceptance testing

Customers test to decide whether ready to deploy.

Signup and view all the flashcards

Study Notes

Program Testing

  • The purpose of testing is to demonstrate that a program functions as expected and to identify defects before release.
  • Software testing involves executing a program with artificial data.
  • Test results are checked for errors, anomalies, and information related to non-functional attributes.
  • Testing reveals the presence of errors, but not their absence.
  • Testing is a component of verification and validation, incorporating static validation techniques.

Program Testing Goals

  • Software should meet requirements of both developer and customer.
  • Custom software requires at least one test per requirement in the document.
  • Generic software requires tests for all system features and their combinations in the product release.
  • Testing aims to uncover incorrect, undesirable, or non-conforming behaviors in the software.
  • Defect testing identifies system crashes, unwanted system interactions, incorrect computations, and data corruption.

Validation and Defect Testing

  • Validation testing involves using test cases reflecting the system's expected use to ensure correct performance.
  • Defect testing involves test cases designed to expose defects, which may be deliberately obscure and not reflective of normal system use.

Testing Process Goals

  • Validation testing demonstrates that the software meets its requirements for both the developer and customer.
  • Successful validation testing confirms that the system functions as intended.
  • Defect testing identifies faults where the software's behavior is incorrect or doesn't match the specification.
  • Successful defect testing causes the system to perform incorrectly, revealing defects.

Verification vs. Validation

  • Verification checks if we are building the product correctly, ensuring software conforms to its specification.
  • Validation checks if we are building the right product, ensuring the software meets user requirements.

Verification and Validation Confidence

  • Verification and Validation (V&V) aims to establish confidence that the system is 'fit for purpose'.
  • This depends on the system's purpose, user expectations, and the marketing environment.
  • Confidence level depends on software criticality for the organization.
  • User expectations vary depending on the software type.
  • Early market entry may be prioritized over finding defects.

Inspections and Testing

  • Software inspections analyze the static system representation to find issues, performing static verification.
  • These may include tool-based document and code analysis.
  • Testing involves exercising and observing product behaviour, known as dynamic verification.
  • The system is run with test data and operational behaviour is watched.

Software Inspections

  • Software inspections involve examining the source representation to discover anomalies and defects.
  • Inspections do not require execution, and can be used before implementation.
  • Inspections can be applied to any system representation including requirements, design, and test data.
  • Inspections are effective in discovering program errors.

Advantages of Inspections

  • Errors can mask other errors during testing, but inspections are static, eliminating concern for error interactions.
  • Incomplete system versions can be inspected without extra costs.
  • Program defects, compliance with standards, portability, and maintainability can be checked via inspection.

Inspections and Testing - Complementary Techniques

  • They are not opposing verification techniques.
  • Both should be used during the V & V process.
  • Inspections check for conformance with the specification.
  • Inspections cannot check non-functional characteristics like performance or usability.

Stages of Testing

  • Development testing aims to discover bugs and defects during the software development.
  • Release testing is performed by a separate team to test a complete system version before user release.
  • User testing involves users or potential users testing the system in their own environment.

Development Testing

  • Development testing are all testing activities by the system development team.
  • Unit testing tests individual program units or object classes, focusing on object or method functionality.
  • Component testing integrates individual units into composite components, focusing on component interfaces.
  • System testing integrates some or all components, testing the system as a whole and focusing on component interactions.

Unit Testing

  • Unit testing isolates individual components for comprehensive testing.
  • It is a defect testing process.
  • Units can be individual functions or methods, object classes with attributes and methods, and composite components with defined interfaces.

Object Class Testing

  • Complete test coverage should include testing all operations, setting and interrogating attributes, and exercising the object in all possible states.
  • Inheritance complicates object class tests because the information isn't localized.

Weather Station Testing

  • Test cases should be defined for weather reports.
  • Tests should cover weather calibration, startup, and shutdown.
  • Using a state model, identify state transition and event sequences.
  • Examples include Shutdown -> Running -> Shutdown, and Configuring -> Running -> Testing -> Transmitting -> Running.

Automated Testing

  • Unit testing should be automated whenever possible, avoiding manual intervention.
  • Automated unit testing uses testing frameworks like JUnit to write and run program tests.
  • Unit testing frameworks offer generic test classes that are extended to create test cases, and report on the success or failure.

Automated Test Components

  • The set-up initializes the system with inputs and expected outputs.
  • The call part executes the object or method being tested.
  • The assertion part compares the actual result to the expected result.

Choosing Unit Test Cases

  • Test cases should verify that the component functions as expected.
  • Test cases should reveal any component defects.
  • Types include tests reflecting normal operation, and tests based on experience of where common problems arise.

Testing Strategies

  • Partition testing identifies input groups with common characteristics processed in the same way.
  • Tests should be selected from each of these groups.
  • Guideline-based testing uses testing guidelines to choose test cases.
  • These guidelines reflect past experiences on common programmer errors.

Partition Testing

  • Input data and output results often fall into related classes.
  • Each of these classes is an equivalence partition, where the program behaves equivalently for each member.
  • Test cases should be chosen from each partition.

Testing Guidelines (Sequences)

  • Test software with sequences containing only a single value.
  • Use sequences of different lengths in different tests.
  • Derive tests to access the first, middle, and last elements of a sequence.
  • Test with sequences of zero length.

General Testing Guidelines

  • Choose inputs to force error messages.
  • Design inputs that overflow input buffers.
  • Repeat inputs many times.
  • Force invalid outputs.
  • Force computation results to be too large or too small.

Component Testing

  • Software components are often composite, made of interacting objects.
  • For the weather station, the reconfiguration component involves objects dealing with each aspect of reconfiguration.
  • Functionality of these objects is accessed through the component interface.
  • Composite component testing focuses on the behavior of the component interface.
  • Unit tests on individual objects within the component are presumed complete.

Interface Testing

  • Objectives are to detect faults due to interface errors or invalid assumptions.
  • Four types of interfaces: Parameter, Shared Memory, Procedural, Message Passing.

Interface Errors

  • Interface misuse: A calling component makes an error in its interface use.
  • Interface misunderstanding: A calling component assumes something about the called component’s behaviour that is wrong.
  • Timing errors: The called and calling components operate at different speeds.

Interface Testing Guidelines

  • Design tests with parameters at the extreme ends of their ranges.
  • Always test pointer parameters with null pointers.
  • Design tests that cause the component to fail.
  • Use stress testing in message passing systems.
  • Vary the order of component activation in shared memory systems.

System Testing

  • Involves integrating components to test the overall system.
  • The focus is on testing the interactions between components.
  • It checks component compatibility, correct interaction, and proper data transfer.
  • Emergent behavior of a system is tested.

System and Component Testing Integration

  • Components, reusable components, and off-the-shelf systems can be integrated.
  • Components from different team members may be integrated.
  • System testing is a team effort rather than an individual one.
  • Some companies may use a separate team without designer or programmer involvement for system testing.

Use-Case Testing

  • Use-cases for identifying system interactions can be the basis of system testing.
  • Each use-case involves several system components, forcing interactions to occur.
  • Sequence diagrams document the components/interactions being tested.

Test Cases Derived from Sequence Diagram

  • An input request should have an acknowledgement, and ultimately a report should be returned.
  • Create summarized data to check the report is correctly organized.
  • An input request to WeatherStation should generate a summarized report.
  • Testing involves raw data to test SatComms and WeatherStation object, also used to test WeatherData object.

Testing Policies

  • Exhaustive system testing is impossible, so policies define required system test coverage.
  • Policies include: Testing all menu functions, testing combinations of functions accessed through the same menu and testing all functions with correct/incorrect user input.

Test-Driven Development (TDD)

  • TDD interweaves testing and code development.
  • Tests are written before the code, and ‘passing’ tests critically drives development.
  • Code is developed incrementally with a test for each increment, progressing only when the code passes the test.
  • Introduced in agile methods like extreme programming, but applicable in plan-driven processes.

TDD Process Activities

  • Identify the increment of functionality, which should be small and implementable in a few code lines.
  • Write a test for that function and implement as automated test.
  • Run all tests, including the new one; initially, the new test will fail.
  • Implement the functionality and rerun the tests.
  • After all tests run successfully, the next part can be implemented.

Benefits of Test-Driven Development

  • Every code segment has at least one associated test.
  • A regression test suite is developed incrementally.
  • Debugging is simplified because the problem source is obvious.
  • The tests themselves act as documentation.

Regression Testing

  • Checks that changes haven't ‘broken’ previously working code.
  • Expensive in manual testing, but automated testing makes it simple.
  • All tests must run ‘successfully’ before the change is committed.

Release Testing

  • Involves testing a particular system release for use outside the development team.
  • The primary goal is to ensure the system is good enough for use; it delivers specified functionality and does not fail during normal use.
  • Tests are derived from the system specification.

Release Testing and System Testing - Key Differences

  • A separate testing team should be responsible for release testing.
  • System testing focuses in discovering bugs in the system (defect testing).
  • Release testing is to check the system meets requirements and is good for external use (validation testing).

Requirements-Based Testing

  • Examines each requirement and developing a test for it.
  • Mentcare system requirements: if a patient is allergic to a medication, a warning must appear and if a prescriber ignores the warning they must provide a reason.

Requirements Tests

  • Scenarios include: testing with no allergies, known allergies, multiple allergies and to check the specific warnings related to each case including the ability to overrule medication.

Features Tested by Scenario

  • Authentication by logging on to the system
  • Downloading and uploading of specified patient records to a laptop
  • Home visit scheduling
  • Encryption and decryption of patient records on a mobile device
  • Record retrieval and modification
  • Links with the drugs database
  • System prompting function

Performance Testing

  • Can test emergent properties like performance and reliability.
  • Tests should reflect system use.
  • Performance tests involve increasing load until system performance degrades.
  • Stress testing deliberately overloads the system to test its failure behavior.

User Testing

  • Users provide input and advice on system testing.
  • User testing is essential because the influences from user’s environment cannot be tested.

Types of User Testing

  • Alpha Testing: Users work with the development team to test the software.
  • Beta Testing: Users experiment with the software and highlight any problems to the developers.
  • Customers test a system to decide if it is ready to be accepted.

The Acceptance Testing Process

  • Define acceptance criteria
  • Plan acceptance testing
  • Derive acceptance tests
  • Run acceptance tests
  • Negotiate test results
  • Reject/accept the system

Stages in The Acceptance Testing Process

  • Define acceptance criteria
  • Plan acceptance testing
  • Derive acceptance tests
  • Run acceptance tests
  • Negotiate test results
  • Reject/accept system

Agile Methods and Acceptance Testing

  • In agile methods, the user/customer is part of the team and decides on the system’s acceptability.
  • Tests are defined by the user/customer and are integrated with other tests.
  • There is no separate acceptance testing process.
  • The embedded user might not be ‘typical’ and represent stakeholder interests.

Key points

  • Testing shows the presence of errors but cannot prove their absence.
  • Development testing is the software team's responsibility.
  • A distinct team should be responsible for testing.
  • Development testing includes unit, component, system testing.
  • Break the software using test cases proven to discover defects in other systems.
  • Tests should be automated, where possible.
  • Test-first development involves writing tests before code.
  • Scenario testing involves using a typical scenario to derive test cases.
  • Acceptance testing assesses deployment readiness.

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 Overview
24 questions

Software Testing Overview

IdyllicCarnelian9484 avatar
IdyllicCarnelian9484
Software Testing Fundamentals
41 questions

Software Testing Fundamentals

WellManneredIntegral4531 avatar
WellManneredIntegral4531
Software Testing Part 1
5 questions

Software Testing Part 1

StylishSpessartine avatar
StylishSpessartine
Software Testing Chapter 6
31 questions
Use Quizgecko on...
Browser
Browser