KPMG’s Software Testing Market and Insights Report

This week I spotted that KPMG had published their insights into the Software Testing Market so I decided to look it over.

You can read the report for yourself by registering on KPMG’s website, but I’ve shared a few of my observations below.

Growing Demand for Software Testing in the UK

The report mentions that the UK software testing market has shown rapid growth, outpacing the overall technology sector. The market for software testing grew to £1.1 billion in 2023, with job listings for software testers almost doubling since 2022. This increase is primarily driven by the expansion of digital transformation efforts, especially in areas like cloud migration, artificial intelligence (AI), and machine learning (ML).

Sectors like financial services, media, and telecommunications are the main contributors to this demand. Financial institutions, in particular, rely heavily on robust testing services due to the complexity and security concerns in handling sensitive data.

Key Trends in Software Testing

The report identifies several major trends that are shaping the future of software testing, both globally and in the UK. Understanding and staying on top of these trends is essential for testers who wish to stay ahead in their careers:

  1. AI and ML-Driven Testing: AI and ML are revolutionising software testing by automating test case generation, reducing human errors, and speeding up the testing process. The report claims that these technologies are critical for large-scale operations, allowing companies to detect and resolve issues faster. I agree that there is a place for this but we need to balance the productivity gains with our desire to be more sustainable. I’d argue that we always need to question our use of AI and balance the pros in efficiency against the potential downsides.
  2. Codeless Testing Tools: The report mentions tools like Tricentis TOSCA and Test.ai that are making it easier to perform testing without writing extensive code, saving time and effort. Codeless testing is clearly an area of potential growth. Since the report was written I’ve seen impressive demos from blinq.io and Applitools (Autonomous) demonstrating that these capabilities are almost ready for mainstream adoption. This has the potential to reduce the reliance of software engineering skills in testers, placing test tools in the hands of domain (business) experts rather than pure quality engineers.
  3. DevOps and Agile Testing: The integration of quality assurance within Agile and DevOps teams has become a staple. The report mentions that Tools and frameworks like QAOps, which blend quality assurance with DevOps practices, are critical for automating and streamlining software testing processes.
  4. Security and Cybersecurity Testing: With the rising frequency of cyber threats, the need for robust security testing has never been more critical. As UK companies continue to face cybersecurity breaches, demand for testers with expertise in security testing will increase.
  5. Generative AI: One of the most transformative trends, Generative AI, is expected to automate many repetitive testing tasks, further improving software quality and reducing time to market. I can see huge potential in this, after my recent experience working to produce a documentation “helper” for quality engineers using LLMs to advise on document quality.

Career Takeaways for UK Testers

Given these trends, there are several key areas that UK testers should focus on to advance their careers:

  • Upskill in AI and ML Technologies: With AI and ML becoming central to automated testing, testers should seek out certifications or training in these areas to remain relevant in the job market.
  • Master Codeless Testing Tools: Becoming proficient with tools like Tricentis TOSCA Copilot, Test.ai, Applitools Autonomous, Blinq.io or similar tools has the potential to help testers save time and improve efficiency in their workflows.
  • Security Testing Expertise: Cybersecurity testing is a growing field. Gaining certifications in security testing or familiarising yourself with industry standards will help to position you as an asset to companies facing new and evolving cyber threats.
  • Get Comfortable with DevOps and Agile: Understanding how to integrate testing into DevOps and Agile processes is essential for modern software development environments. Investing time in learning QAOps techniques will help you to work within integrated engineering teams.

Conclusion

Software testing is evolving rapidly, with AI, increased automation and cybersecurity at the forefront. Testers who focus on these emerging areas and stay informed about industry developments will find themselves in a stronger position as the demand for skilled professionals continues to rise.

Lost Jenkins admin password !!! – work around / fix

Yesterday I created an instance of Jenkins on Docker so that I could package up all the pre-requisites for the HPE Automation Tools plugin. I need to do this periodically due to the fact that my Jenkins instance at work isn’t connected to the internet and I occasionally need to download new and updated plugins.

I built Jenkins yesterday and presumably used one of my “disposable” passwords for the admin account in this Jenkins instance. I tried “password”, “admin”, “password1” and a few others but I couldn’t remember the password that I set only yesterday !

I decided that I needed to “hack” Jenkins. This was easier said than done because although I found the location for the password in the config files, the password is hashed out (unsurprisingly).

\jenkins\var\jenkins_home\users\admin\config.xml


Rather than remove the password entirely and risk breaking Jenkins, I had a mooch about in some other config files.

\jenkins\var\jenkins_home\config.xml

By changing the <useSecurity> flag to false and restarting Jenkins,I can avoid the password prompt altogether.  

Monitoring Ubuntu Linux from LoadRunner (RSTAT)

Over the years I’ve used RSTAT to monitor the performance of Linux servers during performance tests many times. Historically I’ve asked Linux admins to enable RSTAT for me but over the last year or two I’ve incorporated various Linux machines into my test and demo environment so I’ve had to do this myself.

I’m primarily a Microsoft specialist so I always seem to rely on Google searches and some trial and error to resolve problems that I encounter with Linux and this weekend was no exception. I spotted a FaceBook post from Scott Moore describing problems that he was having with LoadRunner and RSTAT so I decided to see if I could help him.

2016-11-15-08_16_07-scott-moore

I installed RSTAT on my Ubuntu test machine at home and immediately saw the dreaded error message “Error while creating the RPC client. Ensure that the machine can be connected and that it runs the rstat daemon (use rpcinfo utility for this verification).”

Whatever I tried, I could’t get RSTAT to start. After some ‘Googling’, I found a number of posts in various places which helped me to resolve this problem.

A post on StackExchange (related to NFS issues) told me that rpcbind may have a dependency on a package called nfs-common. I installed this “just in case”. The same post told me that to start STATD (which I think is related to RSTAT) automatically at boot, I needed to add “NEED_STATD=yes” to the file “/etc/default/nfs-common”.

A  post on GadgetWiz.com told me that I should edit my /etc/hosts.allow file to ensure that the local host could make rstatd requests.

After restarting my Ubuntu PC, I checked that RSTATD was running using the commands “rsysinfo localhost” and “rup localhost”. I was pleased to see that after making these changes, it was possible to monitor my Ubuntu machine using LoadRunner.

 

lr_ubuntu2

I repeated my test on a new Ubuntu 16.04 LTS machine which I monitored using LoadRunner 12.53. A list of the commands that I used is below:

Install rstatd and related components:

sudo apt-get install rstatd rstat-client nfs-common

Add a line to /etc/hosts.allow to allow certain hosts to make rstatd requests:

rpc.rstatd: localhost

Added a line to /etc/default/nfs-common to start STATD automatically:

NEED_STATD=yes

These commands confirm that RSTATD is running:

rpcinfo -p localhost 
rsysinfo localhost
rup localhost