среда, 30 января 2013 г.

QA Club Kiev #12: Сертификация в тестировании


Доброго времени суток, коллеги! 

Спешим поделиться радостной новостью - мы готовим следующую встречу QAClubKiev
На этот раз встреча будет посвящена вопросам сертификации в тестировании. 

У Вас будет возможность узнать:
- о сертификатах в области тестирования и их основных отличиях;
- о причинах, по которым Вы можете захотеть сдать сертификацию;
- кому может понадобится сертификация;
- как готовиться к сдаче екзамена;
- где и когда можно сдавать экзамен;
- пообщаться с представителем ISTQB в Украине - Александром Тарасенко;


а также вы сможете задать интересующие Вас вопросы нашим докладчикам.


Предварительная программа встречи: Сначала Александр Тарасенко расскажет про ISTQB сертификацию на рынках Украины и зарубежном, далее Никита Кныш поделится опытом прохождения сертификации и полезными советами. И в конце у вас будет возможность пройти пробный краткий тест и получить ответы на интересующие Вас вопросы.

Докладчики:
Aleksandr TarasenkoChairman, USQB; Quality Director, Miratech
Nikita Knysh, QA Manager, Ciklum

Aleksandr Tarasenko:
"Сертификация ISTQB – ключ к профессии QA"
1. Сертификат как подтверждение квалификации
2. Кто, где и почему признают сертификаты ISTQB
3. Как сдать экзамен и получить сертификат
4. Появятся ли в Украине Аккредитованные курсы?
5. Что нового в сертификации ISTQB?

Nikita Knysh:
About ISTQB
1. ISTQB certification structure
2. Statistics: ISTQB-certified testers in Ukraine
3. Why get certification?
4. Preparation tips
5. Literature overview
6. ISTQB FL vs ISTQB AL TM
7. Facebook ISTQB group intro
8. Questions + URLs

Продолжительность: ~2 часа.
Целевая аудитория: специалисты в области ручного и автоматизированного тестирования, тест менеджеры, и все тестировщики, желающие получить новые знания.


Участие бесплатное. Регистрация закрыта, зарегистрировано 150 участников.

 
Место проведения: ул. Амосова 12, Горизонт Бизнес Центр, офис компании Ciklum, 20 этаж, Sky Point.


Дата: 05.02.2013
Время: 19:00 - 21:00
Host and sponsor: Ciklum
Info-partners: DOUCiklumLuxoftKuadriga

Как добраться:
От ст. м. Олимпийская (Республиканский стадион) можно дойти пешком, либо доехать 40-м троллейбусом  (остановка "Николая Гринченка"); либо 450 маршрутка от м. Дворец Украина (остановка "Протасов Яр"); либо 198 маршрутка от м. Вокзальная до конечной.

Контакты:
Oleksandr Maidaniuk, skype: alexander.maydanyuk
Andrii Matukhno, skype: andrej_2704
Svetlana Dubyk, skype: svetlana_dubyk
Eugenia Avramenko, skype: eugenia.trush

Email: info@qaclubkiev.com

P.S.: "You learn something new everyday, but it's up to you on whether or not you put your knowledge to good use."

воскресенье, 13 января 2013 г.

