Automatização de testes de software no âmbito da certificação de software para aplicações de engenharia civil - Vilas Boas, Edite Joana Pereira (2016)
Testar software é uma das atividades que faz parte do desenvolvimento de software, e tem como objetivo apresentar evidências de confiabilidade contribuindo para uma maior qualidade do software. Esta atividade consome uma parte significativa do esforço de um projeto de desenvolvimento de software, sempre com o objetivo de encontrar erros antes da fase de manutenção, pois o custo de correção nesta fase pode ser até 100 vezes superior ao custo de correção na fase de conceção. Para auferir mais qualidade ao software, este pode ser certificado por uma norma de qualidade. As normas fornecem processos consistentes, rigorosos e uniformes para o desenvolvimento de software sempre com o objetivo de garantir qualidade ao software. As normas têm um papel importante na definição dos requisitos de teste, casos de teste e relatórios de teste que contemplam a atividade de testes permitindo elaborar um plano de testes mais rigoroso. Como o processo de testes é complexo no desenvolvimento de software, as ferramentas de automatização de testes de software permitem reduzir tempo, recursos e consequentemente os custos para a organização. A automatização deverá ser capaz de produzir os mesmos resultados obtidos através de um processo de testes manual, evidenciando sempre o resultado do teste. Deve também permitir a realização de testes sistemáticos e paralelos em diferentes ambientes de teste, sem o aumento do tempo e de recursos humanos. Nesta dissertação pretende-se desenvolver uma abordagem automatizada com o software Sikuli para a realização de testes seguindo a norma ISO/IEC 25051 para certificação de software. Depois da criação da abordagem e a respetiva criação de testes, é necessário validar a capacidade desta abordagem em comparação com uma abordagem de testes manuais.