U11

Cards (30)

  • Assertion mechanisms
    Allow pre-and post condition encoding in methods, independently of program logic
  • Measure for Integrity
    Considering the proportion of 'attacks' on a product
  • Maintainability measuring
    Measured indirectly using mean time to change (MTTC)
  • MTTC
    The average of the times it takes to analyze a bug report, design an appropriate modification, implement the change, test it and distribute the change to all users
  • Usability testing
    Involves users systematically trying out the user interface
  • Heuristic review
    Can be used to make substantial improvements to user interfaces without involving users
  • Verification
    Process of ensuring that the product being built 'right'
  • Validation
    Process of checking that the developer is building the 'right' product
  • Consistency with a customer requirement
    Means that the requirement is met
  • Self-inconsistency
    If two descriptions of the same part of the system contradict each other
  • Completeness
    Every aspect of customer's requirements must be met by system description
  • Approaches to promote testing throughout development
    • Prototyping
    • Iterative approaches
    • Frameworks: dynamic systems development method (DSDM)
  • Testing types
    • Usability testing
    • Developmental testing
    • Requirements-based testing
    • Regression testing
  • Testing is an essential part of developing software
  • Java and eiffel support assertion mechanisim
  • JUnit is framework used in Java to test units
  • Black box testing
    Test if customer's requirements are handled correctly by an implementation
  • Black box testing strategy
    1. Determine the input data space
    2. Partition the input data space into sub domains
    3. Test all sub domains given by the case analysis
  • problem of black box testing and white box testing
    • black box problem:poor coverage and doesn’t consider dependency. white box problem: Doesn’t consider costumer requirements
  • White box testing
    Check that the details of an implementation are correct
  • White box testing strategy
    1. Basis-path testing (Determine the cyclomatic complexity of the flow & Count independent paths)
    2. Loop testing
  • System testing
    1. User-command testing (or operator testing)
    2. Interface and protocol testing
    3. Start-up and initialization testing
    4. Restart testing
    5. Performance testing
    6. Stress testing
    7. Security testing
    8. Acceptance testing
  • User-command testing (or operator testing)
    Tests all user commands from the point of view of tolerance to syntax errors and data input errors
  • Interface and protocol testing
    If the system communicates with other systems in the outside world, tests its interaction with the communication system
  • Start-up and initialization testing
    Tests the system's ability to be started in a working hardware/software configuration
  • Restart testing
    Tests the ability of the system to recover from errors of internal state
  • Performance testing
    Tests that the system meets all specified operating requirements for speed, number of concurrent users permitted, etc.
  • Stress testing
    Tests that the system can operate reliably at the limits of each of its resources (for example, to stress test a web server, we may simulate the accesses of hundreds or thousands of users all at the same time to see if it can cope with the load)
  • Security testing
    Tests that the system does not offer opportunities to breach security
  • Acceptance testing
    Performed by the customer and after which, all being well, the system is accepted