1 / 5

Testability

Testability. Software testability refers to the ease with which software can be made to demonstrate its faults through (typically execution-based) testing. Testability. Testability Tactics. Testability Tactics. Control and Observe System State

phoebe
Download Presentation

Testability

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Testability Software testability refers to the ease with which software can be made to demonstrate its faults through (typically execution-based) testing.

  2. Testability

  3. Testability Tactics

  4. Testability Tactics • Control and Observe System State • Specialized interfaces: specialized testing interfaces to control or capture variable values for a component either through a test harness or through normal execution. • Record/playback: capturing information crossing an interface and using it as input for further testing, by recreating the faulty state. • Localize state storage: store state in a single place for start a system in an arbitrary state for a test. • Abstract data sources: abstracting data access interfaces for easy substitution of test data for test purpose. • Sandbox: isolating an instance of the system from real world to enable experimentation that is unconstrained by the worry about having to undo the consequences of the experiments. • Executable assertions: assertions are hard-coded and placed at desired locations to indicate when and where a program is in a faulty state.

  5. Testability Tactics • Limit Complexity • Limit structural complexity: avoiding or resolving cyclic dependencies between components, isolating and encapsulating dependencies on the external environment, reducing dependencies between components in general. • Limit non-determinism/behavioral complexity: finding all sources of non-determinism (usually in parallel/concurrent computation) and weeding them out as much as possible.

More Related