O que pensar de testes e correções de uma ferramenta case? Como podemos facilitar as coisas? E os testes começarão quando?

Bom, como a empresa D. não trabalha com TDD, vamos realizar os testes manuais baseados no DLR (Documento de Listagem de Requisitos) enviado no inicio do projeto. É mas ja se passaram 7 meses e ainda não mudou-se nenhum requisito? Claro que sim, mas não houve a devida documentação destas mudanças, então vamos fazendo conforme encontramos erros.

Pra facilitar, vamos começar pelas telas e ir navegando pelos menus até completar todos os menus. Fora isso, ainda sobrarão os processamentos. Muitas coisas são acionadas por uma tela ou relatório, e esse acionamentos deverão ser testados também. Aí sobram valores de verificação. Então o sistema não é simples e precisamos de bastante atenção nesse teste.

Os testes estavam sendo realizados gradativamente a todas as entregas, mas as correções não acompanharam essa dinâmica. As correções começaram agora, ao fim do projeto e inicio da estafa da equipe, pois são 7 meses de desenvolvimento de um projeto que deveria ter no máximo 3 meses.

Ao começar o fim, recebi uma notícia: O SPED fiscal está sendo concluído e a empresa iniciará o processo de migração para esse SPED e isso muda bastante o sistema.

Saga GenX – Expectativa

Publicado: 18 de março de 2014 em Uncategorized

Não é a toa que se vende tanto remédio para controle de ansiedade. Mas como sou um cara controlado, faço o possível com chocolate, chá de camomila e suco de maracujá. 

O projeto está acelerando para o final da 2ª fase, está em vias de teste. Mas o que me “impacienta” é a clareza de requisitos e intendimentos contraditórios.

Num Scrum real, a equipe planeja, portanto toda a equipe tem o mesmo entendimento, mas quando se coloca o cliente para falar apenas com o analista de negócio, o projeto fica cheio de idas e vindas com entendimentos problemáticos e inconstâncias.

Depois de ser inserido novamente uma nova regra, facilitou um pouco a atividade. E foi concluída. Bem pelo menos assim espero.

Bem, mas já sei que será necessário colocar uma paginação que foi desenvolvida manualmente. Nessas horas, olho pro Primefaces e digo: Ow eh!

Bem, vou finalizar essa saga. Na realidade, outros projetos estão sendo iniciados e eles estarão disponíveis também. Espero, e minha torcida é para que possamos fazer um ótimo trabalho e ter a oportunidade de criar coisas novas e mostrar valor a aplicativos Móveis.

Até Mais.

Olá, venho por meio desta… Sim, formalmente. O dia dia anterior foi bastante produtivo. Programei 30 linhas e fiquei exausto (entendedores entenderão). Concluí uma atividade que vinha se arrastando comigo a um tempo.

Quando conclui a primeira atividade, fui incumbido de alterar esta atividade para receber novos parametros e gravar um log de erros. Fiz, mas existe uma complicação tão grande na importação de alguns (18mil) registros que toda hora esta atividade volta para que seja verificada. Nesta situação paro o que estou fazendo e volto a testar importação. E isso faz com que nenhuma das duas atividades sejam concluídas obviamente.

Outra coisa que não fazia desde o CGI era campos Hidden. Há muito tempo não uso isso para jogar dados de uma tela pra outra tela. E por incrível que pareça isso fica bem estranho nos dias de hoje. Talvez falta de costume, mas está feito.

Bem o proximo dia, haverá entrega. Se Deus quiser!

Bem, qdo se começa numa linguagem nova, sempre fazemos cagadinhas que funcionam, mas não são as melhores formas de fazer. Vamos aprendendo e vamos melhorando.

Mas quando seguimos as regras de programação da linguagem religiosamente e tudo fica lento? Normalmente, chamamos um consultor e ele nos ajuda. Bem, algumas vezes pode-se mudar todo o código e não mudar nada em tempo de processamento.

