How many testing specialisms are there?

One of the best things about being both a freelancer, rather than full time employed, and a curator for the MoT software testing essentials certificate is; when I am on a lesson or module that really makes me think I can see potential gaps.

If you search for a list of testing specialisms or ask your friendly but dumb AI parrot, you get a fairly standard response. I’ll post one below but you will note that some don’t really sound like specialisms.

  • Functional Testing: Verifying if software functions as intended based on requirements.
  • Performance Testing: Evaluating software performance under different load conditions.
  • Security Testing: Identifying potential vulnerabilities in software security.
  • Usability Testing: Assessing how user-friendly and intuitive a software interface is.
  • Regression Testing: Ensuring that new changes to software don’t break existing functionalities.
  • Integration Testing: Checking how different software components interact with each other.
  • Mobile App Testing: Testing software applications specifically designed for mobile devices.
  • Automation Testing: Developing and executing automated test scripts to streamline testing processes.

So for the above, functional and regression testing feels less specialisms than just what most testers do. And the glaring lack of Accessibility in the list speaks volumes. API is the other big one I think. Engineer and it’s variations feels like it should get a mention. Possibly Usability. For now I’m not thinking test management but Coach / Champion / Advocate probably should have a category.

I may get into what is under the top level ones later like mobile app testers who specialist in either Apple or Android etc. But I want to start at the beginning with a definitive community list.

So my question and request is, can you add a specialism to the options offered here? I’ll add them below to keep them in one place.

Compliance Testing - Testing whether the software meets compliance and regulatory standards or not. - Ujjwal Kumar Singh

AI - both testing AI / LLMs and using AI in testing as a tool - Jane D’Cruze

Test and Release Coordinator / Management - Manages software release process across teams / has leadership and / or line management responsibilities. - Jesper Ottosen

Migration testing - from whole systems to data stacks, often in the enterprise and consultancy space. “Same-same, just different testing” - Jesper Ottosen

Test Infrastructure Specialist - A specific role that helps testing teams / project teams with setting up physical (hardware) and software infrastructure. - Rahul Parwal

3 Likes

Compliance Testing - Testing whether the software meets compliance and regulatory standards or not.

I consider this a testing specialism because some organizations that are very strict with compliance requirements have dedicated teams, including legal teams, that test the software to ensure it adheres to compliance and regulatory standards. For e.g. Finance and healthcare software.

4 Likes

Hi Ady,

I think Test Management is also a specialism, given ISTQB have a separate training path to become a test manager, and it involves coordinating, overseeing, and advocating for all aspects of the testing process to ensure the delivery of high-quality software products through effective planning, communication, and continuous improvement. You need to have knowledge of every stage and type of the testing lifecycle, as well as having project management skills.

You might want to consider a more generic non-functional that covers things like fail over, disaster recovery, back up and restore, maintainability, supportability, interoperability and so on.

Finally I think a new one that is currently emerging is AI Testing. This is significantly different to current automation or manual testing.

3 Likes

Thanks Jane, I’m deliberately not including test management as leadership isn’t completely specific to testing but can see your points falling under coach / champion / advocate.
The generic non-functional or quality characteristics is interesting. Definitely something to think about although I’m not sure they are full stand alone jobs or career paths. Will definitely add AI, both as testing AI and using AI in testing. Thanks for the help.

1 Like

Yes agreed on the non-functional, as with the functional, those should come with the territory of most self respecting testers. If they are doing ST/SIT then both are considered.

Fair enough on the Test Management, although, it does differ from other leadership roles in some respects as it includes things like quality framework strategy definitions, testing risk mitigation and Cross-functional coordination.

1 Like

Many places in mainland Europe have job titles for test managers, that lead/manage the testing activities but does not include line management. I know you are mostly UK, but please don’t disregard that speciality. Group it perhaps with Test & release coordinator, as the person who coordinates uat activities on erp systems.

+1 for compliance wrt Dora, nis2 and all the other (eu) terms.

1 Like

Test Infrastructure Specialist - A specific role that helps testing teams / project teams with setting up physical (hardware) and software infrastructure.

It’s a crucial speciality need in fields related to IoT, Embedded Testing, Hardware in Loop Testing, etc.

