jaffamonkey

moon indicating dark mode
sun indicating light mode

Test engineering

less is more

Testing meets DevOps

It’s all about what’s appropriate, to both development and business sides to a project.

Sometimes investing is a feature-rich Test framework is a good idea, but starting small is always the best place to start.

But if you have integration with CI/CD in sight, then the tests run must be as lean (fast) as possible.

Native code or package?

Start with too many packages, then you will quickly end up with an unused test framework.

Start small - don’t use a package if it can be coded natively.

Conversely, don’t waste too much time on native code - packages are there too help you, just be selective.

Load testing

You don’t need to run a heavy Load test to get useful feedback.

Developers always appreciate feedback on performance impact from their code changes.

Choose tools that do not add too much overhead on the Build server, as ideally it should run as part of build checks.

Web accessibility

There are several Web accessibility tools that are easy to integrate as part of CI.

These tools will check against the WCAG2 standards, but final evaluation should be with real users with real accessibility devices and software.

Implementing a tool to run automated checks across the web/mobile app will keep development on track.

Keep with CLI tools, as this will ensure integration with the build pipeline will have less impact/overheads

Security testing

There is a lot you can test client-side to avoid the more emabrassing security errors.

Common vulnerabilities are:

  • SQL Injection
  • Cross Site Scripting
  • Cross Site Request Forgery
  • Failure to restrict URL Access

DevOps

Here are some ways that Test engineering easily helps with DevOps

  • Dockerise your test framework (better portability and ease of running).
  • Keep package-count low, and specify versions so pointless updates do not occur.
  • Ensure processes are properly “killed” at the end of test runs.
  • Use cloud service to store historical reports and other test artifacts (like screenshots)