Verification and Validation

--Originally published at Newbie Programmer

This are two different concepts that can be similar, but they are different, this are used in the testing part of the development. Verification: is when you evaluate the products where it stills in development and it’s not a final product, this help to know if the product its built according to the requirements and Validation: this is done when the development is finished and it’s to make sure that the product is doing what is supposed to do and supply the customers’ requirements.


Each product that we use needs to pass an international standard, this international standards are the result of different organization to suit for conditions of quality, materials, testing, that are labels that show us that the product that we are using its proved by a series of tests and to give to the customer  trust , for example in software we have the ISO/IEC/IEEE 29119 that is a series of five international standards for software testing or parts of testing, this defines the concepts and definitions, test processes, test documentation, test techniques and keyboard driven testing.

Concepts and definitions

This part one defines the definitions, concepts of the testing, and how to apply this to the other parts of the standard, this part has everything you need to know about the testing process.

Test Processes

The part two defines the test processes that can be used by the organizations that approve this standard, and this is based in a three-layer process that covers: organizational test specifications, test management and dynamic testing.

In this the risk-based approach is used, because this practice allows to focus in the most important features and quality attributes of the system that is testing.

Test Documentation

The part three as the name says its documentation. This is the documentation of test that are going to do, this includes templates during the test process, these templates support the three test process layers explained in the part two, the templates contain the needs of each organization implementing the standard.

Test Techniques

This part four provides the definition of software test design techniques, this are the creation and writing of test cases, that can be used and implemented in the testing, this test techniques are categorized into three main categories: specification, structure and experience.

The specification test techniques are the functional specification of the system under test without observing the internal structure, the structure tech techniques are based on the internal structure of the system and here we apply the test cases, and the experience techniques are human testers that provide their experience in bugs that they expect, or they saw before in other products.

Keyboard Driven Testing

This part five uses the description of test cases using set of keywords, these keywords are associated with sets of action that are required to perform a specific step in a test case, this are easier to understand for building a test automation.

ISO/IEC/IEEE 29119 Software Testing