Archiwa tagu: testowanie

Testowanie – notatki

Pod rękę nawinęła mi się kartka z notatkami – bodajże do egzaminu ISTQB.

Krzyżak ogrodowy. Foto: moje, 2017

Negative testing scenarios – przykładowe:

  • testowanie błędnymi wartościami
  • niewypełnienie pól wymaganych
  • niepoprawny typ danych
  • więcej/mniej znaków niż wymagane
  • większy/mniejszy zakres danych, niż spodziewa się program
  • testy z manipulowaniem sesją w przeglądarce
  • zduplikowanie wartości, pól, brak pól (np. w webservisie)

Testowanie mutacyjne – sprawdzanie, na ile testy jednostkowe rzeczywiście sprawdzają kod. Automatyczne wprowadzanie losowych błędów w programie (posiewanie błędów) i uruchamianie testów jednostkowych, by sprawdzić, czy wykryły one wprowadzone błędy. Wymaga dużej mocy obliczeniowej.

Fuzz testing – wprowadzenie niepoprawnych, nieoczekiwanych, losowych danych, obserwacja i czekanie na awarię. Ma dwa rodzaje: fuzzing mutacyjny lub generacyjny. Tego typu testy mogą być wykonane na wielu poziomach, np. niskopoziomowe – na etapie np. mieszania w pamięci dzielonej lub nieco wyższe – na etapie danych wejściowych do komponentów programu.

Testowanie strony w różnych wersjach IE

Każdy, kto zajmował się aplikacjami webowymi pamięta problemy z kompatybilnością i różnym wyświetlaniem stron w przeglądarkach Internet Explorer. Wynika to z odmiennej interpretacji HTML, CSS czy JavaScript przez te przeglądarki. W jeszcze nie tak dawnych czasach, stanowiło to nie lada wyzwanie. Trudno było wówczas dysponować farmą komputerów z różnymi wersjami IE, zwłaszcza że pociągało to za sobą także posiadanie różnych systemów operacyjnych (Windows XP i różne service packi, Windows 7 itd.). Pamiętam programy, które miały emulować zachowanie różnych wersji IE, nie były one jednak wystarczająco miarodajne.

Od pewnego czasu, za pośrednictwem serwisu http://modern.ie Microsoft oferuje zestaw narzędzi ułatwiających owe zadanie. Jest to m.in. możliwość zalogowania się do zdalnych maszyn z różnymi wersjami przeglądarki, zrobienia screenshotów, jak strona wygląda pod rożnymi przeglądarkami:

Oraz, co najciekawsze, pakiet maszyn wirtualnych, dostępnych do ściągnięcia z adresu: Czytaj dalej

Recenzja – Dane testowe. Teoria i praktyka

Tytuł książki „Dane testowe. Teoria i praktyka” autorstwa Radosława Smilgina i Anny Piaskowy (wydawnictwo Helion), bardzo dokładnie mówi, czego możemy się spodziewać po lekturze. Tak – w dużej mierze – danych testowych.

dane_testowe

W pierwszej części książki autorzy wprowadzają kilka znanych z egzaminu ISTQB technik testowania (klasy równoważności, wartości brzegowe itd.) oraz definiują, czym są dane testowe. Przydatna ściągawka dla osób początkujących. Czytaj dalej

Lista narzędzi testerskich

Jeżeli kiedykolwiek zastanawiałeś się, jakiego narzędzia lub podejścia użyć w celach testowania różnego rodzaju aplikacji, może natknąłeś się na listę narzędzi testowych sporządzoną przez The Minstry of Testing (powiedzmy, taki odpowiednik polskich Testerzy.pl).

Foto: moje, 2007

Lista jest naprawdę imponująca – zawiera wiele narzędzi, pogrupowanych wg celu, np. testowanie aplikacji www, desktopowych, zarządzanie testami itd.

Link: http://www.ministryoftesting.com/resources/software-testing-tools/

Niektóre z narzędzi:

Czytaj dalej

