Dzisiaj postanowiłam Wam wrzucić filmik, który mnie rozbawił do łez.

Kurs testowania oprogramowania dla początkujących. Bardzo początkujących :).








User Experience (UX) jest bardzo ważnym tematem w informatyce. Dotyczy nie tylko aplikacji mobilnych ale i portali internetowych czy aplikacji komputerowych. Często właśnie od tego jak aplikacja jest "odbierana" przez użytkowników zależy jej powodzenie. Jest mnóstwo przykładów programów czy portali, których UX zdecydował o sukcesie. Każdy z nas woli korzystać z aplikacji 'intuicyjnych' i prostych. 
Z drugiej jednak strony często przy tworzeniu aplikacji trzeba sobie postawić pytanie: czy wygoda użytkownika nie wiąże się z ograniczeniem naszego kodu w innym aspekcie? Często tworząc aplikacje 'debiloodporną' ograniczamy jej funkcjonowanie co może powodować spore błędy. Takie ograniczenia mogą też powodować problemy z bezpieczeństwem. Mogą pojawiać się luki, które mogą być potencjalnym celem dla hakerow. I o tym właśnie będzie dzisiejszy post.
Zajmiemy się znów ekranem logowania. 
Wyobraźcie sobie aplikacje lub portal , z którego nie korzystacie zbyt często. Wchodzicie na niego i nie do końca pamiętacie jakiego maila użyliście podczas rejestracji. Wpisujecie swój pierwszy mail, podajecie hasło i... I strona informuje Was, że ten adres nie istnieje w bazie. Wiecie już, że ten adres jest zły, możecie szukać dalej... Świetne z perspektywy użytkownika- podpowiedź, że próbuje sie zalogować ze złymi danymi. 
Ostatnio na stronie niebezpiecznik.pl mogliście przeczytać o podobnym incydencie: z Krakowską Kartą Miejską w roli głównej. Użytkownik tworząc odpowiedniego bota mógł uzyskać listę aktywnych numerów kart, po czym w drugim systemie mógł się zalogować w drugim systemie. Jak widać błąd wydaje sie tak banalny, że nie do popełnienia a jednak się zdarza. Zainteresowanych odsyłam do: Www.niebezpiecznik.pl.
Ale teraz popatrzmy na to od strony bezpieczeństwa. Jesteśmy hakerami, którzy chcą wykraść dane użytkowników tego portalu. Wiedząc o mechanizmie opisanym powyżej wykorzystujemy tzw. Atak brutal force czyli piszemy bota, który próbuje sie zalogować na wszelkie mozliwe adresy e-mail (ograniczając je Np do domeny gmail albo hotmail). Po pewnym czasie mamy gotową bazę  adresów e-mail... Jeśli potrzebowaliśmy tylko adresów e-mail bo chcieliśmy np rozesłać spam- mamy wszystko. Jeśli chcemy jednak mieć też dostęp do tych kont- powtarzamy atak, podając tym razem poprawny adres e-mail i sprawdzając hasła. Jeśli portal nie ma systemów, które wykryją nietypowy ruch- po pewnym czasie mamy tez hasła...Co będzie potem sami możecie przewidzieć.
A teraz poszukajmy sytuacji gdy to bezpieczeństwo niekorzystnie wpływa na UX. Zróbmy prosty test na aplikacji (moze być portal bankowy, portal sprzedażowy) zalogujmy się bez zaznaczonej opcji: Pamiętaj mnie, a następnie chodźmy na kawę, albo na obiad... Tak, zostawmy aplikacje na kilka godzin samą sobie. Najcześciej po pewnym czasie zostaniemy automatycznie wylogowani niejednokrotnie tracąc swoją niezapisaną prace. Czasem zdarza się też, że niedoświadczeni programiści nie obsługują tego scenariusza i wtedy wychodzą często ciekawe błędy.
Jak widzicie choć jakość często kojarzona jest z bezpieczeństwem i komfortem użytkowania to czasem nie jest mozliwe pogodzenie tych dwóch opcji. Wtedy przede wszystkim twórcy oprogramowania (zarówno testerzy jak i deweloperzy) powinni zadać sobie pytanie o to jakie dane zabezpieczają i na czym im bardziej zależy. 
Kończymy na razie rozważania na temat UX vs. Bezpieczeństwo ale możecie być pewni, że to nie jest ostatnie słowo w tym temacie.
Tym razem nie bedzie tylko o jednej  aplikacji mobilnej. Postanowiłam napisać posta przekrojowego, żeby pokazać Wam jak rożne mogą być błędy dotyczące jednej funkcjonalności.
Chodzi o bardzo prostą a zarazem ważną funkcjonalność jaką jest logowanie i ekran logowania.
Na początku kilka słów wstępu. Testowanie aplikacji (lub strony) można podzielić na kilka etapów: testowanie pojedynczej funkcjonalności, testowanie eksploracyjne ( czyli "przeklikiwanie" się przez aplikację w celu znalezienia błędów) oraz testowanie zgodnie z podanym scenariuszem ( najcześciej w poszukiwaniu błędów regresyjnych, popełnionych w trakcie rozwijania produktu). Jest to bardzo uogólniony schemat, który ma na celu przybliżenie Wam jak mniej więcej taki proces przebiega ( o ile przebiega).  Z doświadczenia wiem, że testerzy niejednokrotnie podczas wykonywania testów eksploracyjnych lub zgodnie z podanym scenariuszem, nie chcą za każdym razem klikać po ekranie logowania. Wiec jak się domyślacie  testują jedynie funkcjonalność: zaloguj mnie automatycznie albo zapamiętaj mnie. Mało kto myśli o tym, żeby sprawdzić dokładnie proces logowania, bo przecież skoro można się zalogować to działa. 
I tu jest błąd! Bo niejednokrotnie to właśnie miejsce ma dużo błędów. Zaraz Wam pokaże kilka przykładów.
Zacznę od bardzo popularnej aplikacji Kindle, do czytania E-booków. Po ściągnięciu standardowo pojawia się ekran logowania, na którym brakuje jednego ( moim zdaniem bardzo ważnego elementu): możliwości przypomnienia hasła. Standardem jest, że na ekranie logowania istnieje możliwość odzyskania hasła. Mozliwe, że Kindle usunął tą opcje celowo. Ale dla użytkownika oznacza to przechodzenie na stronę internetową Amazona i odzyskiwanie tegoż hasła przez przeglądarkę. Brzmi niewygodnie? No właśnie. 
Kolejna aplikacja i bardzo ciekawy przypadek. Niedawno Apple wypuścił najnowszą poprawkę iOS, Pinterest kilka dni po nim wypuścił update aplikacji mobilnej. Niestety nikt nie przewidział, że niektórzy użytkownicy nie zaktualizują systemu i aplikacji. Ja z ciekawości wlasnie tak zrobiłam. Aplikacja uruchamiała sie bez zarzutu ale od razu pojawiał sie ekran logowania (nawet jeśli wczesniej byłam zalogowana). Gdy podawałam poprawne dane - aplikacja zgłaszała błąd logowania. Niedoświadczony użytkownik (a napewno wielu sie takich znajdzie) będzie próbował kilku opcji i bedzie zdezorientowany. Niby mały błąd ale... 
W dzisiejszym poście opisze tylko te dwa błędy ale to nie koniec naszych rozważań na temat błędów w ekranach logowania. Już szykuje dla Was kolejnego posta - tym razem  na temat security vs. UX w ekranach logowania. Śledźcie naszego bloga!







