Showing posts with label Testing Phase. Show all posts
Showing posts with label Testing Phase. Show all posts

Thursday, May 1, 2008

Program Debugging

There are 3 different approaches to debugging and they includes:

  • Induction Approach
  • Deduction Approach
  • Intuition Approach

Friday, March 7, 2008

Difficulties in Program Walkthrough

As testing should be done by someone else, some difficulties of a Program Walkthrough includes:
  • cannot depend on human eyes
  • Programmers would be reluctant
  • difficulties in inviting external party
  • resources

Structural Testing in SDLC

Continuing on the Structural Testing:

  • More powerful form of test is Path Coverage
  • This strategy ensures that all statements in the program are executed at least once and conditional statements are tested for both true and false cases
  • The starting point is to derive a program flow graph
  • A flow graph consists of nodes representing decisions and edges showing flow of control
  • Tester must not be seduced into thinking that such testing is adequate
  • Cyclomatic complexity is a measure of the program's control complexity. The data complexity is not taken into account
  • Program fragments which are equivalent in function may not have the same cyclomatic complexities
  • It is generally true that the # of paths through a program is proportional to its size. Thus, as modules are integrated into systems, it is unfeasible to use structural testing techniques.

Friday, February 22, 2008

What is Structural Testing

Structural Testing includes:
  • Cover structure, quality and style.

  • Implementation based.

  • Best done by programmer.

  • Not aiming at testing functions or detecting missing functions.

  • The tester analyses the code and use knowledge about the structure of a component to derive the test data.

  • Simplest form of testing includes:
    - Statement coverage
    - Branch coverage

Cause-effect Analysis

Another analysis you should consider in Functional Testing is Cause-effect Analysis. This includes:
  • Even when a program operates successfully for individual test inputs, combinations of these inputs may detect program errors.

  • Involves examining the output and analysing to see if combinations of input partitions always cause outputs in the same output partition to be producted.

  • The causes of these effects used as test cases.

Boundary Value Analysis

In Functional Testing, one of the consideration is Boundary Value Analysis. This includes:

  • Input conditions are 'edges' of equivalence class.

  • Values like above and below range, minimum and maximum number and up to the array limit.

Saturday, January 12, 2008

What is Equivanlence Testing

Equivalence Testing is:
  • Input conditions are partitioned into Equivalence Classes.

  • Classes like specific numeric value, range of values and set of related values.



Example:

A database state that the product must be able to handle any no of records from 0 to 100,000.

Art of Testing in SDLC

Art of testing is to set up a small, manageable set of test cases in such a way as to maximize the chances of detecting a fault while minimizing the chances of wasting a test case by having the same fault detected by more than one test case.

The technique use is Equivalence Testing + Boundary Vaule Analysis + Cost Effect Analysis

Monday, January 7, 2008

Functional Testing - SDLC

What is Functional Testing?

  • It is function oriented.

  • Test cases prepared by looking at logic from outside just as though it was a black box.

  • Concentration on the verification process.


So what should be considered in this functional testing black box?

  • Under waht conditions would we not perform the test?

  • What should we know and need to know about the input and output?

  • What can we state about our assumptions and expectations?

  • How much must we know about the intended use of the system?

  • How important are the various attributes and how much can we trade one off again another?

  • What is the one factor against wich all others can be judged?

Module Testing

For testing, there are 2 ways of systematically contructing test data to test a module. These include:

  • Functional Test
    To test according to the specification.

  • Structural Test
    Testing on the code.