DEV Community

Mathilde Lelong
Mathilde Lelong

Posted on

#TestCulture ๐Ÿฆ… Episode 19 - Optimize regression testing

๐–๐ก๐š๐ญ ๐ข๐ฌ ๐ซ๐ž๐ ๐ซ๐ž๐ฌ๐ฌ๐ข๐จ๐ง ๐ญ๐ž๐ฌ๐ญ๐ข๐ง๐ ?
Regression testing refers to testing a previously tested program, after a modification. It ensures that defects have not been introduced or discovered in unmodified parts of the software, as a result of the modifications made. These tests are performed when the software or its environment is modified. The objective of a regression campaign is to check whether the changes made to the software (or to its environment) have not caused major bugs in the functionality already in place... And therefore whether these changes have caused major regressions.
This definition highlights important principles such as software testing that has ๐šŠ๐š•๐š›๐šŽ๐šŠ๐š๐šข ๐š‹๐šŽ๐šŽ๐š— ๐š๐šŽ๐šœ๐š๐šŽ๐š ๐š‹๐šŽ๐š๐š˜๐š›๐šŽ or the subsequent modification of the same software. A regression test ๐—ฟ๐—ฎ๐—ฟ๐—ฒ๐—น๐˜† stands alone. It is part of a coherent set of several tests, each with its own characteristics and objectives.

๐–๐ก๐ฒ ๐ข๐ฌ ๐ซ๐ž๐ ๐ซ๐ž๐ฌ๐ฌ๐ข๐จ๐ง ๐ญ๐ž๐ฌ๐ญ๐ข๐ง๐  ๐œ๐ก๐š๐ฅ๐ฅ๐ž๐ง๐ ๐ข๐ง๐ ?
๐Ÿ‘‰๐Ÿผ ๐“๐ข๐ฆ๐ž & ๐œ๐จ๐ฌ๐ญ ๐ฆ๐š๐ง๐š๐ ๐ž๐ฆ๐ž๐ง๐ญ. Regression tests involve running tests that have already passed. Time spent can be hard to justify to stakeholders. Especially when it comes to creating and running tests, as well as the high cost of test-related services and infrastructure. Especially when stakeholders don't appreciate the value it adds.
๐Ÿ‘‰๐Ÿผ ๐‚๐จ๐ฆ๐ฉ๐ฅ๐ž๐ฑ ๐ฆ๐š๐ข๐ง๐ญ๐ž๐ง๐š๐ง๐œ๐ž. Regression tests inevitably become large and complex over the course of a complex development project. The number of test cases, as well as the functions and processes that they check, can easily number in the thousands. It makes it impractical for quality assurance engineers to test manually without consuming significant time and resources.
๐Ÿ‘‰๐Ÿผ ๐“๐จ๐จ ๐ฆ๐š๐ง๐ฒ ๐Ÿ๐ฅ๐š๐ค๐ฒ ๐ญ๐ž๐ฌ๐ญ๐ฌ. Regression tests are great when they identify issues before a production build. But there's nothing more frustrating than a test suite that throws constant false positives โ€” or tests that fail when they should pass. Flaky tests that generate false positives are frustrating for stakeholders, developers and testers and could make everyone second-guess the process.


๐Ÿ“š ๐•Š๐• ๐•ฆ๐•ฃ๐•”๐•–๐•ค:
๐Ÿฆ… https://agilitest.com/challenges/multi-device-testing


Thread on Twitter.

Top comments (0)