Get in touch

BDQ Solutions

SaaS MIGRATIONS
Migrate your SaaS projects seamlessly
Lightning Implementations
For people who know what they want, and want it done fast
Enhancement Hours
Get best practice and configuration consultancy.
Review and Assessment
A low cost, low risk way to get the assistance you need.
Digital Adoption Services
Make sure software is being used consistently across teams.
PII Services
Our solution to help you find unauthorised data.
DevOps Services
Get great, high quality software shipped faster. Faster.
Test Automation & Management
Reduce costs and increase quality with automation.

    Atlassian Solutions

    Atlassian Enterprise
    SCALE WITH CONFIDENCE USING THE BENEFITS OF pREMIUM AND aCCESS
    Jira Work Management
    work management for technical & non-technical teams.
    Cloud Migration Services
    Quicker and more cost effective than doing it in house.
    Jira Service Management / ITSM
    Fast, painless, fixed price ITSM implementations.
    BDQ AtlassianCare
    Cost effective, flexible care options.
    Other Atlassian Services
    Maximise the potential of your Atlassian products.

      Other Solutions

      LEXZUR PRACTICE MANAGEMENT
      Complete MANAGEMENT software for legal practitioners.
      Asana Digital Work Management
      A simple, flexible way to manage work for business.

      Solutions

      Expert consulting and managed services to help complex organisations to work flatter, faster and more dynamically.

      To find out more detail on a Solution or how we implement it, check out our Solutions Home page.

      SOLUTIONS HOME →
        BDQ Original Apps

        CostGuard for Jira →
        Track project budgets in real time

        Field Service Management for Jira →
        Schedule and manage field operations in JSM

        TabHelper for Jira & Confluence →
        Find, jump to, and close multiple Atlassian Chrome tabs

        Real Signature for Jira →
        Capture in-person signatures for Jira tasks

        Real Signature for Confluence →
        Capture in-person signatures for Confluence pages

        Migration Analyst for Jira Cloud →
        Spot duplicates, export key stats, and prep your Cloud move

        Easy Email Attachments for Service Desk →
        Send real attachments (not links!) in JSM

        Attachment Manager for Asana →
        Find, filter, and download attachments in Asana

          Partner Products

          haloitsm-logo-horizontal-827x128
          products-partner-logos-monday-300x150
          glpi-logo-bdq-280x84
          products-partner-logos-atlassian-300x150
          products-partner-logos-asana-300x150
          freshworks-logo-narrow-clear-280x60
          atomicwork-logo-varients-300x40
          products-partner-logos-lexzur-300x150
          products-partner-logos-sonatype-300x150
          products-partner-logos-zephyr-300x150

            Product Agnostic Solutions

            BDQ is your trusted partner in delivering comprehensive service management solutions tailored to your unique business needs. We are product-agnostic, allowing us to work with industry-leading platforms, enabling you to streamline, optimise, and transform your service operations.

            And where a solution doesn't exist, we create one with our BDQ Original apps and add-ons.

            View All Products →

             

             


            bdq-cred-reseller-600x600Fulfil your software needs through BDQ, and enjoy all the benefits we offer as Value Added Resellers.
            Reseller Benefits

              Training

              BDQ provides high-quality technology training to customers in the UK, EU and US.

              Our customers range from small companies to non-profits to multinational enterprises. They all want to maximise employee productivity.

              We listen to what our customers want to achieve and tailor the syllabus accordingly when delivering courses.

              Training Home →

                About Us

                This is where you can find out all about BDQ. Where did we come from, what is our goal, what do our customers have to say about working with us? You'll find all those answers and more using the links here.

                However, if you have any questions that you haven't found answers for, feel free to get in touch.

                 

                  3 min read

                  Test automation for legacy applications

                  Featured Image

                  A lot is written about test automation. Applications should be componentised, mockable, have feature switches, be unit testable, and so forth. In short, applications should be architected with testing in mind.

                  But what about legacy applications, that are still being developed and supported? Maybe it was some code that was bought, or developed by people who have left. We thought we would share some experiences which those of you who have to deal with real world legacy apps may appreciate, and some strategies for dealing with them.

                  Legacy applications and development velocity

                  "Velocity" and "legacy application" are not phrases that are usually heard in the same sentence. More likely, "monolithic", "fragile", "resistant to change", "house of cards" may spring to mind.

                  Development becomes very expensive, and a chicken and egg situation can occur, whereby you never gain the time and resources to redevelop that application, because the legacy sucks up all your resources:

                  • Any new feature may required code archeology, depending on how tightly coupled the application is
                  • Any new release requires through testing, as it is very easy to break things

                  Ultimately, for anything that is going to live on for a long time, redevelopment with good practices, using the old application as a specification, along with customer feedback is ideal. However, this is a big bang approach, and may not be practical, especially if your old application is consuming all your resources.

                  An alternative strategy can be a mix of the following, which is depending on how tightly coupled the application is, the skills you have available, and the predicted lifetime of the application. The goal is to give more confidence to the developers, and reduce your costs, so that you can invest in componentising/replacing the legacy app.

                  • Automate integration testing. I.e. does the release candidate function as it should?
                  • Identify parts of the application that can be decoupled, and componentise them, defining contracts and interfaces where possible. This starts to make it possible to automate testing in smaller, more manageable chunks.
                  • Depending on the situation, start to rewrite these components for use in a replacement, or just to expunge very unreliable code.

                  Tame your legacy application with automated testing

                  If left unchecked, a difficult legacy application can suck up resources and make planning not much more scientific than tossing a coin.

                  A quick win is to automate testing of the release candidate. This helps with both integration, and regression testing – major bugbears when living with legacy code.

                  It will free up test resources, which you can redeploy. Your developers will be able to develop more freely, rather than feel that they are carrying a delicate Ming vase across a slippery floor. Instead of having to wait for manual regression tests, to see the results of their work, changes can be made, and automated tests can be run immediately against builds generated from source control. Problems can be found much more quickly. Managers will have more confidence that bugs will not get shipped, with the support costs that result. If you are using outsourced testing, you can start to reduce your reliance, and your bills.

                  The question then is, how to automate the testing of legacy applications which are tightly coupled, and have no (or suspect) APIs?

                  If you lack APIs - use a robot to drive it

                  A sure fire way of doing this is to replace what your testers are doing, and use a product which drives the UI.

                  Not all products do this reliably, and some are difficult and expensive to set up. We are a reseller for a great product call Servicetrace. Servicetrace can be used for Application Performance Monitoring, Robotic Process Automation, and Test Automation.

                  It is possible to create test workflows with no scripting, including error condition handling from message boxes and the like, and we particularly like the patented image technology which means that really reliable UI driven test scripts can be created, even if things move around a little on the screen. Multiple test robots can be deployed, and called automatically – it can also be used to drive load tests. In essence, it can simply mimic a user.

                  We ourselves once had our own legacy application, and had some of the experiences that I’ve mentioned. I wish this product had been available to us when dealing with it – it would have saved an enormous amount of time and money, and we would have been able to redevelop it much faster.

                  If you have legacy applications and you want to automate testing, please get in touch to see how we can help.