Workle Friday: QA
2012-05-11 10:21
18 мая, в пятницу, компания Workle приглашает прогрессивных тестировщиков Москвы на уникальную встречу: вас ждут интересные доклады, дискуссии, мягкие пуфики и виски-пати!
Программа встречи 17:00-17:30 Регистрация на мероприятие
Встречаем гостей, занимаем лучшие пуфики, играем с кошкой и смотрим мультики.
17:30-18:00 Андрей Мясников с докладом «Жизненные циклы багов, или как живут баг-репорты»
На этом докладе Андрей расскажет о различных подходах к отображению статусов дефектов, их преимуществах и недостатках. Вас ждёт не только полезная информация о жизненном цикле багов, но и отличные слайды и позитив в неповторимом стиле Андрея!
18:15-18:45, Наталья Руколь и Екатерина Кукуруза с докладом «Дехаотизация тестирования»
На этом докладе Наталья и Екатерина поделятся своим опытом дехаотизации тестирования на отдельно выбранном проекте: как понять, что улучшать? Как писать тесты, и что писать не нужно? Как отслеживать прогресс в тестировании? Как без излишней бюрократии отслеживать тестовое покрытие? Никакой теории – только практика с отдельно взятого проекта!
19:00-19:45, Алексей Баранцев с докладом «О знании и незнании: что полезнее?»
Это улучшенная версия доклада, который получил наивысшие оценки на SQA Days 8 в Казани. Вы его пропустили? Не страшно! У вас есть возможность услышать этот доклад ещё раз! Когда тестироващикам знания помогают, а когда мешают? Как бороться с зашоренностью? Как подвергать критичному анализу собственные знания?
20:00-20:30 Whiskey-party!
Виски, кола, офисный мейн-кун, мультики и кулуарное общение!
Изучение и тестирование модуля
2012-05-11 13:15
Есть система, которая состоит из модулей.
Модули взаимосвязаны между собой.
Из документации есть справка, в которой описаны основные определения, справочники, объекты. Справка достаточно большая, но не описывает процесс.
Необходимо изучить один крупный модуль системы и написать план тестирования данного модуля.
Как можно построить работу по изучению модуля? Как структурировать информацию из справки?
Есть какие-либо способы по планированию такой работы или инструменты?
soapUI - знак вопроса в возвращаемом return параметре
2012-05-11 14:35
Утро всем доброе.В процессе изучения soapUI столкнулся со следующей проблемой:
При POST запросе к мок сервису на Jetty сервере,встроенному в soapUI,получил в результирующем параметре знак вопроса *?*.
Что интересно,так это то,что никаких ошибок не срабатывает.
Знаю протокол SOAP достаточно плохо,так как новичок,поэтому привожу всё сюда:
1) Endpoint.Он соответствует http://localhost:8088/mockCalculatorPortBinding
2) Отсутствие ошибок.
3) Перезапуск мок сервиса,а также повторное создание проекта не принесло положительных результатов.
4) Генерация wsgen-ом wsdl/xsd и повторное пересоздание проекта также не принесли положительных результатов.
Что мне ещё остается ?!
Ещё вчера всё работало.
Запускал сервис локально.
Есть функция отправки сообщения (Select tab - функция выбора и клика по нужному табу).
public static void sendMSG(String MSG){
selectTab(2);
//техтовое поле
WebElement text = new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.id("page:j_id191:messageText")));
//кнопка
WebElement button = new WebDriverWait(driver, 10).until(ExpectedConditions.presenceOfElementLocated(By.id("page:j_id191:j_id208")));
text.sendKeys(MSG);
button.click();
}
Далее хочу отправить 100 сообщений кодом
for (int i=0; i<100; i++){
sendMSG("autotest#"+i);
}
Первый раз все выполняет. На второй раз (при i==1) автотест падает со следующим ексепшином
Цитата
getElementTagName execution failed;
Element does not exist in cache (WARNING: The server did not provide any stacktrace information)
Ошибка происходит в строчке button.click.
Но, если в функцию selectTab() в конце добавить Thread.sleep(500) - все работает.
В чем может быть проблемма и как её исправить.
Почему в первый раз скрипт обрабатывает?
Тест заполняет все три поля и проверяет расчет. Значения для заполнения и поверки полей берутся из файла. Получается
1. открывается браузер
2. главная страница - логин/пароль
3. заполняются поля
4. нажимается кнопка
5. проверка расчета
6. выход из приложения - главная страница
далее пункты 2-6 повторяются столько раз сколько строчек в файле сданными.
Тест работает и проблем нет НО! :) смущает то что в консоле где то на середине теста начинают падать ошибки вида:
май 11, 2012 6:47:49 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: I/O exception (java.net.BindException) caught when connecting to the target host: Address already in use: connect
май 11, 2012 6:47:49 PM org.apache.http.impl.client.DefaultRequestDirector tryConnect
INFO: Retrying connect
Она то мне не мешает, но что то точно не так) Может надо, все таки, каждый раз открывать новый браузер? но это не очень удобно....
Хотя летом все отдыхают от работы, многие стараются посвятить это время саморазвитию, сделать то, на что в будние дни не хватает сил и времени. Нет-нет, это не означает, что надо пожертвовать несколько дней своего законного отпуска, чтобы посетить какой-нибудь тренинг или конференцию. Даже отдыхая на курорте или на даче легко найти час-другой, чтобы послушать вебинар. Потратить с пользой время путешествия в самолёте. Посмотреть во время завтрака, чтобы было над чем подумать в течение дня, поджариваясь на пляже. Включить вечером, чтобы снились профессиональные сны :)
В общем, вы отдыхаете -- а квалификация растет. Потому что летом всё должно расти!
Вебинары охватывают самые различные области тестирования: проектирование тестов, автоматизация, тестирование производительности и защищенности веб-приложений, модульное тестирование, регрессионное тестирование и многое другое. Потратьте пять минут времени, чтобы ознакомиться со списком вебинаров.
Юридические лица могут приобрести полный пакет двух и четырехчасовых вебинаров по договору лицензирования. Стоимость 10 000 рублей(обычная цена 19 900 рублей). Для оформления договора необходимо прислать запрос на trainings@software-testing.ru.
А также мы приготовили 40% скидки на пакеты записей длинных тренингов.
Можно ли построить здание без проекта? Можно, если оно не слишком большое. Например, шалаш или скворечник. В более сложных случаях скорее всего придётся учитывать рельеф местности и особенности почвы, где здание будет стоять, характеристики материалов, из которых оно будет построено, и не следует забывать об эстетической привлекательности того, что получится. Проектируя здания, мы опираемся на знания, накопленные бесчисленными поколениями строителей и архитекторов, используем в своей работе их успешные находки и стараемся не повторять их ошибок. Этот опыт частично преобразовался в научные теории, а какая-то его часть продолжает оставаться на уровне эвристики.
В тестировании дизайн, или проектирование, тестов также занимает центральное место. Выполняем ли мы тесты вручную или автоматизируем их, используем ли мы тестирование методом свободного поиска или фиксируем тесты в виде готовых к повторному использованию сценариев -- во всех случаях сначала нам приходится эти тесты спроектировать, то есть придумать. И чтобы не потеряться в хаосе бесконечного количества тестов, которые можно придумать, нам нужен систематический подход к отбору некоторого ограниченного количества тестов, которыедостаточно выполнить.
Тестирование, как и программная инженерия в целом, достаточно молодая дисциплина. По этой причине практически всё знание в области тестирования имеет эвристическую форму. На тренинге мы рассмотрим различные эвристики, начиная от известного всем тестировщикам разбиения данных на классы эквивалентности и до тестирования на основе рисков.
Как в Jmeter можно узнать за какое время страница и весь ее контент будет загружен?
Например на странице есть 30 маленьких png ( по 4 kb каждая) , 1 большая swf (500 kb) и 1 php, которая все это показывает.
Если запрашивать эту страницу через sampler "HTTP REQUEST" c включенным параметром "Retrieve All Embedded Resources from HTML Files" то он загружает не все картинки,а только часть(8-12 элементов), а остальных как бы нет.
Если записать весь запрашиваемый контент через прокси. Потом запустить тест, то в результате получится усредненное значение по все элементам.
То есть если 1 меленькая png загружается 0.1 секунду, php 1.3 секунды а swf 3 секунды то в результате среднее время загрузки будет
(30*0.01+1*1.3+1*3)32=0.22 секунды. Хотя на самом деле страница будет загружаться больше 4 секунд.
Спасибо.
Разработчик/Ведущий разработчик C#
2012-05-12 14:13
В известной российской ИТ-компании объявляется набор на позиции Разработчик/Ведущий разработчик C#.
Требования:
∙ Платформа С# .NET (опыт от 2-х лет)
∙ Разработка веб-приложений на платформе .Net Framework 3.5/4.0 (ASP.NET, Javascript, AJAX, CSS) (опыт от 2-х лет)
∙ СУБД Microsoft SQL Server 2000 - 2008 (опыт разработки хранимых процедур/функций от года)
∙ Английский язык достаточный для ведения переписки по e-mail
Желательно:
∙ Опыт работы с картографической информацией
∙ Опыт разработки приложений для мобильных устройств (Windows Mobile, Android, iOS, Symbian …)
∙ Опыт использования JQuery
∙ Опыт оптимизации схемы данных и хранимых процедур MS SQL Server 2008
Обязанности:
∙ Разработка системы мониторинга транспорта и сотрудников по данным GPS/ГЛОНАСС спутников.
∙ Разработка серверов приложений, web интерфейса системы, хранимых процедур и т.п. с использованием Microsoft Visual Studio 2010 и Microsoft SQL Server 2008 R2.
Условия:
∙ ТК РФ
∙ фиксированный оклад+премии
∙ ДМС
∙ м. Чистые пруды
Контактное лицо: Евгения e.bubnova@ventra.ru.
Redmine или Mantis?
2012-05-12 15:57
Здравствуйте!
Помогите, пожалуйста, определиться с системой баг-трекинга. При анализе систем выбор пал на Redmine или Mantis.
Существует ли в Mantis какое то разделение по проектам, категориям? (т.е. выделить несколько категорий, в которых будут заводиться баги)
Ставиться будет на unix.
Не виден код AJAX iframe
2012-05-12 19:21
Здравствуйте, уважаемые форумчане!
Я начал осваивать функции Selenium WeDriver 2 и столкнулся с проблемой:
у меня есть динамически загружаемый AJAX iframe, код которого мне необходимо протестировать.
Работаю с Firefox, загружаю необходимую страницу. Когда захожу посмотреть исходный код через Ctrl+U, iframe не имеет внутренностей!
Устанавливаю плагин Firebug, который позволяет смотреть код как в хроме, и в нем почему-то отображаются внутренности данного iframe:
WebDriver тоже не видит внутренности.
Мб есть у кого их код ? Хотелось бы по-быстрому поднять и попрактиковаться.
P.S.: Ошибся с названием темы...
soapUI - несколько вопросов : (
2012-05-13 13:03
В процессе изучения возникла масса вопросов по soapUI и я надеюсь,что кто-нибудь соизволит дать развернутый ответ на мои вопросы.Привожу список ниже:
1) Загадочный объект context.Для чего он нужен ? В API его почему-то не нашел.Присутствует практически в 10 именах классов.
Для чего они ? Из описания оффа только смутные представления.
2) Есть ли где сборник примеров кодинга на Groovy ? Лишь бы код увидеть))
3) Написаны ли книги по soapUI или стоит ограничиться только вебинарами ?
4) Как получить доступ к ЛЮБОМУ свойству ? На оффе писали про какие-то ограничения взаимодействия.К примеру,экспэншн #Project#name я могу испол зовать в любом скрипте,но #Request#Encoding или #Response#Request я не могу получить.
Через ${context.expand('{}')) тоже не получается...
Насколько мне известно,это не системные свойства,получаемые через #System - таковые ведь хранятся в System -> Properties...?
Вот,пример:
def wow = context.expand('${#TestSuite1#Name}')
log.info(wow) // Должно было вывести TestSuite1
Вызываю в Response-Script.TestSuite1 у меня есть.
5) Как получить параметры конкретного Request-а/Response-а из текущего/не из Request-a/Response-a через скрипты ? Допустим,у меня 4 риквеста(с последовательными айдишными именами) и 9 респонсов.
6) Что такое mockRequest.requestContent ? Совпадает с проперти Request во вкладке Custom Properties.
Как получить все свойства и где можно посмотреть их имена и значения ?
7) Делаю MockResponse.Пытаюсь создать и получить свойство для Response:
В ответ выводит null.Значит,такого свойства нету.Интересно бы узнать,в чем я просчитался...Делал по гайду офф.
8) Ломаю голову над тем,что такое def и чем оно отличается от,скажем,int x или x =.По сути ничего не изменяется...Чем они отличаются ?
9) Что за def allFiles = [] ?! Если это ява,то почему бы не a = new int[10]; или int a[10] ? Зачем вводить аналог PHP массивов ?
10) Нужно ли указывать каждый раз
import
или есть по дефолту конкретные пакеты/классы,которые доступны изначально ? Т.е. чтобы не писать каждый раз
import blablabla
или
Object obj = new blablabla()
.
Если уж это скриптовый язык,то, по моим представлениям,многое должно быть упрощено.
Инновационные технологии развития
2012-05-13 13:26
Добрый день всем.Предлагаю всем посетить уникальный сайт Валерия Виногрдова о развитии современных инновационных технологий,включающую всю уникальную систему методик и тренингов, которые помогут Вам улучшить свою жизнь,избавиться от многих проблем,а также достичь более высоких задач в мире духовного и материального развития.
Среди наших тренингов есть тренинги для бизнеса,для личностностного роста,для материального и духовного развитиятакие как : Семинар «Сила мысли»,Семинар «Исцели себя», Снятие зависимостей,Программа «Путь здоровья»,Создание идеи» миссия,«Работа по удалению блоков и зажимов»,«обучение программированию пространства»,высшая школа мастеров.Эзотерика,клуб по интересам – практика обучения и многие другие.
Для более подробной информации обращайтесь к нам, Мы будем очень рады Вам помоч.
Наши контакты :
Адрес сайта:http://www.wm-live.ru/
Skype:walerawwn
E-mail:waln88@mail.ru