---
title: "Wczesne testy oprogramowania potwierdzają poprawność projektu"
date: "2018-07-02"
categories: 
  - "app-development"
  - "mobile"
  - "mobile-development"
  - "mobiletogether"
tags: 
  - "early-software-testing"
  - "mobile-development"
  - "mobiletogether"
  - "software-tools"
description: Wczesne testowanie oprogramowania jest szczególnie ważne dla programistów pracujących nad aplikacjami działającymi na różnych platformach, przeznaczonymi dla urządzeń mobilnych o zróżnicowanych parametrach technicznych i funkcjonalnościach systemu operacyjnego.
---
Status: #blog

Tags:  #early-software-testing #mobile-development #mobiletogether #software-tools

Categories: [mobile-development](/blog/pl/category/mobile-development.md) | [mobile-development](/blog/pl/category/mobile-development.md) | [mobile-development](/blog/pl/category/mobile-development.md) | [mobile-development](/blog/pl/category/mobile-development.md)
# Wczesne testy oprogramowania potwierdzają poprawność projektu

"Testuj wcześnie i często" to strategia z zakresu zwinnego inżynieringu oprogramowania, która ewoluowała i stała się obowiązującą zasadą dla programistów w każdej dziedzinie. Wczesne testowanie oprogramowania jest szczególnie ważne dla programistów pracujących nad aplikacjami działającymi na różnych platformach, którzy muszą wspierać urządzenia mobilne o zróżnicowanych parametrach technicznych i funkcjach systemu operacyjnego.

