Saturday, 15 December 2012

Software Testing: An ISEB Intermediate Certificate Book By Brian Hambling & Angelina Samaroo

Recommended Book: Software Testing, An ISEB Intermediate Certificate Book By Brian Hambling & Angelina Samaroo

Let another great book by Brian Hambling whom has greatly excelled himself once again. This book is ideal for people whom already have a foundation in software testing but want to move to the next level at intermediate. 256 pages of quality content with well explained explanations and rational. Definitely a must read for aspiring IT Test Managers. This book can be bought on or locally any popular bookstore like Waterstones.

Software Testing, An ISTQB-ISEB Foundation Guide By Brian Hambling, Peter Morgan, Angelina Samaroo and Geoff Thompson

Recommended Book, Software Testing, An ISTQB-ISEB Foundation Guide By Brian Hambling, Peter Morgan, Angelina Samaroo and Geoff Thompson


I really recommend this book, it has 224 pages of quality content. Written by Brian Hambling, Peter Morgan, Angelina Samaroo and Geoff Thompson. This book can be bought from or in any book retail outlet. I used this book to pass the ISEB Software Foundation personally last year with flying colours to supplement the exam papers in which I bought from:


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

Tuesday, 30 October 2012

Who uses Static Test Analysis?

Who uses Static Test Analysis?

Static analysis tools are typically used by developers (checking against predefined rules or programming standards) before and during component and integration testing, and by designers during software modeling. Static analysis tools may produce a large number of warning messages, which need to be well managed to allow the most effective use of the tool.


What are the defects found in Static Test Analysis?

What are the defects found in Static Test Analysis?

Defects found by Static Test Analysis could be:
  • Referencing a variable with an undefined value;
  • Inconsistent interface between modules and components;
  • Variables that are never used;
  • Unreachable (dead) code;
  • Programming standards violations;
  • Security vulnerabilities;
  • Syntax violations of code and software models.

What is the benefits of Static Testing Analysis?

What is the benefits of Static Testing Analysis?

  • Early detection of defects prior to test executions
  • Early warning about suspicious aspects of the code or design, by the calculation of metrics, such as a high complexity measure.
  • Identification of defects not easily found by dynamic testing.
  • Detecting dependencies and inconsistencies in software models, such as links.
  • Improved maintainability of code and design.
  • Prevention of defects, if lessons are learned in development

What is the objective of Static Testing

What is the objective of Static Testing? 

 The main objective of static testing is:
  • The objective of static analysis is to find defects in software source code and software models.
  • Static analysis is performed without actually executing the software being examined by the tool; dynamic testing does execute the software code.
  • Static analysis can locate defects that are hard to find infesting.
  • As with reviews, static analysis finds defects rather than failures.
  • Static analysis tools analyze program code (e.g. control flow and data flow), as well as generated output such as HTML and XML.

What is a successful software testing review?

What is a successful software testing  review?

In software Testing a sucessful review consists of:

  • Each review has a clear predefined objective.
  • The right people for the review objectives are involved.
  • Defects found are welcomed, and expressed objectively.
  • People issues and psychological aspects are dealt with (e.g. making it a positive experience
  • for the author).
  • Review techniques are applied that are suitable to the type and level of software work
  • products and reviewers.
  • Checklists or roles are used if appropriate to increase effectiveness of defect identification
  • Training is given in review techniques, especially the more formal techniques, such as
  • inspection.
  • Management supports a good review process (e.g. by incorporating adequate time for review
  • activities in project schedules).
  • There is an emphasis on learning and process improvement.

What is an inspection in software testing?

What is an inspection in software testing?

The key characteristics of an Inspection consists of:

  • Led by trained moderator (not the author);
  • Usually peer examination;
  • Defined roles;
  • Includes metrics;
  • Formal process based on rules and checklists with entry and exit criteria;
  • Pre-meeting preparation;
  • Inspection report, list of findings;
  • Formal follow-up process;
  • Optionally, process improvement and reader;
  • Find defects.

What is a technical Review?

What is a technical Review?

In Software Testing a Technical Review consists of:

  • Documented, defined defect-detection process that includes peers and technical experts;
  • May be performed as a peer review without management participation;
  • Ideally led by trained moderator (not the author);
  • Pre-meeting preparation;
  • Optionally the use of checklists, review report, list of findings and management participation;
  • May vary in practice from quite informal to very formal;
  • Main purposes: discuss, make decisions, evaluate alternatives, find defects, solve technical
  • Problems and check conformance to specifications and standards.

What is an informal review?

What is an informal review?

In Software Testing an Informal Review consists of:

  • No formal process;
  • There may be pair programming or a technical lead reviewing designs and code;
  • Optionally may be documented;
  • May vary in usefulness depending on the reviewer
  • Main purpose: inexpensive way to get some benefit

  • What is a walkthrough?

    What is a walkthrough?

    In software testing a walkthrough consists of:
    • meeting led by author;
    • scenarios, dry runs, peer group;
    • open-ended sessions;
    • optionally a pre-meeting preparation of reviewers, review report, list of findings and scribe
    • may vary in practice from quite informal to very formal; 
    • main purposes: learning, gaining understanding, defect finding