Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...ITMO University
При создании систем со сложным поведением важную роль играет контроль качества разрабатываемых программ. Цена ошибки в таких системах может быть слишком велика, поэтому важно не просто проверить соответствие создаваемой программы всем предъявленным к ней требованиям, но и сделать этот процесс эффективным, максимально автоматизировав его. На практике этого можно добиться, формализовав все требования к программе и храня полученную исполнимую спецификацию непосредственно вместе с кодом программы. Рассмотрены существующие методы контроля качества современных программных систем и автоматных программ, а также описан процесс создания среды, позволяющей поддержать сразу три подхода к проверке качества программ с явным выделением состояний: проверку на модели, модульное тестирование и контракты. Предложенный подход позволяет сохранить корректность записи сформулированных требований при изменении самой программы, а также интерактивно контролировать ее качество.
Тестирование параллельного программного обеспечения представляет собой более сложную задачу по сравнению с тестированием последовательной программы. Программист должен знать о подводных камнях при тестировании параллельного кода, имеющихся методологиях и инструментарии.
СОВМЕСТНОЕ ПРИМЕНЕНИЕ КОНТРАКТОВ И ВЕРИФИКАЦИИ ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА АВТОМАТ...ITMO University
При создании систем со сложным поведением важную роль играет контроль качества разрабатываемых программ. Цена ошибки в таких системах может быть слишком велика, поэтому важно не просто проверить соответствие создаваемой программы всем предъявленным к ней требованиям, но и сделать этот процесс эффективным, максимально автоматизировав его. На практике этого можно добиться, формализовав все требования к программе и храня полученную исполнимую спецификацию непосредственно вместе с кодом программы. Рассмотрены существующие методы контроля качества современных программных систем и автоматных программ, а также описан процесс создания среды, позволяющей поддержать сразу три подхода к проверке качества программ с явным выделением состояний: проверку на модели, модульное тестирование и контракты. Предложенный подход позволяет сохранить корректность записи сформулированных требований при изменении самой программы, а также интерактивно контролировать ее качество.
В статье описаны технологии тестирования, используемые при разработке статического анализатора кода PVS-Studio. Разработчики инструмента для программистов делятся принциами тестирования собственного программного продукта, которые могут быть интересны разработчикам аналогичных пакетов обработки текстовых данных или исходных кодов.
В статье рассмотрен ряд вопросов связанных с тестированием 64-битного программного обеспечения. Обозначены сложности, с которыми может столкнуться разработчик ресурсоемких 64-битных приложений, и пути их преодоления.
Поиск ловушек в Си/Си++ коде при переносе приложений под 64-битную версию Win...Tatyanazaxarova
В результате появления на рынке персональных компьютеров 64-битных процессоров перед разработчиками программ возникает задача переноса старых 32-битных приложений на новую платформу. После переноса кода приложения высока вероятность его некорректной работы. В статье рассмотрены вопросы, связанные с верификацией и тестированием программного обеспечения. Обозначены сложности, с которыми может столкнуться разработчик 64-битных Windows приложений и пути их преодоления.
Презентация на комплексную тему Continious integration-Automated Testing-Agile, показывается связи между этими темам, обоснование автоматического тестирования , и вложения ресурсов для развертывания автоматического тестирования и непрерываной интеграциия. Все темы тесно связаны между собой , хотя бы появились независимос друг от друга.
Жизненный цикл разработки ПО (SDLC)
Этапы жизненного цикла разработки
Этап планирования
Этап разработки
Этап поддержки
Роли в жизненном цикле разработки ПО
Артефакты в жизненном цикле разработки ПО
Терминология
www.cmcons.com. Практика и технология внедрения процесса конфигурационного управления и управления изменениями с применением IBM Rational ClearCase и ClearQuest
Tech Talks @NSU: Организация тестирования в IT-компаниях Академгородка. Карье...Tech Talks @NSU
http://techtalks.nsu.ru
5 апреля 2012. Организация тестирования в IT-компаниях Академгородка. Карьерный путь тестировщика (Мария Колчинская, AcademSoft)
«Мария Колчинская (AcademSoft) рассказывает о процессах тестирования и карьере тестировщика»
Лекция прочитана в рамках проекта Tech Talks @NSU – серии открытых лекций о разработке ПО и карьере в IT, проводимых в Новосибирском государственном университете.
Подробности: http://techtalks.nsu.ru
Bdd j behave or cucumber jvm plus appium for efficient cross platform mobile ...ISsoft
Предлагаем вашему вниманию презентацию «BDD JBehave and Cucumber JVM + Appium for efficient cross-platform Mobile Automation». Этой презентацией сопровождался доклад Антона Семенченко, прочитанный 29 июня на конференции MobileOptimized 2014 в Минске.
1. Краткий обзор технологий и средств
автоматизации, используемых в
рамках непрерывной интеграции
проекта.
2. White-box testing
«White-box» — тестирование кода на предмет логики работы
программы и корректности её работы.
Техника тестирования по принципу Белого ящика, также
называемая техникой тестирования, управляемой логикой
программы, позволяет проверить внутреннюю структуру
программы. Исходя из этой стратегии тестировщик получает
тестовые данные путем анализа логики работы программы.
Концепция White-box может быть применена в unit, integration и
system levels тестировании. Данные виды тестирования могут
помочь решить ряд важных проблем разработки, однако они не
гарантируют обнаружение нереализованных частей
спецификаций, или упущенных требований. Последнее
обеспечивается функциональными и приемочными тестами.
4. Интеграционные тесты
Одним из аспектов разработки программного обеспечения являются
интеграция и тестирование больших подсистем. Интегрированная
система часто дает существенные и необъяснимые сбои, которые
трудно устранить. Тестирование в таком случае затрагивает
несколько блоков, которые взаимодействуют между собой.
Интеграционное тестирование должно гарантировать совместимость
блоков и их корректную совместную работу.
6. MSTest (Unit Testing Framework)
http://msdn.microsoft.com/en-us/library/ms243147%28v=vs.80%29.aspx
Unit Testing Framework создан для поддержки
юнит тестирования в Visual Studio. Для
написания тестов используются классы и
члены из пространства имен
Microsoft.VisualStudio.TestTools.UnitTesting.
7. nUnit (Unit Testing Framework)
http://www.nunit.org/
NUnit открытый тестовый фреймворк для
тестирования приложений на языках .Net.
Изначально был портирован из JUnit,
текущий релиз version 2.6.
8. FitNesse
http://fitnesse.org/
FitNesse представляет собой инструмент совместной
разработки тестов/сценариев основанный на платформе
FIT (Framework for Integration Testing fit.c2.com) и
предоставляющий средства для создания набора
требований (тестов) отражающих требования к
функционированию системы на интуитивно понятном
языке, а также предосталяющий механизмы получения
быстрой ответной реакции о состоянии системы
предсталенный в наглядном виде и доступном к
использованию
FitNesse позиционируется как естественное
дополнение к юнит тестированию. FitNesse призван
помочь создавать правильный код, в то время как юнит
тесты призваны помочь создавать код правильно.
9. FitNesse Tests
FitNesse тесты позволяют получить обратную связь на ранних
стадиях проекта, при написании тестов первыми, могут
рассматриваться как требованияю. Тесты пишутся интуитивно
понятным языком доступным постановщику задачи (заказчику
или специалистом в предметной области).
FitNesse позволяют получить результаты выполнения с
желаемой частотой. Могут запускаться вручную или
автоматически всеми кто имеет доступ к WEB-серверу. FitNesse
имеют интуитивно понятное отображение результатов: зеленый
–все хорошо, красный-проблемы. Таким образов в случае
написания тестов до написания кода приложения, каждый новый
зеленый тест, говорит о реализации нового требования и таким
образом позволяет отслеживать прогресс.
Будучи основанными на примерах данных тесты FitNesse служат
наглядными примерами бизнес-логики приложения.
Однако техническая реализация действий связанных с такими
сценариями (тестами) заключается в написании кода для
проверки описанной функциональности - так называемых фиксур
(fixture) и требует навыков в области программирования. Кроме
того FitNesse могут быть достаточно сложны в отладке.