DEV Community ๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ‘จโ€๐Ÿ’ป

Mathilde Lelong
Mathilde Lelong

Posted on

#TestCulture ๐Ÿฆ… Episode 13 - What is continuous testing

๐‚๐จ๐ง๐ญ๐ข๐ง๐ฎ๐จ๐ฎ๐ฌ ๐ญ๐ž๐ฌ๐ญ๐ข๐ง๐  is a software development process in which apps are tested continuously throughout ๐š๐š‘๐šŽ ๐šŽ๐š—๐š๐š’๐š›๐šŽ software development life cycle. Its goal is ๐˜๐—ผ ๐—ฒ๐˜ƒ๐—ฎ๐—น๐˜‚๐—ฎ๐˜๐—ฒ software quality across this cycle, providing critical early feedback.

Continuous testing provides ๐š›๐šŠ๐š™๐š’๐š ๐š๐šŽ๐šŽ๐š๐š‹๐šŠ๐šŒ๐š” on the level of business risk in the latest release of the project. This information can then be used to determine if the software is ready to move into the delivery pipeline at any given time. โš™๏ธ

Tests are run early and continuously, exposing application risks soon after they occur. Development teams can then ๐—ฝ๐—ฟ๐—ฒ๐˜ƒ๐—ฒ๐—ป๐˜ ๐˜๐—ต๐—ฒ๐˜€๐—ฒ ๐—ฝ๐—ฟ๐—ผ๐—ฏ๐—น๐—ฒ๐—บ๐˜€ ๐—ณ๐—ฟ๐—ผ๐—บ ๐—บ๐—ผ๐˜ƒ๐—ถ๐—ป๐—ด ๐˜๐—ผ ๐˜๐—ต๐—ฒ ๐—ป๐—ฒ๐˜…๐˜ ๐˜€๐˜๐—ฎ๐—ด๐—ฒ. ๐Ÿ‘Œ

This method ๐—ฟ๐—ฒ๐—ฑ๐˜‚๐—ฐ๐—ฒ๐˜€ the time invested in finding and fixing bugs. This increases ๐˜๐—ต๐—ฒ ๐˜€๐—ฝ๐—ฒ๐—ฒ๐—ฑ ๐—ฎ๐—ป๐—ฑ ๐—ณ๐—ฟ๐—ฒ๐—พ๐˜‚๐—ฒ๐—ป๐—ฐ๐˜† of delivery of quality software and ๐—ฟ๐—ฒ๐—ฑ๐˜‚๐—ฐ๐—ฒ๐˜€ technical debt.

When software quality efforts and testing are aligned with business expectations, test execution produces ๐—ฎ ๐—ฝ๐—ฟ๐—ถ๐—ผ๐—ฟ๐—ถ๐˜๐—ถ๐˜‡๐—ฒ๐—ฑ ๐—น๐—ถ๐˜€๐˜ ๐—ผ๐—ณ ๐—ฎ๐—ฐ๐˜๐—ถ๐—ผ๐—ป๐—ฎ๐—ฏ๐—น๐—ฒ ๐˜๐—ฎ๐˜€๐—ธ๐˜€.

๐‚๐จ๐ฆ๐ฆ๐จ๐ง ๐ฉ๐ซ๐š๐œ๐ญ๐ข๐œ๐ž๐ฌ:
1๏ธโƒฃ Testing should be a collaboration of Development, QA, and Operationsโ€”aligned with the priorities of the line of businessโ€”within a coordinated, end-to-end quality process.
2๏ธโƒฃ Tests should be logically-componentized, incremental, and repeatable; results must be deterministic and meaningful.
3๏ธโƒฃ All tests need to be run at some point in the build pipeline, but not all tests need to be run all the time, since some tests are more resource expensive (integration tests) than other (unit tests).
4๏ธโƒฃ Eliminate test data and environment constraints so that tests can run constantly and consistently in production-like environments.
5๏ธโƒฃ To minimize false positives, minimize test maintenance, and more effectively validate use cases across modern systems with multitier architectures, teams should emphasize API testing over GUI testing.

Thread on Twitter.

Top comments (0)

Timeless DEV post...

How to write a kickass README

Arguably the single most important piece of documentation for any open source project is the README. A good README not only informs people what the project does and who it is for but also how they use and contribute to it.

If you write a README without sufficient explanation of what your project does or how people can use it then it pretty much defeats the purpose of being open source as other developers are less likely to engage with or contribute towards it.