You're a software testing engineer. You know the ins and outs of writing, running and analyzing tests. You're a master of software quality assurance.
Your boss, on the other hand, is probably not. Despite being an important decision-maker as far as which resources are available to help you do your software testing job, your boss likely is not a software testing expert, and never will be. Software testing is not part of his or her job description.
That doesn't mean, however, that you can't educate your boss on the essentials of software testing. Doing so will help them make better decisions about how to support you in your job.
You can't teach your boss everything about software testing. But you can communicate core concepts. Here's a look at the critical ideas about software testing that a non-technical manager should understand.
Perhaps the most basic concept for your boss to understand about software testing today is automated testing. Your boss should recognize what this term means, which is relatively straightforward. It refers to running tests in an automated fashion, instead of having test engineers execute each one manually. Your boss should also understand why this is valuable: It saves a great deal of effort, and makes it possible for your team to run more tests more quickly, leading to better software quality.
It's probably overkill to go into detail with your boss about how automated testing actually works, or which frameworks are available to make it happen. Your boss doesn't need to know what Selenium is. But they do understand what automated testing means and why it's important for helping you do your job, you'll be in a better position to obtain the resources you need to help you automate as many tests as possible.
Parallel testing, or the practice of running multiple tests at once, is another key concept for your boss to understand. They should know that parallel tests enable you to run more tests in the same amount of time, leading to faster software delivery.
Here again, you don't need to go into the technical details of how parallel testing works. You should, however, explain how parallel testing differs from automated testing. Both allow you to run more tests in less time, and you might use both testing techniques together. However, parallel testing achieves its efficiencies not via automation, but by simply avoiding the bottlenecks that arise when you run tests sequentially — although in most cases, parallel tests will be automated.
Software test analytics
One of the more complex dimensions of software testing is interpreting tests. Your boss might assume that when you run software tests, you're simply looking for whether the thing you are testing passes or fails the test.
That's the case sometimes, but at other times, things are more complicated, because deciding what counts as a passed or failed test requires interpreting a range of test outputs. Make sure your boss understands this, so that they understand the nuances and complexities of your job, and recognizes that you do more than run tests and check off a “pass” or “fail” box after each one.
You might also want to give your boss a sense of your process for collecting and interpreting test data without going into too much technical detail. If there are tools that are particularly important in this process, make sure your boss knows, so that you'll continue to receive support through access to those tools.
Different types of software testing
You should ensure that your boss understands that software testing comes in many forms. Some software tests evaluate application performance. Others check for security or usability. Others occur earlier in the delivery pipeline and assess whether newly written code is ready to be integrated into the main application codebase.
Your boss probably doesn't need to know the ins and outs of each kind of software test. But at a high level, explain to them that there are multiple sub-disciplines within software testing, each requiring a different set of tools and expertise.
"Shift-left" is a popular buzzword today. It's so popular that your boss might even have heard of it, although he or she may not know what it means.
Take the opportunity to explain the concept. You might have to start by explaining how a software delivery pipeline works, and what it means to move processes "to the left." Then discuss the value of being able to perform tests earlier in the delivery chain.
Your boss doesn't need to know as much about software testing as you do. But by explaining core concepts in software testing, as well as the tools and processes that you need to put those concepts into practice, you'll place yourself in a position to continue receiving the support you need from management to do your job well.
Chris Tozzi has worked as a journalist and Linux systems administrator. He has particular interests in open source, agile infrastructure and networking. He is Senior Editor of content and a DevOps Analyst at Fixate IO. His latest book, For Fun and Profit: A History of the Free and Open Source Software Revolution, was published in 2017.