Praqma’s experts are ready to help you transform your team to achieve your quality and productivity goals.
Our high availability solution
A workshop to plan your roadmap
Praqma is Atlassian Gold Solution Partner
Continuous Delivery and DevOps consulting
A workshop to plan your roadmap
We can be the Ops in your DevOps
A full-stack support subscription
Let us upskill your team
Praqma Academy offers public training courses and custom on-site courses. All courses are hands-on, and run by professionals with real world experience.
Training on concept, mindset and tools
Introduction training to Docker and Kubernetes
Git training for beginners and advanced users
Jira training for beginners and advanced users
Training on Jenkins, Gradle & Artifactory
Training on test automation, strategies & TDD
Engaging with the community is essential for Praqma. We regularly host conferences and meet-ups, and proactively contribute to open source projects.
Praqma is a different breed of IT consultancy bureau. We aim to change the world of software development by sharing our knowledge and building strong communities.
Atlassian Software in Kubernetes
Continuous Delivery Assessment
IT Operations Assessment
Technical Agile Coaching
Continuous Delivery in practice means creating a delivery pipeline for your software. Pipeline stages build the software and perform increasingly stringent tests on it. As the software passes through each stage our confidence in the quality of the build increases. Eventually it reaches the end of the pipeline where it becomes a ‘Release Candidate” - a build that is judged to be of sufficient quality to be deployed into production.
If you build and test new versions of your software several times a day your testing will need to include a lot of automation to keep pace. Pipeline stages usually include automated unit, acceptance, and performance tests, but some testing is still done by hand. Once we have a build that passes all the automated tests it becomes available for self-service deployment to other environments for manual validation.
The goal of automated testing in the Continuous Delivery Pipeline is to give us early feedback on software quality and ensure known problems don’t reappear. Research has shown that using DevOps practices, like test automation, leads to higher IT performance and improved business outcomes. Investing in automated testing means lower change failure rate for your software and improved delivery lead times.
A Continuous Delivery pipeline that includes extensive automated tests allows us to develop better ways of working. Giving developers rapid feedback on the effects of their changes improves their productivity and liberates them from repetitive manual work. An automated CD pipeline can also transform your ability to react to changes in the marketplace by enabling Lean Product Management practices such as hypothesis-driven development and A/B testing. Developers and testers can spend more of their time learning about customer needs and innovating.
The Test Automation Pyramid is a good place to start. Discovering defects as early as possible minimizes the cost of correcting them. Having a large number of very fast unit tests is also relatively cheap to maintain. These tests are a great start but they won’t discover all the problems. At the top of the pyramid we have automated end-to-end tests that exercise the system in the same way as an actual user. These tests are usually slow to run and expensive to maintain, so we will have only a few of them. In between the extremes of unit tests and end-to-end tests there are a lot of different kinds of tests you can include, like component tests, integration tests, contract tests, and load tests. Exactly what you should have will depend on your architecture.
The usual way to organize tests in your CD pipeline is to start with the fast, cheap tests and proceed to the slower, more expensive tests as you gain confidence in the quality of the code changes. If we discover defects later in the pipeline it should prompt us to make improvements to the testing earlier in the pipeline. That can involve writing new tests, or moving tests from a later to an earlier position in the pipeline. Even if these tests are expensive to run it can save us a lot of effort if we discover defects earlier. The aim is always to provide timely, valuable feedback on the effects of changes.
At Praqma we have helped several companies to improve their testing strategy as they move towards Continuous Delivery. We offer expert advice, strategy workshops, and coaching hands-on with your development teams. Find out how to improve your testing strategy by getting in touch with one of our experts today.
We help clients in Denmark, Sweden and Norway, and have offices in Copenhagen, Aarhus, Oslo, Malmö, Stockholm and Gothenburg.