wtorek, 19 listopada 2013

Platformy dla testów automatycznych

Prostą i dużo wyjaśniającą prezentację nt. różnych "frameworków" do testów automatycznych można znaleźć w prezentacji http://www.cs.colorado.edu/~kena/classes/5828/s12/presentation-materials/ghanakotagayatri.pdf.

Opisuje ona zalety i wady "modular testing", "data driven testing", "keyword driven testing" oraz "hybrid framework testing".

poniedziałek, 18 listopada 2013

IEEE 29119 - standard testowania oprogramowania

Na stronie http://www.softwaretestingstandard.org można znaleźć opis normy IEEE 29119 odnoszącej się do testowania oprogramowania w organizacjach. Od września 2013 jego trzy pierwsze części stanowią oficjalny dokument (na pewno ucieszy to sprzedawców certyfikatów).

Samego dokumentu niestety nie widziałem. Natomiast na wspomnianych stronach można znaleźć bardzo ciekawą specyfikację technik testowych (link). Moją ciekawość wzbudziła standaryzacja technika "Random testing" i "Error guessing".

Zastanawiające jest także dlaczego norma nie wymienia jako typu testów, testów regresyjnych. Znaleźć można natomiast "Conversion testing" co jest dla mnie nowością i nazwa nie mówi mi absolutnie nic. Łączę jednak intuicyjnie te testy z testami migracji danych.

Testy wydajnościowe i obciążeniowe zostały zgrupowane w "Performance-Related Testing," co nie ukrywam, ma w mojej ocenie swoją rację bytu. Ciekawy jestem również gdzie poukrywały się testy "high availability" i jakbym miał zgadywać to pewnie w "Disaster Recovery Testing".

W zakresie przypadków testowych, norma proponuje "Keyword-Driven Testing" co znaczy po polsku (tłumacząc ze strony):
"Testowanie słowami kluczowymi (Keyword-Driven Testing) jest sposobem opisywania przypadków testowych wykorzystującym zawczasu przygotowany zestaw słów kluczowych. Są to nazwy zbiorów akcji, których wykonanie jest wymagane do realizacji konkretnego kroku przypadku testowego. Korzystanie ze słów kluczowych zamiast z języka naturalnego w opisywaniu kroków testowych powoduje ich łatwiejsze zrozumienie, utrzymanie i automatyzację".
Trudno się nie zgodzić z takim twierdzeniem.

Na koniec można się także dowiedzieć, że norma IEEE 29119 definiuje model oceny procesu testowania (Process Assessment Model for software testing) oparty o normę ISO/IEC 33063.

Osobiście bardzo się cieszę, że proces testów doczekał się osobnej standaryzacji. Jestem przekonany, że pomoże to różnym organizacjom we wdrażaniu systematycznego, jednolitego i skalowalnego procesu testów. Oczywiście warunkiem jest zachowanie testerskiego sceptycyzmu w stosunku do normy i zdrowego rozsądku w jej implementacji.

środa, 13 listopada 2013

testowanie ET lub RST vs. złe testowanie

Na blogu Jamesa Bacha przeczytałem ciekawy wpis (http://www.satisfice.com/blog/archives/924) odnoszący się do administrowania w procesie testów. Od dawna mam wrażenie, że w wielu przypadkach idea "agile" jest nadużywana jako wymówka do braku dokumentacji. Brak dokumentacji zaś oznacza - po prostu - brak wiedzy i pomysłu na to w jaki sposób realizować testy.

Dokumentowanie samo w sobie jest po prostu praktycznym sposobem na przeżycie w projekcie. Nie spotkałem się z przypadkiem aby dokumentacja stanowiła słaby punkt. Problemem jest natomiast treść tej dokumentacji oraz oczekiwania z nią związane. Polecam lekturę!

* RST - Rapid Software Testing
** ET - Exploratory Testing