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.
quinta-feira, 8 de março de 2018
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 :)
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
- 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.
http://it.toolbox.com/blogs/oracle-guide/minitip-3-associative-array-retrieve-and-sort-array-index-11185
E se quizerem devoler os dados na ordem inversa:
E se quizerem devoler os dados na ordem inversa:
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/
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/
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;
Subscrever:
Mensagens (Atom)