maj
30
2012

Testy automatyczne GUI w aplikacjach webowych

Niedawno w ramach poprawy jakości naszego systemu dostałem zadanie rozpoznania i wdrożenia jakiegoś sposobu na automatyzację testów wykonywanych dotychczas manualnie. Do tej pory przed każdą większą podmianę produkcyjną był wykonywany przez testera zestaw testów regresyjnych. Miało to liczne wady, przede wszystkim: Baardzo długi czas wykonywania (przejście wszystkich ścieżek w systemie mogło trwać nawet tydzień) Monotonność i powtarzalność (to mnie akurat nie bolało, ale w sumie po co tracić czas na ponowne wykonywanie tych samych czynności przy każdej podmianie ?) Średnia skuteczność wykrywania nieprawidłowości - wynika to z faktu, że tester nie do końca dobrze zna biznes systemu, a samo przejście ścieżki nie zawsze oznacza że test się powiódł Szukałem rozwiązania które: Pozwoli na zdefiniowanie testów (sekwencji czynności do wykonania na stronie) i ich uruchomienie w dowolnej chwili Umożliwi sprawdzenie, czy generowane strony odpowiadają scenariuszowi testowemu Będzie łatwe w obsłudze (żeby czas poświęcony na stworzenie testu nie był dłuższy niż czas implementacji danej funkcjonalności :)) Będzie możliwe w obsłudze przez testera, który nie posiada żadnych umiejętności programistycznych [Więcej]
lut
8
2012

Prosty moduł zarządzający konfiguracją

Ostatnio stworzyłem dość prosty i wydaje mi się fajny moduł konfiguracyjny :) Potrafi trzymać np. w bazie danych dowolne obiekty konfiguracyjne, pobierać je i zmieniać jednocześnie dbając o ich unikalność. Całość kodu to jeden interfejs, jedna klasa abstrakcyjna i dwie klasy implementujące :) Zacznijmy od ogólnego zarysu architektury (o ile przy takim prostym rozwiązaniu można mówić o architekturze :)) Za jej całość odpowiada: interfejs IConfigurationProvider oraz klasa abstrakcyjna ConfigObject. Przyjrzyjmy się ich kodow [Więcej]
lut
1
2012

Visual Studio : Nie znajdywanie typu z zewnętrznie podpiętego projektu

Ostatnio spędziłem pół dnia próbując rozczaić dziwny problem jaki napotkałem przy próbie zbuildowania solution. Kompilator twierdził, że dany typ nie istnieje w podanym namespace natomiast IntelliSence w Visual Studio był innego zdania :) Przypadek był taki, że korzystałem z zewnętrznego projektu podpiętego do solucji [Więcej]
sty
26
2012

ASP.NET : wykonywanie zadania co pewien czas

Często zdarza się, że dostawca udostępniający nam hosting nie daje możliwości zainstalowania na swojej maszynie naszej własnej usługi Windows. A taka usługa przydałaby się nam, np. do okresowego wykonywania jakiejś czynności (przykładowo aktualizowanie statusu jakichś produktów co 5 min). Możemy się oczywiście podpiąć do "normalnego" requestu i wykonać nasze zadanie ale ma to pewne wady. Po pierwsze wymaga dużego ruchu na serwerze (o co np. w godzinach nocnych może być ciężko). Po drugie, rozkład żądań jest niedeterministyczny i trudno tu oczekiwać wykonania zadania o ściśle określonej porze. I po trzecie, wykonanie jakiegoś "ciężkiego" zadania znacznie spowolni odpowiedź na request który miał nieszczęście zostać nim obdarowany. Pozostają do rozważenia inne sposoby, nad którymi się ostatnio zastanawiałem. Należy tu zaznaczyć, że wszystkie one stoją w pewnej sprzeczności z samą zasadą działania serwera WWW. Jego zadaniem jest w końcu odebranie requesta od klienta, przetworzenia go i wygenerowania odpowiedzi a nie do ciągłego wykonywania jakichś zadań w tle. Na pewno wydajność takiego rozwiązania będzie dużo niższa niż w przypadku dedykowanego serwera aplikacyjnego z zainstalowaną usługą. No ale jeśli takiego serwera nie mamy to pozostaje kilka sposobów na obejście problemu. [Więcej]
sty
13
2012

Gdy null nie jest nullem

Ostatnio spędziłem wiele czasu siedząc nad zdaje się prostym kawałkiem kodu: [Więcej]
paź
18
2011

Nie pojawianie się źródła danych Oracle w ODBC

Taki mały problem i rozwiązanie. Wystąpił u mnie na Win7. Otóż potrzebowałem sobie przetestować kod komunikujący się z bazą Oracle poprzez ODBC. W tym celu pobrałem i zainstalowałem bazkę Oracle Express 11g, sterowniki ODBC itp., itd (cały szajs zajął ponad 500 MB O.O). Problem tylko taki, że... [Więcej]
sie
31
2011

Total Commander - sortowanie po katalogach

Ostatnio zaczęła mnie wkurzać pewna rzecz: mianowicie dlaczego w Total Commanderze da się posortować pliki po nazwie/dacie utworzenia a katalogi już nie ? (zawsze są po nazwie). Jak zwykle niezawodny wujek Google pomaga a rozwiązanie jest bardzo proste: http://beerpla.net/2008/10/11/how-to-sort-fold... [Więcej]
sie
25
2011

Hackowanie Symbiana 3rd

Jakiś czas temu zaczęła mnie dręczyć pewna myśl - czemu nie używam nawigacji GPS z mojej wspaniałej N95 ? Problem jest taki, że w pakiecie Nokia Ovi Maps owszem nawigacja jest tylko że płatna (po włączeniu opcji "Nawigacji" telefon po ok. minucie wyskakuje do tzw. "Sklepu" którego nazwa kojarzy się właśnie z tym czym jest, czyli próbą wydarcia kasy). Oczywiście próbowałem sprawdzić ile kosztuje "legalnie" taka przyjemność nawigowania sobie w telefonie i trochę dużo: z tego co pamiętam to 60 zł rocznie. Co gorsza, Nokia nie we wszystkich telefonach zrobiła tę opcję płatną: w niektórych jest ona domyślnie włączona! Jest to więc bulwersujące i wymagające szukania obejścia :) [Więcej]