Перейти к содержимому

Публикации frei_by

176 публикаций создано frei_by (учитываются публикации только с 27 сентября 2023)



#83578 тестирование с Jmetr

Отправлено автор: frei_by 26 января 2011 - 11:20 в JMeter - Тестирование производительности

Большое сасибо Святославу Куликову, мастеру PHP, талантливому преподавателю и гуру тестирования.
http://svyatoslav.bi...ucation/jmeter/



#78970 Что сделать чтобы не закрывался RC и браузер при возникновении ошибки

Отправлено автор: frei_by 19 октября 2010 - 11:32 в Selenium - Functional Testing

Не пробовали отлавливать Exception-ы?
Это может помочь...


я пробовал.
Гоняю тесты из под NetBeans через PHPUnit
...
(спустя час) - заработало, но всё равно очень странно:

код

$arr = array (
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href'
                    );

       for ($i=0;$i<10;$i++)
       {
           $xpath = $arr[$i];
           try
           {$name = $this->getAttribute($xpath);
           fwrite ($log_h, "№-$i OK: getAttribute(".$xpath.") = $name \n ");
           }
           catch (Exception $e)
           {fwrite ($log_h, "№-$i ERROR: function getAttribute(".$xpath.") return error!\n ");}
       }

выдаёт запись в лог вроде

continue log 
№-0 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-1 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-2 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-3 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-4 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-5 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-6 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-7 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-8 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-9 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/

Но если заменить одно из условий напирмер в массиве

$arr = array (
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'!Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href',
           '//a[contains(text(),\'Компьютеры\')]@href'
                    );

(добавили лишний символ 6 элементу начиная с нуля,)
то тот-же самый скрипт выдаст такой результат:

continue log 
№-0 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-1 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-2 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-3 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-4 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-5 OK: getAttribute(//a[contains(text(),'Компьютеры')]@href) = /Kompjutery/ 
 №-6 ERROR: function getAttribute(//a[contains(text(),'!Компьютеры')]@href) return error!
 №-7 ERROR: function getAttribute(//a[contains(text(),'Компьютеры')]@href) return error!
 №-8 ERROR: function getAttribute(//a[contains(text(),'Компьютеры')]@href) return error!
 №-9 ERROR: function getAttribute(//a[contains(text(),'Компьютеры')]@href) return error!

т.е. получается если одно из условий ляснулось, то и на все остальные вешается Expection...
Это особенность PHPUnit ?



#78980 Что сделать чтобы не закрывался RC и браузер при возникновении ошибки

Отправлено автор: frei_by 19 октября 2010 - 15:17 в Selenium - Functional Testing

Почитал про Unit. Получается что да, особенность.
Короче если тест завалился то его уже ничего не спасёт, только новый тест.

Если использовать тест как драйвер для броузера с целью именно безошибочно управлять бруозером - то нужно просто програмно избегать ошибок. Например всяческие
$r = $this->isElementPresent ('link=Компьютеры');
а если делать именно проверку на сбои, то нужно делать множество мальеньких тестиков и выполнять их. Почти во всех местах прочитал одно и то-же. Как говорится, пошёл искать копейку - чтобы купить яблоко - копейку не нашёл, зато нашёл яблоню.



#79562 Что надо чтобы стать тестировщиком?

Отправлено автор: frei_by 04 ноября 2010 - 16:30 в Личный рост, карьера, развитие

Экспертные знания в области ООП, умение програмировать на С, Java. Знание фреймворков XUnit. SVN, систем CI. Знание стандартов оформления документации IEEE, ISO. Опыт руководства комнадой разработчиков. Стаж работы прорамистом 4 года. Экспертные знания в области ОС, Win, Linux, администрирование серверов, сетей. Наизусть выучить протокол HTTP. Экспертные знания в области юзабилити. XML - спецификацию наизусть. W3C - все стандарты наизусть...

Думаю что с таким багажом младщим тестировщиком веб сайтов устроится можно будет...



#85869 Хочу стать тестировщиком - поработаю бесплатно за опыт.

Отправлено автор: frei_by 22 марта 2011 - 09:05 в Личный рост, карьера, развитие

Я начищающий тестировщик :) .... В области IT я не новичок - имею более 16 лет опыта.


Вы только на собеседовании так не говорите. Дико очень звучит.



#79781 Формируем сообщество тестировщиков в Беларуси

Отправлено автор: frei_by 10 ноября 2010 - 16:21 в Обучение тестировщиков ПО

QA не хуже программиста - у QA просто ДРУГОЕ мышление.


Звучит как оправдание нетрадиционной сексуальной ориентации.



#79787 Формируем сообщество тестировщиков в Беларуси

Отправлено автор: frei_by 10 ноября 2010 - 17:20 в Обучение тестировщиков ПО

Иными словами, вы имеете право читать то, что хотите, и это вполне может кардинально отличаться от того, что написано на самом деле.


Это вы так требования в документации тестируете?



#78505 Формируем сообщество тестировщиков в Беларуси

Отправлено автор: frei_by 03 октября 2010 - 13:39 в Обучение тестировщиков ПО

И скоро следующая встреча? sqa.by мёртво как-то выглядит....



#81901 Фиксирование версий. Психология разработчика.

Отправлено автор: frei_by 15 декабря 2010 - 10:04 в QA: обеспечение качества

Что получается, когда версии не фиксируются, думаю, объяснять не надо..


Вот совершенно такая-же проблема.

Вы девушка - вам проще будет решить.

Если у вас програмисты парни - одентесь в кожаный костюм кошки, возмите плётку, придите к порограммистам и скажите что каждый раз когда не будет проставлятся версия - будете этой плёткой стегать провинившегося.

А если до конца месяца не запилите subversion - за каждый день проволочек прищепляйте им прищепки на больные места.



#81015 Тренинг по Selenium: выбор языка

Отправлено автор: frei_by 01 декабря 2010 - 07:30 в Обучение тестировщиков ПО

PHP - потому что он самый распространённый среди веб-разработчиков, а Selenium нацелен именно на веб. PHP не требует компилирования, поддреживается всегда всеми платформами, имеет низкий порог входа новых пользователей, миллион тонн справки по PHP.



#82524 Тренинг по Selenium: выбор языка

Отправлено автор: frei_by 24 декабря 2010 - 18:58 в Обучение тестировщиков ПО

Почитал программу для курса на PHP.

По первому модулю -
"как с нуля развернуть всё необходимое для разработки и выполнения тестов,"
- я так понимаю имеется ввиду SeleniumRC + PHP + Pear(чтобы phpunit притянуть) + PHPUnit + расширения классов для PHPUnit для Selenium RC?
++ Oracle VB в качестве виртуалки?

"как отлаживать тесты, проходя их в пошаговом режиме" - средствами PHP есть множество способов контролировать выполнение скрипта. Я правильно понимаю что это будет сделано средствами PHP + просмотр лога Selenium ?

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

"как подгружать тестовые данные из внешнего файла," - можно перефразировать "как подгружать данные в скрипты PHP из внешних файлов"

"как запускать тесты в разных браузерах и на удалённой машине." - настройки сети + удалённая командная строка..

Хотелось бы подробнее почитать о программе. Если можно с перечислением названий фреймворков и инструментов.



#81097 Тренинг по Selenium: выбор языка

Отправлено автор: frei_by 02 декабря 2010 - 07:29 в Обучение тестировщиков ПО

Однако ж многие веб-приложения пишутся именно на Java. Набирает обороты Ruby on Rails. Так что не php единым...


Развивая тему холиваров на каких языках писать веб приложения, - то главное отличие PHP от других языков это то, что PHP заточен как процедурный язык а Java и (RoR - не уверен, плохо знаю) объектные. PHP в ООП работать будет, но на треть медленнее. Поэтому именно как язык для фреймвороков и написания тестов в виде класса тестов наследника следующего класса тестов наследника следующего класса тесов - PHP может при неправильном использовании оказаться несколько монстроузным.



#82543 Тренинг по Selenium: выбор языка

Отправлено автор: frei_by 26 декабря 2010 - 13:17 в Обучение тестировщиков ПО

Понятие "с нуля" является неполным бизнес требованием. Я-бы чётео конкретизировал, например что в качестве нуля принимается IBM PC на которую уже установлена например WinXP. И нужно именно на этой машине создавать тестовый стенд. Почему нужно конкретизировать платформу - потому что тот-же PHP совершенно по-разному будет ставится на win и к примеру на debian. Если в deb автоматически апач подхватывает php, то тому, как например на win установить связку WAPM посвящены целые ветки форума и если человек ранее не имел опыта подобных усатновок, у него неизбежно возникнет вопрос вроде "апач не может подхватить PHP модуль".

Например мы будем на win ставить виртуалнью машину, на неё ставить ещё одну копию win и уже на ней настраивать тестовый стенд. А ещё лучше чтобы потенциальные слушатели до начала курса попытались сами установить себе тестовый стенд по описанной схеме, и уже к началу приходили с вопросами о том, что именно у них не получилось.

Т.е. предлагаю опубликовать схему тестового стенда, на первых занятих обсуждать детали того, как настраивать те или иные аспекты. То-же самое про плагины к броузерам.

"Настройки сети" - как настроить сеть из нескольких виртуальных машин на одном компьютере.

среда разработки - ? NetBeans? Zend?
отладчик - xdebug? cachegrindout?

По моему для совсем начального уровня сложновато получается. А для продвинутого хотелось бы конкретики.

"Программа будет чуть позже, с подробностями, с перечислением конкретных фреймворков, инструментов, расширений."


... ждём окончания новогодних каникул.



#78499 То ли я дурак, то ли лыжи не едут...

Отправлено автор: frei_by 03 октября 2010 - 12:28 в MicroFocus (Borland, Segue) - Functional testing

[ ] LIST OF STRING  an
[-] testcase Test() appstate none
    [ ] Документ.Start ("C:\Program Files\Windows NT\Accessories\wordpad.exe")
    [ ] n=Документ.Вигляд.GetItemCount()
    [ ] an = Документ.Вигляд.GetChildren()
Во время запуска скрипта в строке где происходит инициализация LIST an выдает ошибку Type mismach - expecting LIST OF STRING. Ето ппц, а 4 строки выше как написано?


А слабо HELP почитать как списки объявляются?
4test - лютая х... (нехороший язык) - мне лично напоминает какие-то синтезированные обрезанные языки с олимпиад по програмированию. Слииишком строгий. отсюда множествтво подобной ерунды. Как говорится, это вам не PHP.
Продукт за 5000 у.е. таким ... быть не должен.

...а по теме,
Если вопрос в том, как написано 4 строки - то думаю, что они напечатаны с клавиатуры.



#78504 То ли я дурак, то ли лыжи не едут...

Отправлено автор: frei_by 03 октября 2010 - 13:27 в MicroFocus (Borland, Segue) - Functional testing

В хелпах:

LIST [ OF data-type ] list-id [= elements]

Вся соль в том что я an описал как LIST OF STRING, но впоследней строке выдает ошибку о несовпадении типов! Тоесть an есть LIST OF STRING, но компилятор требует LIST OF STRING :fool: :diablo:


...а теперь для GetChildren() -
/wChildWins = window.GetChildren([bInvisible, bNoTopLevel])
где
/wChildWins - LIST OF WINDOWS
...

WINDOW data type.
А чем вы там объявляли свой an ?

Напишите что вы скриптом сделать хотите.



#79698 Технический писатель как смежник тестировщика?

Отправлено автор: frei_by 09 ноября 2010 - 11:54 в Личный рост, карьера, развитие

АСУ ТП может быть автоматическими системами управления технлогическими процессами. Если это система на уровне какой-нибудь SCADA, написанная на WinCC, то там совершенно дургое отношение и к документации, и к проектам, и к приёмо-сдаточным испытаниям.
Там тестировщиков не припоминаю. Все инженеры как один.
проектанты занимаются документацией и проектом,
програмисты реализацией,
инженеры-наладчики - приёмочными испытаниями.
Инспектор по пром безопасности - контроль соблюдения норм проектирования и безопасности.

Никаких тестеров.



#85783 Тестовое задание "ListBoxer".

Отправлено автор: frei_by 18 марта 2011 - 11:47 в Тест-дизайн и ручное тестирование

А вот Мне почемуто кажетса, что в этой программе меню "Edit" называется "Edjt" - это не дефект?

Покажите место в исходных требованиях где написано что данный пункт меню должен называтся именно Edit? Может быть Edjt - назвали специально, чтобы люди не путали с Edit так как данный пукнт меню НЕ идентичен аналогичному пункту Edit в программе Notepad например...



#79311 Тестирование проекта

Отправлено автор: frei_by 28 октября 2010 - 06:46 в Тест-дизайн и ручное тестирование

Как-бы я считаю что есть стандарт на SRS - IEEE 830-1998,
вот хотя-бы в таком виде:
русский перевод IEEE 830-1998
Конечно ушлые разработчики могут под видом SRS подсунуть всё что угодно. Они, как правило такие доки, не читают.

Там в SRS как правило есть раздел функции изделия, либо в виде use cases либо в виде списка, либо в виде рисунка интрефейса, либо ещё в каком нибудь вдие.
Написать для чего нужна программа и что она должна делать - ну даже если такого не написано то это вообще не SRS.

По технической составляющей - если это web то подразумевается что http + html, если приложение - то всё равно подразумевается какая-то библиотека окошек.

И соотв. чем более детальное описание, тем более проще созавать тесты.
Например:
вчера букавально пришло SRS в духе -
Введение - (одна строка) -
"Для управление компаниями по продвижению ... необходимо создать модуль "
А дальше одна старница типичного use case как нужно добавить компанию по продвижению,
и ещё две страницы описания интерфейса.
Модуль ещё не разработан.

Но тесткейсы можно писать. В частности для критического пути это то, что можно зайти, заполнить, добавить - в базе данных появилась запись.
Для негативного - подделать http запрос с некорректными данными - (я ещё не знаю имён параметров - но уже догадываюсь что так как реализовано будет через http то будет выглядеть как ?параметр=значение).

Насчёт "абстрагироваться от UI и конкретики реализации"
- да. Не нужно тестировать насколько программа соотвествует программе. Нужно или прочитать или просто понять что программа должна делать и что не должна - и проверить это. А если хочется заработать медаль - то проявить смекалку и что нибудь во время тестирования сломать. Я вообще считаю, что если тестирование не нашло хотя-бы одного блокирующего бага - то это скучно проведенный день.



#79370 Тестирование проекта

Отправлено автор: frei_by 29 октября 2010 - 08:03 в Тест-дизайн и ручное тестирование

Как фиксировать баги в SRC (спецификации, требованиях к ПО)


Да известно на самом деле, вопрос в том как сделать так чтобы эти баги ещё и фиксились...



#79312 Тестирование проекта

Отправлено автор: frei_by 28 октября 2010 - 07:19 в Тест-дизайн и ручное тестирование

а есть какие-нибудь примеры создание тестовых случаев (test cases) на основании одного лишь srs?

Запостите SRS мы вам составим тесткейсов.



#79300 Тестирование проекта

Отправлено автор: frei_by 27 октября 2010 - 20:58 в Тест-дизайн и ручное тестирование

Если по SRS не понятно как будет реализовано - то это не очень хорошее SRS мне таккажется...



#79298 Тестирование проекта

Отправлено автор: frei_by 27 октября 2010 - 20:18 в Тест-дизайн и ручное тестирование

Да тебе ещё повезло крупно. Я в 60% сначала получаю программу, потом сам на неё SRS пишу, потом с этогол SRS план, потом тесты, а потом сам эти тесты выполняю.
Плюс ещё приходится рекомендации по исправлению ошибок вёрстки писать со ссылками на источники доп информации.
+ если баг забористый и требует доработки - приходится для програмистов писать требования к реализации доработки.



#80317 Тестирование Тулбара для IE

Отправлено автор: frei_by 17 ноября 2010 - 13:15 в Тест-дизайн и ручное тестирование

браузер частенько зависает, но я не могу понять причину. если я зафиксирую баг "иногда браузер зависает", это же не совсем корректно? ведь цель тестировщика не только найти, но и понять причину ошибки?

Насколько я понимаю вам причину почему зависает узнавать не нужно - напишите шаги которые приводят к тому что бруозер завис. Убедитесь в том что это зависание воспроизводится.

При нажатии кнопок, иногда страница открывается моментально, иногда минуту, иногда более 3х. Так происходит со многими линками. Фиксировать ошибку для каждой кнопки/линка? или можно как-нибудь эти ошибки объединить?

А вы уверены, что это не сеть? Например большие страницы долго грузятся

Хотите выделится - протестите на всех версиях IE 6 7 8 9. Вам же точно не указывали для какой версии панелька?

PS тулбар - это родной тулбар IE или надстройка?



#78487 Тестер - тупая работа?

Отправлено автор: frei_by 01 октября 2010 - 15:23 в Личный рост, карьера, развитие

Сегодня весь день занимался восстановлением требований к програме, а под конец дня умудрился отправкой некорректных данных уложить отдыхать весь модуль. Видеть програмиста сидящего и держащегося за голову, который уже прикидывает объёмы срочных передлок, что может быть приятнее?



#78501 Тестер - тупая работа?

Отправлено автор: frei_by 03 октября 2010 - 12:58 в Личный рост, карьера, развитие

Я никак не могу приучит своих програмистов делать проверку входных данных со стороны сервера. Уже месяц почти. Я им и так, и этак заваливаю модуль. А они говорят, что это доработки... Что если кто-то специально захочет сломать - то сломает. Что если у пользователя появляется возможность выстрелить себе в голову нажав на кнопку - то это проблемы пользователя, чтобы он так не сделал... Ну вы такое видели?

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

Меня радует когда для каждой функции существует внятное и подробное описание. Меня радует когда корректно производятся математические расчёты.

Меня радует когда AJAX используется по-делу, а не абы-везде натыканы свитстелки-перделки из jQuery.

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

Это был-бы идеальный мир программ. Лаконичный понятный и дружественный интрефейс, быстрая сеть, ождаемый результат, простота и интуитивность использования...

И этому идеальному миру мешает одно. Это певородный грех програмистов. Когда эти неверные согрешили, и грех этот был - откушенный плод познания ООП, plug'n'play, "работат само по себе", "default value", автоопределние переменных, и т.п. Поверьте мне - отсюда все беды.

Только мы, тестировщики сохранили истинную веру познания всей системы в целом. Мы всегда знаем, что как-бы не была идеальна программа, всегда из-за первородного греха будет баг. Программы уже раождаются с первородным багом. И только на причащении и крещении тестированием у программы появляется шанс стать немного более чистой. Но многие программы после тестирования вновь попадают к грешным прошграмистам. И чем больше они с этими неверными общаются - тем больше приобретают багов. Потому что програмисты все поголовно с первородным грехом. Если не в самой прогграмме - то в окружении. Если не в окружении - то в особенностях взаимодейтвия с пользователем...

Чтобы прогамме избавится от первородного греха програмистов - она должна быть аскетичной, запереттся в монастырь, не отвечать на запросы и вседенно и всенощщно ждать новой версии с исправленными багами. Толькот так программы могут спастись.
Чтобы побдить баги - нужно победить програмистов. Тестировщики должны объявить священный джихад этим неверным и тем кто их создаёт...