Artykuł w PasjaOnline: Jak ugryźć testowanie oprogramowania

„Jak ugryźć testowanie oprogramowania” to jeden z moich artykułów w serwisie PasjaOnline. Stanowi wstęp do serii artykułów poświęconych testowaniu. Więcej na stronie:

http://pasjaonline.pl/jak-ugryzc-testowanie-oprogramowania/

PasjaOnline to dość młody serwis skupiający miłośników programowania (zwłaszcza aplikacji webowych).

 

RSpec – ciekawostki

RSpec: flaga fail_fast – uruchamia testy „do pierwszego faila”. Przerywa wykonywanie testów, jeżeli któryś test nie przejdzie (nawet jeśli mamy testy w wielu plikach, zachowują się jakby były scalone w jeden). https://www.relishapp.com/rspec/rspec-core/v/2-0/docs/configuration/fail-fast

Analogicznie do JUnitowego Ignore, w RSpec możemy pominąć niektóre testy. Zamiast it należy wstawić skip (w podsumowaniu test pojawi się jako pending).

Minimalne wymagania ustawień Appium

Dzisiejszy wpis dotyczy konfiguracji Appium do testów aplikacji natywnych.

Aby Appium mogło zostać uruchomione, należy ustawić kilka podstawowych ustawień (capabilities). Można je zapisać w pliku (np. appium.txt) i odczytywać podczas uruchomienia testów lub przekazywać podczas uruchamiania serwera Appium.

Minimalne wymagane ustawienia w części [caps], to:

  1. dla systemu iOS:
    1. podpięty iPhone, aplikacja *.ipa:
      udid = "1234567890abcdefghijklmnopqrstuvwxyz0123" – wartość obowiązkowa, po której Appium rozpoznaje, czy powinno działać na prawdziwym urządzeniu, czy na symulatorze.
      app = "~/builds/ApplicationName.ipa" – wartość obowiązkowa.
    2. podpięty iPhone, aplikacja już zainstalowana na urządzeniu:
      deviceName = "iPhone-name"
      udid = "1234567890abcdefghijklmnopqrstuvwxyz0123"
      bundleId = "com.company.package"
    3. symulator – bez znaczenia, czy aplikacja jest już zainstalowana, czy Appium musi ja dopiero zainstalować – konieczne jest podanie parametru app, samo bundleId nie jest wystarczające.
      deviceName = "iPhone 5 iOS 8.1" – wartość obowiązkowa. Musi być wpisana dokładna nazwa symulatora, bez udid.
      app = "/Users/d9k/Library/Developer/Xcode/DerivedData/ApplicationName-qwertyuiopasdfghjklzxcvbnmqw/Build/Products/Debug-iphonesimulator/ApplicationName.app" – wartość obowiązkowa
      udid – w zasadzie nie można go używać, gdyż parametr ten sugeruje serwerowi Appium, że ma do czynienia z podłączonym urządzeniem.
  2. dla systemu Android:
    1. podpięty telefon z Androidem lub emulator, bez zainstalowanej aplikacji:
      platformName = "Android"
      deviceName ="dev" – wartość obowiązkowa, pomimo że podczas testowania aplikacji Android jest ignorowana (można wpisać cokolwiek).
      app = "someApp.apk" – wartość obowiązkowa.
    2. podpięty telefon z Androidem lub emulator, z zainstalowaną aplikacją:
      platformName = "Android"
      appPackage = "com.company.package"
      appActivity = ".SomeActivity"
      deviceName = "dev" – j.w.

Testy Windows Phone

Automatyczne testowanie Windows Phone wydaje się być na ten moment dość problematyczne. Appium, które pomimo rożnych niedociągnięć, jest jednak całkiem niezłym narzędziem do automatyzacji testów aplikacji mobilnych, nie oferuje aktualnie wsparcia dla Windows Phone (obecnie dostępna jest obsługa Android i iOS).

Garść linków na temat narzędzi do testów Windows Phone: