Test Management Approach
Encyclopedia
Test management approach (TMap) is a software testing
Software testing
Software testing is an investigation conducted to provide stakeholders with information about the quality of the product or service under test. Software testing can also provide an objective, independent view of the software to allow the business to appreciate and understand the risks of software...

 methodology. TMap is a method which combines insights on how to test and what to manage, as well as techniques for the individual test consultant.

History

The first method was created in 1995 and written by Martin Pol, Ruud Teunissen en Erik van Veenendaal. At the end of 2006 a new version was published called TMap Next written by other authors (Tim Koomen, Michiel Vroon, Leo van der Aalst & Bart Broekman). The main reason for this new version was the aim to create a more process focussed description of the test process and put more emphasis on the business objectives as a guidance for the testing process.

TMap was created by the Dutch division of Sogeti
Sogeti
Sogeti is a wholly owned subsidiary of Cap Gemini Group. It is an international information technology consultancy specializing in local professional services. Sogeti employs 20,000 people in 15 countries. Sogeti developed Test Management Approach....

 which is part of Capgemini
Capgemini
Capgemini is a French global IT services company, one of the world's largest management consulting, outsourcing and professional services companies with a staff of 114,274 operating in 40 countries. It is headquartered in Paris and was founded in 1967 by Serge Kampf, the current chairman, in...

.

Although TMap is a Dutch product by origin, the method has been translated into French, German and English.

The importance of testing

There are risks involved in changes. Introducing new information systems is a major change for a lot of organisations and it is wise to manage these risks. This is called enterprise risk management
Enterprise Risk Management
Enterprise risk management in business includes the methods and processes used by organizations to manage risks and seize opportunities related to the achievement of their objectives...

.

Business-driven test management

(BDTM). The test manager can manage the process on 4 aspects (time, costs, risks, and results).

Structure

TMap Next has phases that each test has to go through:
  • Plan
    Plan
    A plan is typically any diagram or list of steps with timing and resources, used to achieve an objective. See also strategy. It is commonly understood as a temporal set of intended actions, through which one expects to achieve a goal...

    ;
  • Preparation
    Preparation
    Preparation may refer to:* Preparedness* Prepared food* Prepared supplement* Prepared drug* Prepared dosage form* Preparation , the method by which a tooth is prepared when removing decay and designing a form that will provide adequate retention for a dental restoration* Preparation , treatment of...

    ;
  • Specification;
  • Execution;
  • Evaluation
    Evaluation
    Evaluation is systematic determination of merit, worth, and significance of something or someone using criteria against a set of standards.Evaluation often is used to characterize and appraise subjects of interest in a wide range of human enterprises, including the arts, criminal justice,...

    .

and the two extra phases:
  • Infrastructure
    Infrastructure
    Infrastructure is basic physical and organizational structures needed for the operation of a society or enterprise, or the services and facilities necessary for an economy to function...

    ;
  • Management
    Management
    Management in all business and organizational activities is the act of getting people together to accomplish desired goals and objectives using available resources efficiently and effectively...

    .

Flexible

TMap allows for adaptation to the environment, including agile and scrum
Scrum (development)
Scrum is an iterative, incremental framework for project management often seen in agile software development, a type of software engineering....

.

Planning

In this phase a risk analysis
Risk analysis
Risk Analysis may refer to:*Quantitative risk analysis*Risk analysis **Probabilistic risk assessment, an engineering safety analysis*Risk analysis *Risk Management*Risk management tools* Certified Risk Analyst...

 of the product is carried out, and a test strategy
Test strategy
A test strategy is an outline that describes the testing portion of the software development cycle. It is created to inform project managers, testers, and developers about some key issues of the testing process...

 is developed. The budget and test plan
Test plan
A test plan is a document detailing a systematic approach to testing a system such as a machine or software. The plan typically contains a detailed understanding of what the eventual workflow will be.-Test plans:...

s are made. Choices are made about the products to be delivered, the test infrastructure and the test organisation. The master test plan usually has to be signed off by the business (client).

Testing during development

Testing can be done at the end of the process where the end-product is tested against the requirements, or it can be done in an earlier phase, during development. During development, what can be tested are the available elements. What can be tested depends on the software testability
Software testability
Software testability is the degree to which a software artifact supports testing in a given test context....

.
Testing during the development phase is the review of documentation, and the testing of small parts of the system as soon as they are ready for testing. It is partly static testing
Static testing
Static testing is a form of software testing where the software isn't actually used. This is in contrast to dynamic testing. It is generally not detailed testing, but checks mainly for the sanity of the code, algorithm, or document. It is primarily syntax checking of the code and/or manually...

 and white-box testing. Examples are: test-driven development
Test-driven development
Test-driven development is a software development process that relies on the repetition of a very short development cycle: first the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new...

, pair programming
Pair programming
Pair programming is an agile software development technique in which two programmers work together at one workstation. One, the driver, types in code while the other, the observer , reviews each line of code as it is typed in...

, code review
Code review
Code review is systematic examination of computer source code. It is intended to find and fix mistakes overlooked in the initial development phase, improving both the overall quality of software and the developers' skills...

, continuous integration
Continuous integration
In software engineering, continuous integration implements continuous processes of applying quality control — small pieces of effort, applied frequently...

 and application integration. In Agile testing
Agile testing
Agile testing is a software testing practice that follows the principles of agile software development. Agile testing does not emphasize testing procedures and focuses on ongoing testing against newly developed code until quality software from an end customer's perspective results...

 testing is carried out early in the process.

System and acceptance testing

