O termo bug tem sido utilizado pelos engenheiros para classificar pequenas falhas nas máquinas a mais de um século. Tomas Edison já citava bugs em circuitos elétricos em 1870.
Quando o primeiro computador foi construído no início da década de 40, pessoas que trabalhavam na sua construção, encontraram bugs tanto no hardware quanto nos programas executados pelo computador
Um caso curioso sobre bugs data de 1947, quando engenheiros trabalhando no computador MarkII na Universidade de Harvard, encontraram uma traça enroscada em um dos seus componentes. Eles fixaram a traça no livro de registro de operações e rotularam-no como o “primeiro caso real de um bug sendo encontrado” Leia mais …
A utilização da técnica de casos de uso para se registrar os requisitos funcionais de um software é largamente difundida na comunidade dos desenvolvedores des software, amparada pela UML e preconizada por diversas metodologias e gurus da área.
Durante algum tempo defendi e pratiquei a elaboração de casos de uso como uma atividade que precedia a elaboração das especificações de interfaces visuais, e portanto sendo independente da mesma.
Entretanto nada como um dia após o outro… Depois de realizar alguns projetos realizados com essa abordagem e sentir na pele a falta de um prototipo de interface visual para apoiar a elaboração dos casos de uso, mudei radicalmente minha abordagem: agora o protótipo de telas antecede a escrita dos casos uso, e esses são elaborados com um olho na interface visual e outro no modelo de domínio. Destaco abaixo a importância da interface visual para a elaboração dos casos de uso:
Leia mais …
Em 29 abril de 2010 tive a oportunidade de participar do seminário Fábricas de Software, organizado peal Recriando Educação & Estratégia em parceria com a Sucesu-SP Sociedade de Usuários de Informática e Telecomunicações – São Paulo. Esse seminário foi organizado em quatro palestras, conforme descrito abaixo. Compartilho aqui um breve resumo que capturei de cada palestra:
Imagem disponível em http://www.recriandoonline.com.br/fsoft/
1. Cenários e Tendências para as Fábricas de Software: Uma Visão das Principais Mudanças de Paradigma que estão Ocorrendo. Palestrante: Aguinaldo Aragon Fernandes
Na abertura o palestrante destacou a importância do uso de controles para uma Fábrica de Software traçando um paralelo com a indústria automobilística. Em seguida comentou sobre qual seria o real valor das certificações como o CMMI, ressaltando os desafios que a cultura brasileira impõe na adoção desses modelos, e como as empresas que possuem essas certificações pouco se beneficiam delas. Comentou-se sobre a queda atual na procura por esse tipo de certificação.
Leia mais …
Na primeira parte desse artigo descrevi os quatro primeiros passos para a elaboração do modelo de domínio, e chegamos até a primeira versão de um diagrama de classes de domínio. Nessa segunda e última parte descreverei os dois passos finais necessários para o refinamento das classes de domínio e dos seus relacionamentos
Leia mais …
Neste artigo irei abordar as práticas e técnicas utilizadas para a elaboração do modelo de domínio para o desenvolvimento de software
Quando você está criando seu modelo de domínio, uma boa fonte de classes de domínio inclui a descrição de requisitos em alto nível, aqueles que são geralmente (mas nem sempre) escrito na forma "O sistema deve fazer isso, o sistema não deve fazer isso. " É útil verificar esses requisitos, extraindo os substantivos e frases substantivas. Você pode refiná-las para criar o modelo de domínio inicial. Com isso em mente, vamos percorrer os requisitos de alto nível para para o desenvolvimento de um software para uma Livraria Virtual, e e extrair as classes de domínio possíveis.
Leia mais …
Uma técnica muito utilizada na área de TI para medir o benefício de um determinado projeto é avaliar o seu retorno do investimento (ROI), sendo que um projeto se demonstra viável quando o retorno financeiro do mesmo é maior do que o investimento feito para o desenvolvimento do projeto.
Sabe-se que testar um software custa caro, sendo que a atividade de teste possui além dos custos com salários gastos com o time de testes, os custos com ferramentas e ambientes para testes.
Para justificar os custos dos testes, vamos analisar quanto custa não testar: quais seriam os custos envolvidos com um defeito de software identificado em ambiente de produção? Leia mais …
Creio que ainda a atividade de teste sofre com problemas de vocabulário, pois quando se está em reuniões de trabalho discutindo-se teste de software, é uma festa! Cada um tem seu próprio termo para ser usado dado um determinado conceito de teste. Para contribuir com a melhoria do vocabulário utilizado na área de testes, segue abaixo as quatro fases dos testes de software:
Leia mais …
Frameworks e ferramentas open-source para realização dos vários tipos de testes de software (unitário, funcional, regressão, carga e stress) assim como ferramentas para gerenciamento de plano de testes, casos de testes e relato de defeitos são fundamentais para as empresas que trabalham com desenvolvimento de software. Essas ferramentas preenchem lacunas deixadas pelas ferramentas pagas.
Ferramentas open-source para gerenciamento e execução de testes estão disponíveis há anos, sendo adotadas de diferentes formas:
Leia mais …
O software é o combustível utilizado pelos negócios modernos, construir e manter software de qualidade, de forma repetitível e previsível é difícil hoje e se tornará cada vez mais difícil. São sintomas típicos de problemas no desenvolvimento de software: falha no entendimento das necessidades dos usuários; inabilidade de tratar mudança de requisitos; descobrimento tardio de demandas importantes do projeto; falta de um processo definido para o desenvolvimento de software
Geralmente os projetos de desenvolvimento de software falham devido às seguintes causas: gerência “por demanda” dos requisitos; comunicação ambígua e imprecisa; arquitetura fracamente definida; complexidade sub-estimada; inconsistências não identificadas nos requisitos, projeto e no código e testes insuficientes. Ao tratar essas causas, através de uma metodologia de desenvolvimento de software, os sintomas serão eliminados e será mais fácil desenvolver e manter um software de qualidade de forma previsível e que possa ser repetida.
Segundo o dicionário Aurélio metodologia é o estudo dos métodos; caminho pelo qual se atinge um objetivo. Modo de proceder, maneira de agir.
As principais características de uma metodologia de desenvolvimento são Leia mais …
Do ponto de vista dos fornecedores o mercado de ferramentas para testes de software é um mercado em consolidação, pois nos últimos 18 meses ocorreram diversas aquisições entre as empresas: a Borland comprou a Segue Software. A Micro Focus comprou a Borland e a linha de produtos open de qualidade de software da Compuware. A HP comprou a Mercury (líder de mercado). IBM e HP adquiriram ferramentas de software para testes de segurança. A Microsoft continua sua expansão nesse mercado, adicionando ferramentas de gerenciamento e de testes manuais na próxima versão do Visual Studio (2010)
Leia mais …