Baixe o app para aproveitar ainda mais
Prévia do material em texto
PROBLEMAS NOS PROBLEMAS NOS SOFTWARESSOFTWARES QUALIDADE DE SOFTWARE E QUALIDADE DE SOFTWARE E DESENVOLVIMENTO SEGURODESENVOLVIMENTO SEGURO PROF. WAGNER MACEDOPROF. WAGNER MACEDO 8 DE MAIO DE 20178 DE MAIO DE 2017 Os erros qu e causam risc os! Crise do Software A diferença entre construir um prédio alto e uma casa está longe de ser resolvida aumentando o número de tijolos! Até a década de 1970, o hardware era muito caro. Nessa época acreditava-se que problemas maiores significavam apenas a necessidade de máquinas maiores. A grande mudança Os computadores se tornaram muito mais poderosos e mais baratos. Com o hardware mais barato, o software tornou-se a parte mais cara dos sistemas computacionais. Com maiores recursos de hardware, foi permitida a criação de produtos mais complexos. “A maior causa da crise do software é que as máquinas tornaram- se várias ordens de magnitude mais potentes! Em termos dire- tos, enquanto não havia máquinas, progra- mar não era um problema; quando tivemos computadores fracos, isso se tornou um problema pequeno e agora que temos com- putadores gigantescos, programar tornou-se um problema gigantesco.” Dijkstra Qualidade e bugs Foto de um inseto encontrado em um computador em 1945 Relação entre bugs e qualidade A relação entre bugs e qualidade às vezes causa certas confusões. Geralmente o simples fato de se pronunciar a palavra bug equivale a acionar um alarme. A discussão sobre bug muitas vezes se resume à equação inexata qualidade=bug “Zero-defeitos” O conceito de “zero-defeitos” é um ideal a ser buscado, mas do ponto de vista da administração e engenharia é mais realístico se perguntar até que ponto pode-se evitar os erros. Qual o fator que determina esse limite? Vamos pensar... Erro, Defeito ou Falha? Qual a melhor palavra para explicar que um programa travou ou não funciona corretamente? Apesar de parecer a mesma coisa, no contexto da qualidade de software defeito, erro e falha não são sinônimos! Defeito Defeito é uma imperfeição do produto. Programa defeituoso é um programa “que não funciona como deve”. Defeito nem sempre é algo que trava o programa! No código acima, b deveria ter o valor 0.1, mas por que a mensagem aparece? Falha Falha é o resultado errado provocado por um defeito ou uma condição inesperada. Defeitos podem existir, mas nem sempre ser visíveis. Falhas também podem ocorrer por fatores externos ao programa. Toda falha pode ser perigosa. Isolar um defeito Consiste em determinar sob quais condições um defeito ocorre. Tem como objetivo encontrar as causas de falhas. Isso implica, geralmente, descobrir em qual linha de código ocorre uma falha. Falhas devem ser reproduzíveis Isolar um defeito pode ser muito difícil É preciso conseguir repetir a falha sistematicamente Se é impossível repeti-la, é improvável que o defeito possa ser encontrado Algumas falhas são bastante difíceis de reproduzir Sumário: erro / defeito / falha Vamos pensar Um programa que não tem defeitos pode falhar? Por quê? FIM
Compartilhar