FÁBRICA DE TESTE
Os desafios do mundo do software
Durante muito tempo as atenções estiveram voltadas para a produção do software, ou
seja, para a linha de produção de códigos. Buscavam-se metodologias e processos
inovadores que permitissem um código mais claro, com menos esforço e com mais
qualidade. Todos os esforços estavam em cima dos códigos a serem gerados.
Depois se passou a acreditar que um planejamento robusto seria a solução, então
investiu-se tudo na modelagem dos processos, nos requisitos e nos projetos. Claro que
tudo isso que foi agregado à produção de software é fundamental para a qualidade do
mesmo. Mas por que, ainda assim, os softwares produzidos não são confiáveis? E por
que, quem acaba descobrindo os principais erros, são os clientes (internos ou
externos)?
As tentativas passam por modelos de garantia de qualidade tais como CMM, CMMI,
MPS-BR entre outros. Um processo maduro e confiável deveria produzir softwares de
qualidade com baixas taxas de erros, e os erros achados deveriam ser de baixo
impacto na produção e na execução do software. Na prática não é isso que acontece.
Depois de algum tempo, as tecnologias amadureceram, os profissionais estavam
alinhados às novas práticas, os processos evoluíram, os requisitos passaram a ser
melhor gerenciados e rastreados, porém os desenvolvedores de software, sejam
grandes ou pequenos, continuam comprometendo o escopo, o prazo, o custo e à
qualidade dos softwares entregues, considerado o mais grave de todos os problemas.
A produção de software não é uma tarefa trivial e apresenta peculiaridades que a
tornam uma atividade de alto risco, não só para quem compra como para quem
vende. A máxima que diz na área de software sabemos como começamos, mas não
temos idéia de como vai terminar é uma frase que é dita constantemente nas
empresas, no mercado e na academia.
Algumas organizações investem na criação de fábrica de software e empregam cada
vez mais tecnologia nos seus processos, gerando mais dependência do mercado e dos
fornecedores, além de muitas vezes serem obrigadas a formar profissionais para o
mercado. Este modelo tem apresentado mais falhas na codificação, aumento de custo,
falta de respeito aos cronogramas, criação de uma estrutura organizacional pesada
comprometendo a produção da própria da fábrica, mas o mais perigoso de tudo,
impedindo que a área de TI acompanhe e dê suporte ao planejamento estratégico da
organização.
Se isso tudo é verdade, me parece lógico que o caminho saudável seja buscar
fornecedores de software no mercado que estejam preparados para atender as
demandas de software das organizações, mas também responder com velocidade e
qualidade apresentando soluções de acordo com as necessidades e investindo em
inovação, mas também cabe a organização definir de forma coerente e responsável o
grau de terceirização, de forma que não comprometa a independência da empresa,
mas que permita avançar na produção e na qualidade do software produzido.
Testes de software
No mundo do software fala-se muito em qualidade de software produzido, mas o que
é qualidade? Um processo de qualidade e maduro gera um software de qualidade?
No livro TQC Controle de Qualidade Total: no estilo japonês, Falconi sintetiza o
conceito de qualidade nos seguintes termos: um produto ou serviço de qualidade é
aquele que atende perfeitamente, de forma confiável, de forma acessível, de forma
segura e no tempo certo às necessidades do cliente.
Segundo Ishikawa, qualidade é desenvolver, projetar, produzir e comercializar um
produto de qualidade que é mais econômico, mais útil e sempre satisfatório para o
consumidor e Deming define qualidade como tudo aquilo que melhora o produto do
ponto de vista do cliente.
Se analisarmos estas três definições, veremos que todas citam o cliente ou consumidor
como peça chave da definição da qualidade. Este é um aspecto fundamental na nossa
linha de raciocínio, não adianta bons requisitos, processos adequados e maduros,
treinamento e ferramental se o cliente não for visto como principal stakehold de toda
a produção.
Diante disso e analisando todas as informações acima expostas vemos que a indústria
de software se esforça muito em prover um produto/serviço de qualidade, mas que
normalmente tem no cliente seu principal algoz. É o cliente a parte mais penalizada do
processo, é ele quem paga, quem descobre os principais erros e quem arca com todo o
prejuízo de um software produzido sem qualidade. A falta de qualidade dos
fornecedores de software reduz a lucratividade das organizações.
As mudanças são necessárias e muitas vezes, apenas por meio delas, o software se
viabiliza, seja por causa de alterações no negócio da empresa, mudanças na legislação,
inclusão de novas funcionalidades para aumentar a produtividade ou para entrada em
novos mercados. Estas mudanças podem impactar as transações em produção já
estabilizadas, provocando os chamados erros regressivos (funcionalidades antigas que
deixaram de funcionar) ou podem promover a parada total do sistema, o que pode
comprometer parte de seu faturamento, provocando perdas financeiras.
Alterar sistemas em produção ou desprender esforços para fazê-los voltar a funcionar
implica no aumento dos custos da organização, fazendo com que as receitas diminuam
e os custos aumentem diminuindo a lucratividade e conseqüentemente deixando a
organização em uma situação de maior vulnerabilidade.
Uma grande corporação precisa garantir que todos os requisitos funcionais (regras de
negócios, usabilidade da aplicação, restrição de acesso) operem da forma desejada. Os
requisitos não funcionais (tempo de resposta, teste de picos de acesso, testes com
grande volume de informações, entre outros cenários) garantem o comportamento do
aplicativo em condições críticas, que só podem ser exercitadas em condições
simuladas e evidenciadas através de testes.
Neste contexto uma Fábrica de Testes permite a diminuição dos custos associados ao
desenvolvimento e funcionamento de sistemas, potencializando os lucros, uma vez
que não haverá perda da receita por descontinuidade dos serviços.
Fábrica de Testes
Uma Fábrica de Testes, segundo a ALATS, é uma estrutura independente de
profissionais com alta especialização e capacitação em processos e ferramentas de
testes de software, objetivando medir e avaliar a qualidade dos sistemas produzidos
ou modificados.
Uma Fábrica de Testes tem por objetivo conseguir aplicar o maior volume de testes no
menor espaço de tempo possível, possibilitando simular os principais cenários de
negócios e avaliar antecipadamente a conformidade do comportamento do aplicativo
em cada situação.
Investir numa Fábrica de Testes é apostar na Qualidade de Software como meio de
minimizar os riscos dos projetos de desenvolvimento e estabelecer meios de controle
sobre a qualidade do software que está sendo disponibilizado.
Sucesso Garantido
Para obtermos sucesso em uma Fábrica de Testes é fundamental uma metodologia
abrangente e madura, ferramental altamente especializado, e neste caso estamos
falando de soluções proprietárias ou free, na verdade, o ideal é que se tenham as duas
linhas de software, além disso, uma equipe bem selecionada e altamente treinada e
especializada, por fim, equipamentos compatíveis com as demandas e ambiente de
trabalho seguro, restrito e que garanta o sigilo e a inviolabilidade das informações.
No que se refere ao planejamento, o uso de uma metodologia de gerenciamento de
projetos pode ajudar e muito o atingimento do sucesso esperado pela fábrica e pelos
clientes.
Por fim, é necessário analisar com cuidado os caminhos a tomar quando o assunto é
qualidade. Nenhumas das citações contidas neste texto podem ser desprezadas, pelo
contrário, todas devem todas ser utilizadas em conjunto, quando possível, na busca da
produção de softwares confiáveis e que atendam às necessidades do mercado e dos
seus clientes.
MARCUS DRATOVSKY é formado em Administração de Empresa com especialização em Sistemas Desenvolvidos
para WEB, é certificado CBTS e Diretor executivo da FTS - Fábrica de Teste de Software.
Download

FÁBRICA DE TESTE Os desafios do mundo do software