Continuous Integration, Development & Testing
Delivering quality from a continuous pipeline
Delivering quality from a continuous pipeline of development in an agile model is what we are about.
Our mantra is ‘Test Early and Test Often’
Starting the Journey
You may or may not have heard of the mantra ‘Test early, test often’ – it relates to the continuous development process and aids waste reduction when it comes to delivering your development and testing iterations.
Testing early and testing often is something that a lot of companies have not truly embraced yet, but it’s an expensive mistake to make. You will be wasting effort, time and money if you don’t at least try to implement some forms of this early into your delivery processes. As we know, the earlier issues are found, the easier, cheaper and less time consuming they are to resolve.
Static analysis and static testing
Static Analysis is defined by ISTQB as “Analysis of software artifacts, e.g. requirements or code, carried out without execution of these software development artifacts. Static analysis is usually carried out by means of a supporting tool.”
The aim of performing static analysis of a requirement, is to reduce the risk of misinterpretation and look for gaps. We find it useful to draw up a matrix of possible scenarios to test for the requirement and discuss this with the wider team, considering not just what delivering the requirement affects, but areas that the requirement should NOT affect (regression analysis). As the description suggests, there are some tools available on the market to help with code reviews.
Wherever possible, start testing on code as soon as it is ready. Moving your testing further left on your project schedule should mean that you find defects, risks and issues earlier in the life-cycle and, consequently, get them rectified or mitigated earlier.
We find it particularly useful to review the Delivery Pipeline (a list of all of the things you do to deliver a change from inception to it being deployed to the Live environment). When reviewing the pipeline, consider where testing tasks are done and if they can be done at an earlier point, as well as looking at introducing new testing types, should you need them.
Bear in mind that the code doesn’t have to be fully ready for you to start proving it. In a company where agile maturity is reasonably advanced, developers will be writing automated unit tests to help do this.
Automation can come in many forms, in terms of tool options. They can be used at different points during your development and testing cycles. Examples include: SOAP UI for API’s or Web services, J Unit and Cucumber for Unit tests and Selenium for User Interface and browser-based tests. They are each great in their own right, but if used early, can add a great deal of benefit in terms of proving that your code has not been significantly impacted by any new changes.
When automating, look for tests which can be re-run and cover the critical business flows and scenarios.
Bear in mind, with automation, there needs to be a constant focus on the quality of the tests. When tests fail, an investigation needs to be carried out to assess the root cause of the problem (it could be an invalid test step, spurious data or a valid fail which results in a defect being raised).
Often automation is used to execute regression tests towards the end of the development lifecycle, but why not execute it earlier? Arguably, any code which is introduced should fundamentally, not impact any previously delivered functions.If Automation is done early enough, it should make your other types of testing a little easier, less risky and speedier.
One of the key successes to any project is clear communication throughout the team. Providing clarity from the outset by determining which methods and how they are used will make the entire project process easier (Jira, Clear Quest, Confluence, Slack).
Clarity of communication will help set expectations, understand progress. In addition to this, as the project gets underway clear communication will facilitate development, mitigate risks of issues being found later and provide transparent information for the wider project team.
They can be used at different points during your development and testing cycles
Shift right enables businesses to quickly react to user trends in Live, as well as help to find any issues which may occur from faulty software. Data from the Live or Production environment will give the most realistic scenarios to optimise and fine tune our test focus, as well as focus regression tests.
There are several shift right techniques including A/B testing and user monitoring. As an example, by shifting right, you can identify which features are being used in production and how they are being used. From this, you can ensure your regression testing covers these features and flows.
Another example is you can release a new feature to a small user group (internal or external), to understand how they use it and how it impacts production, to make adjustments should they be needed.
Quality Software Testing overview
Our range of Services:
Some of our latest work:
SG Gaming – Streamlining Processes through Software Testing
We worked with SG Games to streamline software delivery processes at an earlier stage, through development and testing to: increase efficiency of time, cost and quality to software platforms. Resulting in SG Games being able to aid delivery of their projects to market quicker, therefore their clients can benefit from new and improved functions at a faster pace.View all our work
Beauty Pie (Foam & Substance) Building the Pie
Featured in Grazia, The Guardian, The Times, Harpers Bazaar and many more we have helped build a new entrant to the beauty and cosmetics market with the team at Beauty Pie. They’re a digital disruptor, one like you read about and hear about in presentations and the TV. In 2016 we developed and launched their initial ecommerce offering into the UK and US marketplace but since then we have been working with them on a continuous development programme. The collaborative team work on two-week sprints and deployments from a continuous pipeline improving the offering and features to their consumers. Rigorous testing of the solution is key in order to maintain product quality and confidence with consumers.View all our work
One of the largest online value retailers in the UK. Whilst historically catalogue based, over 68% of customers now shop on the web, mobile and through the call centre channels for their broad range of fashion, home and leisure items, toys and gifts. Serving 1.8m customers annually and, growing at double-digit, driving Studio Retail performance. Developed and launched with DeeperThanBlue in 2016 the team continue to extend the proposition from a backlog and planned development pipeline feeding monthly sprints and releases. This is not your simple everyday ecommerce site. Consumers are offered credit options for payment and therefore the integration and scoring services required to provide an instant credit decision at checkout are key.View all our work
If you are interested in excelling in your market, becoming a digital disruptor or simply finding out more please get in touch.
+44 (0)114 399 2820