Chapter 22: Software Testing Strategies

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

What is antibugging?

- a characteristic of desirable design where error conditions are anticipated and the appropriate error-handling paths are established

What is thread-based testing?

- a form of integration testing that integrate the set of classes required to respond to one input or event for the system

What is system testing?

- testing focused on the software in tandem with other elements - verifies that all elements work together properly and overall system function is achieved

What is regression testing?

- testing re-executes a subset of previous tests to ensure that the addition of new modules have not propagated unintended consequences or behaviors

What is smoke testing?

- testing strategy that frequently assesses a project - intended for time-critical projects

What is sensitivity testing?

- testing that attempts to uncover data combinations of valid inout classes that may cause instability or improper processing

What is security testing?

- testing that attempts to verify that protection mechanisms built into a system will protect it from improper penetration

What is stress testing?

- testing that executes a system in a way that demands resources in abnormal quantities, frequencies, or volume

What is deployment (configuration) testing?

- testing that exercises the software in various environments in which it is to operate in addition to installation procedures

What is performance testing?

- testing that tests the run-time performance of software within the context of an integrated system to determine if they conform to performance requirements

What are the challenges associated with OO unit testing?

- testing the method at the lowest level is not sufficient, as that method may be inherited from a distant superclass - the methods must be tested at all points along the inheritance chain

What are the types of classes of test cases in a regression test suite?

- tests that exercises all software functions - tests that focus on software likely to be affected by change - tests that focus on the changed components

What is fault tolerance?

- the ability for a system to resume processing in the event that a particular processing action fails - the ability for a system to resume processing within a specific period of time

What is bottom-up integration testing?

- the construction/testing of software from the lowest-level (atomic) components in the program structure

What is breadth-first integration?

- the integration of components directly below each level

What is depth-first integration?

- the integration of components on a major control path of the program structure

What is tested first in unit testing?

- the modules interface (to ensure data flows in and out of the module properly)

What is debugging?

- the process of removing errors that cause a software error or defect

What is verification?

- the set of tasks that ensure that software correctly implements a specific function

What is the role of the designer in system security?

- to make penetration cost more than the value of the information that will be obtained

What does validation testing focus on?

- user-visible actions - user-recognizable output

What is the broader area that software testing falls under?

- verification and validation

What is use-based testing?

- a form of integration testing where classes that use server classes are tested (independent classes using server classes) - later, dependent classes (ones that use independent classes) are tested

What is clustering?

- a form of testing in which a cluster of collaborating classes (from CRC model) is exercised by designing test cases that attempt to uncover errors in those collaborations

What is a deficiency list?

- a list of specifications from which the system has deviated, found during validation testing

What is a driver?

- a main program that accepts test-case data and passes that data to the module to be tested

What is a configuration review?

- a part of the validation process that attempts to ensure that all elements of the software configuration have been properly developed, are cataloged, and have the necessary detail to bolster the support activities

What is testing?

- a set of activities that can be planned in advance and conducted systematically

What is validation?

- a set of tasks that ensure that the software that is built is traceable to customer requirements

What is recovery testing?

- a system test that forces the software to fail in a variety of ways and verifies that recovery is proper performed

What is an independent test group (ITG)?

- a team whose responsibility is to uncover errors - works closely with software developer - an active participant in analysis/design - reports to a SQA organization which helps reduce/eliminate conflict of interest

What is an alpha test?

- a test performed by an end-user in a controlled environment at the developer site, typically with the developer present

What is a beta test?

- a test performed by an end-user in an end-user, uncontrolled site/environment without the developer present

What is customer acceptance testing?

- a variation on beta-testing when custom software is delivered to a customer under contract

What is in a build?

- all data files, libraries, reusable modules, and engineered components that are required to implement 1+ product functions

What is top-down integration testing?

- an incremental approach starting from the main program (main control module) and traversed downward in a DFS or BFS approach

Where are errors likely to occur?

- at the boundaries (min/max) of things such as loops and data structures

When does validation testing occur?

- at the culmination of integration testing

What is the location of decisions in well-factored programs?

- at upper levels of the program hierarchy

What are three debugging strategies?

- brute force - backtracking - cause elimination (by induction/deduction)

What is the equivalent of traditional unit testing in OO unit testing?

- class testing

What are stubs?

- code that replaces modules that are invoked by the component to be tested

What are the risks that occur at interfaces?

- data loss - unintended consequences - adverse effect on another module - incorrect result from various subfunctions

What is cause elimination?

- data related to the error occurrence are organized to isolate potential causes

What is the scope change of software testing over time?

- early testing: single components or small groups of components - later testing: system-wide testing

What direction does testing flow from in a spiral?

- from the innermost part (unit testing) to outermost (system testing)

What are clusters (builds)?

- groupings of low-level components that perform a specific software subfunction

What testing is the software developer responsible for?

- individual units/components - integration testing

What are the benefits of smoke testing?

- integration risk is minimized - the quality of the end product is improved - error diagnosis and correction are simplified - progress is easier to assess

What is brute force debugging?

- look at all the information outputted from the system and hope that you find a clue

What top-down integration verifies early on in the testing process?

- major control or decision points

What is the smallest testable unit in OO unit testing?

- methods

What is interfacing?

- putting individual modules together

What describes all user-visible attributes of the software?

- software requirements specification

What is backtracking?

- source code is traced backwards until the cause is found

What must be incorporated into any testing strategy?

- test planning - test-case design - test execution - resultant data collection - evaluation

What is validation testing?

- testing focused on ensuring that the software built matches the initial requirements

What is unit testing?

- testing focused on individual units of software implemented in the source code - testing specific paths in a component's control structure to ensure maximum coverage and error detection - internal processing logic and data structures are tested

What is integration testing?

- testing focused on the design and construction of the software architecture - a systematic technique for constructing the software architecture while concurrently conducting tests to uncover interfacing errors


Kaugnay na mga set ng pag-aaral

4.17.T - Lesson: Satire in A Modest Proposal Questions

View Set

Introducing Lifespan Development

View Set

Adobe indesign Gmetrix, Indesign Certification, InDesign/Gmetrix Review, InDesign Certification Practice, GMETRIX 2015 TEST 2, InDesign CC 2015 Test 1 Training, InDesign CC 2015 StudyGuide Review, Adobe InDesign CC 2015 Certification Review, Adobe In...

View Set

Six Essential Elements of Geography

View Set

Truman/Cold War/1948 Election Terms

View Set