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

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. 

 

To powinno Cię zainteresować