Kurs Pythona dla testerów oprogramowania. Część 1. Wprowadzenie.

Przedstawiamy serię publikacji wprowadzających początkujących testerów do języka Python. Ten tutorial jest wynikiem pracy wykonanej w ramach praktyk w naszej redakcji. Celem do osiągnięcia było nabycie w możliwie najkrótszym czasie kompetencji niezbędnych do stworzenia aplikacji przydatnej testerom.

 

Idea tego kursu jest inna niż tradycyjnych kursów - tutaj nie uczymy o wszystkich aspektach języka Python, o jego technikach czy szczegółach, które nie są za często używane. Zamiast tego kurs krok po kroku prowadzi do stworzenia prostej aplikacji desktopowej, którą jest generator danych przydatnych w wykonywaniu testów manualnych i automatycznych.

Uznałam, że taki sposób nauki będzie przede wszystkim bardziej ciekawy i angażujący, z drugiej strony nie zarzuca osoby uczącej się zbyt dużą ilością informacji, które nie zawsze są użyteczne na początku przygody z kodowaniem. Oczywiście warto te luki uzupełnić w przyszłości, jeśli poważnie myślimy o karierze w branży IT.
Na samym jednak początku warto trochę poznać Pythona. Po teoretycznym wstępie pokażę Wam jak go zainstalować, a następnie przejdziemy do analizy mojej aplikacji.


Podstawy Pythona
Python – skryptowy język programowania

Bardzo często można spotkać się z definicją, że Python jest skryptowym językiem programowania. Jest to bardzo ważne, ponieważ definiuje to sposób, w jaki pracujemy z językiem. To tzw. paradygmat programowania. Programy napisane w ten sposób to właściwie pliki tekstowe (i tak, można je edytować nawet w notatniku), uruchamia się je za pomocą dodatkowego programu i w momencie uruchomienia tekst (kod) jest interpretowany (zamieniany na postać zrozumiałą dla komputera) i wykonywany. Zaletą tego podejścia jest to, że możemy szybko zobaczyć efekty zmian (po zmianie wystarczy odświeżyć stronę czy uruchomić ponownie, i od razu widzimy zmiany). Minusem jest to, że o defektach w kodzie (np. w składni) dowiemy się dopiero w momencie uruchamiania tego konkretnego fragmentu kodu (najczęściej), co utrudnia szukanie defektów. Drugim minusem, który jednak nie będzie problemem w większości przypadków, jest mniejsza wydajność takich aplikacji. Podsumowując, w językach skryptowych pisze się szybciej, ale lepiej sprawdzają się dla prostszych aplikacjach.


Co to jest Python?

Python to dynamiczny skryptowy język programistyczny, który jest łatwy w nauce i można go wykorzystać do tworzenia różnorakiego oprogramowania. Python udostępniany jest na otwartej licencji, umożliwiając także zastosowanie do zamkniętych komercyjnych projektów. W sieci dostępnych jest wiele przewodników, jak i dodatkowych bibliotek czy narzędzi ułatwiających programowanie w tym języku. Python jest aktywnie rozwijany i posiada szerokie grono użytkowników na całym świecie.


Gdzie używa się Pythona?

Google, Yahoo, Nokia, IBM czy NASA wykorzystują Pythona w swoich wartych wiele milionów, czy też miliardów dolarów aplikacjach i projektach. Microsoft i Apple oferują pełne wsparcie dla Pythona w swoich systemach operacyjnych i platformach programistycznych. Wiele stron internetowych napisanych jest w Pythonie.

NASA wykorzystuje Pythona w swoich aplikacjach od wielu lat. Jednym z dobrze opisanych wdrożeń jest zastosowanie aplikacji napisanych w Pythonie do zarządzania kontrolą startową wahadłowców. YouTube - popularny serwis z klipami wideo jest w większości napisany w Pythonie. Twórcy serwisu (wykupionego przez Google) podkreślali wydajność jaką oferuje Python, a także szybkie implementowanie nowych funkcjonalności poprzez czytelny kod, który łatwo rozszerzać i aktualizować. Google używa Pythona w wielu swoich aplikacjach i usługach takich jak Google App Engine, czy Google Wave.

Aplikacje napisane w Pythonie działają pod wieloma systemami takimi jak: Windows, Linux/Unix, Mac OS X, OS/2. Dostępne są także implementacje Pythona w Javie (Jython) i .NET (IronPython) działające wszędzie tam, gdzie dostępne są te platformy.


Do czego można użyć Pythona?

Pythona można wykorzystać do tworzenia serwisów internetowych, aplikacji desktopowych działających na komputerach użytkowników, wliczając w to także gry. Można także wykorzystać Pythona w aplikacjach sieciowych, czy skryptach np. generujących zestawienia i raporty. Tworzenie dynamicznych stron internetowych jest bardzo łatwe i efektywne dzięki bardzo dobrym frameworkom, takim jak Django, czy Pylons. Python znalazł zastosowanie przy efektywnym i szybkim tworzeniu nowoczesnych stron internetowych z złożonymi funkcjonalnościami.

Platforma Google App Engine dla rozproszonego hostingu aplikacji internetowych oparta została o Pythona i oferuje serwisom www taką samą skalowalność, jaką posiadają wszystkie aplikacje i usługi tej firmy. Bez administracji serwerami, bez ich konfigurowania. Chmura automatycznie skaluje się do generowanego na stronie ruchu. GAE jest darmowe i tylko za zużycie większej ilości zasobów należy płacić (a darmowe limity i tak są w miarę wysokie).

Usługi i serwisy społecznościowe to obecnie podstawa dla wielu serwisów www. Za pomocą Pythona bezproblemowo można wykorzystać API/usługi serwisów takich jak Twitter, Blip.pl, Facebook czy aplikacji Google (Maps, Docs i innych przez GData). Przykładowo biblioteka PyFacebook pozwala w prosty sposób tworzyć aplikacje dla tego serwisu społecznościowego.

Aplikacje desktopowe działające pod kluczowymi systemami operacyjnymi (MS Windows, OS X, Linux) można bez problemu pisać także w Pythonie za pomocą bibliotek takich jak PyQt4, PyGTK, wxPython, czy wbudowanej biblioteki tk. Za pomocą aplikacji py2exe można stworzyć gotowe aplikacje (exe) dla systemów MS Windows, a za pomocą py2app gotowe aplikacje dla OS X.

 

To tyle w temacie wprowadzenia do Pythona, w kolejnej części zajmiemy się instalacją.

 

Autor: Iwona Rabus - praktykant w testerzy.pl.

 

Bibliografia

1. http://kobietydokodu.pl/ktory-jezyk-programowania-wybrac/
2. http://www.python.rk.edu.pl/w/p/python-co-jest-i-do-czego-mozna-go-uzyc/
 

 

SPRAWDŹ TAKŻE
Kurs Pythona dla testerów oprogramowania. Część 5. Obiektowe aspekty Pythona. 
Kurs Pythona dla testerów oprogramowania. Część 4. Generator danych - analiza aplikacji. 
Kurs Pythona dla testerów oprogramowania. Część 3. Biblioteka PyQt4. 
Kurs Pythona dla testerów oprogramowania. Część 2. Instalacja. 

 

 

Najbliższe szkolenia

 

23-25.01.17 - Wrocław

ISTQB Poziom Podstawowy (Foundation Level)


26-27.01.17 - Katowice

Automatyzacja testowania


30.01.17 - Katowice

Testerskie umiejętności miękkie

 

Partnerzy