quinta-feira, 8 de março de 2018

KDT (keyword driven testing)

Today I got to know the existence of KDT (keyword driven testing). Again from the Test Project blog. One of the frameworks that allows this in the Robot Framework.
As a previous user of Specflow I am not yet seing much benefit when comparing the two. More the complexity brought by adding a scripting language (Python for example) to define the keywords implementation.
But definitively I will check it further.

Is it worth to check "too green" automated tests

Its been quite a while since my last post... Let's try to reactivate this blog!

Just stepped into a test blog recently, Test Project. They have quite some interesting articles there including one about how to test tests. It is a little superficial, but just made me thought about "green tests". If there is a test that since years is being run on the build server, and never failed, is it a smell? Is it a useful test?
First I  would say it depends on how the automated testing infrastructure is setup. Let's say the developers must always run a suite of tests on their end (and they actually follow the process, or the tolls make them), then you cannot say that the test is "too green" in the build server, as the possible false assertion never reaches it. But if there is a Gated check in, or tests that are only run on the build server side, then it would be interesting to make some measurements to check when this tests last failed. I will give it a thought :)


sexta-feira, 26 de março de 2010

Utilitários - Utilizar o comando "dir" para criar listagens de ficheiros

Nunca precisaram de criar um ficheiro de texto com os ficheiros contidos por uma pasta? Então em vez de o fazer "à mão" poderão passar a fazê-lo da seguinte forma:

- abrir uma consola;
- entrar na pasta com os ficheiros;
- executar o comando:
dir /d /b > aMinhaListagem.txt

Será então criado um ficheiro com o nome aMinhaListagem.txt, contendo o nome dos ficheiros da pasta.
Para mais informação de como usar o comando dir:
http://www.computerhope.com/dirhlp.htm

quinta-feira, 25 de março de 2010

PL/SQL - Como obter os dados de um dicionário ordenados

Se quizerem obter os dados de um dicionário como o seguinte, basta que tenha o índice único, que ao fazer "instância do dicionário".FIRST irão obter o record mais "baixo".

TYPE a_places_i_lived IS TABLE OF VARCHAR2(50) 
INDEX BY VARCHAR2(10);

No link seguinte têm um exemplo completo.

DECLARE
-- Declare the table
   TYPE a_places_i_lived IS TABLE OF VARCHAR2 (50)
      INDEX BY VARCHAR2 (10);

--declare my table variable
   v_places_i_lived   a_places_i_lived;
-- Declare a temporary holding variable
   v_current          VARCHAR2 (10);
BEGIN
-- Initialize the array in unsorted order
   v_places_i_lived ('LA') := 'New Orleans';
   v_places_i_lived ('FL') := 'Tampa';
   v_places_i_lived ('TX') := 'San Antonio';
   v_places_i_lived ('CA') := 'Los Angeles';
   v_places_i_lived ('CT') := 'New Haven';

--starts from the end
   v_current := v_places_i_lived.LAST;

   LOOP
    -- Exit when we hit the bottom of the table
      EXIT WHEN v_current IS NULL;
    -- Print out
      DBMS_OUTPUT.put_line ('Index is: ' || v_current||' Value is: ' || v_places_i_lived (v_current));

-- delete the current
      v_places_i_lived.delete(v_current);
      v_current := v_places_i_lived.LAST;
   END LOOP;
END;

sábado, 20 de março de 2010

Utilitários - C# code Format

Ferramenta que permite formatar código C#, VB, HTML, XML, T-SQL ou MSH, para publicar em websites ou em blogs.

http://www.manoli.net/csharpformat/

sexta-feira, 19 de março de 2010

ASP.NET - Ciclo de vida das páginas

Artigo com o ciclo de vida das páginas ASP.NET, no primeiro carregamento, e quando é postback.

http://misfitgeek.com/blog/aspnet/unwinding-the-page-lifecycle-events/

PL/SQL - Criação e iteração de um array associativo



declare
    TYPE assoc_areaGeoTotal IS TABLE OF number INDEX BY varchar2(10);

    totaisGeograficos assoc_areaGeoTotal;
    pkArea number;
begin

    for r_area in (select * from t_fii_area_geografica_s order by nome)
    loop
    
        IF NOT totaisGeograficos.EXISTS(to_char(r_area.pk)) THEN
            totaisGeograficos(to_char(r_area.pk)) := 0;
        END IF;

        totaisGeograficos(to_char(r_area.pk)) := 88;
    end loop;

 pkArea := totaisGeograficos.first;
 while pkArea is not null loop
 
        dbms_output.put_line(pkArea ||':'||totaisGeograficos(pkArea));
  pkArea := totaisGeograficos.next(pkArea);
 end loop;
end;

Seguidores

Contribuidores