Herramientas de usuario

Herramientas del sitio


wiki2:engineering:testing

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
wiki2:engineering:testing [2020/08/29 15:59]
alfred [Tips for good testing]
wiki2:engineering:testing [2020/08/29 19:08] (actual)
Línea 3: Línea 3:
 ===== Types of testing ===== ===== Types of testing =====
  
-  * Acceptance testing. Tests that ensure a user perspective is fulfilled. +  ​* **Acceptance testing**. Tests that ensure a user perspective is fulfilled. 
-  * Unit test. They test that a single piece of code (function, class, module...) fulfills its requirements.  +  ​* **Unit test**. They test that a single piece of code (function, class, module...) fulfills its requirements.  
-  * Integration tests. Test the collaboration between components. +  ​* **Integration tests**. Test the collaboration between components. 
-  * Smoke tests. +  * **Regression tests**. Those which ensures that previously developed features are still working. 
-  ​* Regression tests. Those which ensures that previously developed features are still working. +  ​* **Performance tests**. It test execution speed, memory usage, and other performance metrics. 
-  * Performance tests. It test execution speed, memory usage, and other performance metrics. +  ​* **Stress tests**. Test the system response under adverse conditions (failure of components, attacks...). 
-  * Stress tests. Test the system response under adverse conditions (failure of components, attacks...). +  ​* **Load tests**. Test to check the performance of the system under a high workload.
-  * Load tests. Test to check the performance of the system under a high workload. +
  
 +----
  
 +  * **Smoke testing**: a software testing process that determines whether the deployed software build is stable or not. It's usually done when a build is released.
 +  * **Sanity testing**: performed after receiving a software build, with minor changes in code, or functionality,​ to ascertain that the bugs have been fixed and no further issues are introduced due to these changes. The goal is to determine that the proposed functionality works roughly as expected. If sanity test fails, the build is rejected to save the time and costs involved in a more rigorous testing. ​
 +  * Sometimes smoke and sanity are defined as synonyms.
 +  * **Pre-flight check**: Tests that are repeated in a production-like environment,​ to alleviate the '​builds on my machine'​ syndrome. Often this is realized by doing an acceptance or smoke test in a production like environment.
 +  * **Functional testing**: validates the software system against the functional requirements/​specifications. The purpose of Functional tests is to test each function of the software application,​ by providing appropriate input, verifying the output against the Functional requirements. ​
 ===== Testing principles ===== ===== Testing principles =====
  
Línea 57: Línea 61:
  
 Tests should NOT be fragile. Test should not fail without reasons. Tests should NOT be fragile. Test should not fail without reasons.
 +
 +Other properties that tests should follow: ​
 +
 +  - Structural independence:​ To be structural independent your test result should not change if the structure of the code changes.
 +  - Behavioural dependence: To be behavioural dependent a test case result should change when the behavior of the code under test change.
 ===== Testing strategies ===== ===== Testing strategies =====
  
 +{{ :​wiki2:​engineering:​advanced_unit_test_part_v_-_unit_test_patterns.zip |}}
  
 +{{ :​wiki2:​engineering:​useful_design_patterns_for_unit_testing_tdd.zip |}}
 ==== Better Than Unit Tests - Article ==== ==== Better Than Unit Tests - Article ====
  
wiki2/engineering/testing.1598716741.txt.gz · Última modificación: 2020/08/29 16:59 (editor externo)