Algumas vezes, o resultado não depende da forma que esta escrito o código, e não sei como, mas nessa ferramenta isso realmente parece ser real.

Então, ou essa ferramenta me odeia, ou ela ta me trolando.

Refiz o código usando “java blablabla”. Mesmo assim, o código ficou com o processamento parecido ao que já estava usando “for each”.

Vamos para mais um dia de mudanças com resultados mínimos.

Bom… Já venho fazendo isso a alguns dias, mas vou escrever sobre o dia anterior. Motivo? É que tenho alguns momentos ociosos  pela manhã, enquanto a KB é consolidada.

Vamos ao conteúdo

É incrível como eu me sinto quando tenho uma entrega pra fazer e não a consigo. Mas aqui, é um local que isso não está se aplicando, pois nesse projeto, tudo o que foi me passado a fazer, fiz, porém nem sempre funciona. As vezes fazemos 2x a mesma coisa e uma funciona e outra não.

Fiz um Requisito que era apenas importar um arquivos transformando cada linha do arquivo em um registro no banco. Parece ser simples, não é? Então, mas o sistema está lento e muito lento.

Com ajuda das pessoas daqui, comecei a transformar os Str(x,x) do arquivo TXT importado, em java [!&a!] = [!&linha!].substring(1,12);

Isso parece funcionar, pois fiz algo parecido com sql fazendo update. Mas talvez o contexto possa ter algo que bloqueie o funcionamento correto do procedimento, pois ele simplesmente para de funcionar, sem dar erro, sem mostrar mensagem, nada… e isso me deixa louco da vida.

Como não tinha alguém pra me ajudar aqui no período da tarde, acabei resolvendo uma atividade mais nova, que é relativamente mais simples, e posso dizer que um POG resolve qualquer problema.

Tudo pelo qual eu sempre lutei contra, hoje eu faço, mas não me orgulho disso. kkkk. POGs e mais POGs, só quero ver isso depois pra manutenção.

Então até mais.

Bem, após um feriado, longos dias de descanso e melhora de vitalidade, cheguei imaginando que conseguiria terminar o log de erros inserido na atividade que estava realizando.

Os logs de erros, são relativamente simples. Precisa apenas de “data/hora”,” sequencia”, “onde”, “quem” e “o que”. Pegar isso foi relativamente fácil. Mas fiquei mais tempo que previa tentando fazer o número sequencial funcionar. Bom, não funcionou. Então fabriquei minha própria sequence (max(campo)+1). Sei que isso é uma gambiarra, mas foi assim que funcionou. Parece q o genexus não estava criando a sequence e a trigger no Oracle por algum motivo obscuro que ainda não descobri.

E a atividade que estava realizando agora, ao invés de passar para um TXT os erros, ou plotar em MSG, agora ela grava os registros de erros na tabela Log_Erro. Parece ser mais inteligente, e talvez funcione mais rápido que a gravação em arquivo especificamente.

A tela de visualização de erros passou a receber filtros que devem vir preenchidos da tela de importação e vazios se a pessoa entrar pelo menu. Hoje terminarei esses filtros e irei fazer um teste completo das atividades.

Então. Vamos lá.

Saga GenX – E aí terminou?

Publicado: 27 de fevereiro de 2014 em Desenvolvendo em Genexus
Tags:

Bom, muito bom… Terminar um projeto ou a sua parte é gratificante, principalmente quando numa tecnologia nova.

Conclui, sim, minha parte, mas a manutenabilidade está em sério risco. Pq pela ideia de desenvolvimento da empresa aqui, separar em várias procedures o projeto, torna-o mais lento. Se isso é verdadeiro, escreva tudo no mesmo arquivo.

Um índice ajuda muito. Um programa GenX usa índices automáticos, mas estes índices também podem ser criados manualmente. Sempre que precisar de um select em tabela com muitos dados, faça um índice.

Com o resultado mais próximo do que eu acho razoável, este será entregue.

vamos ver nos testes.

Abraços