Partner Article

Manchester's Access on Why Failing to Invest in Quality Assurance Will Result in an Epic Digital #Fail!

Once perceived as the ‘poor relation’ within development teams, the ubiquity and value of high performing digital solutions has put the role of quality assurance firmly in the spotlight. With both businesses and consumers demanding so much more from digital technology, an unreliable, unintuitive and clunky platform can quickly damage reputation and significantly impact sales.

A highly skilled and efficient QA team should be an integral part of any digital agency or in-house team, yet many have been slow on the uptake. Lewis Counsell, Head of QA at Access, explains why in today’s digital landscape failing to invest in QA will result in a monumental digital #fail.

“One of the fundamental shifts in QA beginning to get the kudos it deserves is that the culture of throwing releases over the fence has, thankfully, now ended (in the main).
Gone are the days when QA teams work in isolation of the programming department. QA roles were often viewed as the poor cousin within the process by the programmers, with systems developed in a waterfall model and new releases passed to QA at the final stage of development – often resulting in last minute, costly and time consuming fixes if issues did occur.

In the past 20 years things have evolved significantly. In today’s always on world, technology permeates into all areas of our lives and is used to create solutions for every activity imaginable. As consumers we expect this digital technology to work efficiently and without glitches, every single time.

Rapid turnaround of updates to fix issues, and the design and development of competition-beating functionality, is now the norm. Clients are demanding slick and seamless online solutions which can be updated and refreshed at pace. For rapid software development people are moving away from the Waterfall model and toward the Agile Methodology which has increasingly placed the role of QA in its rightful spot at the heart of software development.

Digital businesses should be involving QA at the client briefing stage, allowing the team to gain a clear understanding of requirements from the client and stakeholders themselves, to help define acceptance criteria.

And if done correctly, this will undoubtedly add significant value to clients. The main three ways are:

Reducing cost Perhaps one of the crucial areas for any client/agency relationship is budget - identifying tests early and finding any issues in-house before sending projects out for customer User Acceptance Testing ensures that there is less “toing and froing” of issues for development to revisit. This also reduces the time and involvement for the customer UAT process.

Reduced risk and regressions An in-house QA process can also reduce risk. Some clients may not have dedicated IT staff, so having a QA team with an in-depth understanding of the software development processes and direct contact with the development team, ensures that areas of risk that might not be apparent to the external user can be identified early. Regressions – bugs that creep into previously working areas of systems because of new software developments – can also be easily managed. QA teams can build up suites of tests that can be rerun on high value areas of projects to ensure existing functionality is not compromised.

Improved brand reputation Finally, it’s important not to forget the impact on brand reputation that can result in lasting damage if a website is glitchy and unsecure. A thorough and integrated QA process means that websites are developed to the highest quality, which in turn can significantly improve brand satisfaction.

QA is also increasingly a key factor in tender pitches and having a clear and efficient system in place can be crucial in the success or failure of this process.

An agency built on insights, innovation and providing clients with tangible and high quality digital solutions, Access has invested heavily in QA for a number of years. The growing team is an intrinsic part of the development process. From being involved at the briefing stage agreeing meaningful and measurable acceptance criteria with key customer stakeholders, through to quiding UAT testing. This continuous quality assessment through the development lifecycle reduces the risk and impact of releasing new software.

Test automation is another area which is increasingly being developed by the agency. Underpinning the work of the wider QA team, automation provides quick, repeatable tests that reduce the time for completing test sets and ensure tests are performed in the same way every time. This improves the consistency and frequency at which tests set can be run in comparison to running the same sets manually. They can also be triggered automatically as part of the development build processes to ensure that fundamental functionality has not been compromised.

At Access we implement two levels of test automation. Developers utilise functionality of Behat testing to ensure that certain critical parts projects are built correctly and have key functionality even before the developers perform their unit tests. The QA team also implements code (using Java and Selenium Web driver) that mimics the interaction of users with critical parts of websites to ensure that these have not been compromised with any new release.

It is clear that the role of quality assurance in digital development is only going to become more important. As we continue to rely on technology to hold our valuable information, specialist roles across security, performance and load testing will only increase. The role of a QA tester is multifaceted - from a keen eye to detail, critical thinking, problem solving and programming skills, through to excellent communication skills and a creative mindset – this is set to be an in-demand career that will form the lynchpin of many digital agencies.“

This was posted in Bdaily's Members' News section by Kirsty Hunt .

Our Partners

