Jakub notes • engineering

Technology Radar Volume 23

Reliability, testing

jest-when - mock return values for specific argument. jest.spyOn().mockImplemention() returns the same value no matter what arguments were used.

Dependency drift fitness function - automate upgrades of dependencies, with Dependabot.

Dependabot - automatically creates pull-requests to upgrade dependencies. Renovate as alternative for GitLab.

Stryker - evaluates the quality of your tests by mutation testing. It changes the code and check if tests fails. Stryker for JS. Pitest for Java.

Chaos Monkey - is a resiliency tool by Netflix that helps applications tolerate random instance failures.

Sentry - tracking errors, finding out if a commit actually fixed an issue and alert if an issue regresses.

ShellCheck - a linter for shell scripts.

Refactoring

jscodeshift - a toolkit for codemods that helps to transform the codebases dependent on your library to overcome breaking changes. Developed by FB.

Event interception - fork events on old system and build new one incrementally. Copy events, messages or fork HTTP requests e.g. in Ingress.

Parallel run with reconciliation - use tool like Github's Scientist to compare and log results of old and new code, including response time.