• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/24

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

24 Cards in this Set

  • Front
  • Back

Causes of software defects

Errors, mistakes, defects, faults, bugs, failure



Error or Mistake:

a human action that produces an incorrect result.

Defect, Fault or Bug:

a flaw in code, software, system or document that can cause it to fail to perform its required function

Failure

actual deviation of the component or system from its expected delivery, service or result.

Objectives of Testing

-Find defects


-Gain confidence about the level of quality of a system


-Providing information for decision-making P-reventing future defects

Debugging vs.Testing

-Testing can find defects or can generatefailures


-Debugging is the process of fixing the defectthat was found or that caused the failure

Seven TestingPrinciples

Principle1 – Testing shows presence of defects Principle2 – Exhaustive testing is impossible Principle3 – Early testingo "Testingactivities shall be started as early as possible"· Principle4 – Defect clusteringo "Testingeffort shall be focused proportionally"o “Bugsare social creatures – they hang around together”·


Principle5 – Pesticide paradoxo Softwarebecomes “immune” to the same tests· Principle6 – Testing is context dependent Principle7 – Absence-of-errors fallacy

Preventative Test Planning and Control

to start activities as soon as possible to prevent problems arising

Reactive Testing

Respondig to the situation once the software is delivered

Test control has the following major tasks:

-Measuring and analyzing results


-Monitoring and documenting progress, test coverage and exit criteria


-Making decisions and initiating corrective actions

Test Analysis and Design

-Review the documents that describe what the system should do


-Review the software integrity level and risk analysis reportsIdentify test conditions


-Design test cases


-Traceability between test conditions and test cases should bemaintained


-Test environment is designed

Test Implementation and Execution

-Writing test procedures or test scripts


-Creating or acquiring the test data


-Implementing the expected results


-Purpose of test execution is to execute all of the test cases


-Order in which the test cases are executed is significant

Evaluating Exit Criteria and Reporting

-Exit criteria were set in the Test Plan, and are now checked to see whether or not we have achieved them


-Write a Test Summary Report

Test Closure Activities

-Checks are made that the correct deliverables have been produced and delivered to the right destinations


-Incident reports should also be checked


-Testware should be finalized, archived and handed over to those who will be responsible for maintaining it


-Test environment should either be closed down or handed over


-Post-project review should be held

Sequential Software Development Models

V-Model, W-Model, Waterfall

Verification and Validation

-Validation is more from a user's perspective


-Verification is more concerned with internal workings

Iterative - Incremental Development Models

-Prototyping (Rapid Prototyping),


-Rapid Application Development,


-Rational Unified Process,


-Agile Development Methods

Prototyping (Rapid Prototyping)

-Try something out (business or technical) -“Running”software, not full “working” software (not production quality), intentionallyincomplete


Usesof prototypes:


-Throw-away(learning what we should have built)


-Pre-production(developed further)


-Requirementbasis (what the system should do)


-Testbasis (compare production version)


-Experimental,evolutionary, exploratory

Rapid Application Development

Characteristics


-Users, designers, testers and developers on the team


--Jad = joint application development (similar idea)


-Product developed in time-boxes


-Number of iterations not known at start


-Development of an iteration depends on feedback from earlieriteration(s)

Rational Unified Process

An iterative software design method


-From Rational Software Corp, now part of IBM


-a process framework/meta-model


-Designed to be tailored for each situation


-There are 6 best practices

6 "best practices" in Rational Unified Process

-Develop software iteratively


-Manage requirements


-Component based architecture


-Visually model software


-Verify software quality


-Control changes

Agile Development Methods

-Best known: "extreme programming"


-Values: communication, simplicity, feedback, courage


-Practices: planing game, small releases, metaphor, simple design, testing (tests written first and automated), refactoring, pair programming, collective ownership, continuous integration, 40-hour week, on-site customer, coding standards


Good Testing Within a Lifecycle Model

-A corresponding test activity for every development activity (most visible in V-model)


-Each test level has a corresponding objective specific to that level


-Analysis and design of tests should begin during the corresponding development activity for each level


-Testers should be involved in reviewing documents as soon as possible in the lifecycle, even if they are only draft versions

Component Testing