Выступление Александра Орлова на онлайн-конференции для специалистов по ручному тестированию Fun ConfeT&QA.
Из своих почти 9 лет тестирования 9 лет я проработал в распределенных проектах. Поначалу был тестировщиком, потом руководил командами и отделами тестирования. Проекты были разного размера – от 7 до 150 человек, с разными технологиями и количеством тестировщиков в них.
Кто там говорит про скорость коммуникаций и сидение в одной комнате? Мы работали в двух, трех и даже пяти городах с абсолютной разницей в часовых поясах. А коммуникации нещадно обрубались юридическими отделами корпораций. :) При всем этом удавалось выпускать на рынок продукты, которыми пользовались миллионы людей, и что самое удивительное заказчики практически всегда были довольны нашей работой.
Оглянувшись назад и проанализировав свой опыт, удалось сделать несколько выводов о том, как команде тестирования работать в распределенных командах в условиях сверх-медленных коммуникаций. Этими выводами я и хотел бы поделиться.
После прохождения тренинга вы научитесь разрабатывать автоматизированные тесты для веб-приложений с использованием инструмента Selenium IDE. От участников не требуется никакой предварительной подготовки в области автоматизации тестирования, не требуется умение программировать, не требуется предварительное знакомство с Selenium или иным инструментом автоматизации. Стартуем с нулевой отметки.
Чем же новая версия тренинга отличается от предыдущей?
Во-первых, мы записали тренинг в более удобном формате. Материал представлен в виде серии небольших модулей средней продолжительностью около 10 минут. Такие короткие лекции проще усваиваются, чем длинный непрерывный рассказ.
Во-вторых, мы полностью переработали программу тренинга. За счёт более компактного и насыщенного изложения материала мы смогли без увеличения времени и стоимости тренинга добавить целый ряд новых тем. В них рассмотриваются вопросы, которые часто задавали участники предыдущих тренингов:
-- объяснение принципов работы XPath и CSS локаторов,
-- различие между некоторыми похожими командами (click и clickAt, type и sendKeys),
-- использование ожиданий, выполнение фрагментов JavaScript-кода,
-- усложнение логики сценариев при помощи расширения SelBlocks,
-- загрузка тестовых данных из внешнего файла (Data Driven Testing).
В третьих, появились новые интересные домашние задания. Участникам предостоит автоматизировать несколько сценариев в реальном веб-магазине, имеющем достаточно сложный интерфейс с динамическими элементами.
Да, пожалуй, у нас получился самый лучший в мире тренинг, посвящённый инструменту Selenium IDE!
И конечно всё это (как в любом нашем тренинге) сопровождается поддержкой тренера, готового отвечать на самые каверзные вопросы и помогающего вам освоить все возможности инструмента.
Чем тестирование веб-приложений отличается от тестирования каких-нибудь других приложений?
При тестировании веб-приложений применяются те же самые классические методы и техники проектирования тестов. Веб-приложения обычно имеют более простой интерфейс, чем "десктопные" программы. Браузером все умеют пользоваться, для этого не нужны какие-то специальные навыки.
Но существует ряд нюансов, связанных с социальными и технологическими особенностями веб-приложений, которые отличают их от других видов приложений, и которые обязательно нужно учитывать при тестировании, чтобы выполнить его профессионально.
фантастическое многообразие технологий, которые скрываются за простым фасадом браузера – фактически каждое веб-приложение является не самостоятельной программой, а частью всемирной паутины, и в работу веб-приложения вовлечено очень много разнородных компонентов,
невероятная скорость веб-разработки как в узком, так и в широком смысле – короткие релизы, быстро меняющиеся требования, постоянное совершенствование существующих технологий и возникновение новых,
потрясающее разнообразие пользователей, от случайных посетителей до постоянных клиентов, от младенцев до стариков, от новичков до хакеров,
полная открытость технологий, протоколов передачи данных, стандартов, и одновременно с этим необходимость особенно тщательной защиты, с учётом написанного в предыдущем пункте.
Кроме того, в этом курсе даются основы нефункционального тестирования веб-приложений – тестирование производительности, защищенности, удобства использования. В дальнейшем можно продолжить изучение отдельных видов нефункционального тестирования в более углублённых специализированных курсах Тестирование производительности веб-приложений и Тестирование защищенности веб-приложений.
После прохождения тренинга учащийся будет:
понимать принципы работы веб-приложений и знать, какие технологии при этом используются,
знать особенности тестирования веб-приложений по сравнению с десктопными приложениями,
уметь проектировать тесты с учётом особенностей веб-приложений и оценивать покрытие тестами функциональности приложения,
уметь выполнять тесты, при необходимости используя инструментальные средства для преодоления ограничений, накладываемых браузером,
владеть инструментами, для выполнения специфических проверок, характерных для веб-приложений:
анализ целостности ссылок,
анализ соответствия веб-стандартам,
понимать причины возникновения уязвимостей в веб-приложениях и уметь обнаруживать наиболее критические уязвимости в веб-приложениях,
понимать принципы оценки производительности веб-приложений и уметь выполнять анализ серверной и клиентской производительности веб-приложений,
уметь рассуждать об удобстве использования веб-приложений :)
Каждое занятие будет сопровождаться практическими заданиями, которые помогут быстрее и увереннее начать применять знания на практике.
День добрый.
Стоит задача - автоматизация части сценариев для игры под Android, сделанной на Unity.
Соответственно это накладывает ограничение - невозможность получить доступ к идентификаторам/определения идентификаторов элементов.
Приходится кликать по картинкам - Image-Based Testing.
Сценарий:
1. Пользователь входит в приложение и получает бесплатный подарок.
2. Пользователю надо выбрать один из 3 сундуков.
Проблема: подарок известен и Image подарка есть. Однако Image сделан с 1 сундука, а тест может выбрать любой сундук.
Если тест открывает 1 сундук - картинка определяется верно.
Если тест выбирает другой сундук - картинка то отображается корректная, но тест не находит совпадений.
Вопрос №1: В TestComplete осуществляется не поиск по всему экрану, а поиск в позиции, с которой получена картинка? То есть придется сделать 3 Image, по 1 с каждого сундука, и в зависимости от того какой индекс выдаст генератор (какой сундук открыть), проверять нужную картинку?
Пробовала управлять параметром Pixel tolerance, однако время выполнения поиска совпадений выросло многократно, что сильно отпугивает. В итоге даже не могу точно сказать, помогло мне это или нет, так как такой вариант не очень удобен в виду огромной потери времени на поиск картинки.
Вопрос №2: В виду малого опыта, не могли бы вы подсказать, какие аналоги assert'ов существуют и какие лучше использовать в TestComplete, для поиска наличия изображения на экране.
Видела что-то типа Log.Checkpoint(ImageRepository.Prize.sword); , но не очень поняла как это использовать для того чтобы бросать исключение при ошибках.
К сожалению информации по тестированию мобил приложений в TestComplete, особенно с использованием Image-Based Testing, крайне мало, поэтому буду благодарна любой информации/ссылочкам на данную тематику.
Имеется скрипт написанный на Питоне, который идет на определенный сайт, проходит по нужным вкладкам и делает загрузку в форматы (pdf, rtf, xls), это предусмотрено сайтом. Все эти файлы грузятся в определенную папку, имя папки "название действия_язык на котором была загрузка_дата\время", имена файлов в папке формируются в зависимости от выбранного языка на сайте(рус, англ, корейский, японский, 2 китайских).
Была поставлена задача, чтобы файлы которые загружаются имели имя на английском языке, т.к. в данном случае названия имеются и с иероглифами, неудобно потом разбираться, что есть что.
Пример названия файла: InnoSwitch-CE Flyback Design33.pdf_变压器参数_zh_hans
Вместо иероглифов надо писать на английском название - Transformer Construction
Таких файлов там целая куча, у всех разное расширение и имя дизайна.
Задача конечно программерская скорее всего, но все же может есть люди, которые хорошо разбираются в Питоне, кто сможет объяснить как это сделать? Может отдельный скрипт написать помочь, который будет переименовывать все это дело, под мои нужды. Именно объяснить, а не за меня написать, т.к. я не понимаю как это сделать.
Гугл и форум Питона, книги, ничего дельного не дает, либо я не понимаю как это использовать у себя...
Бьюсь уже 2 недели, но не получается, с Питоном и скриптами работаю чуть более месяца.
Готов даже оплатить время того, кто все разжует и поможет сделать так, чтобы все работало и выполняло то, что мне нужно.
может сталкивался кто с такой проблемой. Устанавливала Oracle OpenScript все тесты запускаются, все работает, кроме Inspect Path. При запуске Inspect Path должны опознаваться пути типа siebelFT, основанные на Siebel HI компонентах. У меня же запускаются Web компоненты.
На другом компьютере стоит такой же дистрибутив и там все работает корректно. Причем при запуске Inspect Path, в процессах запускается SiebelAx_Test_Automation, а на новом компьютере - нет. В чем может быть проблема?
Сегодня проходил своё первое интервью, (оно же собеседование) в одной известной компании в Екатеринбурге. Как мне кажется я его завалил, но после выхода, все дефекты задачек, которые мне давали, мигом нахлынули в мозг и я уже думал, что можно было иначе сделать, что упустил (а упустил минимум 3 ошибки в задачках - это дофига!), почему же я так дико тупил. Возможно сказалось, что это было первое собеседование, а может и еще что-то, но сейчас не об этом. Приехав домой, обдумав все свои возможные ошибки, решил посидеть в тишине и расслабиться, а в голове родилась такая байка, которая, как мне кажется, пока "молодо-зелено" могла бы и прокатить. Во-первых покажет, что знаю методы тестирования, представляю, как проходит работа тестировщика, да и вообще, я не так и плох без опыта работы.(а вообще - шутка юмора). Да и команда молодая, как и я - может и прокатило бы, ибо общались в неформальной манере. Собственно байка:
"Представьте, что есть проект ручки. Да, вы подумали, что опять будет очередной холоп тестировать карандаш/ручку или еще что-то, да еще и по своей инициативе, но нет. История такая, слушайте:) Есть некая компания, в которой инновационный проект по выпуску ручек, что в космосе пишут. Ого дела (такие давно есть, если что), рынок взорвался, клиентов море. Ответственность большая. Я, как тестировщик получил указания - ручка должна выполнять все функции обычной шариковой + писать в космосе (тобишь в вакууме), на гладком пластике, лакировоной поверхности (и вообще, где угодно, кроме жидких веществ). Ну не научились еще, но то, что есть уже инновация и пользуется спросом, да еще и каким - МИЛЬЁННЫЕ заказы.
Я как тестировщик, всё протестировал, приношу ПМу, он такой - так она еще должна по стеклу писать. Ок, сказано сделано. Разрабы (химики-инженеры-волшебники-гуру) в поте лица работают и сделали всё таки новый образец. Проверил - пишет на стекле. Бегу к ПМу, всё ОК. Выпустили тысячный тираж. Куча гневных отзывов, МИЛЬЁННЫЕ потери.
Ёмаё, да ручка не пишет на бумаге. Оп, получил втык. Бегу тестировать - проверил, бегу к разрабам. Ах вы такие-секие, че накосепорили, давайте исправляйте. Те пыхтят в поте лица и в мозолях кхм...рук. Ок, опять тестирую.
Та же ситуация, но уже после выпуска ручки-то ломаются, если использует человек взрослый,сильный - просто крошатся. Опять МИЛЬЁННЫЕ потери. Опять втык получил, уже шишка большая на лбу. Снова разрабы потеют, я тестирую - всё ок.
Выпустили, снова косяк - у людей сыпь на ладошках. Опять правим, компания уже на этапе разорения, ПМ мне всю голову в большую шишку превратил, а я бедный - метаюсь среди двух огней - разрабов и начальства.
Уже не заказы МИЛЬЁННЫЕ, а выпуск по счету такой.
"ПМ такой - где ластик?"
"Стоп! Этого не было в спеке, вы ЧО."
"Ладно, уговорил, сделайте"
Сделали ему ластик, всё пофиксили, выпустили. Лафа, куча положительных отзывов, люди кайфуют, все тетради исписали, стёкла тоже, ЕГЭ стали лучше сдавать, успеваемость повысилась, у людей сколиоз пропал, зрение улучшилось. И вообще - happy end."