Sunday, 4 November 2012

What is a Configuration Management Tool?

What is a Configuration Management Tool?

Configuration management (CM) tools are not strictly testing tools, but are typically necessary to keep track of different versions and builds of the software and tests.

The benefit of a configuration management tool are:

  • Store information about versions and builds of software and testware.
  • Enable traceability between testware and software work products and product variants.
  • Are particularly useful when developing on more than one configuration of the hardware/software environment (e.g. for different operating systems)

What are the benefits of Test management tools?

What are the benefits of Test management tools?

The characteristics of test management tools include:

Support for the management of tests and the testing activities carried out.
  • Interfaces to test execution tools, defect tracking tools and requirement management tools.
  • Independent version control or interface with an external configuration management tool.
  • Support for traceability of tests, test results and incidents to source documents, such as requirement specifications.
  • Logging of test results and generation of progress reports. Quantitative analysis (metrics) related to the tests (e.g. tests run and tests passed) and the test object (e.g. incidents raised), in order to give information about the test object, and to control and improve the test process.

What is LCSAJ Testing?

What is LCSAJ Testing?

LCSAJ stands for Linear Code Sequence And Jump) is defined as a linear sequence of executable code commencing either from the start of a program or from a point to which control flow ay jump and terminated either by a specific control flow jump or by the end of the program. It may contain predicates which must be satisfied in order to execute the linear code sequence and terminating jump.


Some reformatting may be needed to allow LCSAJs to be expressed in terms of line numbers. The
basic reformatting rule is that each branch must leave from the end of a line and arrive at the start of a line.

Consider the following program which is designed to categorise positive integers into prime and nonprime, and to give factors for those which are non-prime. Note that integer division is used, so Num DIV 2 will give a value of 2 when Num = 5, for example. The code on line 5 calculates the remainder left after Factor is divided into Num. For example, if Factor is 5 and Num is 13, the expression evaluates to 3. For reasons of simplicity, the program makes no checks on the input.

1   READ (Num);
2      WHILE NOT End of File DO
3      Prime := TRUE;
4          FOR Factor := 2 TO Num DIV 2 DO
5             IF Num - (Num DIV Factor)*Factor = 0 THEN
6              WRITE (Factor, ` is a factor of', Num);
7              Prime := FALSE;
8              ENDIF;
9             ENDFOR;
10           IF Prime = TRUE THEN
11          WRITE (Num, ` is prime');
12        ENDIF;
13      READ (Num);
14     ENDWHILE;
15 WRITE (`End of prime number program');

Friday, 2 November 2012

What is Regression Testing?

What is Regression Testing?

Regression Testing is retesting sub-systems/modules/units to insure that modifications to one sub-system/module/unit does not cause unexpected results in another area. This is also known as ripple effect testing. It is said there is up to 50% chance that changing code can have a serious negative effect on another area.

The benefits of Regression Testing are:

  • Find newly developed faults in unrelated area of code caused by modification.
  • The earlier faults detected the cheaper it is to fix.
  •  Installs discipline within the Test Engineers to be thorough

What is Black Box Testing?

What is Black box testing?

Black box techniques don't explicitly use knowledge of the internal structure or code. i.e. the Test Engineer doesn't need to know the internal working of the Black box or application.

The advantages of black box can be:
  • Tester can be non-technical.
  • Ideal for UAT by End User or Business Analyst
  • Used to verify contradictions in actual system and the specifications.
  • Test cases can be designed as soon as the functional specifications are complete

The disadvantages can be:
  • The test inputs needs to be from large sample space.
  • It is difficult to identify all possible inputs in limited testing time. So writing test cases is slow and difficult
  • Chances of having unidentified paths during this testing