Thursday, February 14, 2013

Testing Services, overview

Testing Services


I would like to resume and describe a set of basic IT testing services that should be offered to any customer. In the context of TMMI implementation, there are several process area that focus their goal (specific goals and specific practices) on defining a testing policy and increase testing capabilities.

In this context, a testing service catalogue, should be the base for any testing organization.

The main TMMI processes area that should be involved on this are:

  • Test Policy and Strategy
  • Test Design and Execution
  • Test Organization
  • Non-functional Testing
The list is not exhaustive, but from my point of view, it is a good starting point.

Early Testing: a set of services focus on software engineering process that aims on early defect detection. Early Testing has it basics on increasing system quality by early defect detecting on the application lifecycle, decreasing defect impact and defect correction. As early a defect is detected as cheaper is the solution. A quality assurance plan starts in the begging of project lifecycle and it is applied all along the project life.




Early Testing services mission is to assurance that the technical and functional documentation is complete and according to end user requirements. A basic catalogue set of services should be:

  • Requirement Testing: related to testing requirement specification, aims on reviewing requirements, that should comply:
    • Concision: simple redaction, clear and understandable for all stakeholders
    • Completeness: requirements are written with enough information to be defined
    • Consistency: there are not contradictions between different requirements
    • Concreteness: requirements are not ambiguous, have only one interpretation
    • Verifiable: it could be check its fulfilment in the final product
  • Analysis Testing: activities applied to analysis phase aimed on reviewing how analysis techniques have been applied and to verify the traceability between requirements and analysis specification.
  • Design Testing: activities applied to design phase aimed on reviewing how design techniques have been applied and to verify the traceability between requirements, analysis and design specifications.
Software Testing: services useful to apply to a software delivery. Software delivery testing is organized in a wide set of testing services which are focussed on project risk management (this will be expose on other blog entry). The workflow of services could be like this one:



  • Build and Static Code Review: source code verification, in order to measure code rules fulfilment and code quality. Build process ensure that the organization is able to build the application from the source code delivered by the development team. This ensures independence from the development supplier and business continuity.
  • Setup Testing: is possible to deploy the application with the documentation and sources that have been delivered?
  • Functional Testing: focused on system functional behaviour, according to the test plan and the requirement specification.
  • Usability Testing: test system usability, ease of use, consistent behaviour... if the organization has a usability rules, they should be reviewed.
  • Accessibility Testing: if there is any accessibility requirements this service will review its fulfilment
  • Regression Testing: functional testing of previous functionality, that should be kept invariant. Usually regression testing is based on automed programs aimed to decrease testing cost.
  • Performance Testing: stress, capability and continuous load test in order to predict system behaviour on real conditions
  • Security Testing: test of security vulnerabilities of system implementation (see owasp recomendations)


No comments:

Post a Comment