How to start with Selenium (C#, Java, Python)

Много популярных языков программирования в той или иной мере поддерживают работу с Selenium webdriver. Выбор стоит за Вами, что более предпочтительно, опыт работы, требования проекта или личный интерес. В данной статье мы хотим описать процессы настройки Selenium в связке с разными языками программирования, с которыми приходилось иметь возможность и опыт работать.

Для того, чтобы настроить среду Python+Selenium необходимо скачать:
- python http://www.python.org/download/releases/2.7.3/ Устанавливаем и добавляем пути c:\Python2x; c:\Python2x/lib, c:\Python2x/Scritps в переменную оружения. 
Дальше нам необходимо установить пакетный менеджер, чтобы в будущем, при необходимости, легко и быстро можно было устанавливать дополнительные модули. Совсем скоро мы будем таким образом устанавливать Селениум, не скачивая при этом ничего вручную:
- http://pypi.python.org/pypi/setuptools. Скачиваем ez_setup.py и запускаем в командой строке (Windows или Linux) python ez_setup.py. Установяться необходимые зависимости. 
http://pypi.python.org/pypi/pip#downloads Скачиваем, распаковываем архив, в командой строке переходим в распакованную папку и устанавливаем запустив команду python setup.py install

Следующий шаг не обязательный, но рекомендуемый. На этом этапе можно установить, так называемую, виртуальную среду, для того чтобы держать в чистоте и порядке исходный дистрибутив, и в дальнейшем с виртуальными средами будет удобно работать, проводя любые эксперементы. Устанавливаем уже через пакетный менеджер pip install virtualenv. Подробно на virtualenv не будем сейчас останавливатся. Детально можно посмотреть на оф. сайте  http://www.virtualenv.org/en/latest/index.html#installation.

Если считать что мы просто установили python и pip, и наконец-то горим желанием начать работать с Selenium, устанавливаем его командой: pip install selenium. Заметка, когда вышла новая версия Selenium, то всего лишь нужно обновиться той же командой, только с параметром pip install selenium --upgrade.

Теперь можно начинать писать тесты. По умолчанию webdriver работает с браузером Firefox. Для поддержки других браузеров нужно скачать соответсвующие библиотеки http://code.google.com/p/selenium/downloads/list. Перед началом работы с IE 7 и выше, нужно не забыть на тестовой машине включить\отключить защищённый режим для всех зон в браузере. http://code.google.com/p/selenium/wiki/InternetExplorerDriver.

Тесты пишем используя модуль unittest. С его помощью, вы удобно сможете организовать тест-кейсы, и составить тест-свиты. В качестве среды разработки, можно использовать блокнот, стандартную IDLE, Eclipse, Vim и прочее. Для статистики на Хабре проходил опрос на эту тему Какой редактор или IDE вы используете для Python?

Пример:
 import unittest  
 from selenium import webdriver  
 from selenium.webdriver.support.ui import WebDriverWait   
 #Каждый класс будет можно считать тест-свитов, каждый метод с префиксом test_  
 #будет вашим тест-кейсом  
 class homePageTest(unittest.TestCase):  
     def setUp(self):  
       self.driver = webdriver.Chrome()  
     def tearDown(self):  
       self.driver.close()  
 #ниже приведённая команда пропускает тест-кейс. Если нет необхомости в его запуске, либо он ещё не готов  
     @unittest.skip("This test is not ready yet. Skipped")    
     def test_LoginButtonsSearchbox(self):  
       driver = self.driver  
       driver.get(testEnv)  
       try:  
         liveButton = driver.find_element_by_xpath('//*[@id="content2323"]/div/p[3]/a/span/span')  
         liveButton.click()  
       except:  
         msg = "Live Button from homepage is unaccessible"  
         print "\n" + msg + "\n"  
         sendanemail(msg, msg)  
       self.assertIn(CurrentButtonID, ButtonID)  
     def test_RegistrationControls(self):  
       driver = self.driver  
       driver.get(testEnv)  
       try:  
         self.assertTrue(driver.find_element_by_name("nickname") > 0)             
       except NoSuchElementException:  
         print "Nickname box is absent"      
       try:  
         #wait for 3 seconds element present structure  
         self.assertTrue(WebDriverWait(driver, 3).until(lambda driver : driver.find_element_by_name("email")))         
       except TimeoutException:  
         print "Email box is absent\n"  
 class PaymentPageTest(unittest.TestCase):  
     def setUp(self):  
       self.driver = webdriver.Chrome()  
     def tearDown(self):  
       self.driver.close()  
     def test_BaseElements(self):  
       # here you will add your tests  
     def test_CardNumber(self):  
       # here you will add your tests      
 #Создаём тест-свиты  
 suite1 = unittest.TestLoader().loadTestsFromTestCase (homePageTest)  
 suite2 = unittest.TestLoader().loadTestsFromTestCase (PaymentPageTest)  
 #Объеденяем свиты, которые хотим запускать  
 alltests = unittest.TestSuite([suite1, suite2])  
 unittest.TextTestRunner(verbosity=1).run(alltests) #Как параметр можно передать отдельный свит  

Чтобы настроить Eclipse для работы с python, необходимо скачать:
- eclipse http://www.eclipse.org/downloads/. Скачать и установить.
- pydev http://pydev.org/download.html.
- здесь же и мануал, как установить pydev http://pydev.org/manual_101_install.html

Если вы только начинаете разбираться с атоматизированным тестированием и хотите использовать python + selenium, то рекомендуем также посмотреть очень хорошую базовую документацию без лишнй воды тут http://selenium-python.readthedocs.org/en/latest/index.html. А дальше по мере поступления, проблемы будут решаться уже опытным путём.
На следующем шаге рекомендуем ознакомиться с Nose - автоматически собирает и запускает тесты.

Selenium Web driver (IntelliJ Idea + Java):
Теперь небольшой мануал по подгтовке среды для разработки автоматизированных тестов на Java + Selenium + IntelliJ Idea. Необходимо выполнить следующие шаги:
1. Скачать JDK и установить. Желательно устанавливать в корень диска, чтобы в пути к директории не было пробелов, которые есть по умолчанию в пути, если это 'Program Files'
2. Скачать Selenium Webdriver и добавить путь в переменную окружения (на момент пубилкация, возможно уже доступна более новая версия, рекомендуем проверить на оф. сайте)
3. Перегрузиться, так как бывает что переменные окружения глючно обновляются.
4. Скачать и установить InelliJ IDEA (на самом деле не принципиально, можно писать в чем угодно, будет различие в настройке среды и сборке)
5. Настраиваем InelliJ IDEA.
Инструкция по настройке среды тут, файлы которые в ней указаны можно скачать тут и тут, ну а вебдрайвер мы уже скачали раньше.

Полезно, базовые методы и тут
Selenium Web driver (C# + VisualStudio2010 +NUnit):
Если же вы используете VisualStudio 2010 (на самом деле не важно какая версия, мы просто все проделывали на 10 версии), то можно для среди разработки автоматизированных тестов использовать VisualStudio 2010 +NUnit. Для подготовки такой среди необходимо выполнить следующие шаги:
1.   Установить Nunit http://www.nunit.org/index.php?p=download - эта вспомогательная система для запуска и управления тестами. Установите bin .net Zip файл последней стабильной версии (например, NUnit-2.6.2-net-1.1.zip). Если же вы планируете модифицыровать Nunit тогда выберите соответствующий установочный файл.
Библиотеки Nunit нужно будет подключить в проект: nmock.dll, nunit.core.dll, nunit. framework.dll

2.    Сохраните набор библиотек для .NET (bindings for Selenium, including the RC and WebDriver APIs.) Скачать можно по ссылке https://code.google.com/p/selenium/downloads/list.
Во вложение должны быть следующие библиоткети, которые также нужно подключить в проект: Castle.Core.dll, Ionic.Zip.Reduced.dll, Newtonsoft.Json.Net35.dll, Selenium.WebDriverBackedSelenium.dll, ThoughtWorks.Selenium.Core.dll, WebDriver.dll, WebDriver.Support.dll.

3.     Откройте VS 2010 > Нажмите правой клавишей мыши на Solution в Solution explorer> Нажмите Add> New project> Visual C# , тип Class Library.
Заметка: Если вы открыли VS 2010 и у вас нет никаких подключений к серверу и существующих Solutions, то просто выбирите File> New file и добавьте любой файл. У вас появится Solution и вот в нем вы уже можетt создать свой проект.

4.     Добавьте Nunit и .NET библиотеки в проект. Нажмите правой кнопкой мыши на Имя проекта> Нажмите Add References…> выберите вкладку Browse и добавьте необходимые библиотеки. Или второй вариант, выберите в меню Project properties > References path и нажмите кнопку Reference path, найдите необходимые библиотеки и добавьте их.

5.    Далее уже можно писать свой первый тест. Пример первого теста указан далее по ссылке, а также более детальная информация про Selenium 2.0 и как запустить Nunit http://bugscatcher.net/archives/1067

Заметка: После того как вы запустили первый тест, у вас может появится ошибка 
«your webdriver cannot be found», то вам необходимо указать путь где физически у вас 
размещен браузер, в данном случае FF. Найдите где у вас находится екзешный файл для FF
и замените путь в коде. У нас FF находится в следующей папке:
Заменить: driver = new FirefoxDriver();
На: driver = new FirefoxDriver(new FirefoxBinary("c:\\Users\\[Your user name]\\AppData\\Local\\Mozilla Firefox\\firefox.exe"), null);

Также много полезной информации вы можете узнать здесь:
http://bugscatcher.net/archives/1232 - WebDriver: Основные команды
http://automated-testing.info/knowledgebase/article/webdriver-osnovnye-komandy – WebDriver: Основные команды
http://www.vr-online.ru/content/nunit-delaem-testy-pravilno-3054 - Работа с NUnit
http://www.vr-online.ru/content/c-nunit-delaem-testy-pravilno-chast-2-3343 - Работа с NUnit
Всё проверено на работоспособность на текущих версиях.

среда, 2 января 2013 г.

С Новым годом 2013!
Коллектив QAClubKiev хочет всех поздравить с Новым годом и пожелать пусть новый год принесет множество идей и вдохновения, стремления постигать истину и исполнения желаний :) Пусть все задуманное получается! И пусть все змеи обходят вас стороной :)))) Урааааа!