Postanowiłam napisać krótką recenzje SkyCash ponieważ bardzo często ją ostatnio używam i miałam okazje ją przetestować. Na samym początku muszę napisać, że ciężko jest doprowadzić do poważnych błędów w aplikacji na iOS, pokusiłabym się o stwierdzenie, że graniczy to z cudem. 
Ale zacznijmy od początku. Aplikacja SkyCash służy do płacenia, głównie za bilety i parking miejski. Gdybym miała wyliczać jej zalety to jest ich mnóstwo: począwszy od zasięgu ( obsługuje prawie wszystkie polskie miasta) przez uniwersalność ( zapłacimy za jej pomocą za bilet miejski, parking czy bilet na pociąg) po UX ( aplikacja jest spójna i intuicyjna). 
Nie tym się jednak zajmiemy w tym poście. Spróbujmy znaleźć jej słabe strony. 
Zacznę od największej, utrata sesji w momencie utraty zasięgu. Wyobraźcie sobie taką sytuacje - stoicie na przystanku w burzy, podjeżdża Wasz tramwaj, chcecie zapłacić za bilet, wyciągacie telefon wybieracie bilet, i.... Awaria sieci, nie macie internetu. W efekcie nie możecie kupić biletu, to logiczne, aplikacja zgłasza błędy i się wyłącza. Gdy internet znów jest w Waszym telefonie po wejściu do aplikacji musicie się ponownie zalogować ( o ile pamiętacie hasło). Jest to dosyć uciążliwe. Wiem, że deweloperzy od razu wytłumaczą mi to odpowiednimi argumentami: zerwaniem sesji, jest to zrozumiałe ale są aplikacje, które sobie z tym radzą :). 
Kolejna sprawa - brak możliwości zmiany numeru telefonu w aplikacji - co jeśli w moim iPhonie zmieniłam numer? W jaki sposób mogę to zmienić? Rozumiem, że numer jest traktowany jako swego rodzaju identyfikator ale może w aplikacji mogłaby być możliwość choć wysłania formularza z prośbą o zmianę? 
I ostatnia rzecz jaką zauważyłam, designerzy SkyCash poprawcie mnie, bo mogę sie mylić i aplikacja działa jak powinna ale... :) ale w momencie gdy ( w którejkolwiek opcji) przechodzę na kartę 'kontrola' znika mi karta, na której byłam. W efekcie za pomocą przycisku ' wroć' muszę wrócić do strony głównej i ponownie wejść w daną opcje. To chyba nie powinno tak działać? 
Więcej błędów nie znalazłam w tej aplikacji. Muszę przyznać, że deweloperzy zrobili kawał dobrej roboty tworząc tą aplikację bo jest w niej tak dużo funkcjonalności, że łatwo było o błąd. 
Brawo :) 

Zostajemy jeszcze przez chwile przy aplikacjach na iPhone'a (nie martwcie się już szykuje posta o androidzie).
Tym razem przetestujemy coś co każdy posiadacz telefonu Apple musi mieć. Ba! Pewnie każdy choć raz w życiu tego użył!
Oczywiście chodzi o wiadomości o iMessage. 
Zacznę od początku, czyli mojego pierwszego smsa napisanego na iPhonie. Chciałam go napisać do kilku osób. W aplikacjach do wiadomości systemu android a i kiedyś (dawno temu) symbian dawał możliwość wyboru wielu kontaktów z listy- niestety twórcy iOS wymyślili inne rozwiazanie. Każdego odbiorcę dodajemy osobno używając przycisku +. Pierwsze pytanie - czy ktoś tu pomyślał o użyteczności takiego rozwiązania? Nie jest to ułatwienie a utrudnienie dla użytkownika, bo dla 20 osób musi wykonać jedną operację 20 razy. Oczywiście można wpisywać kontakty z klawiatury ale nie zawsze to się sprawdza. 
Ale to jest szczegół wobec kolejnego błędu, załóżmy, że wysyłamy smsa do 20 osób - założę się, że każdy z  Was próbując to zrobić usunie sobie choć raz (a może i więcej razy) całą wiadomość. Dlaczego? Bo przycisk anuluj (w momencie kiedy pojawia się więcej niż 4 linijki tekstu ) "nachodzi" na przycisk "+", tak jak na poniższym zdjęciu: 


No
Dla odmiany zabrałam się tym razem za testowanie aplikacji QPony. Wiem, że wywala się ona na iPhone'ach większych niż 4 więc postanowiłam przetestować ją na 4s. 
Aplikacja od początku robi świetne wrażenie - wygląd jest nowoczesny ale nie za prosty. Zajmuje nie dużo bo około 30 Mb i zużywa (podczas kilkuminutowej sesji) niecałe 12 Mb. 
Jak każda aplikacja, i ta,  ma trochę błędów. Choć muszę przyznać, że nie aż tak krytycznych i cieżko było się do czegokolwiek przyczepić :).  
Zacznę od początku - to co mnie najbardziej denerwuje jako użytkownika to wyświetlanie tych samych kuponów po kilka razy. Nie wiem czym to jest spowodowane- czy problemem z ładowaniem wielu kuponów na raz, czy może z faktem, że promowane oferty są wyświetlane kilkakrotnie. Jakkolwiek zdarzyło mi się kilkakrotnie, że rezygnowałem z przegladania kuponów kiedy okazywało się, że widzę ten sam kupon któryś raz z kolei. 
Kolejna sprawa: spróbujcie sobie wyobrazić sytuacje, w której szukacie np. kuponu do SPA w swojej okolicy. W bazie w tym momencie nie ma żadnych kuponów - wyświetla Wam się komunikat o braku danych ale po zniknięciu nadal kręci się kółko ładowania co daje złudne poczucie, że jednak coś się załaduje.

A wystarczyłoby, żeby pojawił się komunikat i żeby pojawiał sie widok kategori po zamknięciu komunikatu :). 
Kolejna sprawa to niestety efekty uboczne nowoczesnego designu aplikacji. Muszę przyznać, że pomysł aby aplikacja wychodziła jako tło na górny pasek (z godziną, stanem baterii itd) jest rzadko spotykany i bardzo ciekawy. Niestety wynika z tego problem związany ze 'znikaniem' paska gdy tło jest na przykład białe a czcionka na pasku ma również kolor biały. Trywialny problem ale jednak istnieje. Dołożę jeszcze do tego problem z nachodzącymi na siebie napisami ( tak jak w przypadku ze zdjecia poniżej).
I na deser jeszcze przycięte ikonki kategorii: 

Podsumowując: Aplikacja działa płynnie. Panom programistom i designerom należy się pochwała za świetny design aplikacji choć trzeba przyznać, że wymaga on jeszcze dopracowania.


Jako pierwszej przygladnijmy się aplikacji MPK Kraków.
Mieszkam od wielu lat w Krakowie i często korzystam z komunikacji miejskiej. Dlatego też właśnie tą aplikacje wzięłam jako pierwszą "pod lupę". Sama dotychczas korzystałam z jakdojade.pl i mmpk ale z ciekawością zabrałam się za używanie Appki od MPK. 
Niestety od samego początku nie przypadła mi do gustu.

Weźmy pod uwagę prosty scenariusz: ściągnęłam aplikację i chcę znaleźć rozkład przystanku na ruczaju, tak dokladnie kampusu UJ. Muszę przyznać, że sposób wyszukiwania jest bardzo dobrze rozwiązany - użytkownik może wybrać z listy liter, nazwę przystanku. Niestety gorzej jest już z wyborem samego przystanku - w przypadku Kampusu UJ pojawiają nam się dwa przystanki, z czego jeden jest pusty. W takim przypadku ciężko jest szybko znaleźć rozkład jazdy. 

Bardzo Ciekawy jest jeszcze jeden przystanek: 

Czyżby ktoś nie był go pewny? 
Ale wróćmy do sytuacji gdzie pilnie potrzebujemy sprawdzić rozkład - np. jesteśmy na imprezie.
Sprawa sie bardziej komplikuje gdy nie znamy miejsca, w którym sie znajdujemy - w tym przypadku jakdojade samo potrafiło nas zlokalizować i pokazać przystanek. W przypadku MPK musimy podać ulicę, na której sie znajdujemy - w pewnych sytuacjach może to być uciążliwe.
Kolejna rzecz, która mnie jako użytkownika zaciekawiła to menu dla numerów linii. Po wciśnięciu na przycisk przy numerze linii wyświetla mi sie poniższe menu:

Jaki jest tego cel? Nie mam pojęcia. Gdy kliknę 'zamknij' zamyka mi sie menu, 'miejskie' jest nieaktywny a 'pokaż' pokazuje mi listę linii. Nie lepiej było od razu pokazać listę linii? Bez zbędnego menu?
Jest jeszcze jeden minus, moim zdaniem najwiekszy - niejednokrotnie przy wybieraniu przystanku aplikacja się po prostu wyłącza, wyglada mi to na problem z prześladowaniem pamięci. Jest to tym bardziej denerwujące, że przy dłuższym użytkowaniu aplikacji pojawia się coraz częściej. 
Przyznam się Wam szczerze, że miałam pchotę wypróbować opcje: 'ulubione przystanki' - niestety ze względu na ciągłe wyłączanie się aplikacji, nie mogłam oznaczyć żadnego przystanku jako ulubionego. A żałuje bo taka opcja mogłaby przeważyć na korzyść MPK - ulubiony przystanek i połączenie jest płatne w jakdojade.pl.
Poszukajmy teraz plusów :) bo oczywiście są :). Najważniejszym są komunikaty na temat zmian w rozkładach. Niestety żeby je przeczytać trzeba wejść w zakładkę Komunikaty. 
Na tym niestety plusy aplikacji się kończą.
Chcę mieć nadzieję, że to jest dopiero wersja alfa i wersja beta będzie wolna od wszelkich błędów, o których tu pisałam. Jeśli nie to muszę przyznać, że ktoś wyrzucił pieniądze w błoto płacąc za taką aplikacje. A miało być tak pięknie...

Podsumowując: zaraz po skończeniu tego posta odinstaluje aplikacje, niestety w żadnym stopniu nie przebije ona tych aplikacji, które są dostępne komercyjnie a niestabilność całego programu tym bardziej mnie zniechęca.

Dodam też, że nie jestem odosobniona - na sklepie brak pozytywnych opinii. 
Cóż, MPK w Krakowie musi sie bardziej postarać.