Migration testing as an activity, of testing moving stuff from A to B.
often related to Transition projects, where whole systems are moved from one stack to another, and perhaps another solution supplier. That again is in the enterprise and consultancy space, which is a different pot than software development projects, where most testers sit. I have called it Same-Same, Just-Different testing :joy:

1 Like

I second that Jesper. As someone who’s worked in corporate IT teams where migrations are often carried out, there is a distinct set of skills required to plan and test a migration.

One way to tackle this, is to break it down into smaller problems and categorize things.

  1. Some specialisms have their own job title, and in some cases their own team. Security and Performance sometimes fall into this camp.
  2. Some of the items in such lists, are either tasks, or skills, that you can be more or less experienced in, but typically wouldn’t warrant their own job title.
  3. Regression and functional are generalist topics, that not only any role could and usually does do, they can be combined with other elements. For example, you can check the functionality of a mobile app, or you can check for performance regressions. Regression testing, to take it further, is more about when you’re performing the testing, e.g after a feature is live and when you’ve made related or unrelated changes, and the purpose, e.g to detect unexpected changes. Where as functional testing could be anything at anytime, it’s typically referring to new feature testing.
  4. Oh and some of these things are quality characteristics, like the 9 that are part of ISO 25010. See ISO 25010
  5. I never miss a good opportunity to draw attending to this big list of job titles, that is growing and still not close to exhaustive. GitHub - eaccmk/ALL_QA_Testing_Roles: This is a public repository containing list of all the Roles and Designations in Quality and Testing space. Software or Hardware Engineering. Add yours shout out to Millan Kaul and @parwalrahul .
2 Likes

Janet Gregory and I started making a list of these back when we wrote our first book. We got to 100 items in the list and gave up. Heh!

1 Like

Think of a product risk and add it to your list.

Testing for the most part remains the same but with each risk the appropriate, knowledge, skills and toolset can be built out.

Its a very long career learning list and everyday something wonderfully new to pick up.

2 Likes

Great thoughts as usual Ben. It’s going to be a fine line between opinions to get to something useful for the community. I want to avoid job titles as there’s lots of things you can learn from different specialisms without having it be your full time role.

1 Like

What is the purpose of this list of “specialisms”? Just for fun? I mean you can get any niche product and its features and create a testing specialism, e.g. I worked with software for spoofing digital fingerprints, so I could come up with digital fingerprints testing specialism. Do we need it? No.
The list you provided and the definitions are quite okay. You can endlessly discuss that they are not full, precise, etc but for experienced engineers, it’s more than enough. If you have no experience reading a full philosophical list with definitions won’t help you to understand so I’m not even sure that it might be useful even for teaching :slight_smile:

I’m thinking better we go into categories, so here’s a few:

  • Testing technique
  • Quality criteria
  • Testing tool
  • Testing level
  • Coding tool or expertise
  • Testing role
  • Business domain
  • Product/system domain/technology
  • Software engineering sub-specialisms
  • Test environment and infrastructure
  • Test data management
  • Regulatory and compliance
  • Test process
  • Combinations with other roles

And I hope we’re considering mostly Software testing, otherwise this list can extend quite a lot.
Then add on top the degree of specialism for each item to get a specific specialism that fits a job.

Good question. As I said, I think there’s a gap related to testing specialisms when you try looking for a list. I thought the community could help build one to help us all.
I’m trying to avoid job descriptions as they are too varied for the same thing. Niche types I don’t think really help someone new to testing understand potential learning routes either. So trying to find a balance between specialisms you can get full time jobs for like security, and others like API testing that can be more of a generalist skill is tricky. But that’s why I think it is worth trying and why the resources doesn’t really exist.
Hope that make sense?

Absolutely, it’s probably worth explicitly calling out that while a job title might explicitly call out a specialism, many roles and the people doing those roles, will cover work across multiple specialisms.

1 Like

What is a better representation of the degree of specialization besides the job description where specializations are required?
If I apply and interview for a job, I will try to meet the demands of the employer not of a generic list on MoT.
Ignoring job descriptions and generalizing the common entry level demands/specializations may work for many generalist or junior positions.

My goal here isn’t about finding out what jobs there are, it is to raise awareness of the options tester have to grow in other areas. I’m hoping it will be useful for both juniors to see how they could grow and generalists to help them map learning paths. I don’t expect this to be a completely definitive list of everything, just a guide.