MobileTogether oferuje funkcje umożliwiające włączenie wczesnych testów oprogramowania do procesu tworzenia, eliminując czasochłonne cykle kompilacji, wdrażania i debugowania dla każdej platformy mobilnej. Na stronie internetowej firmy Altova można znaleźć informacje o funkcji [symulatora MobileTogether](https://www.altova.com/pl/mobiletogether/app-development#test-app) umożliwiającej wczesne testy oprogramowania, a na naszym blogu opisaliśmy możliwość nagrywania i ponownego odtwarzania określonych sekwencji działań w ramach [przypadków testowych](https://www.altova.com/blog/automated-testing-for-mobile-apps/).

Ten artykuł opisuje funkcję "Testowanie na urządzeniu". Jest ona zintegrowana z programem MobileTogether Designer, aby umożliwić programistom natychmiastowe sprawdzanie projektów aplikacji oraz weryfikację logiki i funkcjonalności na dowolnym obsługiwanym urządzeniu mobilnym lub platformie – Android, iOS, a także na komputerach z systemem Windows lub telefonach z systemem Windows Phone.

[![](/blog/images/shutterstock_88166515.jpg)](shutterstock_88166515.jpg)

<!--more-->

Testowanie na urządzeniu klienta jest szczególnie przydatne we wczesnych etapach testowania aplikacji, zwłaszcza tych, które:

- Wykorzystaj funkcje mobilne, które nie są dostępne w programie Designer na platformie Windows, takie jak wysyłanie wiadomości SMS
- Wykorzystuj akcje, które działają nieco inaczej w zależności od systemu operacyjnego, na przykład akcja "Pokaż lokalizację", która otwiera domyślną aplikację mapową klienta
- Należy przetestować to na zupełnie nowym modelu telefonu komórkowego, którego wymiary ekranu mogą nie odpowiadać urządzeniu używanemu do podglądu projektów

Testowe uruchomienie na urządzeniu klienta ma bardzo proste wymagania: urządzenie mobilne, na którym ma być przeprowadzony test, musi mieć zainstalowaną aplikację MobileTogether Client, urządzenie mobilne i stacja robocza MobileTogether Designer muszą być podłączone do tej samej sieci, a adres sieciowy stacji Designer musi być skonfigurowany jako serwer MobileTogether na urządzeniu mobilnym.

Po przygotowaniu urządzenia klienta, programista może rozpocząć testowanie na urządzeniu klienta, korzystając z menu "Projekt" w programie projektowania lub z wygodnego paska narzędzi

[![Testowa wersja ikony narzędzia dla klienta, przeznaczona do wczesnych testów oprogramowania w środowisku MobileTogether](/blog/images/MobileTogether-toolbar-1.png)](MobileTogether-toolbar-1.png)

Przyjrzyjmy się aplikacji, która jest w fazie rozwoju i wykorzystuje funkcje GPS. Twórca aplikacji wybrał model iPhone 6 Plus jako urządzenie do testów i demonstracji.

Najwcześniejszą możliwością przetestowania aplikacji jest uruchomienie jej w symulatorze [MobileTogether Simulator](https://www.altova.com/pl/mobiletogether/app-development#test-app), który jest funkcją programu MobileTogether Designer i jest dostępny w każdej fazie procesu tworzenia.

Główne okno symulatora wyświetla aplikację tak, jak będzie ona wyglądać na wybranym urządzeniu podglądu. Programiści mogą zmieniać wybrane urządzenie, aby zobaczyć interfejs użytkownika tak, jak będzie on wyglądał na różnych urządzeniach iOS, Android, Windows i innych, a także przełączać się w czasie rzeczywistym między orientacją pionową i poziomą.

Symulator również aktualizuje zmiany zachodzące w strukturze danych źródła strony, w miarę jak aplikacja jest wykonywana. Okno "Wiadomości" w interfejsie projektowania wyświetla szczegółowy, krok po kroku raport aktywności podczas wykonywania, w tym komunikaty między aplikacją kliencką a serwerem. Elementy sterujące, które wymagają interakcji użytkownika, są aktywne podczas symulacji.

Oto jak aplikacja wygląda podczas działania w emulatorze:

[![Wczesne testowanie oprogramowania w symulatorze MobileTogether](/blog/images/MobileTogether-simulator-window.png)](MobileTogether-simulator-window.png)

Natychmiast pojawiają się dwa problemy: symulator nie wyświetla rzeczywistych współrzędnych GPS. Zamiast tego, wykorzystuje plik danych do symulacji ruchu urządzenia mobilnego oraz aktualizacji współrzędnych GPS. Ponadto, przycisk "Widok mapy" w aplikacji otwiera mapy Bing na stacji roboczej z systemem Windows, na której działa program Designer, podczas gdy powinien otwierać aplikację Apple Maps, która jest domyślną aplikacją mapową na prawdziwym urządzeniu iPhone.

Możemy użyć opcji "Testowanie na urządzeniu" ("Trial Run on Client"), aby uruchomić aplikację na rzeczywistym urządzeniu mobilnym, co pozwoli na przetestowanie funkcjonalności GPS i zweryfikowanie działania przycisku "Widok mapy". Do pierwszego testu użyjemy telefonu z systemem Android. Kliknięcie przycisku "Testowanie na urządzeniu" otwiera nowe okno w interfejsie projektowania:

[![Rozpoczęcie testów wstępnych oprogramowania na przykładzie działania dla klienta](/blog/images/trial_run-1.png)](trial_run-1.png)

W tym momencie aplikacja Designer pełni również funkcję serwera MobileTogether. Okno komunikacji wewnętrznej otwiera się, gdy urządzenie klienckie uruchamia aplikację.

Programista klika "Tak" w oknie dialogowym projektanta, aby kontynuować, a aplikacja uruchamia się na urządzeniu klienta. Natychmiast zauważamy nieoczekiwany problem. Domyślny rozmiar tekstu jest wyjątkowo mały:

[![Pierwsze testy na telefonie z systemem Android](/blog/images/screenshot-1-Android.png)](screenshot-1-Android.png)

Moglibyśmy po prostu dodać przycisk "Abc+" do powiększania tekstu i wymagać, aby użytkownicy końcowi robili to samo, ale byłoby to rozwiązanie nieporęczne i niezbyt przyjazne dla użytkownika. Dokonując dalszych analiz, możemy użyć okna "Testowanie na kliencie" w programie Designer, aby zobaczyć strukturę danych aplikacji podczas jej działania:

[![Wczesne testowanie oprogramowania, obejmujące dane klienta, podczas testów próbnych na stronie klienta](/blog/images/trial_run-2.png)](trial_run-2.png)

Element "textSize" w strukturze danych trwale przechowywanych zawiera wartość, która określa rozmiar czcionki dla etykiet tekstowych i przycisków, wyrażony w absolutnych pikselach. Wartość 20 została wybrana jako domyślna i wyglądała dobrze na urządzeniu iPhone 6 Plus podczas projektowania, ale nie działa prawidłowo na obecnym urządzeniu.

Możemy łatwo zmienić domyślny rozmiar tekstu z wartości stałej na wartość zależną od wymiarów pikseli, dostosowaną do każdego unikalnego urządzenia klienta. Następnie możemy natychmiast przeprowadzić nowe testy.

MobileTogether udostępnia zmienne globalne, które pozwalają programistom uzyskiwać dostęp do różnych charakterystyk urządzenia końcowego podczas działania aplikacji. Okno "Zmienne globalne" w środowisku projektowania wyświetla wartości dla wybranego urządzenia testowego. Poniżej znajduje się zrzut ekranu pokazujący wartości dla urządzenia iPhone 6 Plus:

[![Okno "Zmienne globalne" w programie MobileTogether Designer](/blog/images/global-variables.png)](global-variables.png)

Zamiast przypisywać domyślną wartość 20 pikseli do elementu textSize, możemy stworzyć funkcję opartą na globalnej zmiennej MT_DeviceHeight. Dzieląc 20 przez 736, otrzymujemy około 2,7 procent, więc wykorzystamy tę wartość do stworzenia funkcji XPath, która będzie ustawiać początkową wartość textSize w zależności od urządzenia klienta:

[![Użycie funkcji do ustawiania rozmiaru tekstu w zależności od urządzenia klienta](/blog/images/textSize-function.png)](textSize-function.png)

Teraz możemy przeprowadzić kolejne testy na urządzeniu klienta, korzystając z telefonu z systemem Android, aby sprawdzić wynik.

[![Drugie testowe uruchomienie dla klienta pokazuje nowy, obliczony rozmiar tekstu](/blog/images/new-textSize.png)](new-textSize.png)

Okno podglądu (Trial Run) powyżej pokazuje nową, obliczoną wartość domyślnego rozmiaru tekstu, a poniżej znajduje się nowy zrzut ekranu z telefonu:

[![Testowanie nowego domyślnego rozmiaru tekstu na przykładzie danych klienta w celu weryfikacji](/blog/images/screenshot-2-Android.png)](screenshot-2-Android.png)

Domyślny rozmiar tekstu, obliczany na podstawie wysokości ekranu urządzenia, jest znacznie bardziej rozsądny i przyjazny dla użytkownika! Ponadto, rozmiar tekstu można nadal precyzyjnie dostosować za pomocą przycisków "Abc-" i "Abc+", ponieważ te przyciski jedynie zmniejszają lub zwiększają wartość elementu "textSize".

Teraz możemy wrócić do naszego pierwotnego zadania, którym było sprawdzenie prawidłowego działania przycisku "Widok mapy" w aplikacji. Poniżej znajdują się zrzuty ekranu strony z aplikacji oraz odpowiadającego jej widoku mapy na telefonie z systemem Android:

      [![Testowanie wstępne oprogramowania na telefonie z systemem Android, przeprowadzone u klienta](/blog/images/screenshot-3-Android.png)](screenshot-3-Android.png)
[![Przycisk "Widok mapy" na telefonie z systemem Android uruchamia aplikację Google Maps podczas wczesnych testów oprogramowania](/blog/images/screenshot-4-Android.png)](screenshot-4-Android.png)

A oto te same widoki, ale wyświetlane na iPhonie:

      [![Zrzut ekranu iPhone'a wykonany podczas wczesnych testów oprogramowania](/blog/images/iPhone-screen-1.png)](iPhone-screen-1.png)
[![Na ekranie iPhone'a widoczna jest aplikacja Apple Maps, podczas wczesnych testów oprogramowania](/blog/images/iPhone-screen-2.png)](iPhone-screen-2.png)

Wszystkie cztery zrzuty ekranu przedstawione powyżej zostały wykonane podczas testów na urządzeniu klienta. Dokładny wygląd map na każdej platformie zależy od funkcji i ustawień użytkownika w danej aplikacji map. Na przykład, aplikacja Google Maps na telefonie z systemem Android oferuje funkcję Street View, natomiast aplikacja Maps firmy Apple jej nie posiada.

Można przetestować wczesne wersje oprogramowania za pomocą funkcji "Trial Run on Client", a także skorzystać z pozostałych funkcji MobileTogether do tworzenia eleganckich aplikacji, poprzez [pobieranie bezpłatnego programu MobileTogether Designer](https://www.altova.com/pl/download/mobiletogether.html), które zawiera wbudowaną pomocą, samouczkami oraz licznymi przykładami.
