You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

(Regression) Testing

The purpose of regression testing is to ensure that changes due to software enhancements, patches, configuration changes, etc. have not introduced errors. One of the main reasons for regression testing is to determine whether a change in one part of the software has a negative impact on other parts of the software. Regression testing usually means re-running previously completed tests and checking whether program behavior has changed in undesirable ways and whether previously fixed errors have re-emerged.

Tests may be run at different levels:

  • UI level testing - using tools such as Jasmine for Javascript UIs
  • Service level testing - using tools such as CasperJS
  • Unit level testing - using tools such as JUnit for Java code, PHPUnit for PHP code, ...

Regression testing can be performed to test a system efficiently by systematically selecting the appropriate minimum set of tests needed to adequately cover a particular change. The test pyramid (https://martinfowler.com/bliki/TestPyramid.html) suggests that one should have many more low-level unit tests than high level end-to-end tests running through a GUI.

 

 

Fundamental awareness

Novice

Intermediate

Advanced

Expert

 

  • No labels