A fabricação de software de computador é uma empresa baseada no desenvolvimento de aplicativos de software para consumidores. Um engenheiro de teste de sistemas é um indivíduo responsável por verificar defeitos nos aplicativos de software. Ele normalmente testa um aplicativo para garantir que o sistema funcione como pretendido antes de ser lançado aos consumidores no mercado.
Historicamente, os testes do sistema foram concluídos pelos engenheiros de software que criaram o aplicativo originalmente. Esta prática provou ser ineficiente porque os desenvolvedores estavam intimamente familiarizados com o software e normalmente não apresentavam defeitos no sistema. Nas últimas décadas, os testes de sistemas tornaram-se uma disciplina na ciência da computação.
Produtos de software de qualidade requerem horas de testes rigorosos. O engenheiro de teste de sistemas é o especialista em controle de qualidade de uma organização de desenvolvimento de software. Ele geralmente tem autoridade para rejeitar software defeituoso. Ele normalmente trabalha no departamento de testes de uma empresa e é considerado o último ponto de verificação da qualidade antes da produção.
Para se tornar um engenheiro de teste de sistemas, um indivíduo deve entender os princípios básicos de programação de computadores. Ele deveria ter alguma educação universitária com ênfase em ciência da computação. A maioria das grandes empresas possui uma equipe de testes específica, especializada em processos de garantia de qualidade. Essa equipe geralmente inclui gerentes de teste, engenheiros, redatores técnicos e testadores de automação.
Hoje existem muitos aplicativos de software automatizados que gerenciam defeitos encontrados pelo engenheiro de teste de sistemas. Este software é um scorecard básico dos problemas documentados pela equipe de teste. O engenheiro de teste é responsável pelo rastreamento, gerenciamento e relatório de todos os defeitos encontrados no aplicativo de software. Esse processo de documentação geralmente é realizado com cada ciclo de criação e teste de software.
O teste de software de computador geralmente é feito em um ambiente de teste independente. Esse ambiente é gerenciado e configurado pelo engenheiro de teste de sistemas. Ele é responsável por criar um ambiente que se assemelha à configuração do sistema que será usada pelos consumidores. O engenheiro de teste cria scripts de teste especiais projetados para testar todas as facetas do aplicativo.
Um bom ciclo de teste é aquele baseado em amostras de teste positivas e negativas. Teste positivo é um processo no qual um sistema é testado com bons dados que seguem um processo de negócios definido. O teste negativo é uma forma de teste que garante que o tratamento de erros funcione corretamente com dados inválidos. Este é considerado um processo de teste mais detalhado porque o testador está tentando quebrar o sistema.
A maioria dos engenheiros de teste de sistemas usa software de automação para testar aplicativos. Este software é baseado em scripts de teste, que realizam o teste real. O software de automação é um método mais preciso de teste que pode ser usado para testes de regressão de um aplicativo no futuro.