When you see a job posting for one software tester, it is good to know an exhaustive list of software tester possible tasks. Knowing that list, your possible employer will understand the scope of software tester responsibilities and will understand when you will require a list of task priorities or request for additional tester. This less common task list is aligned with Black Box Software Testing Foundations course (BBST) created by Rebecca Fiedler, Cem Kaner and James Bach.
You will get a chance to write requirements. As your first task would probably be to create tests based on test requirements, you heuristic will be, oh, lets make good requirements from start. As writing requirements is craft of its own, soon you will realize that this is not an easy task.
Inspections and walkthroughs. Those two are excellent opportunities to learn the application. Requirements, installation instructions, test strategy inspectiona and application demo walkthroughs are good examples.
Compile the software. These days some production code does not need to be compiled (Ruby On Rails), in that case you will need to package the source code for deployment. But Java or Elixir applications still require program compilation.
Conduct glass box test. Create a test case by using knowledge of application source code. If you work with fourth level generation or above programming language, ability to just read the code could be handy in some test cases.
Write installers. You love automation? Automate installation procedures could be automated 100%, and ideal opportunity to learn interpreting language (Python, Ruby).
Configure and maintain programming related help tools. Ideal opportunity to learn how git or travis works. Somebody mentioned git and ssh key? Great, you will learn security foundations how to connect to any server, not just one that serves git.
Archive the software means put all software artifacts in one archive (zip, docker image, tar archive) that represents named software release (v.1.9.3)
Investigate bugs. Not just bugs reported by test team members, but bugs reported by support or customers. Analyze the source code to discover underlying errors.
Every software is using third party components. Doing analysis of those components you can learn about domain that this components handles and you can reveal set of project risks associated with this component.
Provide technical support. By getting in contact with customers, you could learn a lot about your application.
Demonstrate the product at trade shows or internal company meeting. Free vacation and expose your knowledge to company executives! A lot of benefits for you.
Training. New users or support team members. Remember, you are in teacher role, and patience is a king!
Provide risk assessment. Risks are drivers for your test mission!
Collect and report statistical data (software metrics) about project. You need to set important software metrics. For example, number of risks is more credible metrics than number of bugs.
Build and maintain test related tools. Bug tracker and test management are some of them.
Benchmark competing product. Number of users is one example.
Evaluate the significance of various hardware/software configurations. Chrome of Firefox? Is there a third option? These data will help you to choose important configuration tests.
Conduct usability tests.
Comply product with regulatory standards. First, you need to know which regulatory standards.
Provide project management services. As software manager, you will help project manager in managing the project. How many testers to test this sprint features? Which risks should we cover? Are we on track? Why not? What is feature testability? Those are some of questions that you should be able to answer as software test manager.
Originally published at https://blog.tentamen.eu on June 28, 2019.