7.4.33PHP Version317msRequest Duration6MBMemory UsageGET articles/{year}/{month}/{date}/{slug}Route
  • infoNot Logged in - Enabling Caching
  • infoApplying Caching Header to Response
  • Booting (41.08ms)
  • Application (276ms)
  • Partners View Composer (5.78ms)
  • Columnist Content View Composer (1.23ms)
  • Navigation View Composer (9μs)
  • Partners View Composer (4.27ms)
  • Broadcast Composer (3.25ms)
  • Navigation View Composer (7μs)
  • 1 x Application (86.99%)
    275.68ms
    1 x Booting (12.96%)
    41.08ms
    2 x Partners View Composer (3.17%)
    10.05ms
    1 x Broadcast Composer (1.03%)
    3.25ms
    1 x Columnist Content View Composer (0.39%)
    1.23ms
    2 x Navigation View Composer (0.01%)
    16μs
    30 templates were rendered
    • article (resources/views/article.blade.php)10blade
      Params
      0
      article
      1
      body
      2
      canonicalUrl
      3
      sponsored
      4
      sponsored2024
      5
      content
      6
      headline
      7
      mainImage
      8
      profile
      9
      title
    • frontend._artivent (resources/views/frontend/_artivent.blade.php)17blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
    • pictures._picture (resources/views/pictures/_picture.blade.php)7blade
      Params
      0
      image
      1
      src
      2
      sources
      3
      hideCopyright
      4
      smallCopyright
      5
      cover
      6
      lazyLoad
    • frontend.articles._author (resources/views/frontend/articles/_author.blade.php)24blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      image
      20
      date
      21
      name
      22
      premium
      23
      editor
    • frontend.profiles._article-byline (resources/views/frontend/profiles/_article-byline.blade.php)24blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      image
      20
      date
      21
      name
      22
      premium
      23
      editor
    • frontend.profiles._author (resources/views/frontend/profiles/_author.blade.php)24blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      image
      20
      date
      21
      name
      22
      premium
      23
      editor
    • article._social_links (resources/views/article/_social_links.blade.php)20blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      url
    • article._social_link (resources/views/article/_social_link.blade.php)22blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      url
      20
      service
      21
      id
    • article._social_link (resources/views/article/_social_link.blade.php)22blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      url
      20
      service
      21
      id
    • article._social_link (resources/views/article/_social_link.blade.php)22blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      url
      20
      service
      21
      id
    • frontend.adverts._sidebar-skyscraper-mid-content (resources/views/frontend/adverts/_sidebar-skyscraper-mid-content.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    • frontend.adverts._topic (resources/views/frontend/adverts/_topic.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    • frontend._titled_tags (resources/views/frontend/_titled_tags.blade.php)20blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      tags
    • frontend._campaign-monitor (resources/views/frontend/_campaign-monitor.blade.php)20blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      tags
    • frontend._partners (resources/views/frontend/_partners.blade.php)20blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      partners
    • layouts.sidebar (resources/views/layouts/sidebar.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    • frontend.adverts._leaderboard-top (resources/views/frontend/adverts/_leaderboard-top.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    • frontend.adverts._sidebar-skyscraper (resources/views/frontend/adverts/_sidebar-skyscraper.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    • sidebar._columnist_content (resources/views/sidebar/_columnist_content.blade.php)20blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      columnistContent
    • layouts.app (resources/views/layouts/app.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    • layouts._meta (resources/views/layouts/_meta.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    • frontend.adverts._scripts (resources/views/frontend/adverts/_scripts.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    • snippets._matomo (resources/views/snippets/_matomo.blade.php)22blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      gtag
      20
      ua
      21
      matomo
    • snippets._gtag (resources/views/snippets/_gtag.blade.php)22blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      gtag
      20
      ua
      21
      matomo
    • snippets._gtag-ns (resources/views/snippets/_gtag-ns.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    • frontend._header (resources/views/frontend/_header.blade.php)22blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      sectors
      20
      regions
      21
      partners
    • layouts._flashes (resources/views/layouts/_flashes.blade.php)20blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      broadcast
    • layouts._notifications (resources/views/layouts/_notifications.blade.php)20blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      broadcast
    • footer._footer (resources/views/footer/_footer.blade.php)21blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
      19
      sectors
      20
      regions
    • layouts._tracking (resources/views/layouts/_tracking.blade.php)19blade
      Params
      0
      obLevel
      1
      __env
      2
      app
      3
      errors
      4
      article
      5
      body
      6
      canonicalUrl
      7
      sponsored
      8
      sponsored2024
      9
      content
      10
      headline
      11
      mainImage
      12
      profile
      13
      title
      14
      __currentLoopData
      15
      tag
      16
      loop
      17
      picture
      18
      caption
    uri
    GET articles/{year}/{month}/{date}/{slug}
    middleware
    web
    as
    articles.article
    controller
    App\Http\Controllers\ArticleController@getArticle
    namespace
    App\Http\Controllers
    prefix
    /articles
    where
    file
    app/Http/Controllers/ArticleController.php:58-111
    26 statements were executed, 7 of which were duplicated, 19 unique172ms
    • select * from "articles" where "published_at"::date = '2020-11-20' and "slug" = 'manchesters-access-on-why-failing-to-invest-in-quality-assurance-will-result-in-an-epic-digital-fail' and "type" != 'blog' and "articles"."deleted_at" is null limit 139.22ms/app/Database/Articles.php:27production
      Metadata
      Bindings
      • 0. 2020-11-20
      • 1. manchesters-access-on-why-failing-to-invest-in-quality-assurance-will-result-in-an-epic-digital-fail
      • 2. blog
      Backtrace
      • 16. /app/Database/Articles.php:27
      • 17. /app/Infrastructure/Cache/Articles.php:30
      • 18. /app/Http/Controllers/ArticleController.php:61
      • 21. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45
      • 22. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:219
    • select "tags".*, "taggables"."taggable_id" as "pivot_taggable_id", "taggables"."tag_id" as "pivot_tag_id", "taggables"."taggable_type" as "pivot_taggable_type" from "tags" inner join "taggables" on "tags"."id" = "taggables"."tag_id" where "taggables"."taggable_id" in ('fa74db99-0e66-4ff1-a556-3dfbd3f01153') and "taggables"."taggable_type" = 'article' and "tags"."deleted_at" is null28.33ms/app/Http/Controllers/ArticleController.php:80production
      Metadata
      Bindings
      • 0. fa74db99-0e66-4ff1-a556-3dfbd3f01153
      • 1. article
      Backtrace
      • 18. /app/Http/Controllers/ArticleController.php:80
      • 21. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45
      • 22. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:219
      • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:176
      • 24. /vendor/laravel/framework/src/Illuminate/Routing/Router.php:680
    • select * from "profiles" where "profiles"."id" = 'c5fec392-317f-4118-93c3-34cef0999ab7' limit 17.22ms/app/Views/Analytics/PublishedItem.php:36production
      Metadata
      Bindings
      • 0. c5fec392-317f-4118-93c3-34cef0999ab7
      Backtrace
      • 20. /app/Views/Analytics/PublishedItem.php:36
      • 21. /app/Http/Controllers/ArticleController.php:82
      • 24. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45
      • 25. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:219
      • 26. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:176
    • select * from "editors" where "editors"."profile_id" = 'c5fec392-317f-4118-93c3-34cef0999ab7' limit 14.42ms/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23production
      Metadata
      Bindings
      • 0. c5fec392-317f-4118-93c3-34cef0999ab7
      Backtrace
      • 16. /vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23
      • 19. /app/Domain/Profiles/Profile.php:127
      • 20. /app/Views/Analytics/PublishedItem.php:36
      • 21. /app/Http/Controllers/ArticleController.php:82
      • 24. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = 'fa74db99-0e66-4ff1-a556-3dfbd3f01153' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null13.71ms/app/Http/Controllers/ArticleController.php:107production
      Metadata
      Bindings
      • 0. fa74db99-0e66-4ff1-a556-3dfbd3f01153
      • 1. article
      Backtrace
      • 19. /app/Http/Controllers/ArticleController.php:107
      • 22. /vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php:45
      • 23. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:219
      • 24. /vendor/laravel/framework/src/Illuminate/Routing/Route.php:176
      • 25. /vendor/laravel/framework/src/Illuminate/Routing/Router.php:680
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = 'c5fec392-317f-4118-93c3-34cef0999ab7' and "imageables"."imageable_type" = 'profile' and "images"."deleted_at" is null4.24msview::frontend._artivent:58production
      Metadata
      Bindings
      • 0. c5fec392-317f-4118-93c3-34cef0999ab7
      • 1. profile
      Backtrace
      • 19. view::frontend._artivent:58
      • 21. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 22. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 23. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 24. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select * from "premium_memberships" where "premium_memberships"."profile_id" = 'c5fec392-317f-4118-93c3-34cef0999ab7' and "premium_memberships"."profile_id" is not null limit 14.77ms/app/Domain/Profiles/Profile.php:116production
      Metadata
      Bindings
      • 0. c5fec392-317f-4118-93c3-34cef0999ab7
      Backtrace
      • 20. /app/Domain/Profiles/Profile.php:116
      • 21. view::frontend._artivent:61
      • 23. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 24. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 25. /vendor/laravel/framework/src/Illuminate/View/View.php:125
    • select * from "editors" where "editors"."profile_id" = 'c5fec392-317f-4118-93c3-34cef0999ab7' limit 12.16ms/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23production
      Metadata
      Bindings
      • 0. c5fec392-317f-4118-93c3-34cef0999ab7
      Backtrace
      • 16. /vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23
      • 19. /app/Domain/Profiles/Profile.php:127
      • 20. view::frontend._artivent:62
      • 22. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 23. /vendor/laravel/framework/src/Illuminate/View/View.php:142
    • select * from "editors" where "editors"."profile_id" = 'c5fec392-317f-4118-93c3-34cef0999ab7' limit 1510μs/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23production
      Metadata
      Bindings
      • 0. c5fec392-317f-4118-93c3-34cef0999ab7
      Backtrace
      • 16. /vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23
      • 19. /app/Domain/Profiles/Profile.php:127
      • 20. /app/Domain/Profiles/Profile.php:150
      • 21. view::frontend._artivent:63
      • 23. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
    • select * from "profile_pages" where "profile_pages"."profile_id" = 'c5fec392-317f-4118-93c3-34cef0999ab7' and "profile_pages"."profile_id" is not null limit 12.16msview::frontend.profiles._article-byline:12production
      Metadata
      Bindings
      • 0. c5fec392-317f-4118-93c3-34cef0999ab7
      Backtrace
      • 21. view::frontend.profiles._article-byline:12
      • 23. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 24. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 25. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 26. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select * from "editors" where "editors"."profile_id" = 'c5fec392-317f-4118-93c3-34cef0999ab7' limit 1670μs/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23production
      Metadata
      Bindings
      • 0. c5fec392-317f-4118-93c3-34cef0999ab7
      Backtrace
      • 16. /vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23
      • 19. /app/Domain/Profiles/Profile.php:127
      • 20. view::frontend._artivent:78
      • 22. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 23. /vendor/laravel/framework/src/Illuminate/View/View.php:142
    • select * from "editors" where "editors"."profile_id" = 'c5fec392-317f-4118-93c3-34cef0999ab7' limit 1550μs/vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23production
      Metadata
      Bindings
      • 0. c5fec392-317f-4118-93c3-34cef0999ab7
      Backtrace
      • 16. /vendor/laravel/framework/src/Illuminate/Support/Traits/ForwardsCalls.php:23
      • 19. /app/Domain/Profiles/Profile.php:127
      • 20. view::frontend._artivent:89
      • 22. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 23. /vendor/laravel/framework/src/Illuminate/View/View.php:142
    • select * from "partners" where "partners"."deleted_at" is null order by "created_at" asc4.44ms/app/Domain/Partners/PartnerRepository.php:58production
      Metadata
      Backtrace
      • 14. /app/Domain/Partners/PartnerRepository.php:58
      • 15. /app/Http/ViewComposers/PartnersComposer.php:24
      • 16. /app/Http/ViewComposers/SimpleComposer.php:15
      • 21. /vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php:179
      • 22. /vendor/laravel/framework/src/Illuminate/View/View.php:123
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = 'b03116a0-abce-47bf-b25d-251b2a3a94bf' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 15.07msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. b03116a0-abce-47bf-b25d-251b2a3a94bf
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = '1b2e71ec-cab4-4833-bf36-39846c13bd0e' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 11.39msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. 1b2e71ec-cab4-4833-bf36-39846c13bd0e
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = '743a18b7-f43c-4b89-83f8-047bcee61c5b' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 16.65msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. 743a18b7-f43c-4b89-83f8-047bcee61c5b
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = '08571622-e1f2-4f34-a28c-754812d2e981' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 16.96msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. 08571622-e1f2-4f34-a28c-754812d2e981
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = 'e8088dc2-1a18-452c-98ce-f8fa866b8cae' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 113.67msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. e8088dc2-1a18-452c-98ce-f8fa866b8cae
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = 'f9843bb6-db0d-4f60-92e3-b693f63f039d' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 18.07msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. f9843bb6-db0d-4f60-92e3-b693f63f039d
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = '4c731ca5-146b-404a-a5ed-0c8c9221f43e' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 13.74msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. 4c731ca5-146b-404a-a5ed-0c8c9221f43e
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = 'b5688c09-40b5-4f39-893a-0259ab85cbf6' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 11.59msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. b5688c09-40b5-4f39-893a-0259ab85cbf6
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = 'abb73c8e-7617-4a00-96ac-efba2723e125' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 11.65msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. abb73c8e-7617-4a00-96ac-efba2723e125
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = 'd40d28b9-a29f-47fe-8ec4-df4190cc21ed' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 11.58msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. d40d28b9-a29f-47fe-8ec4-df4190cc21ed
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = '4349b5b7-0f0f-4997-b9cf-959dd1296a78' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 11.45msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. 4349b5b7-0f0f-4997-b9cf-959dd1296a78
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select "images".*, "imageables"."imageable_id" as "pivot_imageable_id", "imageables"."image_id" as "pivot_image_id", "imageables"."imageable_type" as "pivot_imageable_type", "imageables"."caption" as "pivot_caption" from "images" inner join "imageables" on "images"."id" = "imageables"."image_id" where "imageables"."imageable_id" = '4bd40d3f-ce79-4698-98d5-ab4d30b8573b' and "imageables"."imageable_type" = 'article' and "images"."deleted_at" is null limit 14.79msview::sidebar._columnist_content:8production
      Metadata
      Bindings
      • 0. 4bd40d3f-ce79-4698-98d5-ab4d30b8573b
      • 1. article
      Backtrace
      • 15. view::sidebar._columnist_content:8
      • 17. /vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php:59
      • 18. /vendor/laravel/framework/src/Illuminate/View/View.php:142
      • 19. /vendor/laravel/framework/src/Illuminate/View/View.php:125
      • 20. /vendor/laravel/framework/src/Illuminate/View/View.php:90
    • select * from "partners" where "partners"."deleted_at" is null order by "created_at" asc3.25ms/app/Domain/Partners/PartnerRepository.php:58production
      Metadata
      Backtrace
      • 14. /app/Domain/Partners/PartnerRepository.php:58
      • 15. /app/Http/ViewComposers/PartnersComposer.php:24
      • 16. /app/Http/ViewComposers/SimpleComposer.php:15
      • 21. /vendor/laravel/framework/src/Illuminate/View/Concerns/ManagesEvents.php:179
      • 22. /vendor/laravel/framework/src/Illuminate/View/View.php:123
    App\Domain\Partners\Partner
    10
    App\Domain\Profiles\Page
    1
    App\Domain\Images\Image
    13
    App\Domain\Profiles\Profile
    1
    App\Domain\Tags\Tag
    7
    App\Domain\Articles\Article
    1
        _token
        RoirlrouOIhmVSd8uYiABBqkz759WmNrtOy9F3FP
        _previous
        array:1 [ "url" => "https://bdailytest.cargodev.co.uk/articles/2020/11/20/manchesters-access-on-wh...
        _flash
        array:2 [ "old" => [] "new" => [] ]
        PHPDEBUGBAR_STACK_DATA
        []
        path_info
        /articles/2020/11/20/manchesters-access-on-why-failing-to-invest-in-quality-assurance-will-result-in-an-epic-digital-fail
        status_code
        200
        
        status_text
        OK
        format
        html
        content_type
        text/html; charset=UTF-8
        request_query
        []
        
        request_request
        []
        
        request_headers
        0 of 0
        array:25 [ "x-varnish" => array:1 [ 0 => "400221" ] "accept-encoding" => array:1 [ 0 => "gzip" ] "host" => array:1 [ 0 => "backend_web" ] "via" => array:1 [ 0 => "1.1 c30ae44ae13d (Varnish/7.5)" ] "x-forwarded-for" => array:1 [ 0 => "3.145.88.217, 172.18.0.5" ] "x-real-ip" => array:1 [ 0 => "3.145.88.217" ] "x-forwarded-server" => array:1 [ 0 => "c7fe1cb633e9" ] "x-forwarded-proto" => array:1 [ 0 => "https" ] "x-forwarded-port" => array:1 [ 0 => "443" ] "x-forwarded-host" => array:1 [ 0 => "bdailytest.cargodev.co.uk" ] "upgrade-insecure-requests" => array:1 [ 0 => "1" ] "sec-fetch-user" => array:1 [ 0 => "?1" ] "sec-fetch-site" => array:1 [ 0 => "none" ] "sec-fetch-mode" => array:1 [ 0 => "navigate" ] "sec-fetch-dest" => array:1 [ 0 => "document" ] "sec-ch-ua-platform" => array:1 [ 0 => ""Windows"" ] "sec-ch-ua-mobile" => array:1 [ 0 => "?0" ] "sec-ch-ua" => array:1 [ 0 => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" ] "priority" => array:1 [ 0 => "u=0, i" ] "pragma" => array:1 [ 0 => "no-cache" ] "accept" => array:1 [ 0 => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" ] "user-agent" => array:1 [ 0 => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" ] "content-length" => array:1 [ 0 => "" ] "content-type" => array:1 [ 0 => "" ] "x-cacheable" => array:1 [ 0 => "Yes" ] ]
        request_server
        0 of 0
        array:131 [ "REDIS_PORT" => "6379" "DB_CONNECTION" => "pgsql" "LOG_LEVEL" => "debug" "APP_DEBUG" => "true" "PIWIK_TOKEN" => "" "MAIL_USERNAME" => "postmaster@bdaily.co.uk" "HOSTNAME" => "fcd5a0129215" "MAILGUN_ENDPOINT" => "api.eu.mailgun.net" "DB_PORT" => "5432" "APP_URL" => "https://bdailytest.cargodev.co.uk" "PHP_INI_DIR" => "/usr/local/etc/php" "MAILGUN_SECRET" => "******" "DISQUS_SHORTNAME" => "bdaily-2" "FLICKR_SECRET" => "******" "APP_DOMAIN" => "bdaily" "HOME" => "/var/www" "PIWIK_SITE_ID" => "1" "APP_API_DOMAIN" => "api.bdailytest.cargodev.co.uk" "PEXELS_API_KEY" => "******" "DB_DATABASE" => "production" "NEVERBOUNCE_USERNAME" => "" "PHP_LDFLAGS" => "-Wl,-O1 -pie" "MAIL_DRIVER" => "mailgun" "GOOGLE_SERVICE_ACCOUNT_NAME" => "bdaily@bdaily-437407.iam.gserviceaccount.com" "CAMPAIGN_MONITOR_API_KEY" => "******" "APP_NAME" => "Bdaily" "PHP_CFLAGS" => "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" "GOOGLE_REPORTING_API_KEY" => "******" "PHP_VERSION" => "7.4.33" "SESSION_DRIVER" => "redis" "DB_USERNAME" => "bdaily" "S3_BUCKET" => "bdaily" "APP_API_CLIENT" => "" "BEANSTALKD_HOST" => "beanstalkd" "GPG_KEYS" => "42670A7FE4D0441C8E4632349E4FDC074A4EF02D 5A52880781F755608BF815FC910DEB46F53EA312" "CACHE_DURATION" => "1" "PHP_CPPFLAGS" => "-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" "PHP_ASC_URL" => "https://www.php.net/distributions/php-7.4.33.tar.xz.asc" "COMMUNICATOR_PASSWORD" => "******" "QUEUE_DRIVER" => "beanstalkd" "STRIPE_PUBLIC_KEY" => "******" "PIWIK_URL" => "https://piwik.groundsix.com/" "CACHE_DRIVER" => "redis" "PHP_URL" => "https://www.php.net/distributions/php-7.4.33.tar.xz" "MAIL_ENCRYPTION" => "tls" "STRIPE_DEFAULT_TAX_RATE" => "txr_1KQSsXHpcBs23Pp4T3PCWasS" "FLICKR_KEY" => "******" "GOOGLE_CLIENT_ID" => "245337060443-j2uo82p1e0di5v28tdvaviqnjht6mpnj.apps.googleusercontent.com" "GOOGLE_CLIENT_SECRET" => "******" "S3_REGION" => "eu-west-1" "PATH" => "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" "APP_API_SECRET" => "******" "MAIL_PASSWORD" => "******" "S3_SECRET" => "******" "STRIPE_PRODUCT_ID" => "prod_KuN6w7t9xcOVFb" "GOOGLE_EMBED_MAPS_KEY" => "******" "STRIPE_SECRET_KEY" => "******" "STRIPE_YEARLY_PRICE_ID" => "price_1KQSuGHpcBs23Pp4oy1gFKIj" "BUGSNAG_NOTIFY_RELEASE_STAGES" => "local,staging,production" "APP_BDAILY_ORG_IDS" => "f1e9e763-4610-4839-8d9f-6d41dc6053c9" "MAIL_HOST" => "smtp.eu.mailgun.org" "NEVERBOUNCE_SECRET_KEY" => "******" "APP_TLD" => ".co.uk" "GOOGLE_SERVICE_ACCOUNT_AUTH" => "ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsCiAgInByb2plY3RfaWQiOiAiYmRhaWx5LTQzNzQwNyIsCiAgInByaXZhdGVfa2V5X2lkIjogIjgwOGJjMGE3YTg2MGZmN2YzNGI0YmYxOWMyZmVhMDBmZDYzM2U3MWIiLAogICJwcml2YXRlX2tleSI6ICItLS0tLUJFR0lOIFBSSVZBVEUgS0VZLS0tLS1cbk1JSUV2UUlCQURBTkJna3Foa2lHOXcwQkFRRUZBQVNDQktjd2dnU2pBZ0VBQW9JQkFRRENGaFhDc3U0UnArUHhcbjlmQ3hJbzNLRFkvVVF2TDl0MXNvQjlRZEV1TUVmR3NrWXVwUmNtd3QvWXFZUUFLeXRtRmJHNHJqRU1aa2VaZVdcbjlOQlk1akI0V1l1Y2tvdzA4RHFBRzJVanhjaUJVRTlJdGk3U25EUDJUNHBHZ0lkUHc1b201MENTUWpLZS9ST2ZcbnN2M0ZYUFRXVXR6Mm10ODhVMWs0emhRQWd6QUxqRkh3WjIrRHlKRXZNanY1SXZXNFZuM2UzbTJoZEE0S1dlWEhcblVDNCtqWVJ3QmZ1Z1NOWEFsMHg2ay85K0VJVFRWWU1LREs1WmQwMnJzamVSNUphR0kyM21pM0FHdS9PWDl1czZcbkVnUjJPUURwZVAxWmFDdTl5Q2RMRlFvSVluang1UEtkYnc5clBFcTlVTFNJQ0V1SVE2UDQyempMbmJZM1crQkZcbnNQN01KNi94QWdNQkFBRUNnZ0VBQm5DU0owUWxsd3RoaWxFMU84TmdQZ0NHTWE1SS9yY2JQTEJKenU4bC9pdWNcbnFIZnB1MnNYQU0ybFVCanJuZjlrS3BBMjR3TFcrbFY0ZktkQjFIbEt5V3Q3TU9aQjVhM0UyeVJOamtyTk5ORXpcbjJEOUhQWEMyWHFsVDlyUGtDWGI5Z2VYeFpBanpRZ2cyb3ZsZTV6SUc0NmViTWttQU43R3lSNnE2eWl1UUtBbmdcbmlTQWJXN2R4TERjMDYvWS92dTI5MW1RZ2NrVkVNclhKNU9oeFMxWk5pSUZTd0ptZlI3ZUpxSUQrOXFRd1dJd0lcbm5yQ2RDZ1ovOFRtcFltWXR0SUczcVdsUkhIcmRtK0dhdHZvM1N4a2g4dFphYW5yNmdxcjVadHZPTFdzOSsxSmVcbjFveGlFamVFTjdhQVpTZnpWZDVwTm9ja3FleVRlVkZFL2phWVJ6WXRtUUtCZ1FEdUcvSWZraGhvaEI2bFJBcnBcbmNMWkowTzNsR2ZwRVVYd3pQb25iNnppQzlNZUhWOE1RcUhIakFubW92eGpmS1hNOGZIbndiMmpBRk5vdUNlSmdcblZNcHNmM253TFhDR0F1dFp5dUwvelJ1Sm9FdFJwdzlEMmZ3NjV1a2pmelFrZWZ1Si9PWEZBNzlteUpaMXNqTnZcblNSWXpGVGJYNy9wZDhwOGlGWld1Nkh3dkpRS0JnUURRcTFxMUp2dlA4UVZ4OU5MYnNpdmJSWklFUmcxN1VXSnNcbmRueTN0eWQxMGNxRlBzUVA3ZlpHeXhWSHh6L1E1cVZVNDdrSkVVRjVibVJiT2ozak96NzN1OVhPL0hCeGNDdlFcbmQ5aEhqVmNIa0xpOG5Eb1A1bktBS080SHRYVE5UeFBVdGczMHpkZWJsY0VBaWRzbzZMeHBpZFVZWTJqSmVnb2NcbjErcjhVemo1M1FLQmdFa09jZitWeDc5cHFpMXk3eFlvNndWREFYcmx1WS8wb0hMb29VdkVwQllxSEg0K1F5OTlcblAxUXpramhnU2JWTzluaDhpTDFvc1c4ZDlzTmhiUCs1aEZJOTJxQUNrUi9ORFlFRGF4cXBSK1cyTk9YY3FDWmRcblg3S0MzczF4WGdKREd4Wi9iZEJCRWh6ck5wN3VDakgrN3J6RnFZb2ZxMlhmNTB1QjYrYzZsYit4QW9HQUExaXNcbkpMbVNVanhnUlBxVEl4alJZVHZWWXFJbzl6QlA3c05icnFxT1JISnYyQUV3cmJ5NE5WeHVZKzlMRTdPUE5UUk5cbnRGcUZmVWdLN2ZlYUpIbS93Y05PWTNwaTV6N1FSUkNXOUZiTTdYOGhwMHl1RmJFeFp1TEJKbmgvZmdkbG53U29cblpxT2ljSWxQUmczdjZORUtySHFjWXo2ODRIWkhrVHpaTk9DMHlqVUNnWUVBaVljeUJteFR2NVgzTTZMOTE4bkpcblc0WDhwcFVmazFxdHlaaThLUlFscXZXVTNQUVdoc2ZZUHJ6Rk4wTWorZHNpbWt3ZnQraWdEVkV3alBkclhQdlNcbjJPRWduNytYUytqMjJNS001bUZkMGhEV1p2eDU2QWoyQnZrWnB2V3F2TnM0RlhvYkFIL3lPKzYwVEVEcHQvUDRcbnNqbWhqa1Vnc2VDU1lJYzFERlFZanY0PVxuLS0tLS1FTkQgUFJJVkFURSBLRVktLS0tLVxuIiwKICAiY2xpZW50X2VtYWlsIjogImJkYWlseUBiZGFpbHktNDM3NDA3LmlhbS5nc2VydmljZWFjY291bnQuY29tIiwKICAiY2xpZW50X2lkIjogIjExODM2OTE1NzQyNTc2NzM5NDc0MSIsCiAgImF1dGhfdXJpIjogImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi9hdXRoIiwKICAidG9rZW5fdXJpIjogImh0dHBzOi8vb2F1dGgyLmdvb2dsZWFwaXMuY29tL3Rva2VuIiwKICAiYXV0aF9wcm92aWRlcl94NTA5X2NlcnRfdXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL29hdXRoMi92MS9jZXJ0cyIsCiAgImNsaWVudF94NTA5X2NlcnRfdXJsIjogImh0dHBzOi8vd3d3Lmdvb2dsZWFwaXMuY29tL3JvYm90L3YxL21ldGFkYXRhL3g1MDkvYmRhaWx5JTQwYmRhaWx5LTQzNzQwNy5pYW0uZ3NlcnZpY2VhY2NvdW50LmNvbSIsCiAgInVuaXZlcnNlX2RvbWFpbiI6ICJnb29nbGVhcGlzLmNvbSIKfQ==ewogICJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsCiAgInByb2plY3RfaWQiOiAiYmRhaWx5LTQzNzQwNyIsCiAgInByaXZhdGVfa2V5X2lkIjogIjgwOGJjMGE3YTg2MGZmN2YzNGI0YmYxOWMyZmVhMDBmZDYz" "APP_LOG_LEVEL" => "debug" "REDIS_PASSWORD" => "******" "MAILGUN_DOMAIN" => "bdaily.co.uk" "CAMPAIGN_MONITOR_CLIENT_ID" => "1337553bde0d556d315ea8591b37b85c" "STRIPE_MONTHLY_PRICE_ID" => "price_1KQSuGHpcBs23Pp4ZMLbOkaP" "BUGSNAG_API_KEY" => "******" "MAIL_PORT" => "587" "APP_KEY" => "******" "APP_ENV" => "production" "GOOGLE_REPORTING_PROPERTY" => "379401283" "DB_PASSWORD" => "******" "REDIS_HOST" => "redis" "PHPIZE_DEPS" => "autoconf \t\tdpkg-dev \t\tfile \t\tg++ \t\tgcc \t\tlibc-dev \t\tmake \t\tpkg-config \t\tre2c" "PWD" => "/var/www/html" "PHP_SHA256" => "924846abf93bc613815c55dd3f5809377813ac62a9ec4eb3778675b82a27b927" "S3_KEY" => "******" "DB_HOST" => "db" "COMMUNICATOR_USERNAME" => "" "USER" => "www-data" "HTTP_X_VARNISH" => "400221" "HTTP_ACCEPT_ENCODING" => "gzip" "HTTP_HOST" => "backend_web" "HTTP_VIA" => "1.1 c30ae44ae13d (Varnish/7.5)" "HTTP_X_FORWARDED_FOR" => "3.145.88.217, 172.18.0.5" "HTTP_X_REAL_IP" => "3.145.88.217" "HTTP_X_FORWARDED_SERVER" => "c7fe1cb633e9" "HTTP_X_FORWARDED_PROTO" => "https" "HTTP_X_FORWARDED_PORT" => "443" "HTTP_X_FORWARDED_HOST" => "bdailytest.cargodev.co.uk" "HTTP_UPGRADE_INSECURE_REQUESTS" => "1" "HTTP_SEC_FETCH_USER" => "?1" "HTTP_SEC_FETCH_SITE" => "none" "HTTP_SEC_FETCH_MODE" => "navigate" "HTTP_SEC_FETCH_DEST" => "document" "HTTP_SEC_CH_UA_PLATFORM" => ""Windows"" "HTTP_SEC_CH_UA_MOBILE" => "?0" "HTTP_SEC_CH_UA" => ""HeadlessChrome";v="129", "Not=A?Brand";v="8", "Chromium";v="129"" "HTTP_PRIORITY" => "u=0, i" "HTTP_PRAGMA" => "no-cache" "HTTP_ACCEPT" => "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7" "HTTP_USER_AGENT" => "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)" "PATH_INFO" => "" "SCRIPT_FILENAME" => "/var/www/html/public/index.php" "REDIRECT_STATUS" => "200" "SERVER_NAME" => "bdaily.co.uk" "SERVER_PORT" => "8080" "SERVER_ADDR" => "172.18.0.7" "REMOTE_PORT" => "33140" "REMOTE_ADDR" => "172.18.0.8" "SERVER_SOFTWARE" => "nginx/1.27.0" "GATEWAY_INTERFACE" => "CGI/1.1" "REQUEST_SCHEME" => "http" "SERVER_PROTOCOL" => "HTTP/1.1" "DOCUMENT_ROOT" => "/var/www/html/public" "DOCUMENT_URI" => "/index.php" "REQUEST_URI" => "/articles/2020/11/20/manchesters-access-on-why-failing-to-invest-in-quality-assurance-will-result-in-an-epic-digital-fail" "SCRIPT_NAME" => "/index.php" "CONTENT_LENGTH" => "" "CONTENT_TYPE" => "" "REQUEST_METHOD" => "GET" "QUERY_STRING" => "" "FCGI_ROLE" => "RESPONDER" "PHP_SELF" => "/index.php" "REQUEST_TIME_FLOAT" => 1743757613.2739 "REQUEST_TIME" => 1743757613 "argv" => [] "argc" => 0 ]
        request_cookies
        []
        
        response_headers
        0 of 0
        array:6 [ "cache-control" => array:1 [ 0 => "max-age=30, public" ] "date" => array:1 [ 0 => "Fri, 04 Apr 2025 09:06:53 GMT" ] "content-type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "x-cacheable" => array:1 [ 0 => "Yes" ] "set-cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImhFTk9FNjhQZkJQbjF2RGVNN0xXZVE9PSIsInZhbHVlIjoidXZpNXdpMkE4RU5hUmRCZXBVMzhqc3puVExoXC9zdno0OFFBbVJDZ0FcL2dGY01rbmZuVXRuYkVVK1ZMVFdzdGhKIiwibWFjIjoiMTUzMzI5NGU0MmVjMDM3ZjVlNmMyNWNkMzNkMmQ1YjdjZjkxZDA4ZmU4ZjUzMDNlYjljZjJmMWRlZTRjZmEyYSJ9; expires=Mon, 02-Apr-2035 09:06:53 GMT; Max-Age=315360000; path=/; secureXSRF-TOKEN=eyJpdiI6ImhFTk9FNjhQZkJQbjF2RGVNN0xXZVE9PSIsInZhbHVlIjoidXZpNXdpMkE4RU5hUmRCZXBVMzhqc3puVExoXC9zdno0OFFBbVJDZ0FcL2dGY01rbmZuVXRuYkVVK1ZMVFdzdGhKIiwib" 1 => "bdaily_session=eyJpdiI6ImdhRW5MTzBDeU1ZWkFmU3FYQVNnUUE9PSIsInZhbHVlIjoiRXJwXC9sOXZiREVhNlZaMVg0WjhBMnVEa1Z3U1BIdmRnM1ZORkhzcklcL0NnS01LYmd4Nyt1TlFyenBLcW5KUkJLIiwibWFjIjoiNWJkM2EyZjAzNzRkOTc4MWJlM2E4OWFkYWQ1ZDRjYTdmN2ExZjBiZDM5NDNkZDI3ODUyODM5OTgzMTM5YWE3MSJ9; expires=Mon, 02-Apr-2035 09:06:53 GMT; Max-Age=315360000; path=/; secure; httponlybdaily_session=eyJpdiI6ImdhRW5MTzBDeU1ZWkFmU3FYQVNnUUE9PSIsInZhbHVlIjoiRXJwXC9sOXZiREVhNlZaMVg0WjhBMnVEa1Z3U1BIdmRnM1ZORkhzcklcL0NnS01LYmd4Nyt1TlFyenBLcW5KUkJLI" ] "Set-Cookie" => array:2 [ 0 => "XSRF-TOKEN=eyJpdiI6ImhFTk9FNjhQZkJQbjF2RGVNN0xXZVE9PSIsInZhbHVlIjoidXZpNXdpMkE4RU5hUmRCZXBVMzhqc3puVExoXC9zdno0OFFBbVJDZ0FcL2dGY01rbmZuVXRuYkVVK1ZMVFdzdGhKIiwibWFjIjoiMTUzMzI5NGU0MmVjMDM3ZjVlNmMyNWNkMzNkMmQ1YjdjZjkxZDA4ZmU4ZjUzMDNlYjljZjJmMWRlZTRjZmEyYSJ9; expires=Mon, 02-Apr-2035 09:06:53 GMT; path=/; secureXSRF-TOKEN=eyJpdiI6ImhFTk9FNjhQZkJQbjF2RGVNN0xXZVE9PSIsInZhbHVlIjoidXZpNXdpMkE4RU5hUmRCZXBVMzhqc3puVExoXC9zdno0OFFBbVJDZ0FcL2dGY01rbmZuVXRuYkVVK1ZMVFdzdGhKIiwib" 1 => "bdaily_session=eyJpdiI6ImdhRW5MTzBDeU1ZWkFmU3FYQVNnUUE9PSIsInZhbHVlIjoiRXJwXC9sOXZiREVhNlZaMVg0WjhBMnVEa1Z3U1BIdmRnM1ZORkhzcklcL0NnS01LYmd4Nyt1TlFyenBLcW5KUkJLIiwibWFjIjoiNWJkM2EyZjAzNzRkOTc4MWJlM2E4OWFkYWQ1ZDRjYTdmN2ExZjBiZDM5NDNkZDI3ODUyODM5OTgzMTM5YWE3MSJ9; expires=Mon, 02-Apr-2035 09:06:53 GMT; path=/; secure; httponlybdaily_session=eyJpdiI6ImdhRW5MTzBDeU1ZWkFmU3FYQVNnUUE9PSIsInZhbHVlIjoiRXJwXC9sOXZiREVhNlZaMVg0WjhBMnVEa1Z3U1BIdmRnM1ZORkhzcklcL0NnS01LYmd4Nyt1TlFyenBLcW5KUkJLI" ] ]
        session_attributes
        0 of 0
        array:4 [ "_token" => "RoirlrouOIhmVSd8uYiABBqkz759WmNrtOy9F3FP" "_previous" => array:1 [ "url" => "https://bdailytest.cargodev.co.uk/articles/2020/11/20/manchesters-access-on-why-failing-to-invest-in-quality-assurance-will-result-in-an-epic-digital-fail" ] "_flash" => array:2 [ "old" => [] "new" => [] ] "PHPDEBUGBAR_STACK_DATA" => [] ]