Тестирование / Testing / Quality Assurance (QA)
Виды тестирования Функциональное (Functional) Регрессионное (Regression) Приемочное (Acceptance) Нагрузочное (Performance) Юнит-тестирование
Роли Тест-дизайнер Тестировщик Тест-менеджер
Артефакты тестирования План тестирования (Test Plan) – План приемочного тестирования (Acceptance Test Plan) Сценарии тестирования (Test Cases) Протоколы тестирования (Test Reports) Дефекты (Bugs, Defects) Улучшения (Improvements)
Атрибуты дефектов Важность (Severity, Priority) Статус (Жизненный цикл) Submit -> Resolve -> Close Версия, в которой дефект найден (Found version) Версия, в которой дефект исправлен (Fix version) Шаги воспроизведения (Steps to reproduce)
Автоматизированное тестирование Цели: ускорение регрессии, уменьшение человеко-часов Минусы: Сложность разработки, необходимость поддержки
Автоматическое тестирование - средства Rational Robot (commercial) Mercury Quick Test Pro (commercial) Selenium (OpenSource, Web)
Нагрузочное тестирование Цели – протестировать нефункциональные требования по производительности и надежности – Кол-во пользователей (запросов) на оборудовании – Устойчивость к сбоям под нагрузкой (стресс- тестирование) Средства – WAPT, HP Load Runner, Jmeter (OpenSource)
> DateFormat.setLenient(false); Log4* (Log4J, Log4net, log4cpp, ) – Using log4net; – Logger log = Logger.getLogger(typeof(MyClass)); – Logger.logDebug(); log.info(), log.warn(); log.error(); log.fatal(); – Try { – Log.debug(myvar = + myvar); – … – } catch (Exception e) { – log.error(e); – }