40). Программное обеспечение для автоматизированного создания и тестирования web-страниц. Примеры, возможности, сравнительные характеристики.
Качество программного продукта не в последнюю очередь зависит от актуальной документации и тщательного тестирования.
Когда говорят о тестировании ПО, чаще всего подразумевают тестирование, выполненное после того, как изрядное количество кода написано и возникает необходимость проверить «а то ли написали, что хотели».
Понятно, что покрытие кода тестами, виды и продолжительность тестирования зависят от многих факторов, но в данном случае следует упомянуть именно о модульных тестах и о приёмочных тестах.
Если модульное тестирование выполняет обычно тот, кто пишет тот или иной кусок кода, то приёмочное тестирование, как правило, выполняет заказчик. И тут уже всё зависит от того, насколько высоки требования заказчика (и, что немаловажно, то насколько он способен качественно тестировать принимаемый им готовый продукт).
Так вот, модульные тесты обычно автоматизированы по выполнению (они один раз пишутся и много раз прогоняются в автоматическом режиме).
А приёмочные тесты обычно медленно прогоняются в ручном режиме и постоянно изменяются и обычно достаточно редко фиксируются на бумаге.
К чему все эти разговоры про тестирование? Правильно организованный процесс тестирования создаваемого программного продукта в конечном счёте позволит сэкономить деньги и время на устранении ошибок, и более того увеличить прибыль от хорошей репутации компании.
Обычно при объяснении важности тестирования любят приводить график экспоненциального роста стоимости исправления ошибки в программном продукте в зависимости от этапа её обнаружения.
Но также нельзя забывать о том, что стоимость тестирования, особенно выполняемого вручную, слишком высока. Так если у нас будет больше 4500 тестов для прогона (что нормально для приёмочного тестирования среднего проекта), то нам потребуется больше 40 человеко-дней на однократное выполнение такого тестирования. А теперь представим, что мы обнаружили ошибку и после исправления этой ошибки необходимо будет заново прогнать 4500 тестов вручную.
Кроме проблемы с тестирование в ручном режиме существует проблема с поддержанием документации в актуальном состоянии.
Необходимо обеспечивать синхронизацию следующих документов: требований, спецификаций пользовательских интерфейсов, спецификации тестов и их реализацию.
Для спецификации пользовательских интерфейсов существует определённая тенденция того, что документацию со временем освобождают от скрин-шотов и проектных схем, чтобы сделать её более устойчивой к возможным ошибкам. Но в тоже время такая документация становится нечитаемой и её становится тяжело понимать. В ней отображается слишком большое количество низкоуровневых сценариев (Use Cases) и её становится тяжело поддерживать. Всё это, в конечном счёте, выливается в то, что у разработчиков исчезает мотивация поддерживать документацию в актуальном состоянии.
Спецификации тестов обычно полностью дублируют спецификацию пользовательских интерфейсов с конкретными именами, номерами и строками в Use Cases (сценариях). Они более конкретизированные и специфические, нежели спецификация пользовательских интерфейсов. Но всё ещё оставляют возможность для свободного истолкования людьми того, что в них отражено.
Сложно сохранять мотивацию разработчиков и руководителей поддерживать документацию в актуальном состоянии.
Идеальным вариантом могло бы быть, конечно, использование робота для ручного прогона тестов и отражения результатов в документации…
FitNesse – это в первую очередь инструмент для совместной разработки программного обеспечения.
FitNesse позволяет клиентам, тестерам, и программистам изучить то, что должно сделать их программное обеспечение, и автоматически сравнить это с тем, что программное обеспечение фактически делает. FitNesse позволяет сравнить ожидания заказчиков с полученным результатом.
FitNesse – это инструмент для тестирования программного обеспечения.
Совместно определите AcceptanceTests – web страницы, содержащие простые таблицы входов и ожидаемых выходов. Запустите эти тесты и посмотрите результаты.
FitNesse – это wiki.
Можно легко создавать и редактировать страницы.
FIT (“Framework for Integrated Testing”) является ядром, которое в действительности обрабатывает каждую таблицу FitNesse, используя FixtureCode, относящийся к этой таблице. Разработан Уордом Каннингемом (Ward Cunningham) как расширение среды xUnit. Поддерживает большинство современных языков программирования (.Net, Java, Python, Ruby, C++, …).
Помимо FIT на сегодняшний день существует поддержка технологии SLIM, о которой можно подробнее почитать на сайте продукта.
С помощью FitNesse можно создавать наборы для тестирования, что значительно упрощает проведение приёмочного тестирования программного обеспечения. Кроме того, поскольку FitNesse – это WiKi, то в одной среде можно хранить и поддерживать в актуальном состоянии всю документацию по проекту с привязкой к выполненным тестам, как модульным, так и приёмочным.
В дополнение можно посмотреть видеозапись с конференции по автоматизированному тестированию, где Uffe Overgaard Koch рассказывает про Automated Testing of
Mobile Handsets. TestComplete — это инструмент для автоматизации тестирования, позволяющий вам создавать и выполнять тесты для любых Windows и Web приложений, как простых, так и обладающих богатой функциональностью. Используя TestComplete, вы с легкостью сможете создавать и автоматизировать тесты для вашего приложения. Автоматизированные тесты работают быстрее, охватывают больше областей тестируемого приложения и снижают затраты на тестирование.
TestComplete значительно упрощает процесс освоения автоматизированного тестирования для новичков:
Встроенный визуализатор тестов показывает скриншоты тестируемого приложения в момент выполнения операций теста, существенно упрощая восприятие теста.
Повышенное удобство использования и дружелюбный интерфейс.
Панель интерактивной помощи (Interactive Help) теперь адаптирована под вашу операционную систему.
Опытные тестировщики оценят гибкость TestComplete, комфортность работы и широкий спектр функциональных возможностей для решения сложных задач.
Вы можете использовать TestComplete для автоматизации ваших тестов и их выполнения в любое время. Зачем делать то, что может сделать машина? Пусть за вас работает TestComplete, пусть ваши автоматизированные тесты выполняются днем и ночью, в то время как вы отдыхаете. С помощью TestComplete вы можете создать тесты, которые осуществляют проверку бизнес-логики вашего приложения, измеряют производительность программного обеспечения и серверов, анализируют базы данных, дают оценку качества интерфейса приложений с точки зрения пользователя, и все это происходит, пока вы спите и видите сны о счастливых клиентах. К утру TestComplete предоставит подробные отчеты для каждого теста, четкий хронометраж событий и комментарии по каждому этапу.
Легкое в использовании keyword тестирование, не требующее создания скриптов
Создание мощных и гибких тестовых скриптов
Тестирование Windows и Web приложений
Поддержка .NET, ASP.NET, WPF, Silverlight и XBAP приложений
Поддержка Adobe AIR, Flex и Flash приложений
Поддержка Java и JavaFX приложений
Поддержка Ajax, ASP, PHP и других типов Web приложений
Поддержка различных Интернет браузеров, включая последние версии Internet Explorer 8 и Firefox 3.6
Поддержка операционных систем Windows 7, Vista, XP, 2000, Windows Server 2003 и 2008
Поддержка телефонов и эмуляторов на базе Windows Mobile
Поддержка как 32-битных, так и 64-битных приложений
Поддержка популярных систем отслеживания ошибок (bug tracking system): Software Planner, Axosoft OnTime, Atlassian JIRA и других.
Открытый API
Легкая расширяемость
Подробная документация и примеры
- 31). Защита информации в компьютерных сетях - необходимость, методы, уровень устойчивости против несанкционированного дoступа.
- 33). Основные протоколы компьютерных сетей, особенности их программной поддержки.
- 35). Основные виды компьютерных сетей, различия и сходства, возможности, особенности программной поддержки.
- 36). Язык html - механизм тэгов, механизм гиперссылок, примеры реализации. Возможности расширения JavaScript
- 37). История локальных компьютерных сетей, современное состояние, типовое программное обеспечение.
- 38). Основные форматы файлов изображений, применяющихся для web-страниц, их достоинства и недостатки.
- 39). Концепция прозрачности (для пользователя) компьютерной сети, методы достижения прозрачности (адресация, файловый обмен и др.).
- 40). Программное обеспечение для автоматизированного создания и тестирования web-страниц. Примеры, возможности, сравнительные характеристики.