Although system testing
System testing
System testing of software or hardware is testing conducted on a complete, integrated system to evaluate the system's compliance with its specified requirements. System testing falls within the scope of black box testing, and as such, should require no knowledge of the inner design of the code or...

 and acceptance testing are different phases they do have a lot of things in common.

Test results, issues, bugs, problems and show-stoppers

Test results should be documented. This can be done in a simple word document, a spreadsheet, a database or even using specialized applications to manage the findings. It should be clear at any point how many test cases or test scripts are run, how many bugs are found and how many of them are still open. In the beginning of the test process the number of discovered bugs, issues, problems and show-stoppers will grow. They are of course reported back to the developers, who will try to resolve the problems after which they have to be retested, resulting in a diminishing number of open issues and at some point a growing feeling of confidence in the new system.

Test design

A test design is made after the planning. Subjects are:
create, read, update and delete and boundary value analysis
Boundary value analysis
Boundary value analysis is a software testing technique in which tests are designed to include representatives of boundary values. Values on the minimum and maximum edges of an equivalence partition are tested. The values could be either input or output ranges of a software component...

.

Test methods

Tmap uses and describes the following test method
Test method
A test method is a definitive procedure that produces a test result.A test can be considered as technical operation that consists of determination of one or more characteristics of a given product, process or service according to a specified procedure. Often a test is part of an experiment.The test...

s.
  • Decision tree test
  • Data combination test
  • All-pairs testing
    All-pairs testing
    All-pairs testing or pairwise testing is a combinatorial software testing method that, for each pair of input parameters to a system , tests all possible discrete combinations of those parameters...

  • Error guessing
    Error guessing
    In software testing, error guessing is a test method in which test cases used to find bugs in programs are established based on experience in prior testing. The scope of test cases usually rely on the software tester involved, who uses past experience and intuition to determine what situations...

  • Exploratory testing
  • Real life test
  • Semantic test
  • Use case test


Audit or review

To speed up and improve the total test process it is good practise not to wait until everything is ready and then test the end product, but to review intermediate products (documentation) and audit the process as well. All intermediate products can be reviewed. This is called static testing
Static testing
Static testing is a form of software testing where the software isn't actually used. This is in contrast to dynamic testing. It is generally not detailed testing, but checks mainly for the sanity of the code, algorithm, or document. It is primarily syntax checking of the code and/or manually...

.
Techniques used in this phase are:
  • checklist
    Checklist
    A checklist is a type of informational job aid used to reduce failure by compensating for potential limits of human memory and attention. It helps to ensure consistency and completeness in carrying out a task...

    s
  • review
    Review
    A review is an evaluation of a publication, a product or a service, such as a movie , video game, musical composition , book ; a piece of hardware like a car, home appliance, or computer; or an event or performance, such as a live music concert, a play, musical theater show or dance show...

  • walkthrough
    Software walkthrough
    In software engineering, a walkthrough or walk-through is a form of software peer review "in which a designer or programmer leads members of the development team and other interested parties through a software product, and the participants ask questions and make comments about possible errors,...



Intermediate products to test are the: requirements, system design, test strategy
Test strategy
A test strategy is an outline that describes the testing portion of the software development cycle. It is created to inform project managers, testers, and developers about some key issues of the testing process...

, test plan
Test plan
A test plan is a document detailing a systematic approach to testing a system such as a machine or software. The plan typically contains a detailed understanding of what the eventual workflow will be.-Test plans:...

, test script
Test script
A test script in software testing is a set of instructions that will be performed on the system under test to test that the system functions as expected.There are various means for executing test scripts.* Manual testing...

s, unit test
Unit test
In computer programming, unit testing is a method by which individual units of source code are tested to determine if they are fit for use.A unit is the smallest testable part of an application. In procedural programming a unit could be an entire module but is more commonly an individual function...

 results, prototype
Prototype
A prototype is an early sample or model built to test a concept or process or to act as a thing to be replicated or learned from.The word prototype derives from the Greek πρωτότυπον , "primitive form", neutral of πρωτότυπος , "original, primitive", from πρῶτος , "first" and τύπος ,...

.

The results of the formal audits or reviews have to be documented, reported to the project manager and discussed (feedback
Feedback
Feedback describes the situation when output from an event or phenomenon in the past will influence an occurrence or occurrences of the same Feedback describes the situation when output from (or information about the result of) an event or phenomenon in the past will influence an occurrence or...

) with the authors/developers. This can lead to changes, changes to the documents/products, the process or the people. More informal reviews are also possible, were colleagues or peers are involved.

See also

  • Verification and validation (software)
  • Bug bash
    Bug bash
    In software development, a bug bash is a procedure where all the developers, testers, program managers, usability researchers, designers, documentation folks, and even sometimes marketing people, put aside their regular day-to-day duties and pound on the product to get as many eyes on the product...

  • Ad hoc testing
    Ad hoc testing
    Ad hoc testing is a commonly used term for software testing performed without planning and documentation ....

  • Manual testing
    Manual testing
    Manual testing is the process of manually testing software for defects. It requires a tester to play the role of an end user, and use most of all features of the application to ensure correct behavior...

  • Test automation
    Test automation
    Test automation is the use of software to control the execution of tests, the comparison of actual outcomes to predicted outcomes, the setting up of test preconditions, and other test control and test reporting functions...



Further reading


  • TMap Next: For Result-driven Testing (2006)

    Tim Koomen, Leo van der Aalst, Bart Broekman, Michiel Vroon, Rob Baarda

    ISBN: 9072194802

  • * Software Testing: A guide to the TMap Approach (2001)

    Martin Pol, Ruud Teunissen, Erik van Veenendaal

    ISBN 0201745712


External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK