sobota, 9 grudnia 2017

Co mogę i powinnam wiedzieć o moim użytkowniku?

Przy projektowaniu aplikacji warto dokładnie zastanowić się kim jest i jaki jest mój potencjalny użytkownik - można wtedy dopasować aplikację do jego stylu życia.
Następnie można się zastanowić czego o użytkowniku może dowiedzieć się aplikacja - jak to wykorzystać na jego korzyść, jednocześnie nie nadużywając jego prywatności i zapewniając bezpieczeństwo jego danym.
  • Co robi?
    • czy w danym moemencie używa telefonu
    • czy mogę mu w danym momencie wysyłać powiadomienia
    • czym zajmuje się zazwyczaj - jak się dopasować do jego dnia
  • Gdzie jest?
    •  gdzie przebywa obecnie
  • Co znajduje się niedaleko?
    • gdzie mieszka
    • gdzie często bywa
    • jakie miejsca lubi odwiedzać
  • Kim jest?
    • co robi
    • co lubi
    • czego potrzebuje
    • kim są jego znajomi

piątek, 8 grudnia 2017

Nowa apka ze starej

Aplikacja, nad którą teraz pracuję, jest bardzo prosta.
Założyłam repozytorium - https://github.com/DeTheTurquoise/ThoughtForToday

Jej bazowa wersja ma wyświetlać jakąś myśl na dany dzień.

Ostatnio jednak próbuję się nauczyć więcej o wychowywaniu dzieci. Czytam książki, uczestniczę w kursach. Zastanawiałam się gdzie zapisać myśli i zadania z tych materiałów, aby mi nie umknęły i już wiem - w innej wersji tej aplikacji :)
Nowa baza, kilka nowych funkcji i będzie w sam raz :)

środa, 6 grudnia 2017

TODO, TODO...

Dziś znowu myślałam o moim nowym projekcie. To takie przyjemne uczucie, kiedy w mojej wyobraźni powstaje nowy projekt - widzę go ogólnie, dzielę na części - w końcu powinien powstawać przyrostowo. Widzę radość mojego użytkownika. Wszystko super, tylko mam wcześniej przynajmniej 2 inne projekty do skończenia...
TODO:
- porozmawiać z pomysłodawcą aktualnego projektu - co dalej?
- dodać kod do GitHub (zanotować sobie, żeby to jednak robić na początku...)
- poprawić UI w aktualnym projekcie
- nadać temu projektowi nazwę roboczą
- dowiedzieć się więcej o testach w apkach mobilnych
- zastosować wiedzę w tej apce
- oddać apkę użytkownikowi
- skończyć kurs UX
- sprawdzić jaki jest stan poprzedniej apki
- podzielić to co jest do zrobienia na zadania
- skończyć kurs dev
- pogadać z kolegą jaki robimy razem projekt
- ogarnąć ten projekt
- zrobić kurs UI
Hmmm...
- znaleźć wygodny Task Tracker

niedziela, 3 grudnia 2017

UX czyli co?

UX - User Experience - wszystko to w aplikacji, co wpływa na jej użyteczność. To, w jaki sposób aplikacja jest odbierana przez użytkownika

* Bezbłędne działanie
** funkcji
** aplikacji
* Dobór funkcji
** Automatyzacja działań użytkownika, koncentracja na głównych funkcjach
** Zaspokajanie potrzeb użytkownika
* Szybkość
** działania aplikacji
** ładowania danych
** Zapisywania danych
** Uruchamiania aplikacji
** Przechodzenia aplikacji do innego trybu (np. obrót ekranu)
* Wygląd
** Wielkość elementów interfejsu
** Dopasowanie układu interfejsu do możliwości użytkownika w momencie użytkowania
** Przejrzystość interfejsu
** Intuicyjna obsługa
* Korzystanie przez aplikację ze współpracujących lub wbudowanych elementów wprowadzania, pobierania i prezentowania danych
* Ustawienia
** Możliwość zmiany ustawień
** Wygodne ustawienia domyślne

piątek, 1 grudnia 2017

15 minut bliżej do programisty

Od dziś postanawiam - spędzę codziennie przynajmniej 15 minut na jakimkolwiek zajęciu, które pomoże mi być lepszym programistą. I napiszę co robiłam i czego się nauczyłam.
Mogę np.:
  • napisać fragment kodu
  • poszukać rozwiązania jakiegoś problemu developerskiego
  • przejść fragment kursu związanego z programowaniem
  • przeczytać fragment książki lub bloga o tematyce programowania
  • wykonać analizę wymagań jednego ze swoich projektów
  • przygotować testy dla jednego ze swoich projektów
  • zaprojektować kolejny fragment swojej aplikacji
  • przejrzeć dostępne aplikacje i zastanowić się jakie są ich plusy i jak mogę to zastosować w swoich aplikacjach
  • przejrzeć dostępne aplikacje i zastanowić się jakie są ich minusy i zastanowić się jak mogłyby działać lepiej i jak to odnosi się do moich aplikacji
Tak więc - koniec wymówek, czas zacząć działać :)

niedziela, 5 lutego 2017

Testowanie funkcjonalne - projektowanie przypadków użycia

Przypadek użycia - Use Case

 Co to takiego?

[ISTQB] 

przypadek użycia: Ciąg transakcji w dialogu pomiędzy użytkownikiem a systemem z namacalnym rezultatem

[WIKIPEDIA]

Przypadek użycia przedstawia interakcję pomiędzy aktorem (użytkownikiem systemu), który inicjuje zdarzenie oraz samym systemem jako sekwencję prostych kroków. 

[Z mojego doświadczenia]

Spis kolejnych czynności wykonywanych przez użytkownika i reakcji systemu odpowiadających tym czynnościom. Przypadki użycia są bardzo skuteczne do analizy wymagań funkcjonalnych i projektowania scenariuszy testowych.
W praktyce wspomnianym użytkownikiem nie musi być człowiek, może być urządzenie np. terminal płatniczy i kasa fiskalna.
Dokładność przypadków użycia powinna być dostosowana do potrzeb, zbyt dokładne odwracają uwagę od głównej funkcji (mogą również pokrywać się z testami na niższych poziomach), za mało szczegółowe mogą spowodować niedoprecyzowanie wymagań lub niewykrycie defektów. 

Kiedy stosować?

  • Do projektowania przypadków i scenariuszy testowych
  • Podczas analizy wymagań 
  • Do analizy przypadków alternatywnych (w tym negatywnych)
  • Do dokładnego opisania działania danej funkcji (mogą zastąpić lub uzupełnić zbiór wymagań funkcjonalnych) 
  • Gdy analizujemy konkretną funkcję systemu

Jak do tego podejść?

  1.  Opisz kolejne akcje które pojawią się po wywołaniu wybranej funkcji - wybierz główny, poprawny przebieg
  2. Jeśli w opisie przebiegu głównego użytkownik musi podjąć jakąś decyzję, dopisz przebieg atlernatywny - taki, w którym wybór użytkownika pada na inną opcję
  3. Powtórz krok 2 dla każdego wyboru użytkownika
  4. Przejrzyj wszystkie zapisane przypadki użycia i określ przypadki negatywne - zastanów się co mogłoby się stać nie tak w dowolnym punkcie tych przypadków (np. urządzenie się wyłączy, nie będzie dostępu do internetu)