Pinta Education - building tester knowledge and skills - virtually anywhere

    My Account

DevOps and Testing: CI/CD, Automation & Shift-Left QA

  • DevOps, as the name suggests, is a concatenation of the words Development and Operations.
  • It emphasizes the need for collaboration and shared responsibility throughout the entire software development lifecycle by the development and business operations teams.
  • Over the years, we have learned that people often work better when they feel a sense of personal responsibility for an outcome.
  • In addition, working as part of a team towards a common outcome also brings the benefits of being part of something bigger, where each person is valued for their skills towards a common goal and can learn from other team members.

DevOps specifically seeks out:

  • Team autonomy – where the team is empowered to do the job at hand and solve problems, without the need for escalation higher up.
  • Fast feedback – on the code quality, possibly through daily builds
  • Integrated toolchains – where tools are selected to work together to streamline the processes.

In today’s world, automation has proven its worth in many walks of life.

For DevOps, we have a delivery pipeline, controlling the processes from creating source code, to continuous integration (CI) and testing, to storing artifacts for future reference, to continuous deployment (CD) and feedback.

When carrying out our testing activities, we can expect:

  • Fast feedback on code quality and the effects of any changes
  • A further move towards shifting-left; the developers will also be able to see the effects of any changes early, as part of their component testing and static analysis of the code.
  • Stable test environments achieved through CI and CD
  • Early views on non-functional quality characteristics such as performance and reliability measures.
  • A reduction in repetitive manual testing, freeing us up to think more about user needs
  • Reduced risk of system regression due to the automation of the regression testing.

As you might expect, there are challenges with DevOps. These include:

  • Defining and getting the pipeline established so that it is sustainable
  • Introducing and maintaining tools
  • Over-reliance on the tools, manual testing will still be beneficial if we are to capture user needs accurately.